]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
[grub2.git] / ChangeLog
CommitLineData
98e2f506
VS
12011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4
2a5e94d8
VS
52011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8 partmap before abstraction.
9
535c1910
AK
102011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
11
12 * util/grub-mkconfig_lib.in: Add missing quotes.
13
bc09e1a2
VS
142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
17 old method if mountinfo would return /dev/root and /dev/root doesn't
18 exist.
19
290766fb
VS
202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
21
22 ZFS zlib support
23
24 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
25 (decomp_table): Add zlib entries.
26 (zio_read): USe 8 bits for compression function rather than 3.
27 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
28
292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/disk/ahci.c: Add missing license statements.
32 * grub-core/fs/romfs.c: Likewise.
33 * grub-core/lib/ia64/setjmp.S: Likewise.
34 * grub-core/loader/i386/pc/freedos.c: Likewise.
35 * grub-core/loader/ia64/efi/linux.c: Likewise.
36 * grub-core/video/colors.c: Likewise.
37 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
38
5ab3f48a
VS
392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
40
41 AHCI support.
42
43 * grub-core/Makefile.core.def (ata_pthru): Removed.
44 (ahci): New module.
45 (pata): Likewise.
46 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
47 on unload.
48 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
49 readwrite.
50 (grub_hdparm_do_check_powermode_cmd): Likewise.
51 (grub_hdparm_do_smart_cmd): Likewise.
52 (grub_hdparm_set_val_cmd): Likewise.
53 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
54 * grub-core/disk/ahci.c: New file.
55 * grub-core/disk/ata.c: Factor out the low-level part into ...
56 * grub-core/disk/pata.c: ... here.
57 * grub-core/disk/ata_pthru.c: Contents moved to ...
58 * grub-core/disk/pata.c: ... here.
59 * grub-core/disk/scsi.c (grub_scsi_names): New array.
60 (grub_scsi_iterate): Use grub_scsi_names.
61 (grub_scsi_open): Likewise.
62 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
63 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
64 (grub_ata_regs_t): New struct.
65 (grub_disk_ata_pass_through_parms): Likewise.
66 (grub_ata_device): Renamed to ...
67 (grub_ata): ... this.
68 (grub_ata_dev): New struct.
69 Removed all low-level inline functions.
70 * include/grub/scsi.h: Add PATA and AHCI subsystems.
71 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
72 iterate hooks and open. All users updated.
73 * util/grub-install.in: Handle AHCI disk module.
74
c31dc5f5
SJ
752011-06-23 Szymon Janc <szymon@janc.net.pl>
76
77 Add support for DRI and RSTn markers in JPEG files.
78
79 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
80 (JPEG_MARKER_RST0): Likewise.
81 (JPEG_MARKER_RST1): Likewise.
82 (JPEG_MARKER_RST2): Likewise.
83 (JPEG_MARKER_RST3): Likewise.
84 (JPEG_MARKER_RST4): Likewise.
85 (JPEG_MARKER_RST5): Likewise.
86 (JPEG_MARKER_RST6): Likewise.
87 (JPEG_MARKER_RST7): Likewise.
88 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
89 (grub_jpeg_decode_dri): New function.
90 (grub_jpeg_decode_sos): Move image data related part into
91 grub_jpeg_decode_data function.
92 (grub_jpeg_decode_data): New function.
93 (grub_jpeg_reset): New function.
94 (grub_jpeg_decode_jpeg): Handle new markers.
95
fe12fd5b
VS
962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * util/ieee1275/ofpath.c (check_sas): Close fd.
99 (main): Free of_path.
100 Reported by: David Volgyes <dvolgyes>.
101
03147f46
VS
1022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
105 Reported by: David Volgyes <dvolgyes>.
106
cad3237f
VS
1072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
110 file after stat.
111 Reported by: David Volgyes <dvolgyes>.
112
13548d26
VS
1132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
116
117 Reported by: David Volgyes <dvolgyes>.
118
e061a1b5
VS
1192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
122 Prevent memory leak.
123
1abe47dc
VS
1242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
127 (main): Close file.
e061a1b5 128 Reported by: David Volgyes <dvolgyes>.
1abe47dc 129
fbc62666
VS
1302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
133 to continue if allocation is failed.
134
135 Reported by: David Volgyes <dvolgyes>.
136
e98c83e9
DV
1372011-06-23 David Volgyes <dvolgyes>
138
139 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
140 dereference.
141
a199a8cd
VS
1422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
143
144 Fix spurious warning.
145
146 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
147 (acorn_partition_map_find): Use .bin member.
148
e2d1dba0
VS
1492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
152 /dev/root as a valid device.
153
8a5d6919
JM
1542011-06-23 Jim Meyering <meyering@redhat.com>
155
e2d1dba0
VS
156 Avoid NULL deref in grub_device_open.
157
8a5d6919
JM
158 * grub-core/kern/device.c (grub_device_open): Don't dereference
159 a NULL pointer upon failed grub_env_get.
160
f7db6f4a
VS
1612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Support non-512B sectors and agglomerate reads.
164
165 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
166 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
167 (disk_io_guid): Removed.
168 (make_devices): Locate solely by BlockIO.
169 (grub_efidisk_open): Fill log_sector_size and total_sectors.
170 (grub_efidisk_read): Use read_blocks.
171 (grub_efidisk_write): Use write_blocks.
172 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
173 log_sector_size.
174 (get_safe_sectors): Handle non-512B sectors.
175 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
176 sectors.
177 (grub_biosdisk_write): Handle non-512B sectors.
178 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
179 (grub_scsi_read): Remove special non-512B block handling (now handled
180 one level up).
181 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
182 and do sanity checks.
183 (grub_disk_adjust_range): Handle non-512B sectors.
184 (transform_sector): New function.
185 (grub_disk_read_small): Likewise.
186 (grub_disk_read): Rewritten.
187 (grub_disk_write): Handle non-512B sectors.
188 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
189 log_sector_size.
190 (open_device): Use log_sector_size.
191 (grub_util_biosdisk_read): Likewise.
192 (grub_util_biosdisk_write): Likewise.
193 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
194 non-512B sectors.
195 (pc_partition_map_embed): Likewise.
196 * include/grub/disk.h (grub_disk): New field log_sector_size.
197 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
198 (GRUB_DISK_CACHE_BITS): Increased to 6.
199 * util/grub-fstest.c (fstest): New command testload.
200 (argp_parser): Likewise.
201
881ac815
RM
2022011-06-16 Robert Millan <rmh@gnu.org>
203
204 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
205 `ata' driver on kernel of FreeBSD 9.
206
207 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
208 (get_ataraid_disk_name): New functions.
209 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
210 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
211 get_ataraid_disk_name() and get_ada_disk_name().
212
1e9aef7d
CW
2132011-06-13 Colin Watson <cjwatson@ubuntu.com>
214
215 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
216 input format.
217
351c7c8a
CW
2182011-05-29 Colin Watson <cjwatson@ubuntu.com>
219
220 * docs/grub.texi (Obtaining and Building GRUB): Substitute
221 `ftp.gnu.org' for `alpha.gnu.org'.
222
6b4e6430
CW
2232011-05-27 Colin Watson <cjwatson@ubuntu.com>
224
225 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
226 partitions under /dev/disk/by-id/.
227
c64db050
CW
2282011-05-27 Colin Watson <cjwatson@ubuntu.com>
229
230 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
231 after ten consecutive open failures. Scanning all the way up to
232 10000 is excessive and can cause serious performance problems in
233 some configurations.
234 Fixes Ubuntu bug #787461.
235
245f4aba
VS
2362011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
239 opening new one.
240
f767c929
VS
2412011-05-21 Colin Watson <cjwatson@ubuntu.com>
2422011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
243
244 Don't stat devices unless we have to.
245
246 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
247 dir == /dev/mapper.
248 (grub_guess_root_device): Use already known os_dev if possible.
249 * grub-core/kern/emu/hostdisk.c
250 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
251 if device is known to be a dm one.
252
f35fa3a6
CW
2532011-05-20 Colin Watson <cjwatson@ubuntu.com>
254
255 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
256 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
257 Reported by: Pawel Tecza.
258
9a79fcf2
VS
2592011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
262 (lsefisystab): Likewise.
263 (lssal): Likewise.
264 (lsefimmap): Likewise.
265 (hdparm): Enable on qemu-mips.
266 (setjmp): Add ia64 nodist.
267 (serial): Simplify tags.
268
63e3eea9
CW
2692011-05-18 Colin Watson <cjwatson@ubuntu.com>
270
271 * Makefile.util.def (grub-ofpathname): Install manual page.
272
09728256
CW
2732011-05-18 Colin Watson <cjwatson@ubuntu.com>
274
275 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
276
8b63a142
CW
2772011-05-18 Colin Watson <cjwatson@ubuntu.com>
278
279 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
280
e775d8ed
VS
2812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
284 into dprintf.
285
bf947d36
VS
2862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
287
288 Use full 64-bit division.
289
290 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
291 (grub_divmod64): ... this.
292 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
293 version.
294
b84f26c5
CW
2952011-05-18 Colin Watson <cjwatson@ubuntu.com>
296
297 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
298 `source'.
299
5626056f
CW
3002011-05-18 Colin Watson <cjwatson@ubuntu.com>
301
302 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
303 to avoid accidents when debugging with 'sh -x'.
304 * grub-core/gensyminfo.sh.in: Likewise.
305 * tests/example_scripted_test.in: Likewise.
306 * tests/grub_cmd_regexp.in: Likewise.
307 * tests/grub_script_blanklines.in: Likewise.
308 * tests/grub_script_dollar.in: Likewise.
309 * tests/grub_script_expansion.in: Likewise.
310 * tests/grub_script_final_semicolon.in: Likewise.
311 * tests/partmap_test.in: Likewise.
312 * tests/util/grub-shell-tester.in: Likewise.
313 * tests/util/grub-shell.in: Likewise.
314
e2965f4a
CW
3152011-05-18 Colin Watson <cjwatson@ubuntu.com>
316
317 Move gfxmenu color handling to video, so that gfxterm can use it
318 too.
319
320 * grub-core/gfxmenu/named_colors.c: Move to ...
321 * grub-core/video/colors.c: ... here. Rename
322 grub_gui_get_named_color to grub_video_get_named_color.
323 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
324 * grub-core/video/colors.c (my_isxdigit): ... here.
325 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
326 Move to ...
327 * grub-core/video/colors.c (parse_hex_color_component): ... here.
328 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
329 to ...
330 * grub-core/video/colors.c (grub_video_parse_color): ... here.
331
332 * include/grub/gui.h (grub_gui_color_t): Move to ...
333 * include/grub/video.h (grub_video_rgba_color_t): ... here.
334 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
335 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
336 * include/grub/gui.h (grub_gui_map_color): Move to ...
337 * include/grub/video.h (grub_video_map_rgba_color): ... here.
338 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
339 to ...
340 * include/grub/video.h (grub_video_get_named_color): ... here.
341 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
342 * include/grub/video.h (grub_video_parse_color): ... here.
343
344 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
345 video/colors.c.
346 (gfxmenu): Remove gfxmenu/named_colors.c.
347 (video) [videomodules]: Add video/colors.c.
348
349 Add a background_color command.
350
351 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
352 function.
353 (GRUB_MOD_INIT): Register background_color command.
354 (GRUB_MOD_FINI): Unregister background_color command.
355 (redraw_screen_rect): Allow blend/replace of text layer to be
356 controlled independently from whether there is a background bitmap.
357 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
358 changing bitmap.
359
1e4b4390
VS
3602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
361
26618ff0
VS
362 Patch BPB in ntldr and chainloader --bpb.
363
1e4b4390
VS
364 * grub-core/fs/fat.c: Include grub/fat.h.
365 (grub_fat_bpb): Moved to ...
366 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
367 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
368 grub/ntfs.h.
369 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
370 Moved from here...
371 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
372 here.
373 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
374 New function.
375 (grub_chainloader_cmd): Patch BPB if --bpb is given.
376 (GRUB_MOD_INIT): Show --bpb.
377 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
378 * grub-core/normal/main.c (features): New variable.
379 (GRUB_MOD_INIT): Set feature_* variables.
380 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
381 proto.
382 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
383
cf02731e
VS
3842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
387 for cleanness.
388
e3a1073f
VS
3892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
390
391 FreeDOS direct loading support.
392
393 * docs/grub.texi (Supported OS): Add FreeDOS.
394 * grub-core/Makefile.core.def (freedos): New module.
395 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
396 variable.
397 (grub_relocator16_boot): Handle %ebx.
398 * grub-core/lib/i386/relocator16.S: Likewise.
399 * grub-core/loader/i386/pc/freedos.c: New file.
400
05caa461
VS
4012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Long Linux command line support.
404
405 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
406 (maximal_cmdline_size): New variable.
407 (allocate_pages): Use maximal_cmdline_size.
408 (grub_cmd_linux): Set and use maximal_cmdline_size.
409 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
410 (allocate_pages): Use maximal_cmdline_size.
411 (grub_cmd_linux): Set and use maximal_cmdline_size.
412 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
413 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
414 and cmdline_size.
415
a2491e23
VS
4162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4172011-05-18 Colin Watson <cjwatson@ubuntu.com>
418
419 Improve devmapper support
420
421 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
422 (grub_util_is_lvm): New function.
423 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
424 than lvm if not dmraid.
425 Handle mapped md nodes.
426 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
427 (grub_util_device_is_mapped): ... this. Make always available. All users
428 updated.
429 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
430 (convert_system_partition_to_system_disk): Handle lvm, mpath and
431 dmraid nodes.
432 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
433
6ad6223e
VS
4342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
435
436 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
437
438 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
439 * grub-core/modinfo.sh.in: New file.
440 * grub-core/Makefile.core.def (modinfo.sh): New script.
441 * util/grub-mknetdir.in: Use modinfo.sh.
442 * util/grub-mkrescue.in: Likewise.
443
543a8f6e
VS
4442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
447 Fix potential usage of Elf32 instead of Elf64 when compiling on
448 32-bit architecture. Add endianness macros while on it.
449
4959e111
VS
4502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
451
452 Use mipsel- rather than mips- in directories involving mipsel ports to
453 allow both endiannesses coexist.
454
455 * configure.ac: proparate target_cpu=mipsel rather than resetting to
456 mips. All conditions adjusted.
457 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
458 variable.
459 * util/grub-install.in: Adjust conditions to take renaming into account.
460 * util/grub-mkimage.c (image_targets): Likewise. New target
461 mips-qemu_mips-elf for bigendian mips.
462
35341bbc
VS
4632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Avoid unnecessary copying on MIPS.
466
467 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
468 early if src == dest.
469 * util/grub-mkimage.c (generate_image): Arange for src == dest if
470 compression is none.
471
b772baed
VS
4722011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Reduce memory footprint on SGI by putting modules before the kernel
475 as opposed to after.
476
477 * grub-core/Makefile.core.def (kernel): Increase linking address.
478 (none_decompress): Likewise.
479 (xz_decompress): Likewise.
480 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
481 address.
482 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
483 layout change.
484 (grub_arch_modules_addr): New function.
485 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
486 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
487 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
488 here.
489 * grub-core/kern/mips/startup.S (total_size): Rename to ...
490 (grub_total_modules_size): ... this. Make global.
491 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
492 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
493 New definition.
494 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
495 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
496 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
497 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
498 * util/grub-mkimage.c (image_target_desc): New flag
499 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
500 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
501 (generate_image): Handle images with modules before kernel.
502
566a1917
VS
5032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Prevent potential loss of memory map by overwrite on qemu-mips.
506
507 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
508 Save ram size in $s4.
509 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
510 All users changed to grub_arch_memsize.
511 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
512 Loongson.
513 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
514 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
515 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
516 external variable.
517
5d420cd9
CW
5182011-05-17 Colin Watson <cjwatson@ubuntu.com>
519
520 * .bzrignore: Remove grub-dumpbios.
521
d064b830
CW
5222011-05-17 Colin Watson <cjwatson@ubuntu.com>
523
524 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
525 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
526 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
527 existing options which append).
528 * docs/grub.texi (Simple configuration): Document new options.
529 Reported by: Ian Jackson. Fixes Debian bug #617538.
530
3ca2b466
CW
5312011-05-17 Colin Watson <cjwatson@ubuntu.com>
532
533 * util/grub-fstest.c (cmd_cat): New function.
534 (fstest): Handle CMD_CAT.
535 (options): Add cat.
536 (argp_parser): Handle cat.
537
24c9143a
CW
5382011-05-17 Colin Watson <cjwatson@ubuntu.com>
539
540 * Makefile.util.def (grub-bin2h): Don't install.
541 * docs/man/grub-bin2h.h2m: Remove.
542
90f7ac19
VS
5432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
546 place.
547
8d4a5178
VS
5482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
549
550 Reenable qemu-mips port.
551
552 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
553 Fix small arc bug while on it.
554 * gentpl.py: Handle qemu_mips.
555 * grub-core/Makefile.am: Likewise.
556 * grub-core/Makefile.core.def: Likewise.
557 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
558 inappropriate includes.
559 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
560 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
561 * grub-core/kern/main.c (grub_modules_get_end)
562 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
563 * grub-core/kern/mips/qemu-mips: Moved to ..
564 * grub-core/kern/mips/qemu_mips: ... this.
565 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
566 (grub_machine_init): Call terminfo_init and serial_init.
567 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
568 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
569 New variable.
570 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
571 parameter passing.
572 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
573 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
574 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
575 * include/grub/mips/qemu_mips/cmos.h: New file.
576 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
577 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
578 Removed.
579 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
580 Use correct mips-style address.
581 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
582 (GRUB_TICKS_PER_SECOND): Removed.
583 (grub_get_rtc): Likewise.
584 (grub_cpu_idle): Likewise.
585 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
586 New definition.
587 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
588 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
589 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
590 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
591 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
592 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
593 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
594 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
595
400b9371
VS
5962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
597
598 SGI ARCS port.
599
600 * Makefile.util.def (libgrubmods.a): Add dvh.c.
601 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
602 platforms.
603 * configure.ac: New target mips-arc.
604 * gentpl.py: Likewise.
605 * grub-core/Makefile.am: Likewise.
606 * grub-core/Makefile.core.def: Likewise.
607 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
608 (none_decompress): Likewise.
609 (lsdev): New module.
610 (datetime): Use lib/arc/datetime.c on ARC.
611 (part_dvh): New module.
612 * grub-core/commands/arc/lsdev.c: New file.
613 * grub-core/disk/arc/arcdisk.c: Likewise.
614 * grub-core/kern/mips/arc/init.c: Likewise.
615 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
616 aligned addresses.
617 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
618 support.
619 (grub_arch_dl_relocate_symbols): Likewise.
620 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
621 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
622 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
623 platforms.
624 * grub-core/lib/arc/datetime.c: New file.
625 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
626 pci.h on non-loongson.
627 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
628 (grub_linux_boot): Set unused registers to 0.
629 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
630 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
631 * grub-core/mmap/mips/uppermem.c: ...here.
632 * grub-core/partmap/dvh.c: New file.
633 * grub-core/term/arc/console.c: Likewise.
634 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
635 (grub_terminfo_set_current): Add terminal "arc".
636 (grub_terminfo_readkey): Support ARC sequences.
637 * include/grub/arc/arc.h: New file.
638 * include/grub/arc/console.h: Likewise.
639 * include/grub/disk.h (grub_disk_dev_id): Add
640 GRUB_DISK_DEVICE_ARCDISK_ID.
641 * include/grub/mips/arc/kernel.h: New file.
642 * include/grub/mips/arc/memory.h: Likewise.
643 * include/grub/mips/arc/time.h: Likewise.
644 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
645 * include/grub/mips/kernel.h (grub_halt): ... here.
646 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
647 here...
648 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
649 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
650 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
651 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
652 proto.
653 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
654 from here ...
655 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
656 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
657 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
658 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
659 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
660 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
661 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
662 (grub_phys_addr_t): Moved from here ...
663 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
664 (grub_vtop): Moved from here ...
665 * include/grub/mips/memory.h (grub_vtop): ... here.
666 (grub_map_memory): Moved from here ...
667 * include/grub/mips/memory.h (grub_map_memory): ... here.
668 (grub_unmap_memory): Moved from here ...
669 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
670 (grub_machine_mmap_iterate): Moved from here ...
671 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
672 (grub_mmap_get_lower): Moved from here ...
673 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
674 (grub_mmap_get_upper): Moved from here ...
675 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
676 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
677 here ...
678 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
679 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
680 here ...
681 * include/grub/mips/time.h (grub_get_rtc): ... here.
682 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
683 here ...
684 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
685 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
686 here ...
687 * include/grub/mips/time.h (grub_cpu_idle): ... here.
688 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
689 definition.
690 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
691 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
692 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
693 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
694 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
695 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
696 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
697 (GRUB_MACHINE_LINK_ADDR): Likewise.
698 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
699 to 6.
700 * util/grub-install.in: Run dvhtool on ARC.
701 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 702 (generate_image): Handle ECOFF output for mips-arc.
400b9371 703
c8ecc840
VS
7042011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
707 blocks.
708
153a4b55
VS
7092011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
712 after enabling port.
713
ff44d107
VS
7142011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
715
716 Skip incorrect USB devices.
717
718 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
719 configcnt == 0.
720 * include/grub/usb.h (grub_usb_err_t): New enum value
721 GRUB_USB_ERR_BADDEVICE.
722
638dbe4f
VS
7232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
724
725 Fuloong video init support.
726
727 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
728 well.
729 (grub_vga_read_arx): New function.
730 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
731 definition.
732 (framebuffer): New members io, mmioptr and mmiobase.
733 (read_sis_cmd): New function.
734 (write_sis_cmd): Likewise.
735 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
736 rather than 640x400.
737 * grub-core/video/sis315_init.c: New file.
738
c3fc520c
VS
7392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
742 non-loongson.
743 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
744 to grub_dl_register_symbol.
745
67b1e5c9
VS
7462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
747
748 Fix compilation errors.
749
750 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
751 potentially unused.
752 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
753 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
754 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
755 to loongson machines.
756
b756f75f
VS
7572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
758
759 Several FS mtime support.
760
761 * grub-core/fs/affs.c (grub_affs_time): New struct.
762 (grub_affs_file): New field mtime.
763 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
764 type. Removed 'size'. New field 'di'. All users updated.
765 (grub_affs_mount): Simplify checsum checking.
766 (grub_affs_iterate_dir): New helper grub_affs_create_node.
767 (grub_affs_dir): Handle mtime.
768 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
769 (grub_cpio_dir): Likewise.
770 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
771 (grub_hfs_filerec): New field mtime.
772 (grub_hfs_dir): Handle mtime.
773 (grub_hfs_mtime): New function.
774 (grub_hfs_fs): Register grub_hfs_mtime.
775 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
776 (grub_iso9660_dir): New field mtime.
777 (grub_fshelp_node): New field dirent.
778 (iso9660_to_unixtime): New function.
779 (iso9660_to_unixtime2): Likewise.
780 (grub_iso9660_read_symlink): Use node->dirent.
781 (grub_iso9660_iterate_dir): Likewise.
782 (grub_iso9660_dir): Set mtime.
783 (grub_iso9660_mtime): New function.
784 (grub_iso9660_fs): Register grub_iso9660_mtime.
785 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
786 (grub_jfs_inode): New fields atime, ctime and mtime.
787 (grub_jfs_dir): Set mtime.
788 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
789 * grub-core/fs/ntfs.c (list_file): Set mtime.
790 (grub_ntfs_dir): Likewise.
791 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
792 (grub_reiserfs_iterate_dir): Set mtime.
793 (grub_reiserfs_dir): Likewise.
794 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
795 (grub_fshelp_node): Likewise.
796 (grub_sfs_iterate_dir): Set mtime.
797 (grub_sfs_dir): Likewise.
798 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
799 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
800 (grub_xfs_inode): New fields atime, mtime, ctime.
801 (grub_xfs_dir): Set mtime.
802 * include/grub/datetime.h (grub_datetime2unixtime): New function.
803 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
804 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
805
806 Support UDF symlinks.
807
808 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
809 (grub_ufs_read_symlink): New function. All users updated.
810
811 Check amiga partmap checksum.
812
813 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
814 (grub_amiga_partition): Likewise.
815 (amiga_partition_map_checksum): New function.
816 (amiga_partition_map_iterate): Check checksum.
817
5470225d
VS
8182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
819
820 ROMFS support.
821
822 * Makefile.util.def (libgrubmods.a): Add romfs.
823 * grub-core/Makefile.core.def (romfs): New module.
824 * grub-core/fs/romfs.c: New file.
825
d4680a35
VS
8262011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
827
828 Squashfs v4 support.
829
830 * Makefile.util.def (libgrubmods.a): Add squash4.
831 * grub-core/Makefile.core.def (squash4): New module.
832 * grub-core/fs/squash4.c: New file.
833 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
834 disk_input_start, disk_input.
835 (get_byte): Handle disk_input.
836 (grub_zlib_disk_read): New function.
837 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
838
bcb18e74
FZ
8392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8402011-05-15 Feiran Zheng <famcool@gmail.com>
841
842 * Makefile.util.def (libgrubmods.a): Add minix3.
843 * grub-core/Makefile.core.def (minix3): New module.
844 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
845 (GRUB_MINIX_BSIZE): Removed.
846 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
847 (grub_minix_ino_t): New type.
848 (grub_minix_le_to_cpu_ino): New macro.
849 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
850 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
851 (grub_minix_data): New field block_size.
852 (grub_minix_read_file): Handle 64-bit correctly.
853 * grub-core/fs/minix3.c: New file.
854
32297d5f
TG
8552011-05-15 Tristan Gingold <gingold@free.fr>
8562011-05-15 Robert Millan <rmh.grub@aybabtu.com>
8572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
858
859 IA64 support.
860
861 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
862 * configure.ac: Add ia64-efi target.
863 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
864 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
865 * gentpl.py: Add ia64_efi platform.
866 Rename x86_efi to efi and Add ia64-efi. All users updated.
867 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
868 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
869 Remove kern/generic/rtc_get_time_ms.c on EFI.
870 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
871 kern/ia64/dl_helper.c on ia64-efi.
872 Add kern/emu/cache.c on emu.
873 (linux): Use on loader/ia64/efi/linux.c on ia64.
874 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
875 whether symbol is a function.
876 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
877 (grub_symbol): New field 'isfunc'.
878 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
879 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
880 (grub_dl_load_segments): Place all sections into the same region.
881 [__ia64__]: Create trampolines and got.
882 [GRUB_MACHINE_EMU]: Call mprotect.
883 (grub_dl_resolve_symbols): Resolve symbol type as well.
884 [__ia64__]: Create function descriptors.
885 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
886 (grub_rtc_get_time_ms): ... this. Expressions simplified.
887 (grub_get_rtc): New function.
888 * grub-core/kern/emu/cache.c [__ia64__]: New file.
889 * grub-core/kern/emu/cache.S: Renamed to ...
890 * grub-core/kern/emu/cache_s.S: ... this.
891 [__ia64__]: Add a nop.
892 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
893 [__ia64__]: New function.
894 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
895 * grub-core/kern/ia64/dl.c: New file.
896 * grub-core/kern/ia64/dl_helper.c: Likewise.
897 * grub-core/kern/ia64/efi/init.c: New file.
898 * grub-core/kern/ia64/efi/startup.S: Likewise.
899 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
900 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
901 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
902 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
903 * grub-core/loader/ia64/efi/linux.c: New file.
904 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
905 (GRUB_MOD_DEP): Likewise.
906 (grub_dl) [__ia64__]: New fields got and tramp.
907 (grub_dl): New field 'base'.
908 (grub_dl_register_symbol): New argument isfunc. All users updated.
909 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
910 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
911 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
912 (grub_ia64_dl_get_tramp_got_size): New proto.
913 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
914 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
915 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
916 * include/grub/efi/api.h: Skip call wrappers on ia64.
917 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
918 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
919 * include/grub/elf.h (ELF_ST_INFO): New definition.
920 * include/grub/ia64/efi/kernel.h: New file.
921 * include/grub/ia64/efi/memory.h: Likewise.
922 * include/grub/ia64/efi/time.h: Likewise.
923 * include/grub/ia64/kernel.h: Likewise.
924 * include/grub/ia64/setjmp.h: Likewise (from glibc).
925 * include/grub/ia64/time.h: New file.
926 * include/grub/ia64/types.h: Likewise.
927 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
928 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
929 New protos.
930 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
931 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
932 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
933 * util/grub-mkimage.c (image_target_desc): New field pe_target.
934 All users updated.
935 (EFI64_HEADER_SIZE): New definition. All users updated.
936 (image_targets): Add ia64-efi.
937 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
938 jumpers_addr. All users updated.
939 Create function descriptors.
940 (count_funcs): New function.
941 (unaligned_uint32): New struct.
942 (MASK20): New definition.
943 (MASK19): Likewise.
944 (MASKF21): Likewise.
945 (add_value_to_slot_20b): New function.
946 (add_value_to_slot_21_real): Likewise.
947 (add_value_to_slot_21): Likewise.
948 (ia64_kernel_trampoline): New struct.
949 (nopm): New variable.
950 (jump): Likewise.
951 (make_trampoline): New function.
952 (relocate_addresses): Handle ia64.
953 (make_reloc_section): Likewise.
954 (load_image): Likewise.
955
983b414d
VS
9562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
959 warning. Move variables before code while on it.
960
5d063cdc
VS
9612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Fuloong support.
964
965 * configure.ac: Rename yeeloong platform to loongson. All users updated.
966 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
967 * grub-core/boot/mips/loongson/fuloong.S: New file.
968 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
969 Explicitly init CS5536.
970 [FULOONG]: Don't use serial until CS5536 is available.
971 Set GPIO based on dumps.
972 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
973 [FULOONG]: Handle GPIO and memory controller differences.
974 Parse machine type in $a2.
975 * grub-core/boot/mips/startup_raw.S: Determine and save the
976 architecture.
977 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
978 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
979 init on architecture type.
980 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
981 SIS315E. Don't init at_keyboard on fuloong.
982 (grub_halt): Support Fuloong.
983 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
984 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
985 (loongson_machtypes): New array.
986 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
987 type.
988 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
989 config. All users updated. Handle CS5536 serial.
990 * grub-core/term/serial.c (grub_serial_register): Conditionalise
991 default port on machine type. Register serial as inactive.
992 * grub-core/video/sis315pro.c: New file.
993 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
994 definition.
995 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
996 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
997 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
998 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
999 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
1000 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
1001 to ...
1002 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
1003 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
1004 definition.
1005 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
1006 (grub_arch_machine): New extern var.
1007 * include/grub/mips/loongson/serial.h
1008 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
1009 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
1010 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
1011 (GRUB_MACHINE_SERIAL_PORT0): ... this.
1012 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
1013 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
1014 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
1015 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
1016 * include/grub/term.h (grub_term_register_input_inactive): New inline
1017 function.
1018 (grub_term_register_output_inactive): Likewise.
1019 * include/grub/video.h (grub_video_driver_id): New value
1020 GRUB_VIDEO_DRIVER_SIS315PRO.
1021 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
1022 New field "names". All users updated.
1023 New field value IMAGE_FULOONG_FLASH.
1024 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
1025
6ada82d1
JU
10262011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
1027
1028 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
1029 and add some clarification.
1030
90c571a4
VS
10312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
1034 platforms if kernel is compressed.
1035
de04eecf
VS
10362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
1039 unused modules since currently referrence counter isn't reliable and
1040 there isn't much memory to recover there anyway.
1041
57688121
VS
10422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
1045 rather than resetting it to allow modules to reference themselves
1046 in init.
1047
3d2c7e35
VS
10482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
1051 counter on dependencies since grub_dl_unref already handles this.
1052
b25db218
VS
10532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
1056 on error if not already done.
1057
25a45338
VS
10582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Fix few potential memory misusage.
1061
1062 * grub-core/font/font.c (load_font_index): Don't free char_index to
1063 avoid double free.
b25db218
VS
1064 (grub_font_load): Zero-fill font at alloc for safety.
1065 Close file on error.
1066 (free_font): Free bmp_idx.
25a45338 1067
0cac83df
VS
10682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * docs/grub.texi (Installation): Fix several outdated claims.
1071
2217a143
VS
10722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 Handle module_license on windows.
1075
1076 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
1077 sections shifted.
1078 (insert_string): Make argument const char * instead of char *.
1079 (write_section_data): Handle long section names.
1080 Handle module_license.
1081
d4de6b01
VS
10822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
1085 handle class-free menuentries.
1086 (grub_normal_add_menu_entry): Add a check to be sure.
1087
4c2a3b43
VS
10882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
1091 PgUp and PgDown.
1092
85c6210f
VS
10932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * configure.ac: Bump version to 1.99.
1096
36084912
VS
10972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Give ATA device a bit more time on first try in order to allow disks
1100 to spin up.
1101
1102 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
1103 if dev->present is 1. Reset dev->present on failure.
1104 (grub_ata_device_initialize): Set dev->present to 1.
1105 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
1106 (grub_ata_device): New member 'present'.
1107
bda0e219
VS
11082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * util/grub-mkimage.c (generate_image): Update hash.
1111
19e1c41b
VS
11122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 Flush caches on DMA memory.
1115
1116 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
1117 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
1118 (grub_dma_free): Likewise.
1119 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
1120
91bbcc0c
VS
11212011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
1124 to avoid asm treating ld and sd as macros.
1125
60ddfad3
VS
11262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
1129 decompressor.
1130
a298aa04
VS
11312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
1134 grub_decompress_core since later would fail if grub_decompress_core
1135 is too far.
1136
9b44feca
VS
11372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
1140 R_MIPS_JALR since it's used by newer compiler.
1141
56dbe7b4
VS
11422011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
1145
52856af2
VS
11462011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
1149 file_path to 0 for surety.
1150 (grub_chainloader_boot): Set exit_data to NULL.
1151 Unset the loader once done.
1152 (grub_cmd_chainloader): Fix confusing error message if file is empty.
1153
9c9bfc6d
VS
11542011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
1157 unknown key into a dprintf.
1158
dd94a3df
VS
11592011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
1162 on first non-existant partition.
1163
fa68d99c
VS
11642011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
1167 openning fails.
1168 Reported by: Mark Korenberg.
1169
157effb7
VS
11702011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
1173 overflow.
1174
ea75312f
VS
11752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * util/grub-mkimage.c (main): Explicitely flush and sync the output
1178 before closing to ensure that it will be readable by grub-setup.
1179
072b5d31
VS
11802011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
1183 (devpath_1): Use MAKE_PIWG_PATH.
1184 (devpath_2): Likewise.
1185 (devpath_3): Likewise.
1186 (devpath_4): Likewise.
1187 (devpath_5): Likewise.
1188 (devpath_6): Likewise.
1189
1190 The appleldr.mod was checked that to be binary identical to previous
1191 version.
1192
7fae0051
Z
11932011-05-05 Zach <mikezackles>
1194
1195 Support 2010 Macbooks.
1196
1197 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
1198 (devs): Add devpath_6.
1199
7c515bee
VS
12002011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
1203 /dev/random. /dev/urandom is good enough for our purposes (salting).
1204
ed660bd8
VS
12052011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
1208
ee5614b7
VS
12092011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
1212 hexadecimal.
1213
664889a6
VS
12142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
1217 and not 0 on failure.
1218
bd405bbc
CW
12192011-05-03 Colin Watson <cjwatson@ubuntu.com>
1220
1221 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
1222 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
1223 disk; otherwise grub_fs_probe will not fall back to the next
1224 filesystem.
1225 (grub_pxefs_open): Likewise, for consistency.
1226 Reported and tested by: Ezekiel Grave.
1227
4ebff753
CW
12282011-05-03 Colin Watson <cjwatson@ubuntu.com>
1229
1230 * tests/partmap_test.in: Don't hardcode path to parted.
1231 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
1232
8f942553
CW
12332011-05-01 Colin Watson <cjwatson@ubuntu.com>
1234
1235 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
1236 of `ls' to find out which devices are available.
1237
3c62402d
VS
12382011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
1241 than source address for efi mmap buffer.
1242
723f63f2
VS
12432011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
1246 wrong action on non-detecting the magic.
1247
68797f92
VS
12482011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
1251 already supplied by another part of the module (fixes compilation on
1252 FreeBSD).
1253
6be8715d
VS
12542011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
1257 match the one used by mdadm.
1258
e91dba5b
CW
12592011-04-21 Colin Watson <cjwatson@ubuntu.com>
1260
1261 * po/README: Add instructions for creating po/LINGUAS.
1262
c85140b3
CW
12632011-04-21 Colin Watson <cjwatson@ubuntu.com>
1264
1265 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
1266 #551428.
1267
1268 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
1269 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
1270 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
1271 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
1272 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
1273 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
1274 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
1275 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
1276 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
1277 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
1278 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
1279 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
1280 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
1281 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
1282 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
1283 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
1284 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
1285 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
1286 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
1287 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
1288 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
1289 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
1290
92051871
CW
12912011-04-21 Colin Watson <cjwatson@ubuntu.com>
1292
1293 * grub-core/kern/emu/getroot.c
1294 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
1295 test that was incorrectly reintroduced in r3214.
1296 Reported by: Ian Dall. Fixes Savannah bug #33133.
1297
b13f79a4
CW
12982011-04-21 Colin Watson <cjwatson@ubuntu.com>
1299
1300 Fix stack pointer handling in 16-bit relocator.
1301
1302 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
1303 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
1304 Fixes Ubuntu bug #683904.
1305
9b710a88
VS
13062011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * configure.ac: Bump version to 1.99~rc2.
1309
d97e7b59
VS
13102011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
1313 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
1314 * grub-core/lib/x86_64/setjmp.S: Likewise.
1315 * grub-core/lib/mips/setjmp.S: Likewise.
1316 * grub-core/lib/powerpc/setjmp.S: Likewise.
1317 * grub-core/lib/sparc64/setjmp.S: Likewise.
1318
0624551c
VS
13192011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
1322 * grub-core/lib/efi/datetime.c: Likewise.
1323
e8f28d4c
VS
13242011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
1327 New function.
1328 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
1329 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
1330 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
1331
bba79a15
VS
13322011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
1335 bitmap.
1336 (grub_gfxterm_term_init): Likewise.
1337
abc474ef
VS
13382011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 Take into account the decorations the computing menu entry width.
1341
1342 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
1343 (grub_gfxmenu_create_box): Register get_border_width.
1344 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
1345 if available.
1346 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
1347 get_border_width.
1348
e74b3947
EP
13492011-04-18 Endres Puschner <code@e7p.de>
1350
1351 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
1352 Don't skip first class.
1353
34faa595
VS
13542011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
1357 chunks.
1358 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
1359
93a777e3
VS
13602011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 Complete 64-bit division support.
1363
1364 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
1365 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
1366 * include/grub/misc.h (grub_divmod64): Rename to ...
1367 (grub_divmod64_full): ... this.
1368 (grub_divmod64): New inline function.
1369
a5102d94
VS
13702011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * util/grub-mkimage.c (generate_image): Add forgotten comma.
1373
f3fb7b36
VS
13742011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
1377 performing the necessary test.
1378
9ac718b0
VS
13792011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
1382 (kfreebsd.elf): Likewise.
1383 (pc-chainloader.elf): Likewise.
1384 (ntldr.elf): Likewise.
1385
50d2cc5a
VS
13862011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 Identify RAID by its UUID rather than (guessed) name.
1389
1390 * grub-core/disk/raid.c (ascii2hex): New function.
1391 (grub_raid_open): Accept mduuid/%s specification.
1392 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
1393 (get_mdadm_uuid): ... this.
1394 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
1395
e03f7bea
VS
13962011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
1399 to negative size.
1400
e74c3112
CW
14012011-04-13 Colin Watson <cjwatson@ubuntu.com>
1402
1403 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
1404 btrfs subvolume.
1405 * util/grub.d/20_linux_xen.in: Likewise.
1406
78fa584f
CW
14072011-04-13 Colin Watson <cjwatson@ubuntu.com>
1408
1409 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
1410 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
1411
1412 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1413 Build a list of relevant visible mounts using the mnt_id and
1414 parent_mnt_id fields, and then scan that list at the end.
1415
9d5f8162
CW
14162011-04-12 Colin Watson <cjwatson@ubuntu.com>
1417
1418 * docs/grub.texi (normal): New section.
1419 (normal_exit): New section.
1420 (Embedded configuration): Add reference to normal.
1421 (GRUB only offers a rescue shell): Likewise.
1422 * docs/grub-dev.texi (Error Handling): Fix typo.
1423
09a9d66f
CW
14242011-04-12 Colin Watson <cjwatson@ubuntu.com>
1425
1426 * NEWS: Drop obsolete entry about probe-only btrfs support.
1427
0c676933
CW
14282011-04-12 Colin Watson <cjwatson@ubuntu.com>
1429
1430 * util/import_gcry.py: Fix typo.
1431
ec9f5e0d
VS
14322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * NEWS: Add btrfs support.
1435
fe6b2cba
VS
14362011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14372011-04-11 Colin Watson <cjwatson@ubuntu.com>
1438
1439 BtrFS support. Written by me (Vladimir) with important bugfixes and
1440 even more important testing by Colin.
1441
1442 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
1443 * grub-core/Makefile.core.def (btrfs): Add crc.c.
1444 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
1445 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
1446 mem_input_off and mem_input. All users updated to accept in-RAM input.
1447 (gzio_seek): New function.
1448 (test_zlib_header): Likewise.
1449 (grub_gzio_read): Likewise.
1450 (grub_zlib_decompress): Likewise.
1451 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
1452 Accept partial and non-virtual mounts.
1453 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
1454 avoid receiving /dev/dm-X as device.
1455 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
1456 Handle bind and partial mounts.
1457 * grub-core/lib/crc.c: New file.
1458 * include/grub/deflate.h: Likewise.
1459 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
1460 proto.
1461 * include/grub/lib/crc.h: New file.
1462
e745cf0c
VS
14632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1464
1465 Implement automatic module license checking according to new GNU
1466 guidelines.
1467
1468 * grub-core/kern/dl.c (grub_dl_check_license): New function.
1469 (grub_dl_load_core): Use grub_dl_check_license.
1470 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
1471 (GRUB_MOD_LICENSE): Likewise.
1472 (GRUB_MOD_DUAL_LICENSE): Likewise.
1473 All modules updated.
1474
2a9bc016
CW
14752011-04-11 Colin Watson <cjwatson@ubuntu.com>
1476
1477 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
1478 reserved_first_sector to 1. btrfs reserves plenty of space for boot
1479 loaders.
1480 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
1481
8a3bc88e
VS
14822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
1485
af869a4a
VS
14862011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * util/grub-fstest.c (read_file): Report GRUB error if file opening
1489 failed.
1490
9ee8d94f
VS
14912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * grub-core/kern/file.c (grub_file_open): Don't take into account the
1494 parenthesis in the middle of the filename.
1495
b01abe3e
VS
14962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
1499 rather than trying to put initrd way too high.
1500 Reported by: Ryan Lortie <desrt@desrt.ca>
1501
335bda1e
VS
15022011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
1505 improperly removed string.
1506
5ca1a64d
VS
15072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
1510 is_disk.
1511 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
1512 (open_device) Likewise.
1513 (grub_util_biosdisk_close): Likewise.
d8ce9995 1514 Reported by: Mark Korenberg.
5ca1a64d 1515
cbac5b1e
AK
15162011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
1517
1518 * util/grub-mkconfig_lib.in: Add missing quotes.
1519
088cdb65
CW
15202011-04-10 Colin Watson <cjwatson@ubuntu.com>
1521
1522 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
1523 is NULL.
1524
8b8a81fa
VS
15252011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 Dynamically count the number of lines for the lower banner.
1528
1529 * grub-core/normal/menu_entry.c (per_term_screen): New member
1530 num_entries.
1531 (print_down): Use num_entries.
1532 (update_screen): Likewise.
1533 (grub_menu_entry_run): Set num_entries.
1534 * grub-core/normal/menu_text.c (menu_viewer_data): New member
1535 num_entries.
1536 (grub_print_message_indented): Move real part to ...
1537 (grub_print_message_indented_real): ... here. Additional argument
1538 dry_run.
1539 (draw_border): Additional argument num_entries.
1540 (print_message): Additional argument dry_run.
1541 (print_entries): Receive menu viewer data.
1542 (grub_menu_init_page): New argment num_entries.
1543 (menu_text_set_chosen_entry): Use num_entries.
1544 (grub_menu_try_text): Likewise.
1545 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
1546 All users updated.
1547 (grub_ucs4_count_lines): New function.
1548 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
1549 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
1550 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
1551 (grub_term_border_height): Likewise.
1552 (grub_term_num_entries): Likewise.
1553
277f955b
VS
15542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
1557 Remove now unused string.
1558
536ce85a
CW
15592011-04-09 Colin Watson <cjwatson@ubuntu.com>
1560
1561 * docs/grub-dev.texi (Finding your way around): Update for 1.99
1562 build system.
1563 (Getting started): GRUB is developed in Bazaar now, not Subversion.
1564
1565 (Comment): Fix typo.
1566 (Getting started): General copy-editing.
1567 (Typical Development Experience): Likewise.
1568 (Error Handling): Likewise.
1569 (Video API): Likewise.
1570
2cf09e32
CW
15712011-04-09 Colin Watson <cjwatson@ubuntu.com>
1572
1573 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
1574 throughout.
1575
1ec652f4
VS
15762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * util/grub-mkimage.c (main): Handle special naming of yeeloong
1579 directory.
1580
2c583728
CW
15812011-04-08 Colin Watson <cjwatson@ubuntu.com>
1582
1583 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
1584 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
1585 "development".
1586
d7a565e9
VS
15872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
1590 grub_strcpy since the lines aren't necessarily 0-terminated.
1591
7c2e4909
VS
15922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
1595 root on legacy.
1596
34c09785
VS
15972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/commands/probe.c (options): Argument to set isn't optional.
1600 (GRUB_MOD_INIT): DEVICE isn't optional.
1601
6a6f8058
VS
16022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
1605 word on new line if it's too long anyway. Fixes a hang.
1606
2e335e90
VS
16072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
1610 const.
1611 * util/grub-setup.c (main): Reuse md device name if available.
1612 * util/raid.c (grub_util_raid_getmembers): Receive device name and
1613 not GRUB name as argument.
1614 Based on patch by: Florian Wagner <fwagner>.
1615
10a7a867
VS
16162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1619 Place mbi on low memory for better compatibility.
1620
7a3d6cd9
VS
16212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
1624
18dd6b47
VS
16252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
16262011-04-08 Colin Watson <cjwatson@ubuntu.com>
1627
1628 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 1629 * conf/Makefile.common: Likewise.
18dd6b47 1630
3c0e3f14
VS
16312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1632
f7148863
VS
1633 * grub-core/normal/menu.c: Add missing include.
1634
16352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 1638
6d1fa41f
MZ
16392011-04-08 Martin Zuther <mzuther@mzuther.de>
1640
1641 * util/grub-mkconfig.in: Ignore emacsen backup.
1642
478182a8
VS
16432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
1646 on open.
1647 (grub_util_biosdisk_close): Likewise.
1648
72a89a54
VS
16492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
1652 const attribute and use grub_isdigit.
1653
b5ebecfa
A
16542011-04-06 Andrey <dev_null@ukr.net>
1655
1656 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
1657 gcc warning.
1658
7755f66e
VS
16592011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
1662 useful grub_dprintf's.
1663
461121ff
VS
16642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
1667
2a961775
VS
16682011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
1671
adf594cc
VS
16722011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Output errors if theme loading failed.
1675
1676 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
1677 grub_gfxterm_fullscreen on error paths to ...
1678 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
1679 theme loading error.
1680
665900a3
VS
16812011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
1684 space for older compilers.
1685 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1686
a562b479
VS
16872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
1690 and report them as not RAID members since they are useless for GRUB.
1691 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1692
850e9373
VS
16932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 Increase LVM implementation robustness in order not to crash on
1696 configurations like pvmove. Previously code assumed that in some places
1697 only lvs or only pvs are used whereas it seems that they are used
1698 interchangeably.
1699
1700 * grub-core/disk/lvm.c (read_node): New function.
1701 (read_lv): Use read_node.
1702 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
1703 Match volumes only at the end when all lvs are found. Take both
1704 pvs (first) and lvs (second) into account.
1705 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
1706 mirror_* into node_*. All users updated.
1707 (grub_lvm_stripe): Merge this ...
1708 (grub_lvm_mirror): ... and this ...
1709 (grub_lvm_node): ... into this. All users updated.
1710
6f332153
VS
17112011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
1714 of function to allow further scanning for LVMs.
1715
829ea451
VS
17162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
1719 on failed seek as it breaks open fd reusage.
1720
09ceb9a5
VS
17212011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * util/grub-install.in: Add a recommendation to use --recheck before
1724 reporting bugs.
1725
67e11623
VS
17262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
1729 are obtained.
1730
caee5efd
VS
17312011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 GRUB developper manual based on existing Internals section and
1734 contributions by the various authors with active copyright assignment.
1735
1736 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
1737 * docs/font_char_metrics.png: New file.
1738 * docs/font_char_metrics.txt: Likewise.
1739 * docs/grub-dev.texi: Likewise.
1740 * docs/grub.texi (Internals): Move from here ...
1741 * docs/grub-dev.texi: ... here.
1742
2cccc747
CW
17432011-04-01 Colin Watson <cjwatson@ubuntu.com>
1744
1745 Store the loopback device as data on loopback grub_disk structures,
1746 rather than the file it points to. This fixes use of freed memory
1747 if an existing loopback device is replaced.
1748
1749 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
1750 disk->data, not dev->file.
1751 (grub_loopback_read): Adjust file assignment to match.
1752 Fixes Ubuntu bug #742967.
1753
186ae367
CW
17542011-04-01 Colin Watson <cjwatson@ubuntu.com>
1755
1756 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
1757 when replacing an existing device.
1758
cfed2ad0
VS
17592011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
1762 memory corruptions.
1763
1764 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
1765 unsigned.
1766 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
1767 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
1768 (grub_jfs_read_inode): Likewise.
1769 (grub_jfs_opendir): Likewise. Remove now useless casts.
1770 (grub_jfs_getent): Likewise.
1771 Make ino a grub_uint32_t rather than int.
1772 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
1773 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
1774 division and module with bit operations.
1775 (grub_jfs_find_file): Make ino a grub_uint32_t.
1776 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
1777
05d2ed32
CW
17782011-04-01 Colin Watson <cjwatson@ubuntu.com>
1779
1780 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
1781 warning. (This was in fact always initialised before use, but GCC
1782 wasn't smart enough to prove that.)
1783 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1784
91dc6073
VS
17852011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
1788 stack alignment.
1789 (efi_wrap_1): Likewise.
1790 (efi_wrap_2): Likewise.
1791 (efi_wrap_3): Likewise.
1792 (efi_wrap_4): Likewise.
1793 (efi_wrap_5): Likewise.
1794 (efi_wrap_6): Likewise.
1795 (efi_wrap_10): Likewise.
1796 Based on information by: Red Hat/Peter Jones.
1797
a8afc1d1
CW
17982011-03-31 Colin Watson <cjwatson@ubuntu.com>
1799
1800 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
1801 set-but-not-used variable.
1802
a826cc7d
CW
18032011-03-31 Colin Watson <cjwatson@ubuntu.com>
1804
1805 * docs/grub.texi (Simple configuration): Be more explicit about
1806 GRUB_DEFAULT, and add an example.
1807 Reported by: Leslie Rhorer.
1808
875b67ba
CW
18092011-03-30 Colin Watson <cjwatson@ubuntu.com>
1810
1811 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
1812 shell".
1813
fd7cd914
AS
18142011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
1815
1816 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
1817 * util/grub.d/20_linux_xen.in: Likewise.
1818
090b1b6a
VS
18192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * util/grub.d/10_linux.in: Try alternative config filenames where
1822 we parse config file.
1823 * util/grub.d/20_linux_xen.in: Likewise.
1824
baad885c
AS
18252011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
1826
1827 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
1828 * util/grub.d/20_linux_xen.in: Likewise.
1829
241e41f5
VS
18302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/disk/raid.c (insert_array): Add few potentially
1833 useful grub_util_info.
1834 (grub_raid_register): Likewise.
1835
56445fb2
VS
18362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
1839 Preserve partition number in mdadm code path.
1840
c871b1c6
VS
18412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
1844 few potentially useful grub_util_info.
1845
5e631b4f
CW
18462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
1849
2d5d0333
CW
18502011-03-30 Colin Watson <cjwatson@ubuntu.com>
1851
1852 * docs/grub.texi (default): Use @example rather than nested
1853 itemized lists to avoid breaking gendocs.
1854
3d7ed04e
CW
18552011-03-30 Colin Watson <cjwatson@ubuntu.com>
1856
1857 * docs/grub.texi (Future): Update.
1858
abf04200 18592011-03-30 Colin Watson <cjwatson@ubuntu.com>
1860
1861 * docs/grub.texi (Environment): New chapter.
1862 (Changes from GRUB Legacy): Link to "Environment block" section for
1863 details of limitations.
1864 (Simple configuration): Likewise. Link to documentation of gfxmode
1865 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
1866 respectively.
1867 (Shell-like scripting): Note that normal variables are stored in the
1868 environment.
1869 (gettext): Link to documentation of lang and locale_dir.
1870 (list_env): New section.
1871 (load_env): New section.
1872 (save_env): New section.
1873
1874 (Reporting bugs): Fix typo.
1875
e1ad0edd
VS
18762011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
1879 the example.
1880
5d803174
VS
18812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/term/at_keyboard.c (set_scancodes)
1884 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
1885
2a2da1d0
CW
18862011-03-30 Colin Watson <cjwatson@ubuntu.com>
1887
1888 * docs/grub.texi (Menu-specific commands): Remove some semantics
1889 that were true in GRUB Legacy but not in GRUB 2.
1890 (submenu): New section.
1891 (false): New section.
1892 (read): New section.
1893 (true): New section.
1894
a7527639
CW
18952011-03-30 Colin Watson <cjwatson@ubuntu.com>
1896
1897 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
1898
18992011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
1900
1901 * docs/grub.texi (Simple configuration): Explain some of the
1902 current limitations of grub-mkconfig.
8a748df2 1903 Reported by: Leslie Rhorer.
e30af029 1904
fc858482
VS
19052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Old macs search for boot.efi rather than for bootia32.efi.
1908
1909 * util/grub-install.in: Copy bootia32.efi to boot.efi.
1910 * util/grub-mkrescue.in: Likewise.
1911 Suggested by: Peter Jones.
1912
e1eb511d
VS
19132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
1916
70e75364
VS
19172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
1920 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
1921 (grub_lvm_mirror): New struct.
1922 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
1923 (grub_lvm_iterate): Iterate only visible volumes.
1924 (grub_lvm_read): Factor out to ..
1925 (read_lv): ... this. Support mirrors.
1926 (grub_lvm_read): New wrapper function.
1927 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
1928 stripped or mirrored.
1929
fc18f6a3
VS
19302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
1933
5c650f4c
CW
19342011-03-29 Colin Watson <cjwatson@ubuntu.com>
1935
1936 * docs/grub.texi (loopback): New section.
1937
61d7156b
CW
19382011-03-29 Colin Watson <cjwatson@ubuntu.com>
1939
1940 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
1941 removed -p option.
1942
994b8264
CW
19432011-03-29 Colin Watson <cjwatson@ubuntu.com>
1944
1945 * docs/grub.texi (BIOS installation): New section, partly based on
1946 previous text in other sections.
1947 (Installing GRUB using grub-install): Replace BIOS discussion with a
1948 cross-reference.
1949 (Images): Likewise.
1950
9e4d19e0
VS
19512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/kern/emu/hostdisk.c (find_partition_start)
1954 [HAVE_DIOCGDINFO]: Add safety checks.
1955
a307c0b2
VS
19562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
1959 per default compiled in kernel and prior to 8.0 isn't shipped at all.
1960
b4db4f39
CW
19612011-03-29 Colin Watson <cjwatson@ubuntu.com>
1962
1963 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
1964 real_sb->size is zero (e.g. RAID-0), get the disk size from
1965 real_sb->data_size instead.
1966 Fixes Ubuntu bug #743136.
1967
35e5f84c
VS
19682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
1971 printf clauses for printing size and start.
1972
d2e29d81
VS
19732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
1976 Reported and tested by: Timothy Nikkel.
1977
ed5587af
VS
19782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
1981 (dirty_region_add_real): ... this.
1982 (dirty_region_add): Don't discard margin refresh when performing
1983 scheduled repaint.
1984
a1dc717c
VS
19852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 * grub-core/lib/relocator.c (allocate_regstart)
1988 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
1989 terminals are capabple of malloc-free operation.
1990 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
1991 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
1992
9f3677d3
VS
19932011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
1994
1995 * util/grub-setup.c: Copy the partition table zone if floppy support
1996 is disabled, even if no partition table is found.
1997
1998 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
1999 during POST if an invalid partition table is contained in the PBR
2000 of the active partition when GRUB is installed to a partition.
2001
24148725
CW
20022011-03-28 Colin Watson <cjwatson@debian.org>
2003
2004 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
2005 comment.
2006
f329eda7
CW
20072011-03-28 Colin Watson <cjwatson@debian.org>
2008
2009 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
2010 to be specific about what kind of RAID device we're scanning for.
2011
c482ad98
SG
20122011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
2013
2014 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
2015 return freed string.
2016
5ee04984
VS
20172011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
2020
f4727da9
VS
20212011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 Use libgeom on FreeBSD to detect partitions.
2024
2025 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
2026 (grub-mkrelpath): Likewise.
2027 (grub-script-check): Likewise.
2028 (grub-editenv): Likewise.
2029 (grub-mkpasswd-pbkdf2): Likewise.
2030 (grub-fstest): Likewise.
2031 (grub-mkfont): Likewise.
2032 (grub-mkdevicemap): Likewise.
2033 (grub-probe): Likewise.
2034 (grub-setup): Likewise.
2035 (grub-ofpathname): Likewise.
2036 (grub-mklayout): Likewise.
2037 (example_unit_test): Likewise.
2038 (grub-menulst2cfg): Likewise.
2039 * grub-core/Makefile.core.def (grub-emu): Likewise.
2040 (grub-emu-lite): Likewise.
2041 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
2042 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
2043 define HAVE_DIOCGDINFO.
2044 (follow_geom_up) [FreeBSD]: New function.
2045 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
2046 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
2047 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
2048 unconditionally of HAVE_DIOCGDINFO.
2049
82fe6c75
VS
20502011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Fix FreeBSD compilation problem.
2053
2054 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
2055 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
2056
4c6c9431
CW
20572011-03-24 Colin Watson <cjwatson@ubuntu.com>
2058
2059 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
2060 Switch back to page zero before loading a kernel, since some kernel
2061 drivers expect that.
2062 Thanks to: Felix Kuehling.
2063
c7064d94
VS
20642011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
2067 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
2068 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
2069
3f71cded
VS
20702011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2071
2072 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
2073 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
2074
ef6de21a
VS
20752011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
2078 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
2079 malloc is disabled.
2080
8bc66a2c
VS
20812011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
2084 for modules headers when counting the needed allocation size.
2085
5657722c
VS
20862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
2089 if no ASCII character is found to prevent crash.
2090
41a85f55
AK
20912011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
2092
2093 * grub-core/video/bitmap.c (match_extension): Ignore case.
2094
59e1e5f1
VS
20952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
2098
bd4d051a
VS
20992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/script/parser.y: Declare "time" as valid argument.
2102
bae7fcc1
PJ
21032011-03-23 Peter Jones <pjones@redhat.com>
2104
2105 Fix incorrect assert failure reporting.
2106
2107 * grub-core/tests/example_functional_test.c (example_test): Add
2108 a failure comment.
2109 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
2110 (failure_start): ...this. Check that malloc succeeded.
2111 Don't call xvasprintf. Return failure struct.
2112 (failure_append_vtext): New function.
2113 (failure_append_text): Likewise.
2114 (add_failure): Likewise.
2115 (grub_test_assert_helper): Likewise.
2116 * include/grub/test.h (grub_test_assert_helper): New declaration.
2117 (grub_test_assert): Macro rewritten.
2118
537dc9be
VS
21192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
2122
fa3e01bf
VS
21232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
2126
b1d28404
VS
21272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
2130 into GRUB-style one.
2131
2e3e2e09
VS
21322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
2135 error and not grub_errno.
2136 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
2137
ed57e557
VS
21382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
2141 GRUB_USB_SPEED_NONE in case of failure and not the error code.
2142
d1611f01
VS
21432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/efiemu/i386/pc/cfgtables.c
2146 (grub_machine_efiemu_init_tables): Make declaration a prototype.
2147 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
2148 (grub_xnu_unlock): Likewise.
2149 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
2150
7d4e39d6
VS
21512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
2154 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
2155 * grub-core/commands/hashsum.c (aliases): Likewise.
2156 * grub-core/commands/setpci.c (pci_registers): Likewise.
2157 * grub-core/disk/usbms.c (attach_hook): Likewise.
2158 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
2159 (zio_checksum_table): Likewise.
2160 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
2161 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
2162 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
2163 * grub-core/lib/relocator.c (leftovers): Likewise.
2164 (extra_blocks): Likewise.
2165 * grub-core/loader/i386/bsd.c (relocator): Likewise.
2166 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
2167 (modules_last): Likewise.
2168 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
2169 (devices): Likewise.
2170 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
2171 (modules_last): Likewise.
2172 * grub-core/normal/auth.c (users): Likewise.
2173 * grub-core/normal/context.c (initial_menu): Likewise.
2174 (current_menu): Likewise.
2175 * grub-core/normal/crypto.c (crypto_specs): Likewise.
2176 * grub-core/term/serial.c (grub_serial_ports): Likewise.
2177 (grub_serial_terminfo_input_template): Likewise.
2178 (grub_serial_terminfo_output_template): Likewise.
2179 (grub_serial_terminfo_input): Likewise.
2180 (grub_serial_terminfo_output): Likewise.
2181 (registered): Likewise.
2182 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
2183
40fc4659
VS
21842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
2187 grub_video_mode_type_t.
2188 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
2189 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
2190 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
2191
2da48d28
VS
21922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * util/grub-install.in: Correct the x86-64 name as x86_64.
2195
9b43bf39
CW
21962011-03-11 Colin Watson <cjwatson@ubuntu.com>
2197
2198 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
2199 initial chunk read from the kernel always includes GRUB's multiboot
2200 header, which is now outside the first sector.
2201
be1a7ce0
CW
22022011-03-09 Colin Watson <cjwatson@ubuntu.com>
2203
2204 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
2205 cached mmap_size, so that this works correctly when called multiple
2206 times.
2207 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
2208
83a3c48d
CW
22092011-03-09 Colin Watson <cjwatson@ubuntu.com>
2210
2211 * docs/grub.texi (Simple configuration): Tidy up formatting.
2212
57d75699
SJ
22132011-03-07 Szymon Janc <szymon@janc.net.pl>
2214
2215 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
2216 Set-but-not-used variable removed.
2217
028501a0
VS
22182011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 Workaround yet another IEEE1275 bug.
2221
2222 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2223 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
2224 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
2225 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
2226 is set.
2227 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2228 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
2229
d998657d
VS
22302011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
2233 error.
2234
fee7cdd4
CW
22352011-02-11 Colin Watson <cjwatson@ubuntu.com>
2236
2237 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
2238 empty, since in that case we can only generate either nothing or a
2239 syntactically invalid configuration file.
2240 Reported by: Michal Suchanek. Fixes Debian bug #612898.
2241
97286eb5
CW
22422011-02-09 Colin Watson <cjwatson@ubuntu.com>
2243
2244 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
2245 (Making a GRUB bootable CD-ROM): Likewise.
2246 (Invoking grub-mkrescue): New section.
2247 Reported by: Yann Dirson. Fixes Debian bug #612585.
2248
22b28eb3
CW
22492011-02-09 Colin Watson <cjwatson@ubuntu.com>
2250
2251 * util/grub-install.in: Remove unnecessary brackets from tr
2252 arguments.
2253 * util/grub.d/10_hurd.in: Likewise.
2254 * util/grub.d/10_kfreebsd.in: Likewise.
2255 * util/grub.d/10_linux.in: Likewise.
2256 * util/grub.d/20_linux_xen.in: Likewise.
2257 Reported by: Jamie Heilman. Fixes Debian bug #612564.
2258
7e735e43
CW
22592011-02-08 Colin Watson <cjwatson@ubuntu.com>
2260
2261 * include/grub/file.h (not_easly_seekable): Rename to ...
2262 (not_easily_seekable): ... this. Update all users.
2263
800f1881
CW
22642011-01-28 Colin Watson <cjwatson@ubuntu.com>
2265
2266 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
2267 grub-mkrescue.
2268
3281d3d6
VS
22692011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
2270
2271 * util/grub-mkimage.c (generate_image): Refuse to create the images
2272 bigger than the actual flash (512K) in Loongson machines. 512K is also
2273 the biggest chip supported by them.
2274
3533413c
VS
22752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
2278
73ae4f4f
VS
22792011-01-22 Anthony DeRobertis <anthony@derobert.net>
2280
2281 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
2282 super_offset field.
2283
37f4f608
VS
22842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * util/grub-install.in: Ignore install device on platforms
2287 where it doesn't make sense. Always use UUIDs except on pc, efi and
2288 sparc64.
2289 Reported by: Daniel Kahn Gillmor.
2290
03a4ccb5
VS
22912011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
2294
ffc8f4d8
VS
22952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
2298 (iterate_real): Don't rely on partition being non-NULL.
2299
80f23be7
VS
23002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
2303 supported platforms. Put a compile time assert for this rather than
2304 generate a warning with 32-bit shift.
2305
5d4f4dd5
VS
23062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
2309 logical expression more readable.
2310
e489601a
VS
23112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
2314 even if some elements have a name.
2315 Reported by: Alexander GQ Gerasiov.
2316
96e0a6ea
CW
23172011-01-22 Colin Watson <cjwatson@ubuntu.com>
2318
2319 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
2320 path unreadable if `grub-probe -t abstraction' fails, for example if
2321 memberlist fails on an LVM volume group.
2322 Reported by: Darius Jahandarie.
2323
81431e2b
CW
23242011-01-22 Colin Watson <cjwatson@ubuntu.com>
2325
2326 * docs/grub.texi (Simple configuration): Document
2327 GRUB_PRELOAD_MODULES.
2328
5e79d66a
CW
23292011-01-17 Colin Watson <cjwatson@ubuntu.com>
2330
2331 * .bzrignore: Remove nonexistent grub-pbkdf2.
2332
646ada34
VS
23332011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * configure.ac: Bump version to 1.99~rc1.
2336
04360337
VS
23372011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
2340 for safety.
2341
46c9db88
VS
23422011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
2345 module.
2346
23472011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
2348
2349 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
2350
4fbf1852
VS
23512011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
2354 diskdevid.
2355
f1632d4d
VS
23562011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 Fix compilation on cygwin.
2359
2360 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
2361 -R .drectve on cygwin.
2362 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
2363 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
2364 (COND_CYGWIN): New condition.
2365 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
2366 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
2367 not @TARGET_OBJ2ELF@.
2368 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
2369 type to determine whether aux is to be used.
2370
0b5e127b
VS
23712011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2372
2373 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
2374 realpath'ed device string.
2375 Handle floppy (somewhat).
2376 Issue error in unknown case rather than garbage.
2377 Reported by: Axel Beckert.
2378
173b71e9
VS
23792011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * util/grub.d/00_header.in (load_video): Handle the case when no video
2382 drivers available.
2383 Thanks to: Axel Beckert.
2384
f8f479db
VS
23852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
2388 variable. Fixes problem on big endian platforms.
2389
8fc0a245
VS
23902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
2393 It doesn't work well there.
2394
b8494fbe
VS
23952011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
2398 warning.
2399 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
2400 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
2401 counter.
2402
b44a558c
VS
24032011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 Use alias->path rather than buggy "canon".
2406
2407 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
2408 (ofdisk_hash_add): New argument curcan. All users updated.
2409
51fa856c
CW
24102011-01-11 Colin Watson <cjwatson@ubuntu.com>
2411
2412 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
2413
9da068a5
VS
24142011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
2417 loadmask before doing any calculations. Use correct type for offset.
2418 (grub_linux_load64): Likewise.
2419
86205c94
CW
24202011-01-11 Colin Watson <cjwatson@ubuntu.com>
2421
2422 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
2423 with NULL.
2424 (console_grub_equivalences_unshift): Likewise.
2425 Reported by: Daniel Dehennin.
2426
4531a206
VS
24272011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
2430 (set_env_limn_ro): Likewise.
2431 (GRUB_MOD_INIT): Likewise.
2432 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
2433 ARRAY_SIZE while on it.
2434 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
2435 * grub-core/normal/context.c (grub_env_export): Move from here ...
2436 * grub-core/kern/env.c (grub_env_export): ... here.
2437 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
2438 prefix.
2439 * grub-core/kern/main.c (grub_main): Export root and prefix.
2440 * include/grub/env.h (grub_env_export): Export.
2441 Reported by: Seth Goldberg.
2442
45146057
VS
24432011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2446 Take into account space used by ELF sections and multiboot palette.
2447 Reported by: Grégoire Sutre.
2448
f093110b
VS
24492011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * BUGS: New file.
2452
3395fe52
VS
24532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 Pass more appropriate video id to Linux.
2456
2457 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
2458 grub_video_get_driver_id and variable gfxpayloadforcelfb to
2459 fill have_vga.
2460 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
2461 shift params->lfb_size.
2462 * include/grub/i386/linux.h: Make an enume out of have_vga values.
2463
c2fa6cbb
VS
24642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2465
2466 * util/grub-menulst2cfg.c: Add missing include of misc.h.
2467
b3ff6ff0
VS
24682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
2471 separator and pass bootpath/devid even if only one of them is available.
2472 Reported by: Seth Goldberg.
2473
ae67942e
VS
24742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
2477 implementations bug on them.
2478
2479 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
2480 memory.
2481 (filter_memory_map): Likewise.
2482
d570097a
VS
24832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
2486 Reported by: nebuchadnezzar.
2487
a508e776
VS
24882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
2491 Reported by: nebuchadnezzar.
2492
dcb883b1
VS
24932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Submenu default support.
2496
2497 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
2498 auto_boot. All users updated.
2499 Declared static.
2500 Handle chosen and default with submenus.
2501 (grub_menu_execute_with_fallback): Declared static.
2502 Don't notify failure if autobooted. Upper level does it.
2503 (menuentry_eq): New function.
2504 (get_entry_number): Use menuentry_eq.
2505 (show_menu): New parameter "autobooted". All users updated.
2506 (grub_show_menu): Likewise.
2507 * include/grub/normal.h (grub_show_menu): Likewise.
2508 * include/grub/menu.h (grub_menu_execute_entry): Removed.
2509 (grub_menu_execute_with_fallback): Likewise.
2510
6fef99b4
VS
25112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * util/grub-mklayout.c (usage): Update help text.
2514
47a77af5
VS
25152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
2518
ce6bb3ee
VS
25192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * util/grub-menulst2cfg.c (main): Trim the line.
2522
db87be2a
VS
25232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
2526 (grub_machine_init): Don't check amount of low memory as reportedly
2527 INT 12h can be broken and if low memory is too low we wouldn't have
2528 gotten into grub_machine_init anyway.
2529
c49849cc
VS
25302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
2533 (grub_machine_mmap_iterate): Take low memory into account
2534
b1969b30
VS
25352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
2538 badfs.
2539 Reported by: TiCPU.
2540
cf0eaf13
VS
25412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
2544 members errors.
2545
1f060f39
GS
25462011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
2547
2548 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
2549 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
2550
a21e5672
GS
25512011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
2552
2553 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
2554 openbsd and netbsd types being in part_bsd module.
2555
c88172fa
VS
25562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
2559 (_FILE_OFFSET_BITS): Likewise.
2560 Reported by: Seth Goldberg.
2561
53798c4b
GS
25622011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
2563
2564 * configure.ac: Check for libdevmapper header.
2565
e7121b69
VS
25662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
2569 avoid aliasing.
2570 (fzap_lookup): Likewise.
2571 (dnode_get): Likewise.
2572 (make_mdn): Likewise.
2573 (zfs_mount): Likewise.
2574 (fzap_iterate): Use temporary pointer to avoid aliasing.
2575 (grub_zfs_read): Likewise.
2576 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
2577 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
2578 pointers to avoid aliasing.
2579 (grub_cmd_xnu_kernel64): Likewise.
2580 (grub_xnu_load_driver): Likewise.
2581
fc836af9
VS
25822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
2585 aliasing warning.
2586 (grub_cmd_terminal_output): Likewise.
2587 Reported and tested by: Grégoire Sutre.
2588
f9f37648
VS
25892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
2592 warning.
2593 Reported and tested by: Grégoire Sutre.
2594
ec1dfd63
VS
25952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * configure.ac: Do CPU substitution even if it's specified explicitly.
2598 Reported and tested by: Alain Greppin.
2599
9462775a
VS
26002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
2603 Reported and tested by: Alain Greppin.
2604
0fd48e35
VS
26052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 Satisfy some bison versions need for inttypes.h.
2608
2609 * grub-core/lib/posix_wrap/inttypes.h: New file.
2610 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
2611 (int16_t): Likewise.
2612 (int32_t): Likewise.
2613 (int64_t): Likewise.
2614 Reported and tested by: Alain Greppin.
2615
43f1bc83
VS
26162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
2619 Silence spurious warning.
2620 Reported and tested by: Alain Greppin.
2621
64d1f041
SJ
26222011-01-07 Szymon Janc <szymon@janc.net.pl>
2623
2624 * docs/grub.texi (Support automatic decompression): Update with xz
2625 decompression support.
2626
25953e10
SJ
26272011-01-07 Szymon Janc <szymon@janc.net.pl>
2628
2629 Improve loaders' kernel command line handling.
2630
2631 * grub-core/lib/cmdline.c: New file.
2632 * include/grub/lib/cmdline.h: Likewise.
2633 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
2634 grub_create_loader_cmdline to create kernel command line.
2635 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2636 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
2637 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
2638 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
2639 (linux): Add lib/cmdline.c on common.
2640
e72d259f
VS
26412011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
2644 inopos might be unaligned.
2645
c0cf26da
VS
26462011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2649 endian transformations.
2650 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2651 Based on report by: Doug Nazar.
2652
0ca09e6c
DN
26532011-01-07 Doug Nazar <nazard.michi@gmail.com>
2654
2655 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
2656 array->members[i].start_sector.
2657 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2658
014b6806
VS
26592011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
2662 Reported and tested by: Grégoire Sutre.
2663
415502c2
CW
26642011-01-06 Colin Watson <cjwatson@ubuntu.com>
2665
2666 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
2667 avoid causing test failures by clearing the screen.
2668
71b6a2b7
CW
26692011-01-06 Colin Watson <cjwatson@ubuntu.com>
2670
2671 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2672 Fix prefix check to handle the case where dir ends with a slash
2673 (most significantly, "/" itself).
2674 Reported by: Michael Vogt.
2675
b3f8d28a
VS
26762011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 Run terminfo_cls on initing terminfo output to clear the screen and
2679 move the cursor to (0,0).
2680
2681 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
2682 Call grub_terminfo_output_init.
2683 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
2684 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
2685 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
2686
4c3e4f37
VS
26872011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
2690 only when needed.
2691
488f71f1
VS
26922011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
2695 CTRL.
2696
18a38098
VS
26972011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 The E820 type 5 is BADRAM, not EXEC_CODE.
2700
2701 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
2702 (GRUB_E820_BADRAM): New define.
2703 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
2704 into reserved. Propagate BADRAM.
2705 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
2706 (GRUB_E820_BADRAM): New define.
2707
9eae2084
VS
27082011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
2711 Ignore the memory post-4G.
2712 (grub_relocator_firmware_alloc_region): Additional debug statement.
2713
ebc71d28
VS
27142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
2717 names.
2718 Reported by: David Pravec.
2719
446fa400
VS
27202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
2723 BIOSes.
2724
a0159f37
VS
27252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
2728 Prevent overflow.
2729 (grub_reed_solomon_recover): Likewise.
2730
e5146ca1
VS
27312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
2734
27352011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
2736
2737 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
2738 variable.
2739
5b1bdf12
CW
27402011-01-04 Colin Watson <cjwatson@ubuntu.com>
2741
2742 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
2743 descriptions of extract_legacy_entries_source and
2744 extract_legacy_entries_configfile.
2745 Reported by: Seung Soo, Ha.
2746
99d925aa
CW
27472011-01-03 Colin Watson <cjwatson@ubuntu.com>
2748
2749 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
2750 on devices that do not implement function 0.
2751
4af0504b
DV
27522011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
2753
2754 * grub-core/fs/hfsplus.c: Make parent unsigned.
2755 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
2756 overflows.
2757 (grub_hfsplus_cmp_extkey): Likewise
2758
469ee10a
VS
27592011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * util/grub-install.in: Correctly use bootloader_id and not
2762 GRUB_DISTRIBUTOR on efibootmgr line.
2763
323a8e9c
VS
27642011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
2767
1b394975
IC
27682010-12-31 Ian Campbell <ijc@hellion.org.uk>
2769
2770 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
2771 Xen and reorder menu item wording to make it clearer that this entry
2772 will launch Xen. Print separate messages when loading Xen and
2773 Linux.
2774
275bff5f
VS
27752010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
2778 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
2779 loop in case of incorrect amiga partmap.
2780
307806cb
VS
27812010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
2784 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
2785 Reported by:EHeM.
2786
b12b923e
VS
27872010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
2790 spurious warning.
2791 Reported by: crocket
2792
14b48a19
VS
27932010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
2796 Preload EFIemu.
2797 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
2798
693db2df
VS
27992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
2802 is loaded
2803 (grub_cmd_xnu_kextdir): Likewise.
2804 (grub_cmd_xnu_splash): Likewise.
2805
c7638645
VS
28062010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 Avoid using Reed-Solomon with 0 redundancy.
2809
2810 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
2811 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
2812 or 0 redundancy.
2813 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
2814 (grub_reed_solomon_recover): Likewise.
2815
25dd4780
VS
28162010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 Don't use disk subsystem in freebsd_boot.
2819
2820 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
2821 (freebsd_biosdev): Likewise.
2822 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
2823 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
2824
0b2db943
VS
28252010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 Handling of files of unknown size is currently limited. They can't be
2828 used e.g. for initrd or modules. Moreover gzip handling of not
2829 easily seekable files is buggy. Disable unknown file size for now. May
2830 be inefficient but works.
2831
2832 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
2833 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
2834
5c408d0f
MP
28352010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
2836
2837 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
2838 floppy probe.
2839
190a011a
JD
28402010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
2841
2842 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
2843
022d01b8
SL
28442010-12-25 Shea Levy <shlevy>
2845
2846 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
2847
c4855fdc
VS
28482010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
2851 Windows Server 2008.
2852 Reported by: Devin Giddings.
2853
0354b867
VS
28542010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
2857 writing an error message because of async power management.
2858 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
2859 (grub_reboot): Likewise.
2860
ab66c69f
JU
28612010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
2862
2863 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
2864 keep unit tests from failing when they shouldn't.
2865
1426ef35
CW
28662010-12-21 Colin Watson <cjwatson@ubuntu.com>
2867
2868 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
2869 previous patch increased the size of the RS code by 20 bytes (at
2870 least with gcc-4.4), so increase this by 20 bytes to match.
2871 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2872
20641b6b
CW
28732010-12-21 Colin Watson <cjwatson@ubuntu.com>
2874
2875 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
2876 scratch area. Make sure to initialise chosen in standalone mode as
2877 well as non-standalone.
2878 Reported by: Robert Hooker and Andy Whitcroft.
2879 Tested by: Andy Whitcroft.
2880
d060ad60
CW
28812010-12-21 Colin Watson <cjwatson@ubuntu.com>
2882
2883 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
2884 constructing a new unescaped string and passing it to grub_xputs in
2885 one go, rather than passing characters to grub_printf one at a time.
2886
b889cfad
CW
28872010-12-21 Colin Watson <cjwatson@ubuntu.com>
2888
2889 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
2890 initialising utf16.
2891
4e01b6c8
CW
28922010-12-21 Colin Watson <cjwatson@ubuntu.com>
2893
2894 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
2895 comment. Add an extra layer of quotation, requiring the output of
2896 this function to be used in a printf format string.
2897 (gettext_printf): New function.
2898 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
2899 Extract translatable strings from here-documents and use a temporary
2900 variable instead, so that xgettext can find them.
2901 * util/grub.d/10_kfreebsd.in: Likewise.
2902 * util/grub.d/10_linux.in: Likewise.
2903 * util/grub.d/20_linux_xen.in: Likewise.
2904
2905 * po/grub.d.sed: New file.
2906 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
2907 arguments. Set c-format flags on all strings extracted from
2908 util/grub.d/ (xgettext refuses to include these itself for strings
2909 it extracted from a shell file, but these really are c-format).
2910
5318fe98
VS
29112010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
2914 Avoid next pointing to nowhere.
2915
6c85b743
VS
29162010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
2919 rather than assuming than rootblock is exactly in the middle.
2920 (grub_affs_label): Likewise.
2921
a2a08a35
VS
29222010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2923
2924 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
2925 reserved_first_sector to 0.
2926 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
2927 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
2928 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
2929
7059d1ec
VS
29302010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 Fix handling of UTF-16 UDF labels.
2933
2934 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
2935 (read_string): .. here.
2936 (grub_udf_label): Use read_string.
2937
30aff4cb
BC
29382010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
2939
2940 * grub-core/normal/menu_entry.c (run): Execute commands from menu
2941 editor under argument scope.
2942 Reported by: Jordan Uggla
2943
5cf86f4b
VS
29442010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
2947
32570200
CW
29482010-12-18 Colin Watson <cjwatson@ubuntu.com>
2949
2950 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
2951 line, and other keys scroll an entire page (previous handling was
2952 for \r and \n to scroll a page and other keys to scroll two lines).
2953
e1dffcf2
VS
29542010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2957 Set ptrdest to correct get_physical_target_address rather than
2958 incorrect get_virtual_current_address.
2959
b04298cf 29602010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
2961
2962 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
2963 correct cat to grub_uint8_t * rather than grub_uint32_t *.
2964
5367ecd3
CW
29652010-12-10 Colin Watson <cjwatson@ubuntu.com>
2966
2967 * .bzrignore: Ignore grub-core/rs_decoder.S.
2968
1fb430f8
CW
29692010-12-10 Colin Watson <cjwatson@ubuntu.com>
2970
2971 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
2972 .mo/.mo.gz opening sequence to ...
2973 (grub_mofile_open_lang): ... here.
2974 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
2975 * util/grub.d/00_header.in (grub_lang): Include country part of
2976 locale.
2977 Reported by: Mario Limonciello.
2978
a94a6671
RM
29792010-12-09 Robert Millan <rmh@gnu.org>
2980
2981 * NEWS: Document addition of ZFS support.
2982
24b7938b
CW
29832010-12-04 Colin Watson <cjwatson@ubuntu.com>
2984
2985 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
2986 rather than `/ 2', as the latter requires -Wa,--divide which would
2987 require bumping our minimum binutils version.
2988
bddc3ef6
BC
29892010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
2990
2991 * util/grub-script-check.c (main): Print script line number on
2992 error.
2993
bf78d5b2
RM
29942010-12-01 Robert Millan <rmh@gnu.org>
2995
2996 * grub-core/fs/zfs/zfs.c: New file.
2997 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
2998 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
2999 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
3000 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3001
3002 * include/grub/zfs/dmu.h: Likewise.
3003 * include/grub/zfs/dmu_objset.h: Likewise.
3004 * include/grub/zfs/dnode.h: Likewise.
3005 * include/grub/zfs/dsl_dataset.h: Likewise.
3006 * include/grub/zfs/dsl_dir.h: Likewise.
3007 * include/grub/zfs/sa_impl.h: Likewise.
3008 * include/grub/zfs/spa.h: Likewise.
3009 * include/grub/zfs/uberblock_impl.h: Likewise.
3010 * include/grub/zfs/vdev_impl.h: Likewise.
3011 * include/grub/zfs/zap_impl.h: Likewise.
3012 * include/grub/zfs/zap_leaf.h: Likewise.
3013 * include/grub/zfs/zfs.h: Likewise.
3014 * include/grub/zfs/zfs_acl.h: Likewise.
3015 * include/grub/zfs/zfs_znode.h: Likewise.
3016 * include/grub/zfs/zil.h: Likewise.
3017 * include/grub/zfs/zio.h: Likewise.
3018 * include/grub/zfs/zio_checksum.h: Likewise.
3019
3020 * Makefile.util.def: Build ZFS into libgrubmods.
3021 * grub-core/Makefile.core.def: Build zfs.mod.
3022
3f0f3831
SJ
30232010-11-30 Szymon Janc <szymon@janc.net.pl>
3024
3025 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
3026 variable.
3027 * grub-core/commands/wildcard.c (match_files): Likewise.
3028
3a4253b2
RM
30292010-11-30 Robert Millan <rmh@gnu.org>
3030
3031 * grub-core/loader/i386/bsd.c
3032 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
3033 whether kernel is loaded using grub_loader_is_loaded(), rather
3034 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
3035 certain error conditions.
3036
8c317b27
RM
30372010-11-30 Robert Millan <rmh@gnu.org>
3038
c5c9cd3e
RM
3039 * grub-core/commands/echo.c: Include `<grub/term.h>'.
3040 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 3041
49d3ab46
VS
30422010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 Avoid using tricks for initialising endian variables.
3045
3046 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
3047 Make const.
3048 (GRUB_MOD_INIT): Don't byte-swap.
3049 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
3050 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
3051 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
3052 (grub_swap_bytes32_compile_time): Likewise.
3053 (grub_cpu_to_le32_compile_time): Likewise.
3054 (grub_cpu_to_le16_compile_time): Likewise.
3055
f420a804
VS
30562010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * util/grub-setup.c (setup): Stop recommending --force. People who
3059 understand the dangers of blocklists are able to find this option
3060 anyway and the ones who don't shouldn't use it anyway.
3061
4e7db17b
RM
30622010-11-26 Robert Millan <rmh@gnu.org>
3063
3064 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
3065 Update all users.
3066
9be57a0d
CW
30672010-11-26 Colin Watson <cjwatson@ubuntu.com>
3068
3069 Fix LVM-on-RAID probing.
3070
3071 * util/grub-probe.c (probe): Remember which disk was detected as
3072 RAID (perhaps an LVM physical volume). Use that disk's raidname
3073 rather than that of the top-level disk.
3074
2c7859b3 30752010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 3076
d7647bb6
BC
3077 Fix cmdline argument quotes for setparams command of menuentry
3078 definitions.
7e623b0d
BC
3079
3080 * grub-core/commands/menuentry.c (setparams_prefix): Use single
3081 quotes for arguments.
f866fe80 3082 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 3083 grub_strchrsub function instead.
f866fe80 3084
7955bea0 3085 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 3086
74f72a64
CW
30872010-11-24 Colin Watson <cjwatson@ubuntu.com>
3088
3089 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
3090 effort by skipping "." and ".." entries up-front.
3091 Suggested by: Michael Lazarev.
3092
5a407278
CW
30932010-11-24 Colin Watson <cjwatson@ubuntu.com>
3094
3095 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
3096 ldflags to ldadd, to fix link line ordering.
3097 (none_decompress): Likewise.
3098
3030d8ec
CW
30992010-11-24 Colin Watson <cjwatson@ubuntu.com>
3100
3101 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
3102 platforms.
3103 (grub-emu-lite): Remove kern/emu/cache.S.
3104
b7fbac12
CW
31052010-11-23 Colin Watson <cjwatson@ubuntu.com>
3106
3107 * util/deviceiter.c (compare_devices): If the by-id link for a
3108 device couldn't be resolved, fall back to sorting by the by-id link
3109 rather than segfaulting.
3110 Reported and tested by: Daniel Mierswa.
3111
5225f328
CW
31122010-11-23 Colin Watson <cjwatson@ubuntu.com>
3113
3114 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
3115 ldflags, to fix link line ordering.
3116
038b3ce8
CW
31172010-11-23 Colin Watson <cjwatson@ubuntu.com>
3118
3119 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
3120 linkers are picky about this.
3121
bf16e98e
CW
31222010-11-23 Colin Watson <cjwatson@ubuntu.com>
3123
3124 * grub-core/Makefile.am (command.lst): Adjust sed expression
3125 ordering so that extended and priority commands aren't treated as
3126 ordinary commands.
3127
7242bab6
CW
31282010-11-23 Colin Watson <cjwatson@ubuntu.com>
3129
3130 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
3131 Remove byte-swapping function calls, which are not valid in
3132 structure initialisers.
3133 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
3134 non-const.
3135 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
3136 grub_gpt_partition_type_bios_boot.
3137
14e8b279
CW
31382010-11-22 Colin Watson <cjwatson@ubuntu.com>
3139
3140 Fix test program build on GNU/kFreeBSD.
3141
3142 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
3143 $(LIBNVPAIR)' library dependencies.
3144
e6f63338 31452010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
3146
3147 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
3148
cf8ffc38
CW
31492010-11-22 Colin Watson <cjwatson@ubuntu.com>
3150
3151 * util/grub-install.in: Remove excessive quoting that broke
3152 installations to RAID devices.
3153
7f8b0fd7
VS
31542010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
3157 bootloader version instead of 0.
3158
dfd240b1
VS
31592010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
3160
3161 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
3162 warning.
3163
7b61e609
VS
31642010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
3165
3166 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
3167 retrieve the metadat sector if size isn't known.
3168 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3169
9dfe92d0
RM
31702010-11-18 Robert Millan <rmh@gnu.org>
3171
3172 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
3173 with grub_memcmp().
3174
41cc919e
VS
31752010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
3178 arrow.
3179 Reported by: Jordan Uggla.
3180
1afcc914
VS
31812010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 Make better UTF compliant.
3184
3185 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
3186 sequences as incorrect.
3187 (grub_is_valid_utf8): Likewise.
3188 (grub_utf8_to_ucs4): Likewise.
3189 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
3190 (grub_ucs4_to_utf8_alloc): Likewise.
3191 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
3192
f1808884
VS
31932010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 Make legacy_source behave like source.
3196
3197 * grub-core/commands/legacycfg.c (legacy_file): Don't call
3198 grub_show_menu.
3199 (grub_cmd_legacy_source): Call grub_show_menu if needed.
3200
24ec575b
CW
32012010-11-16 Colin Watson <cjwatson@debian.org>
3202
3203 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
3204 (-Wunused implies -Wunused-parameter, but not vice versa).
3205
72b7c7aa
CW
32062010-11-16 Colin Watson <cjwatson@ubuntu.com>
3207
3208 * configure.ac: Make error messages less confusing by testing for
3209 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
3210 accepted, but produces a diagnostic if something else is wrong).
3211
e98937aa
VS
32122010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
3215 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
3216 (now unused).
3217 (grub_keyboard_controller_init)
3218 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
3219 read the initial state since controller isn't inited yet.
3220
f6bbabc3
VS
32212010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
3224 allocate_regbeg may need to create new chunk header.
3225
22e7dbb2
VS
32262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 Fix quoting in legacy parser.
3229
3230 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
3231 single quotes.
3232 (grub_legacy_parse): Likewise.
3233 Reported by: Jordan Uggla.
3234 Tested by: Jordan Uggla.
3235
03f80960
VS
32362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 Don't add -lgcc on i386 and x86_64.
3239
3240 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
3241 * conf/Makefile.common (LDADD_KERNEL): Likewise.
3242 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
3243
779dc15b
VS
32442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * configure.ac: Add -Wno-trampolines when supported.
3247
d20a3b37
MV
32482010-11-14 Modestas Vainius <modax@debian.org>
3249
3250 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
3251 fakeraid.
3252
e5360933
GC
32532010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
3254
3255 Add generic logical block size support for UDF.
3256
3257 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
3258 (GRUB_UDF_BLKSZ): Removed.
3259 (struct grub_udf_data): New field "lbshift" to hold the logical block
3260 size of the file system in log2 format. All users updated.
3261 (sblocklist): Change type to unsigned.
3262 (grub_udf_mount): Change type of "sblklist" to unsigned.
3263 Move AVDP search before VRS recognition, because the latter requires
3264 knowledge of the logical block size, which is detected during the
3265 former.
3266 Detect and validate logical block size during AVDP search, adding
3267 support for block sizes 512, 1024 and 4096.
3268 Make VRS recognition independent of block size.
3269
cb0229c5
GC
32702010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
3271
3272 Properly handle deleted files on UDF.
3273
3274 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
3275 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
3276 set.
3277
406858a8
GC
32782010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
3279
3280 Support reading files larger than 2 GiB.
3281
3282 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
3283 "offset" to grub_off_t.
3284 (grub_udf_read_file): Likewise for parameter "pos".
3285
130da6a7
VS
32862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
3289 unavailable.
3290 (Simple configuration): Refer to Changes from GRUB Legacy about
3291 save_env availability.
3292
65e93f6b
VS
32932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * util/grub-install.in: Ignore empty partition table detection
3296 instead of trying to include part_ module.
3297
1fd08bf1
VS
32982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
3301 LVM on RAID support.
3302
de1a024f
VS
33032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 Properly define WORDS_BIGENDIAN in wrapped environments.
3306
3307 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
3308 definition.
3309 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
3310
3311 Reported by: Manoel Rebelo Abranches.
3312 Tested by: Manoel Rebelo Abranches.
3313
bc5dd0b9
VS
33142010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 * util/grub-mkconfig.in: Fix quoting.
3317
58c184be
VS
33182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 Support big ext2 files.
3321
3322 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
3323 (grub_ext2_read_block): Support triple indirect blocks.
3324 (grub_ext2_read_file): Use 64-bit types and read size_high.
3325 (grub_ext2_open): Read size_high.
3326 Reported by: Ximin Luo.
3327 Tested by: Manoel Rebelo Abranches.
3328
5f0c02b3
VS
33292010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3330
3331 * util/grub-install.in: Handle filenames containing spaces.
3332 Reported by: Jordan Uggla.
3333 Tested by: Jordan Uggla.
3334
4417aae6
VS
33352010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * util/grub-mkconfig.in (grub_script_check): New variable.
3338 Use grub_script_check instead of grub-script-check.
3339 Reported by: Barry Jackson.
3340
7625a68e
VS
33412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * docs/grub.texi (menu): Correct the order.
3344 Reported by: D. Hugh Redelmeier.
3345
10001ac5
VS
33462010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
3349 jump.
3350
9c4cf53b
MRA
33512010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3352
10001ac5
VS
3353 * include/grub/elfload.h (grub_elf32_size): New parameter.
3354 All users updated.
9c4cf53b
MRA
3355 Return maximum segments alignment.
3356 (grub_elf64_size): Likewise.
3357 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
3358 Return maximum segments alignment.
3359 (grub_elf64_size): Likewise.
3360 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
3361 (grub_linux_claimmap_iterate): New function. Uses the
3362 "available" property in the "memory" node for memory allocation
3363 for kernel in the PowerPC loader.
9c4cf53b
MRA
3364 (grub_linux_load32): Correctly find linux entry point offset.
3365 (grub_linux_load64): Likewise.
3366
d2bf06bf
RM
33672010-11-07 Robert Millan <rmh@gnu.org>
3368
3369 On mips-yeeloong, build with -march=loongson2f when this flag is
3370 available (GCC >= 4.4).
3371 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
3372 `-march=mips3'.
3373 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
3374 or otherwise add -march=mips3.
3375
898c99a2
BC
33762010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
3377
87220a68
BC
3378 Suppress shell expansion on echo '*' and echo "*" like cases.
3379 Reported by: Jordan Uggla.
898c99a2
BC
3380
3381 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
3382 string arguments before shell expansion.
3383 * tests/grub_cmd_echo.in: New testcases.
3384
4f9b406a
RM
33852010-11-07 Robert Millan <rmh@gnu.org>
3386
3387 * conf/mips-qemu-mips.rmk: Remove stale file from previous
3388 transition.
3389
80c6d25e
VS
33902010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * grub-core/kern/emu/hostdisk.c
3393 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
3394
4a1a0153
VS
33952010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
3398 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
3399 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
3400
34706ddc
VS
34012010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3402
3403 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
3404
6972dea9
VS
34052010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * util/grub-install.in: Replace useless recomendation to pass
3408 --modules with a recomendation to report a bug.
3409
9c693bd6
VS
34102010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 Properly register serial terminfo.
3413 Reported by: Jordan Uggla
3414
3415 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
3416 const.
3417 (grub_serial_terminfo_output_template): Likewise.
3418 (grub_cmd_serial): Register "serial" with terminfo.
3419 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
3420 grub_serial_terminfo_output.
3421
6c9e4c0c
RM
34222010-11-05 Robert Millan <rmh@gnu.org>
3423
3424 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
3425 needed).
3426
b9b3839f
RM
34272010-11-05 Robert Millan <rmh@gnu.org>
3428
3429 On Yeeloong, pass machine type information to Linux.
3430
3431 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
3432 (LOONGSON_MACHTYPE): New macro, set to
3433 "machtype=lemote-yeeloong-2f-8.9inches".
3434 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
3435 additional argument to Linux.
3436
1a3aaff4
RM
34372010-11-04 Robert Millan <rmh@gnu.org>
3438
3439 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
3440 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
3441 (its SATA disks are detected as slaveless IDE master drives on
3442 kFreeBSD).
3443 Reported by Carsten Aulbert.
3444
a75f4f62
CW
34452010-11-02 Colin Watson <cjwatson@ubuntu.com>
3446
3447 * util/bin2h.c (main): Fix spelling error in generated output.
3448
33b4b0c6
GS
34492010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
3450
3451 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
3452
2b36fbf4
VS
34532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
3456 vga= option is supplied.
3457
74aaf558
VS
34582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
3461 * util/grub.d/10_kfreebsd.in: Likewise.
3462 * util/grub.d/10_linux.in: Likewise.
3463 * util/grub.d/20_linux_xen.in: Likewise.
3464
6428dec3
VS
34652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
3468 argument as an argument to no-argument option.
3469
f8729d98
VS
34702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * util/grub.d/10_linux.in: Add missing load_video with explicit
3473 GRUB_GFXPAYLOAD_LINUX.
3474
89d68fa6
VS
34752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
3478
3a1197cd
VS
34792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
3482 elements with invlid index.
3483 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3484 * grub-core/disk/raid.c (insert_array): Automatically reallocate
3485 members.
3486 * include/grub/raid.h (grub_raid_member): New struct.
3487 (grub_raid_array): Transform devices and start_sector into usage of
3488 grub_raid_member. All users updated
3489 (allocated_devs): New member.
3490
71574288
VS
34912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
3494 is modified
3495
8d40ec65
BC
34962010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
3497
3498 NetBSD build fix for getline function conflict from gnulib.
3499
3500 * Makefile.util.def (libgrubkern.a): New library for grub kernel
3501 components that depend on gnulib headers.
3502 (libgrubmods.a): Renamed from earlier libgrub.a.
3503 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
3504
95b9257e
VS
35052010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
3508 install rather than creating a broken install.
3509
26c53dc6
VS
35102010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * util/grub-setup.c (argp): Remove misleading example of installing to
3513 a partition.
3514
4171b3c5
VS
35152010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * util/grub-setup.c (setup): Clarify the error message.
3518
18568d18
VS
35192010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
3522
4f6a2e21
VS
35232010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/kern/emu/misc.c
3526 (grub_make_system_path_relative_to_its_root)
3527 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
3528
35292010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
3530
3531 * grub-core/kern/emu/misc.c
3532 (grub_make_system_path_relative_to_its_root): Revert r2882.
3533
e138c458
VS
35342010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
3537 useless field head. All users updated.
3538 (free_subchunk): Correct handling of IN_REGION subchunk.
3539
0cbcdf0e
CW
35402010-10-22 Colin Watson <cjwatson@ubuntu.com>
3541
3542 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
3543 (Supported kernels): Likewise.
3544
b65ea155
GS
35452010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
3546
3547 Make mktemp invocations portable.
3548
3549 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
3550 exit if mktemp fails.
3551 * tests/grub_script_blockarg.in: Likewise.
3552 * tests/partmap_test.in: Likewise.
3553 * tests/util/grub-shell-tester.in: Likewise.
3554 * tests/util/grub-shell.in: Likewise.
3555 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3556 * Makefile.am: Likewise, and chain shell commands with `&&'
3557 instead of ';'.
3558 * util/grub-mkrescue.in: Use the same explicit template as above, and
3559 exit if mktemp fails.
3560
05f43cdd
BC
35612010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
3562
3563 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
3564 Linux kernel, reported by Dennis Schridde.
3565
800e6a9b
SJ
35662010-10-17 Szymon Janc <szymon@janc.net.pl>
3567
3568 * grub-core/normal/auth.c (grub_auth_check_authentication):
3569 Set-but-not-used variable removed.
3570
d82df574
VS
35712010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * docs/grub.texi (GNU/Linux): Document APM unavailability with
3574 32-bit linux protocol.
3575
7bced458
VS
35762010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3577
3578 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
3579 cursor shape for sanity.
3580
5b027690
VS
35812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * docs/grub.texi (Installation): Document buggy BIOS install.
3584
ba5f65cf
VS
35852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * docs/grub.texi (Installation): Indent.
3588
fdf2ec9c
VS
35892010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * util/grub-setup.c (setup): New parameter allow_floppy.
3592 (arguments): New member allow_floppy.
3593 (argp_parser): Handle --allow-floppy.
3594 (main): Pass allow_floppy.
3595 * util/grub-install.in: New option --allow-floppy passed though to
3596 grub-setup.
3597
861dfd4c
VS
35982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * util/grub-install.in: Handle partitionless disks.
3601
f77a8c24
VS
36022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * util/grub-setup.c (setup): Don't clean blocklists before readability
3605 verfification.
3606
27d9ee32
VS
36072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * docs/grub.texi (Installation): Document embedding zone. Remove
3610 obsolete grub-install example.
3611
6bdda8f8
SJ
36122010-10-16 Szymon Janc <szymon@janc.net.pl>
3613
3614 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
3615 Set-but-not-used variable ifdef'ed.
3616 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
3617 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
3618 variable removed.
3619 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
3620 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
3621 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3622 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
3623 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
3624 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3625 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
3626 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
3627 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
3628 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
3629 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
3630 Likewise.
3631
e19b016b
VS
36322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
3635 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
3636 enum value.
3637
6c8d3002
VS
36382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
3641 synonym to _S5_. Needed for some DSDTs.
3642
c32b51c9
VS
36432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 Userspace ACPI parser debugging.
3646
3647 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
3648 headers and add relevant defines. Don't include standard headers.
3649 (main) [GRUB_DSDT_TEST]: New function.
3650 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
3651 Don't declare functions.
3652
fbfbeb39
VS
36532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Remove dead grub_efi_mm_fini.
3656
3657 * grub-core/kern/efi/mm.c (allocated_page): Removed.
3658 (ALLOCATED_PAGES_SIZE): Likewise.
3659 (MAX_ALLOCATED_PAGES): Likewise.
3660 (allocated_pages): Likewise.
3661 (grub_efi_allocate_pages): Don't record allocated pages.
3662 (grub_efi_free_pages): Likewise.
3663 (grub_efi_mm_init): Likewise.
3664 (grub_efi_mm_fini): Removed.
3665
65f7ed7c
VS
36662010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
3669 (grub_efi_mm_init): Take into account the memory map size increase.
3670
24977b44
VS
36712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
3674 (serial_hw_put): Wait based on real time rather than port reads. Don't
3675 roken ports.
3676 * include/grub/serial.h (grub_serial_port): New field broken.
3677
1eb01cd2
RM
36782010-10-16 Robert Millan <rmh@gnu.org>
3679
3680 * grub-core/kern/emu/misc.c
3681 (grub_make_system_path_relative_to_its_root): Fix premature return
3682 when processing non-root ZFS filesystems.
5f8b440b 3683 Reported by Sergio Talens-Oliag.
1eb01cd2 3684
2d5fed60
RM
36852010-10-15 Robert Millan <rmh@gnu.org>
3686
3687 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
3688 guarantee compressed ones are processed first.
3689
d0f4c1ea
VS
36902010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
3693 grub_efiemu_autocore.
3694
d87c681f
VS
36952010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
3698 rather than 0x1b.
3699 (grub_console_getkey): Use correct jae opcode rather than ja.
3700
219b3564
RM
37012010-10-12 Robert Millan <rmh@gnu.org>
3702
3703 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
3704 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
3705 variable. All references updated.
3706
3707 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
3708
20c6bb7e
VS
37092010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 Correctly distinguish mdraid flavours.
3712
3713 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
3714 (insert_array): New argument raid.
3715 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
3716 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
3717 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
3718
74baff84
VS
37192010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
3722 handling of special keys.
3723
3ef068df 37242010-10-02 Aleš Nesrsta <starous@volny.cz>
3725
c7980ad9
VS
3726 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
3727 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 3728
a9455194 37292010-10-02 Aleš Nesrsta <starous@volny.cz>
3730
c7980ad9
VS
3731 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
3732 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
3733 users updated.
a9455194 3734 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 3735 Use right endpoint when querying descriptor.
a9455194 3736
441cfe65
VS
37372010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 Clear out 0x80 color bit on EFI.
3740 Tested by: decoder
3741 Reported by: decoder and meta tech.
3742
3743 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
3744 (grub_console_setcolorstate): Clear out 0x80 bit.
3745 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
3746 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
3747 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
3748
bf26bcc4
VS
37492010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
3752 Set to "auto".
3753
6e3c515d
VS
37542010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
3757 mo_file after freeing.
3758
e6d983ba
VS
37592010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
3762
74ccb5b5
VS
37632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
3766 flags.
3767
17821956
VS
37682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
3771 usage.
3772
ee74fa48
VS
37732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 Put terminfo into core on ieee1275 and yeeloong (needed for console).
3776
3777 * gentpl.py: New groups terminfoinkernel and terminfomodule.
3778 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
3779 and terminfo.h when needed.
3780 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
3781 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
3782 (terminfo): Enable only on terminfokernel.
3783 (extcmd): Likewise.
3784 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
3785 * include/grub/lib/arg.h: Likewise.
3786 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
3787 incorrect usage of ->.
3788
aa438e68
VS
37892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
3792 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
3793
57994012
VS
37942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 Fix coreboot compilation.
3797
3798 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3799 Take VBE info into account even if only text is supported.
3800 (fill_vbe_info): Take into account the case when only VGA text
3801 is supported.
3802 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
3803 on coreboot, multiboot and qemu.
3804
2a406611
VS
38052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
3808 debug messages.
3809 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
3810
d33613fc
VS
38112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
3814 parameters.
3815
44a1b432
VS
38162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
3819 if they were BSD-style.
3820
edde54e6
VS
38212010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3822
3823 * grub-core/boot/i386/pc/lnxboot.S: Replace
3824 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
3825 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
3826
b65830fa
VS
38272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 Write embedding zone using Reed-Solomon.
3830
3831 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
3832 * grub-core/Makefile.am (rs_decoder.S): New target.
3833 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
3834 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
3835 (multiboot): Move to RS part.
3836 (post_reed_solomon): New label.
3837 (grub_boot_drive): Move to non-RS part since it's modified in memory
3838 on boot.
3839 Include rs_decoder.S.
3840 * grub-core/lib/reed_solomon.c: New file.
3841 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
3842 New definition.
3843 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
3844 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
3845 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
3846 * include/grub/partition.h (grub_partition_map): Change prototype of
3847 embed to allow returning additional sectors.
3848 * include/grub/reed_solomon.h: New file.
3849 * util/grub-setup.c (setup): Handle Reed-Solomon.
3850
0b4b227f
CW
38512010-09-28 Colin Watson <cjwatson@ubuntu.com>
3852
3853 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
3854 i386 and x86-64 definedness tests.
3855
f772623b
YB
38562010-09-27 Yves Blusseau <blusseau@zetam.org>
3857
3858 Fix generation of kernel_syms.lst
3859
3860 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
3861 ASM_PREFIX
3862
8e57a6ca
RM
38632010-09-26 Robert Millan <rmh@gnu.org>
3864
3865 Support degraded ZFS arrays in "grub-probe -t device" resolution.
3866
3867 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
3868 the pool is an array of devices, iterate through it and return the
3869 first device that passes a stat() test (instead of blindly returning
3870 the first one).
3871
f9130836
RM
38722010-09-26 Robert Millan <rmh@gnu.org>
3873
3874 Build fixes for GNU/kFreeBSD.
3875
3876 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
3877 to programs that require ZFS conversion.
3878 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
3879 kernels that don't have FLOPPY_MAJOR.
3880
96510faf
BC
38812010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
3882
3883 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
3884
449333eb
BC
38852010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
3886
3887 Fix grub-emu build.
3888
3889 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
3890 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
3891 mdraid09 and mdraid1x.
3892
e1fd1939
CW
38932010-09-24 Colin Watson <cjwatson@ubuntu.com>
3894
3895 Re-enable grub-extras.
3896
3897 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
3898 avoid confusing Automake. Run autogen only twice, once for the top
3899 level and once for grub-core. Add Makefile.util.def and
3900 Makefile.core.def from extra modules to the appropriate autogen
3901 invocations. If Makefile.common exists in an extra module, include
3902 it in both Makefile.util.am and grub-core/Makefile.core.am;
3903 similarly, include any Makefile.util.common file in Makefile.util.am
3904 and any Makefile.core.common file in grub-core/Makefile.core.am.
3905 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
3906 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
3907 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
3908 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
3909
3910 * gentpl.py (gvar_add): Turn GVARS into a set.
3911 (global_variable_initializers): Sort global variables on output.
3912 (vars_init): New function.
3913 (first_time): Likewise.
3914 (library): Ensure that non-global variable initialisations are
3915 emitted before the first time we emit code for a library block.
3916 Append to variables rather than setting them. Only emit
3917 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
3918 each conditional path.
3919 (program): installdir() emits an Autogen macro, so must be passed to
3920 var_add rather than gvar_add.
3921 (data): Likewise.
3922 (script): Likewise.
3923 (rules): New function, centralising handling for different target
3924 types. Set up Guile association lists for first_time and vars_init,
3925 and send most output to a diversion so that variable initialisations
3926 can be emitted first.
3927 (module_rules): Use new rules function.
3928 (kernel_rules): Likewise.
3929 (image_rules): Likewise.
3930 (library_rules): Likewise.
3931 (program_rules): Likewise.
3932 (script_rules): Likewise.
3933 (data_rules): Likewise.
3934
3935 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
3936
3937 * .bzrignore: Add contrib and grub-core/contrib. Remove
3938 grub-core/Makefile.gcry.am.
3939
1d12cf29
YB
39402010-09-24 Yves Blusseau <blusseau@zetam.org>
3941
3942 * grub-core/lib/LzFind.c: Add missing include.
3943 * grub-core/lib/LzmaEnc.c: Likewise.
3944 * grub-core/script/lexer.c: Likewise.
3945 * grub-core/script/yylex.l: Likewise.
3946 * util/grub-macho2img.c: Likewise.
3947 * util/grub-menulst2cfg.c: Likewise.
3948 * util/grub-mklayout.c: Likewise.
3949 * util/grub-mkpasswd-pbkdf2.c
3950 * util/grub-mkrelpath.c: Likewise.
3951 * util/resolve.c: Likewise.
3952
dd363028
BC
39532010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
3954
3955 * Makefile.util.def (example_unit_test): Add
3956 grub-core/gnulib/libgnu.a.
3957
f5a109e2
GS
39582010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
3959
3960 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
3961
6d0fa83c
VS
39622010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Support xz compression on yeeloong.
3965
3966 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
3967 * configure.ac: Check for LZMA.
3968 * grub-core/Makefile.core.def (xz_decompress): New target.
3969 (none_decompress): Likewise.
3970 * grub-core/boot/decompressor/minilib.c: New file.
3971 * grub-core/boot/decompressor/none.c: Likewise.
3972 * grub-core/boot/decompressor/xz.c: Likewise.
3973 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
3974 * grub-core/kern/mips/cache_flush.S: Likewise.
3975 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
3976 * grub-core/kern/mips/startup.S: Move first stage to ...
3977 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
3978 nomacro.
3979 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
3980 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
3981 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
3982 Allocate statically.
3983 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
3984 Allocate statically or use scratch. Don't check CRC32.
3985 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
3986 Allocate statically. Don't check CRC32.
3987 * include/grub/decompressor.h: New file.
3988 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
3989 Removed.
3990 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
3991 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
3992 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
3993 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
3994 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
3995 * util/grub-mkimage.c (grub_compression_t): New type.
3996 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
3997 (image_target_desc): New field default_compression.
3998 (image_targets): Adjust yeeloong targets.
3999 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
4000 (compress_kernel): New parameter comp.
4001 (generate_image): Likewise. Handle new compression case.
4002 (options): New option --compression
4003 (help): Likewise.
4004 (main): Handle new option.
4005
1b655af6
GS
40062010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
4007
4008 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
4009
8f03f0b5
CW
40102010-09-22 Colin Watson <cjwatson@ubuntu.com>
4011
4012 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
4013 typo in __i386__ conditional.
4014
7835dfd3
VS
40152010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
4018 include.
4019
e255597e
VS
40202010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
4021
6d0fa83c 4022 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
4023
4024 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
4025 new tags as supported.
4026 (acpiv2_size): New function.
4027 (grub_multiboot_get_mbi_size): Take new tags into account.
4028 (grub_multiboot_make_mbi): Add new tags.
4029 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 4030
6cc14051 40312010-09-21 Aleš Nesrsta <starous@volny.cz>
4032
4033 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
4034 Added missing configuration of USB device.
4035
df7769d8
CW
40362010-09-21 Colin Watson <cjwatson@ubuntu.com>
4037
4038 * grub-core/normal/menu_entry.c (run): Make sure we always return
4039 a value.
4040
b031012d
CW
40412010-09-21 Colin Watson <cjwatson@ubuntu.com>
4042
4043 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
4044 NumberOfPages is UINT64 according to the UEFI specification, not
4045 UINTN. Fix printf format.
4046
174de8f3
CW
40472010-09-21 Colin Watson <cjwatson@ubuntu.com>
4048
4049 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
4050 `err' to grub_usb_err_t.
4051 Reported and tested by: KESHAV P.R.
4052
d7dbe923
CW
40532010-09-21 Colin Watson <cjwatson@ubuntu.com>
4054
4055 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
4056 tpart non-const, so that we can assign to it. (Since this is a
4057 typedef, the constness refers to the pointer rather than what it
4058 points to.)
4059
8d5e2af3
CW
40602010-09-21 Colin Watson <cjwatson@ubuntu.com>
4061
4062 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
4063 $(top_srcdir)/grub-core/gnulib as well as
4064 $(top_builddir)/grub-core/gnulib.
4065 Reported by: KESHAV P.R.
4066
5c527783
CW
40672010-09-21 Colin Watson <cjwatson@ubuntu.com>
4068
4069 * util/grub-install.in: Fix the bootloader ID option to be
4070 consistently --bootloader-id, not --bootloader_id.
4071 Reported by: KESHAV P.R.
4072
d309a16e
CW
40732010-09-21 Colin Watson <cjwatson@ubuntu.com>
4074
4075 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
4076 check hash checksum." consistently translatable.
4077
b830cd16
YB
40782010-09-21 Yves Blusseau <blusseau@zetam.org>
4079
4080 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
4081 $(top_builddir).
4082
c4fe27a8
CW
40832010-09-21 Colin Watson <cjwatson@ubuntu.com>
4084
4085 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
4086 (GRUB_MOD_INIT): Register sha1sum command.
4087 (GRUB_MOD_FINI): Unregister sha1sum command.
4088
a4c1d277
YB
40892010-09-21 Yves Blusseau <blusseau@zetam.org>
4090
4091 Keep boot and grub directory names in sync with utils scripts
4092
4093 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
4094 * config.h.in: Add previous macros.
4095 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
4096 * util/grub-install.in: Use $bootdir and $grubdir variables.
4097
4eff79d2
CW
40982010-09-21 Colin Watson <cjwatson@ubuntu.com>
4099
4100 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
4101 convert partition names to disk names if the new `convert' parameter
4102 is set.
4103 (grub_util_biosdisk_get_grub_dev): If opening the disk device
4104 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
4105 disk in its own right. This can happen with Xen disk images.
4106
934d7e44
YB
41072010-09-21 Yves Blusseau <blusseau@zetam.org>
4108
4109 * util/grub-editenv.c: Update strings to avoid warnings when generating
4110 grub.pot file.
4111 * util/grub-setup.c: Likewise.
934d7e44 4112
df3367cc
VS
41132010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * configure.ac: Change version to 1.99~beta0.
4116
77a94e98
VS
41172010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
4120 Add BADRAM.
4121 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
4122 Likewise.
4123 * include/multiboot.h: Resynced with specification.
4124 * include/multiboot2.h: Likewise.
4125
269004c1
CW
41262010-09-21 Colin Watson <cjwatson@ubuntu.com>
4127
4128 Fix po directory handling.
4129
4130 * configure.ac: Create po/Makefile.in rather than po/Makefile.
4131 * grub-core/gnulib/Makefile.am: Import gettext module.
4132 * m4/gnulib-cache.m4: Likewise.
4133 * m4/gnulib-comp.m4: Likewise.
4134 * m4/gettext.m4: New file, from gnulib.
4135 * m4/glibc2.m4: Likewise.
4136 * m4/iconv.m4: Likewise.
4137 * m4/intdiv0.m4: Likewise.
4138 * m4/intl.m4: Likewise.
4139 * m4/intldir.m4: Likewise.
4140 * m4/intlmacosx.m4: Likewise.
4141 * m4/intmax.m4: Likewise.
4142 * m4/inttypes-pri.m4: Likewise.
4143 * m4/lcmessage.m4: Likewise.
4144 * m4/lib-ld.m4: Likewise.
4145 * m4/lib-link.m4: Likewise.
4146 * m4/lib-prefix.m4: Likewise.
4147 * m4/lock.m4: Likewise.
4148 * m4/nls.m4: Likewise.
4149 * m4/po.m4: Likewise.
4150 * m4/printf-posix.m4: Likewise.
4151 * m4/progtest.m4: Likewise.
4152 * m4/threadlib.m4: Likewise.
4153 * m4/uintmax_t.m4: Likewise.
4154 * m4/visibility.m4: Likewise.
4155 * po/Makefile.am: Remove.
4156 * po/Makefile.in.in: New file, from gettext.
4157 ($(DOMAIN).pot-update): Support POTFILES-shell.
4158 * po/Makevars: New file.
4159 * po/POTFILES-shell: Rename to ...
4160 * po/POTFILES-shell.in: ... this. Update.
4161 * po/POTFILES: Rename to ...
4162 * po/POTFILES.in: ... this. Update.
4163 * po/Rules-quot: New file, from gettext.
4164 * po/boldquot.sed: Likewise.
4165 * po/en@boldquot.header: Likewise.
4166 * po/en@quot.header: Likewise.
4167 * po/insert-header.sin: Likewise.
4168 * po/quot.sed: Likewise.
4169 * po/remove-potcdate.sin: Likewise.
4170
3e0fa5d0
VS
41712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4172
4173 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
4174
ade9bd66
VS
41752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * util/grub.d/20_linux_xen.in: Use submenus.
4178
fc55cc4c
VS
41792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 Support submenus.
4182
4183 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
4184 parameter submenu. All users updated.
4185 * grub-core/normal/main.c (free_menu): Rename to ...
4186 (grub_normal_free_menu): ... this. Made global.
4187 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
4188 if requested.
4189 * grub-core/normal/menu_entry.c (screen): New field submenu.
4190 (make_screen): Set submenu.
4191 (run): Open new context if requested.
4192 * include/grub/menu.h (grub_menu_entry): New field submenu.
4193 * include/grub/normal.h (grub_normal_free_menu): New proto.
4194
600cedf7
VS
41952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 Menu entries extractor.
4198
4199 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
4200 variants.
4201 (GRUB_MOD_INIT): Register new variants.
4202 (GRUB_MOD_FINI): Unregister new variants.
4203 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
4204 into grub_cmd_legacy_source.
4205 (grub_cmd_legacy_source): Implement extractor variants.
4206 (GRUB_MOD_INIT): Register new variants.
4207 (GRUB_MOD_FINI): Unregister new variants.
4208 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
4209 as an extractor.
4210 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
4211 search as an extractor.
4212 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
4213 test as an extractor.
4214 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
4215 as an extractor.
4216 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
4217 (grub_env_new_context): New function.
4218 (grub_env_context_open): Likewise.
4219 (grub_env_extractor_open): Likewise.
4220 (grub_env_extractor_close): Likewise.
4221 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4222 grub_extractor_level.
4223 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
4224 * include/grub/env.h (grub_env_extractor_open): New proto.
4225 (grub_env_extractor_close): Likewise.
4226 * include/grub/normal.h (grub_extractor_level): New external variable.
4227
7bda3a87
VS
42282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Make cutmem accept a region specification.
4231 Suggested by: Samuel Thibault
4232
4233 * grub-core/mmap/mmap.c (parsemem): New function.
4234 (grub_cmd_cutmem): Handle new arguments.
4235
2ea57f88
VS
42362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 New command cutmem.
4239
4240 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
4241 (GRUB_MOD_INIT): Register new command.
4242 (GRUB_MOD_FINI): Unregister new command.
4243
74342e31
VS
42442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 Support some annoying BSD and Minix subpartitions.
4247
4248 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
4249 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
4250 Properly handle concatenation.
4251 * grub-core/kern/device.c (grub_device_iterate): Likewise.
4252 * grub-core/normal/completion.c (iterate_partition): Likewise.
4253 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
4254 contain partition. All users updated.
4255 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
4256 struct.
4257 (grub_openbsdlabel_partition_map): Likewise.
4258 (bsdlabel_partition_map_iterate): Rename to ..
4259 (iterate_real): ... this. New arguments sector, freebsd and pmap.
4260 (bsdlabel_partition_map_iterate): New function.
4261 (netopenbsdlabel_partition_map_iterate): Likewise.
4262 (netbsdlabel_partition_map_iterate): Likewise.
4263 (openbsdlabel_partition_map_iterate): Likewise.
4264 (GRUB_MOD_INIT): Register new partmaps.
4265 (GRUB_MOD_FINI): Unregister new partmaps.
4266 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
4267 (grub_partition_msdos_iterate): ... this. All users updated.
4268 Don't support embedding other than in a minix partition.
4269 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
4270 proto.
4271 * include/grub/partition.h (grub_partition): New field msdostype.
4272 * util/grub-install.in: Handle openbsd and netbsd types being in
4273 part_bsd module.
4274
1e8d555b
VS
42752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
4278
4279 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
4280 * grub-core/Makefile.core.def (mdraid): Renamed to ...
4281 (mdraid09): ... this.
4282 (mdraid1x): New module.
4283 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
4284 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
4285
899d8af4
VS
42862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
4289 vsprintf.
4290
40901acd
CW
42912010-09-20 Colin Watson <cjwatson@ubuntu.com>
4292
4293 * grub-core/commands/efi/lsefimmap.c: Correct header.
4294 * NEWS: Update.
4295
dfe3b247
CW
42962010-09-20 Colin Watson <cjwatson@ubuntu.com>
4297
4298 * util/grub-editenv.c (argp_parser): Don't pass translated strings
4299 as printf format strings; the translations might contain '%' which
4300 could cause a crash.
4301 (main): Likewise.
4302 * util/grub-fstest.c (argp_parser): Likewise.
4303 * util/grub-setup.c (argp_parser): Likewise.
4304 (main): Likewise.
4305
3286a4b4
VS
43062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 Use argp in grub-fstest.
4309
4310 * util/grub-fstest.c: Don't include getopt.h.
4311 Include argp.h.
4312 (root): New variable.
4313 (args_count): Likewise.
4314 (nparm): Likewise.
4315 (num_disks): Likewise.
4316 (images): Likewise.
4317 (cmd): Likewise.
4318 (debug_str): Likewise.
4319 (args): Likewise.
4320 (options): Transformed to argp.
4321 (usage): Removed.
4322 (main): Split argument parsing into ...
4323 (argp_parser): ... this. Changed to argp format.
4324 (argp): New variable.
4325 (main): Use argp_parse.
4326
3dccbe4b
TG
43272010-09-20 Tristan Gingold <gingold@free.fr>
43282010-09-20 Robert Millan <rmh.grub@aybabtu.com>
43292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/commands/efi/lsefimmap.c: New file.
4332 * grub-core/Makefile.core.def (lsefimmap): New module.
4333 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
4334
38c259a7
VS
43352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 Pause the execution (10s max) if any errors are displayed so the user
4338 has a chance to see them.
4339
4340 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
4341 (grub_print_error): Increment grub_err_printed_errors.
4342 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
4343 execution if any errors were displayed.
4344 (show_menu): Remove old code for pause.
4345 * grub-core/normal/menu_entry.c (run): Likewise.
4346 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
4347 users updated.
4348 (grub_normal_get_char_counter): Likewise.
4349 * include/grub/err.h (grub_err_printed_errors): New external variable.
4350 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
4351
f218b09c
VS
43522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 Support multiboot VBE info.
4355
4356 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4357 Take VBE info into account.
4358 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
4359 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
4360 Call fill_vbe_info when appropriate.
4361 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
4362 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
4363 as supported.
4364 (grub_multiboot_get_mbi_size): Take new tags into account.
4365 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
4366 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
4367 Call fill_vbe_tag when appropriate.
4368 (grub_multiboot_make_mbi): Properly align tags.
4369 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
4370 function.
4371 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
4372 proto.
4373 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
4374
a9cc5438
VS
43752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 Suport manual terminal geometry specification.
4378
4379 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
4380 Save state in grub_ofconsole_terminfo_output.
4381 (grub_ofconsole_term): Use grub_terminfo_getwh.
4382 (grub_ofconsole_getwh): Removed.
4383 * grub-core/term/serial.c (grub_serial_getwh): Removed.
4384 (grub_serial_term): Use grub_terminfo_getwh.
4385 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
4386 (options): New struct.
4387 (OPTION_*): New enum.
4388 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
4389 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
4390 width and height.
4391 (grub_terminfo_getwh): New proto.
4392 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
4393
1a8fed20
VS
43942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 Handle legacy "terminal" command.
4397
4398 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
4399 and FLAG_TERMINAL.
4400 (legacy_commands): Add terminal and title.
4401 (grub_legacy_parse): Handle terminal. Simplify title handling.
4402
41e9c57d
VS
44032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
4406 parameters overflow.
4407
61c874c5
CW
44082010-09-20 Colin Watson <cjwatson@ubuntu.com>
4409
4410 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
4411 widthspec.h.
4412
4413 * docs/grub.texi (Shell-like scripting): Document `!'.
4414 (Network): Simplify using new i386-pc-pxe format. Mention
4415 grub-mknetdir.
4416
4417 * NEWS: Update.
4418
943682b4
CW
44192010-09-20 Colin Watson <cjwatson@ubuntu.com>
4420
4421 * Makefile.am (SUBDIRS): Restore "."; it's important to force
4422 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
4423 when needed.
4424
6d3d698d
CW
44252010-09-20 Colin Watson <cjwatson@ubuntu.com>
4426
4427 * grub-core/commands/efi/lsefisystab.c: Correct header.
4428 * grub-core/commands/efi/lssal.c: Likewise.
4429 * grub-core/commands/testload.c: Likewise.
4430
c982589f
CW
44312010-09-20 Colin Watson <cjwatson@ubuntu.com>
4432
4433 * util/grub-mkrescue.in: Add explicit root argument to --set to
4434 prevent the UUID being interpreted as an argument to --set (matches
4435 previous change to prepare_grub_to_access_device).
4436
a63c31b6
CW
44372010-09-20 Colin Watson <cjwatson@ubuntu.com>
4438
4439 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
4440 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
4441 the verbosity of later #ifs.
4442 (find_partition_start): Define this function on FreeBSD too.
4443 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
4444 function.
4445 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
4446 on FreeBSD.
4447
6439b8ee
YB
44482010-09-20 Yves Blusseau <blusseau@zetam.org>
4449
4450 * util/grub-editenv.c: Use argp instead of getopt.
4451
c5930ec8
YB
44522010-09-20 Yves Blusseau <blusseau@zetam.org>
4453
4454 * util/grub-setup.c: Use argp instead of getopt.
4455
15c69261
YB
44562010-09-20 Yves Blusseau <blusseau@zetam.org>
4457
4458 Use gnulib-tool to create gnulib source files.
4459
4460 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
4461 grub-core/gnulib directories
4462 * .bzignore: Add **/.deps and autogenerated gnulib files
4463 * configure.ac: Assign auxiliary directory to build-aux, add invocation
4464 of gnulib macros, add grub-core/gnulib/Makefile
4465 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
4466 include m4 directory to aclocal.
4467 * Makefile.util.def: Remove direct compilation of gnulib source files
4468 and use the new grub-core/gnulib/libgnu.a.
4469 * build-aux/config.rpath: move config.rpath from top directory to
4470 build-aux
4471 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
4472 in gnulib headers
4473 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
4474 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
4475 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
4476 header.
4477 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
4478 string.
4479
e511c9f5
YB
44802010-09-20 Yves Blusseau <blusseau@zetam.org>
4481
4482 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
4483 grub-core/genmod.sh and grub-core/gensyminfo.sh
4484
c2dede05
BC
44852010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
4486
4487 Add a test for echo command options.
4488
4489 * tests/grub_cmd_echo.in: New test.
4490 * Makefile.util.def: Rules for new test.
4491
c55f5018
SJ
44922010-09-20 Szymon Janc <szymon@janc.net.pl>
4493
4494 Remove crc.mod and move crc command to hashsum.mod.
4495 Remove lib/crc.c - users updated to use gcrypt implementation.
4496
4497 * grub-core/commands/crc.c: Removed.
4498 * grub-core/Makefile.core.def (crc): Module removed.
4499 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
4500 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
4501 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
4502 * grub-core/lib/crc.c: Removed.
4503 * include/grub/lib/crc.h: Removed.
4504 * Makefile.util.def (crc): Remove lib/crc.c
4505 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
4506 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
4507 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
4508 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
4509 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
4510 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
4511
e0337366
VS
45122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
4515
742f9232
VS
45162010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 Split config.h for util and core.
4519
4520 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
4521 (ADDR32): Likewise.
4522 (DATA32): Likewise.
4523 (BSS_START_SYMBOL): Likewise.
4524 (END_SYMBOL): Likewise.
4525 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
4526 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
4527 * config.h.in: New file.
4528 * configure.ac: Use config-util.h as config define file.
4529 Rename MACHINE into GRUB_MACHINE. All users updated.
4530 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
4531 updated.
4532 (NESTED_FUNC_ATTR): Likewise.
4533 Substitue new variables.
4534 (COND_HAVE_ASM_USCORE): New conditional.
4535 * grub-core/Makefile.am (ASM_PREFIX): New variable.
4536 (kernel_syms.lst): Use ASM_PREFIX.
4537 * grub-core/kern/emu/console.c: Include config-util.h.
4538 * grub-core/kern/emu/misc.c: Likewise.
4539 * grub-core/kern/emu/mm.c: Likewise.
4540 * include/grub/emu/misc.h: Likewise.
4541 * include/grub/libgcc.h: Likewise.
4542
39feb0e8
VS
45432010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
4546 constants usage.
4547 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
4548 Fix GRUB_TERM_KEY_* constants usage.
4549 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
4550
9af6dac3
VS
45512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
4554 print pointer.
4555 * grub-core/bus/usb/uhci.c: Remove empty define.
4556 (grub_uhci_check_transfer): Add missing cast.
4557 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
4558 print pointer.
4559 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
4560 PRIuGRUB_SIZE.
4561 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
4562
d6d94820
VS
45632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/Makefile.core.def (legacycfg): Add
4566 lib/i386/pc/vesa_modes_table.c on emu.
4567
3572f2b6
BC
45682010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
4569
4570 Reduce number of temporary files generated by build system.
4571
4572 * grub-core/gencmdlist.sh: Removed.
4573 * grub-core/genfslist.sh: Removed.
4574 * grub-core/genhandlerlist.sh: Removed.
4575 * grub-core/genmodsrc.sh: Removed.
4576 * grub-core/genpartmaplist.sh: Removed.
4577 * grub-core/genparttoollist.sh: Removed.
4578 * grub-core/gentermiinallist.sh: Removed.
4579 * grub-core/genvideolist.sh: Removed.
4580
4581 * grub-core/genmod.sh.in: New file.
4582 * grub-core/gensyminfo.sh.in: New file.
4583
4584 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
4585 * conf/Makefile.extra-dist: Update with new files.
4586 * gentpl.py: Remove rules related to unnecessary temporary files.
4587 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
4588 and und-* files.
4589 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
4590 genmod.sh scripts.
4591 * grub-core/bus/usb/uhci.c: Remove empty #define.
4592 * grub-core/genmoddep.awk: Updated with new syminfo format.
4593 * util/bash-completion.d/Makefile.am: Add config.log to
4594 CLEANFILES.
4595
c836b030
YB
45962010-09-19 Yves Blusseau <blusseau@zetam.org>
4597
4598 * Makefile.util.def: Add forgotten $(LIBINTL) library.
4599
2f4e8053
BC
46002010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
4601
4602 * util/grub-mkconfig.in: Check the config script for syntax errors
4603 before saving.
4604
75831c34
CW
46052010-09-19 Colin Watson <cjwatson@ubuntu.com>
46062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * Makefile.util.def (grub-install): Use util/grub-install.in on all
4609 platforms.
4610 * util/grub-install.in: Add EFI and IEEE1275 support.
4611 * util/i386/efi/grub-install.in: Removed.
4612 * util/ieee1275/grub-install.in: Likewise.
4613
eaf41b25
VS
46142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
4617 (grub_cmd_cmosclean): Likewise.
4618 (GRUB_MOD_INIT): Register command cmosclean.
4619 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
4620 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
4621
1a9130dd
CPE
46222010-09-18 Carles Pina i Estany <carles@pina.cat>
46232010-09-18 Aleš Nesrsta <starous@volny.cz>
46242010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 Add keyboard layouts support.
4627
4628 * Makefile.util.def (grub-mklayout): New file.
4629 (grub-kbdcomp): New script.
4630 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
4631 Add keyboard_layouts.h.
4632 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
4633 commands/boot.c on yeeloong.
4634 (keylayouts): New module.
4635 * grub-core/bus/usb/ohci.c
4636 * grub-core/bus/usb/uhci.c
4637 * grub-core/bus/usb/usbhub.c (rescan): New variable.
4638 (grub_usb_add_hub): Poll interrupt pipe for device handling.
4639 (attach_root_port): Likewise.
4640 (poll_nonroot_hub): Likewise.
4641 (grub_usb_poll_devices): Likewise.
4642 (detach_device): Close transfer.
4643 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
4644 function.
4645 (grub_usb_bulk_setup_readwrite): Likewise.
4646 (grub_usb_bulk_finish_readwrite): Likewise.
4647 * grub-core/commands/keylayouts.c: New file.
4648 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
4649 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
4650 aliases.
4651 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
4652 support scancode 2.
4653 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
4654 * include/grub/keyboard_layouts.h: New file.
4655 * util/grub-mklayout.c: New file.
4656 * util/grub-kbdcomp.in: Likewise.
4657
a1d84a5e
VS
46582010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 Unify memory types.
4661
4662 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
4663 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
4664 types.
4665 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
4666 (grub_upper_mem): Likewise.
4667 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
4668 * include/grub/memory.h (grub_memory_type_t): New enum.
4669 All users updated.
4670
9696382e
VS
46712010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/Makefile.core.def (lsapm): New module.
4674 * grub-core/commands/i386/pc/lsapm.c: New file.
4675 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
4676 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
4677 Likewise.
4678 * include/grub/i386/pc/apm.h: New file.
4679 * include/multiboot.h (multiboot_apm_info): New struct.
4680
46812010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 GRUB-legacy configuration file support.
4684
4685 * Makefile.util.def (grub-menulst2cfg): New util.
4686 * docs/man/grub-menulst2cfg.h2m: New file.
4687 * grub-core/Makefile.core.def (legacycfg): New module.
4688 * grub-core/commands/legacycfg.c: New file.
4689 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
4690 (grub_normal_add_menu_entry): ... this.
4691 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
4692 (grub_normal_set_password): ...this.
4693 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
4694 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
4695 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
4696 * grub-core/lib/legacy_parse.c: New file.
4697 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
4698 * include/grub/i386/pc/vesa_modes_table.h: New file.
4699 * include/grub/legacy_parse.h: Likewise.
4700 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
4701 * util/grub-menulst2cfg.c: New file.
4702
bf8d1338
CW
47032010-09-17 Colin Watson <cjwatson@ubuntu.com>
4704
4705 * grub-core/kern/emu/hostdisk.c
4706 (convert_system_partition_to_system_disk): Initialise node.
4707
9c0bad2e
CW
47082010-09-17 Colin Watson <cjwatson@ubuntu.com>
4709
4710 * grub-core/kern/emu/hostdisk.c
4711 (convert_system_partition_to_system_disk): Fix devmapper memory pool
4712 leak.
4713 Reported and based on patch by: Modestas Vainius.
4714
a939d135
CW
47152010-09-17 Colin Watson <cjwatson@ubuntu.com>
4716
4717 Fix DM-RAID probing with recent versions of device-mapper udev
4718 rules.
4719
4720 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
4721 canonicalise device paths under /dev/mapper/.
4722 (convert_system_partition_to_system_disk): Compare the
4723 uncanonicalised path to /dev/mapper/ rather than the canonicalised
4724 path, since device nodes under /dev/mapper/ are often symlinks.
4725
0f7ee3c9
YB
47262010-09-17 Yves Blusseau <blusseau@zetam.org>
4727
4728 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
4729
10854d0d
YB
47302010-09-16 Yves Blusseau <blusseau@zetam.org>
4731
4732 * configure.ac: Avoid some annoying error messages if freetype-config
4733 program is not found.
4734
108538d8
CW
47352010-09-16 Colin Watson <cjwatson@ubuntu.com>
4736
4737 Support RAID on virtio devices, and others.
4738
4739 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
4740 Rename to ...
4741 [__MINGW32__] (grub_find_device): ... this.
4742 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
4743 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
4744 reasonable default if dir is NULL.
4745 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
4746 ...
4747 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
4748 (grub_guess_root_device): Update callers.
4749 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
4750
4751 * util/raid.c (grub_util_getdiskname): Remove.
4752 (grub_util_raid_getmembers): Use grub_find_device rather than
4753 grub_util_getdiskname.
4754
e5bfc130
CW
47552010-09-16 Colin Watson <cjwatson@ubuntu.com>
4756
4757 * docs/grub.texi (serial): Remove obsolete comment about GRUB
4758 needing to be compiled with serial support.
4759 (ls): Indicate that multiple files are accepted.
4760 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
4761 indicate that multiple files are accepted.
4762
be458ae2
CW
47632010-09-16 Colin Watson <cjwatson@ubuntu.com>
4764
4765 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
4766 libgrub_a_init.c, and util/bash-completion.d/grub.
4767
cb731b5e
VS
47682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * util/grub-setup.c (setup): Fix incorrect container semantics.
4771
35139e8a
VS
47722010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
4775 misusage.
4776 Reported by: J. Nick Terry
4777
e50fca4a
VS
47782010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4779
4780 Move embedding routines to partmap sources files.
4781
4782 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
4783 [GRUB_UTIL]: New variable.
4784 (gpt_partition_map_iterate): Set part.parent.
4785 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
4786 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
4787 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
4788 New function.
4789 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
4790 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
4791 (grub_partition_map) [GRUB_UTIL]: New field embed.
4792 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
4793 (setup): Use ->embed.
4794
f00478b7
VS
47952010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
4798 function.
4799 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
4800 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
4801
2b94e3ff
YB
48022010-09-15 Yves Blusseau <blusseau@zetam.org>
4803
4804 Add function to get completions from usage.
4805
4806 * util/bash-completion.d/grub-completion.bash.in: Add function to get
4807 completions from usage. Use LC_ALL=C to get options properly.
4808
2e04a006
VS
48092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * grub-core/gnulib/basename-lgpl.c: Imported.
4812 * grub-core/gnulib/basename.c: Likewise.
4813 * grub-core/gnulib/dirname-lgpl.c: Likewise.
4814 * grub-core/gnulib/dirname.c: Likewise.
4815 * grub-core/gnulib/dirname.h: Likewise.
4816 * grub-core/gnulib/stripslash.c: Likewise.
4817
5dcdf93a
VS
48182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 * grub-core/gnulib/error.c: Resynced.
4821 * grub-core/gnulib/getopt.c: Likewise.
4822 * grub-core/gnulib/getopt_int.h: Likewise.
4823 * grub-core/gnulib/regex.h: Likewise.
4824 * grub-core/gnulib/regex_internal.c: Likewise.
4825 * grub-core/gnulib/regex_internal.h: Likewise.
4826
014f47b7
SJ
48272010-09-15 Szymon Janc <szymon@janc.net.pl>
4828
4829 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
4830 CRC calculations and validity checks.
4831 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
4832 calculations.
4833
dd521a4a
SJ
48342010-09-15 Szymon Janc <szymon@janc.net.pl>
4835
4836 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
4837
79c4eeb9
VS
48382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 Fix incorrect echo options handling.
4841 Reported by: Yves Blusseau.
4842
4843 * include/grub/command.h (grub_command_flags_t): New flags
4844 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
4845 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
4846 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
4847
ed80f7d5
VS
48482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
4851 users updated.
4852 (GRUB_COMMAND_FLAG_MENU): Likewise.
4853 (GRUB_COMMAND_FLAG_BOTH): Likewise.
4854 (GRUB_COMMAND_FLAG_TITLE): Removed.
4855 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
4856 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
4857 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
4858 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
4859 (grub_command_flags_t): New enum. All users updated.
4860
5fe7620a
SG
48612010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
4862
4863 Fix solaris compilation.
4864
4865 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
4866 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
4867 (grub-emu-list): Likewise.
4868
545b752f
VS
48692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 Remove deprecated root command.
4872
4873 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
4874 updated.
4875
6c1a338c
VS
48762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * util/i386/pc/grub-setup.c: Merge this ...
4879 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
4880 * util/grub-setup.c: ... into this.
4881 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
4882 New struct.
4883
48842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
4887 possible.
4888
d2ea4551
VS
48892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
4892 allocate p.
4893
3c3b5040
VS
48942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
4897 explicit root argument to set to prevent UUID to be interpreted as
4898 argument to set.
4899
b71c3fae
VS
49002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
4903
275433e6
VS
49042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 Don't export grub_gate_a20.
4907
4908 * grub-core/kern/i386/pc/init.c: Remove leftovers.
4909 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
4910 to ...
4911 (grub_gate_a20): ... this. All users updated.
4912 * include/grub/i386/pc/init.h: Removed. All users updated.
4913
a5dbb1f1
VS
49142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 Create euro.pf2 which supports most European languages.
4917
4918 * Makefile.am (grubdata_DATA): Add euro.pf2.
4919 (euro.pf2): New target.
4920 (CLEANFILES): Add euro.pf2.
4921
62a747cb
VS
49222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * configure.ac: Disable emu-usb by default to prevent inadvertent
4925 device takeover.
4926
608e43b1
VS
49272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Disable usbserial on grub-emu since our libusb code isn't good enough
4930 yet.
4931
4932 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
4933 (usbserial_pl2303): Likewise.
4934 (usbserial_ftdi): Likewise.
4935
94564f81
VS
49362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * include/grub/disk.h (grub_disk): Remove has_partitions.
4939 All users updated.
4940 * disk/loopback.c (grub_loopback): Remove has_partitions.
4941 All users updated.
4942 (options): Remove partitions. All users updated.
4943 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
4944 * util/i386/pc/grub-setup.c (setup): copy partition table only when
4945 actual partition table is found.
4946
3352800b
VS
49472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Remove readability checks (too many false negatives).
4950
4951 * util/grub-install.in: Remove readability checks.
4952 * util/grub-mkconfig.in: Likewise.
4953 * util/grub.d/10_hurd.in: Likewise.
4954 * util/grub.d/10_kfreebsd.in: Likewise.
4955 * util/grub.d/10_linux.in: Likewise.
4956 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
4957 way.
4958
2419f17a
VS
49592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 Enable acpi shutdown on all ACPI platforms.
4962
4963 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
4964 on coreboo, multiboot and EFI.
4965 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
4966 (grub_acpi_halt): Likewise.
4967 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
4968 (grub_cmd_halt): Don't call grub_acpi_halt directly.
4969 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
4970 * grub-core/lib/i386/halt.c (grub_halt)
4971 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
4972
0575c7c3
VS
49732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
4976 context.
4977
54ac3cd1
VS
49782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/video/efi_gop.c: Fix over-80-chars line.
4981 * grub-core/video/efi_uga.c: Likewise.
4982
b2a30ac5
VS
49832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 Filter devaliases and never open same device twice.
4986
4987 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
4988 (last_ihandle): Likewise.
4989 (ofdisk_hash_ent): New member shortest.
4990 (ofdisk_hash_add): Add canonical path too.
4991 (scan): New function.
4992 (grub_ofdisk_iterate): Iterate over hashed entries.
4993 (compute_dev_path): Don't add :0.
4994 (grub_ofdisk_open): Don't really open the disk.
4995 (grub_ofdisk_close): Avoid closing unrelated disk.
4996 (grub_ofdisk_read): Implement reopen logic.
4997 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
4998 New function.
4999 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
5000 New proto.
5001
fb53b340
VS
50022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Fix sparc64.
5005
5006 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
5007 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
5008 right address. Add sparc64_ieee1275_ldflags.
5009 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
5010 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
5011 to grub_host_to_target_addr
5012 (load_image): Likewise.
5013
f452b040
VS
50142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/normal/completion.c (complete_file): Handle device
5017 containing slash.
5018 Fix based on patch by Doug Nazar.
5019
9b5b2541
VS
50202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 grub-mknetdir script.
5023
5024 * Makefile.util.def (grub-mknetdir): New module.
5025 * tests/util/grub-shell.in: Support boot=net
5026 * util/grub-mknetdir.in: New file.
5027
9d2be652
VS
50282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 videoinfo on non-vbe.
5031
5032 * grub-core/Makefile.core.def (vbeinfo): Removed.
5033 (vbetest): Removed.
5034 (videoinfo): New module.
5035 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
5036 * grub-core/commands/i386/pc/vbetest.c: Removed.
5037 * grub-core/commands/videoinfo.c: New file.
5038 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
5039 specification.
5040 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
5041 as vbetest.
5042 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
5043 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
5044 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
5045 mode_number. New parameter mode. All users updated.
5046 (grub_video_gop_iterate): New function.
5047 (grub_video_efi_gop): New member iterate.
5048 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
5049 (grub_vbe_set_video_mode): Remove setting useless fields.
5050 (vbe2videoinfo): New function.
5051 (grub_video_vbe_iterate): Likewise.
5052 (grub_video_vbe_setup): Use vbe2videoinfo.
5053 (grub_video_vbe_print_adapter_specific_info): New function.
5054 (grub_video_vbe_adapter): New fields iterate and
5055 print_adapter_specific_info.
5056 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
5057 All users updated.
5058 (grub_video_mode_info): New field mode_number.
5059 (grub_video_adapter): New fields iterate and
5060 print_adapter_specific_info.
5061
179503f5
TG
50622010-09-13 Tristan Gingold <gingold@free.fr>
50632010-09-13 Robert Millan <rmh.grub@aybabtu.com>
50642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/commands/efi/lsefisystab.c: New file.
5067 * grub-core/commands/efi/lssal.c: Likewise.
5068 * grub-core/Makefile.core.def (lsacpi): New module.
5069 (lsefisystab): Likewise.
5070 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
5071 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
5072 (grub_efi_sal_system_table): New struct.
5073 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
5074 (grub_efi_sal_system_table_memory_descriptor): Likewise.
5075 (grub_efi_sal_system_table_platform_features): Likewise.
5076 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
5077 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
5078 (grub_efi_sal_system_table_ap_wakeup): Likewise.
5079 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
5080
cf9827de
VS
50812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 Support explicit user claim that a device is BIOS-visible.
5084
5085 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
5086 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
5087 * grub-core/kern/emu/hostdisk.c
5088 (convert_system_partition_to_system_disk): Support mdX.
5089 (find_system_device): New parameter add. All users updated.
5090 (grub_util_biosdisk_is_present): New function.
5091 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
5092 proto.
5093
53f0eb1f
VS
50942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 Search hints support.
5097
5098 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
5099 All users updated.
5100
b23ffd70
YB
51012010-09-13 Yves Blusseau <blusseau@zetam.org>
5102
5103 Bash completion script for util commands
5104
5105 * Makefile.am: Add util/bash-completion.d directory
5106 * configure.ac: Likewise.
5107 * util/bash-completion.d/Makefile.am: New file.
5108 * util/bash-completion.d/grub-completion.bash.in: Likewise.
5109
d547dc28
VS
51102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
5113 (print_backlog): set backlog_ucs4 and backlog_glyphs.
5114 Reported by: Yves Blusseau.
5115
2fc8ccb9
VS
51162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
5119 partition size and offset.
5120
d8a84076
VS
51212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
5124
84fb3b3d
VS
51252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
5128
768ec2e2
VS
51292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
5132 (grub_xvasprintf): Likewise.
5133
4870900f
VS
51342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
5137
faca6bec
VS
51382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
5141 args ending with NULL.
5142
51432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
5144
5145 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
5146 pointer.
5147
3c70f225
SJ
51482010-09-11 Szymon Janc <szymon@janc.net.pl>
5149
5150 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
5151
4df7996d
VS
51522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 Shutdown using ACPI.
5155
5156 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
5157 * grub-core/commands/acpihalt.c: New file.
5158 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
5159 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
5160 (grub_acpi_halt): New proto.
5161 (GRUB_ACPI_SLP_EN): New const.
5162 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
5163 (GRUB_ACPI_OPCODE_*): New enum.
5164 (GRUB_ACPI_EXTOPCODE_*): Likewise.
5165
126b4c32
TG
51662010-09-11 Tristan Gingold <gingold@free.fr>
51672010-09-11 Robert Millan <rmh.grub@aybabtu.com>
51682010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * commands/lsacpi.c: New file.
5171 * grub-core/Makefile.core.def (lsacpi): New module.
5172 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
5173 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
5174 (grub_acpi_madt_entry_header): New struct.
5175 (grub_acpi_madt): Likewise.
5176 (grub_acpi_madt_entry_interrupt_override): Likewise.
5177 (grub_acpi_madt_entry_sapic): Likewise.
5178 (grub_acpi_madt_entry_lsapic): Likewise.
5179 (grub_acpi_madt_entry_platform_int_source): Likewise.
5180 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
5181 (PRIuGRUB_UINT32_T): Likewise.
5182 (PRIxGRUB_UINT64_T): Likewise.
5183
1aa4fe88
VS
51842010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 Implement loading palette on ieee1275_fb.
5187
5188 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
5189 (have_setcolors): Likewise.
5190 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
5191 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
5192 (grub_video_ieee1275_set_palette): Implement.
5193
25761e13
VS
51942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
51952010-09-11 Colin Watson <cjwatson@ubuntu.com>
5196
5197 * util/grub-install.in (grub_partition): New variable.
5198 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
5199 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
5200 Fixes a bug reported by Yves Blusseau.
5201
050abaea
VS
52022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
5203
5204 Fix emu on mipsel.
5205
5206 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
5207 =grub_cpu_flush_cache on all mips and not only yeeloong.
5208 * configure.ac (COND_mips): New conditional.
5209 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
5210 platforms.
5211 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
5212 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
5213 [GRUB_LINKER_HAVE_INIT]: New function.
5214 (grub_emu_post_init): Likewise.
5215 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
5216 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
5217 * include/grub/cache.h (_mips): Include mips/cache.h.
5218 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
5219 LVM and RAID prototypes.
5220 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
5221 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
5222 function.
5223
5ed7d816
CW
52242010-09-10 Colin Watson <cjwatson@ubuntu.com>
5225
5226 * util/grub-install.in: Don't try to verify core.img until after
5227 running grub-mkimage to create it.
5228
90367e04
RM
52292010-09-10 Robert Millan <rmh@gnu.org>
5230
5231 * util/grub.d/10_hurd.in: Add misc readability checks.
5232 * util/grub.d/10_kfreebsd.in: Likewise.
5233 * util/grub.d/10_linux.in: Likewise.
5234
c452fa66
CW
52352010-09-10 Colin Watson <cjwatson@ubuntu.com>
5236
5237 * util/grub-install.in: ${imgext} won't be defined here until the
5238 install branch is merged. For the meantime, only verify core.img on
5239 i386-pc and sparc64-ieee1275 platforms.
5240
c38fe9f4
RM
52412010-09-10 Robert Millan <rmh@gnu.org>
5242
5243 Solaris support in grub_find_zpool_from_dir(). Thanks
5244 Seth Goldberg for referring to getextmntent() facility.
5245
5246 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
5247 `sys/mkdev.h'.
5248 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
5249 `<sys/mnttab.h>'.
5250 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
5251 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
5252 method for finding zpool name.
5253
905f7773
CW
52542010-09-10 Colin Watson <cjwatson@ubuntu.com>
5255
5256 grub-fstest needs the host and hostfs modules while other utilities
5257 actively require those modules to be absent, so grub-fstest needs
5258 its own initialisation and finalisation code.
5259
5260 * Makefile.am (grub_fstest.pp): New target.
5261 (grub_fstest_init.lst): Likewise.
5262 (grub_fstest_init.c): Likewise.
5263 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
5264
fb90b546
RM
52652010-09-10 Robert Millan <rmh@gnu.org>
5266
5267 * configure.ac: Check for `struct statfs.f_fstypename' and
5268 `struct statfs.f_mntfromname'.
5269
5270 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
5271 kFreeBSD-specific code.
5272
66d4bea5
RM
52732010-09-10 Robert Millan <rmh@gnu.org>
5274
5275 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
5276 on ZFS. Now non-main filesystems are supported as / too.
5277
b6a690ee
CW
52782010-09-09 Colin Watson <cjwatson@ubuntu.com>
5279
5280 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
5281 and grub-core/disk/host.c to ...
5282 (grub-fstest): ... here. Having the host disk implementation
5283 present confuses grub-probe and other utility programs.
5284
5285 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
5286 when writing to a file, not when writing to stdout.
5287
8901b00c 52882010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
5289
5290 * tests/partmap_test.in: New test for partitions.
5291 * Makefile.util.def: Rules for new test.
5292
7bf45fdd
RM
52932010-09-09 Robert Millan <rmh@gnu.org>
5294
5295 * util/grub-probe.c (probe): Fix a pair of unhandled error
5296 conditions.
5297
4dfbc574
RM
52982010-09-09 Robert Millan <rmh@gnu.org>
5299
5300 Basic Btrfs support (detection and UUID).
5301
5302 * grub-core/fs/btrfs.c: New file.
5303 * Makefile.util.def (library): Register btrfs.c.
5304 * grub-core/Makefile.core.def: Likewise.
5305
6b8e78ae
RM
53062010-09-08 Robert Millan <rmh@gnu.org>
5307
5308 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
5309 with (optional) parameters to specify device and relative path.
5310 * util/grub-install.in: Use is_path_readable_by_grub() to
5311 verify readability of a few critical files.
5312 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
5313 verify readability of grub.cfg.new.
5314
27f21a8b
VS
53152010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 Split minix.mod into minix.mod and minix2.mod.
5318
5319 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
5320 * grub-core/Makefile.core.def (minix2): New module.
5321 * grub-core/fs/minix.c: Use definitions instead of runtime version
5322 checking.
5323 * grub-core/fs/minix2.c: New file.
5324
c0e53ea5
YB
53252010-09-08 Yves Blusseau <blusseau@zetam.org>
5326
5327 Add new --boot-directory option to replace --root-directory
5328
5329 * util/grub-install.in: Add new --boot-directory option
5330 * util/grub-reboot.in: Likewise.
5331 * util/grub-set-default.in: Likewise.
5332
b9fe6ea2
YB
53332010-09-08 Yves Blusseau <blusseau@zetam.org>
5334
5335 * util/grub-mkconfig.in: Use new variable.
5336
d87aedff
YB
53372010-09-08 Yves Blusseau <blusseau@zetam.org>
5338
5339 * configure.ac: Define some useful variables.
5340
e55e8495
VS
53412010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5344 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
5345 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
5346 Use terminfo and don't use cursor-on/cursor-off unless it's known
5347 to work.
5348 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
5349 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
5350
6fa6d675
CW
53512010-09-08 Colin Watson <cjwatson@ubuntu.com>
5352
5353 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
5354 starts with "(,", fill the drive containing the loaded image in
5355 between those two characters, but expect that a full partition
5356 specification including partition map names will follow.
5357
92f2aef0
RM
53582010-09-08 Robert Millan <rmh@gnu.org>
5359
5360 * configure.ac: Remove `--enable-grub-fstest' option.
5361 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
5362
5363 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
5364 `grub-fstest' instead of `grub-probe' for readability verification.
5365 * util/grub-probe.c (probe): Remove readability verification kludge.
5366
99fd620d
RM
53672010-09-08 Robert Millan <rmh@gnu.org>
5368
5369 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
5370 initializing `GRUB_FS'.
5371
058e30ac 53722010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
5373
5374 Not command (!) support to GRUB script.
5375
5376 * tests/grub_script_not.in: New test.
5377 * Makefile.util.def: Rules for new test.
5378
5379 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5380 ! command as a special case.
5381 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
5382
b61d05ed 53832010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
5384
058e30ac 5385 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
5386 grub_free.
b61d05ed 5387
4d69c786 53882010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
5389
5390 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
5391
aa3119c4 53922010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
5393
5394 * docs/grub.texi (Shell-like scripting): Documentation for break,
5395 continue, shift and return commands.
5396
db0f7e3d
VS
53972010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 Rename CD-ROM to cd on BIOS.
5400
5401 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
5402 "cd".
5403 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
5404
88b87c93
VS
54052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
5408 * util/grub-probe.c (main): Likewise.
5409 * util/i386/pc/grub-setup.c (main): Likewise.
5410 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
5411 Reported and debugged by: alexxy
5412
294f324d
VS
54132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
5416 diagnostic info.
5417
d7ee3441
JS
54182010-09-05 Jo Shields <directhex@apebox.org>
5419
5420 * util/grub.d/30_os-prober.in: Add missing classes.
5421
d7e06c1f
VS
54222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * docs/grub.texi (Theme file format): Document new position format.
5425
fc157e53
VS
54262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
5429 a table. Use @code instead of @verbatim.
5430
506e9a1c
CB
54312010-09-05 Colin D Bennett <colin@gibibit.com>
5432
5433 Gfxmenu documentation.
5434
5435 * docs/grub.texi (Theme file format): New chapter.
5436
f0aff67c
SJ
54372010-09-05 Szymon Janc <szymon@janc.net.pl>
5438
5439 * grub-core/Makefile.core.def (xzio): New module.
5440 * grub-core/io/xzio.c: New file.
5441 * grub-core/lib/xzembed/xz.h: New file (from xembed).
5442 * grub-core/lib/xzembed/xz_config.h: Likewise.
5443 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
5444 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
5445 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
5446 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
5447 * grub-core/lib/xzembed/xz_private.h: Likewise.
5448 * grub-core/lib/xzembed/xz_stream.h: Likewise.
5449 * include/grub/file.h (grub_file_filter_id): New compression filter
5450 GRUB_FILE_FILTER_XZIO.
5451
82a85062
VS
54522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
5455 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
5456 size.
5457
3579415d
VS
54582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
5461 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
5462
5124ae6d
VS
54632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5464
5465 Uncompressed checksum support.
5466
5467 * grub-core/commands/hashsum.c (options): Add option --uncompress.
5468 (check_list): New parameter uncompress.
5469 (grub_cmd_hashsum): Handle --uncompress.
5470
9aadb3d1
VS
54712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 Reintroduce testload.
5474
5475 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
5476 from here ...
5477 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
5478 (GRUB_MOD_INIT): New function.
5479 (GRUB_MOD_FINI): Likewise.
5480 * grub-core/Makefile.core.def (testload): New module.
5481
a17792c3
SJ
54822010-09-05 Szymon Janc <szymon@janc.net.pl>
5483
5484 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
5485 (uint8_t): New type.
5486 (uint16_t): Likewise.
5487 (uint32_t): Likewise.
5488 (uint64_t): Likewise.
5489
b81e40a3
SJ
54902010-09-05 Szymon Janc <szymon@janc.net.pl>
5491
5492 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
5493
fc2ef117
VS
54942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
5497 Made static.
5498 (grub_gzfile_open): Removed. All users updated.
5499 (GRUB_MOD_INIT): New function.
5500 (GRUB_MOD_FINI): Likewise.
5501 * grub-core/kern/file.c (grub_file_filters_all): New variable.
5502 (grub_file_filters_enabled): Likewise.
5503 (grub_file_open): Handle filters.
5504 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
5505 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
5506 * include/grub/file.h (grub_file_filter_id_t): New type.
5507 (grub_file_filter_t): Likewise.
5508 (grub_file_filters_all): New extern variable.
5509 (grub_file_filters_enabled): Likewise.
5510 (grub_file_filter_register): New inline function.
5511 (grub_file_filter_unregister): Likewise.
5512 (grub_file_filter_disable): Likewise.
5513 (grub_file_filter_disable_compression): Likewise.
5514 * include/grub/gzio.h: Removed.
5515
35ee15e0
BC
55162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5517
5518 Filename expansion support for wildcards in GRUB script.
5519
5520 * tests/grub_script_expansion.in: New test.
5521 * Makefile.util.def: Rule for new test.
5522
5523 * grub-core/commands/wildcard.c: New file, implements filename
5524 expansion support for GRUB script.
5525 * grub-core/Makefile.core.def: Rule update for regexp.mod.
5526 * grub-core/script/argv.c: Cosmetic changes.
5527 * grub-core/script/execute.c (grub_script_arglist_to_argv):
5528 Refactored to perform wildcard expansion on arguments.
5529 * include/grub/script_sh.h (grub_script_wildcard_translator): New
5530 struct.
5531
5532 * tests/util/grub-shell.in: Fix quoting for read input.
5533
5f0c4aca
BC
55342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5535
5536 Support for updating environment variables with matched substrings
5537 of regexp.
5538
5539 * tests/grub_cmd_regexp.in: New test.
5540 * Makefile.util.def: Rule for new test.
5541
5542 * grub-core/commands/regexp.c: New option -s to update environment
5543 variables with regexp matches.
5544
3759a35f
SJ
55452010-09-04 Szymon Janc <szymon@janc.net.pl>
5546
5547 * include/grub/file.h (grub_file): New member not_easly_seekable.
5548 (grub_file_seekable): New inline function.
5549 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
5550 easily seekable.
5551 (grub_gzio_open): Set not_easly_seekable.
5552 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
5553 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
5554
ed8c6dec
BC
55552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5556
5557 Support for options to appear multiple times on cmdline.
5558
5559 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
5560 * grub-core/commands/extcmd.c: Support for repeatable option.
5561 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
5562 repeatable option support.
5563
5564 Refactor menuentry into a regular command.
5565
5566 * grub-core/commands/menuentry.c: New file, menuentry command
5567 implementation.
5568 * grub-core/Makefile.core.def: Rule update for normal.mod.
5569 * grub-core/normal/main.c: Moved menuentry creation to
5570 grub-core/commands/menuentry.c.
5571 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
5572 (grub_menu_execute_entry_real): Removed.
5573 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
5574 function.
5575 (grub_script_execute_menuentry): Removed.
5576 * grub-core/script/parser.y (menuentry): Removed.
5577 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
5578 * grub-core/script/yylex.l (menuentry): Removed.
5579 * include/grub/menu.h (grub_menu_init): New prototype.
5580 (grub_menu_fini): New prototype.
5581 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
5582 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
5583 (grub_script_execute_sourcecode): New prototype.
5584
dacd0cf0
BC
55852010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5586
5587 "return" command for GRUB script functions.
5588
5589 * tests/grub_script_return.in: New test.
5590 * Makefile.util.def: Rules for new test.
5591
5592 * grub-core/script/execute.c (grub_script_return): New function.
5593 * grub-core/script/main.c: Register/unregister return commaond.
5594 * include/grub/script_sh.h (grub_script_return): New prototype.
5595
52e72f9d
BC
55962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5597
5598 "setparams" command to update positional parameters.
5599
5600 * tests/grub_script_setparams.in: New test.
5601 * Makefile.util.def: Rules for new test.
5602
5603 * grub-core/script/argv.c (grub_script_argv_make): New function.
5604 * grub-core/script/execute.c (replace_scope): New function.
5605 (grub_script_setparams): New function.
5606 * grub-core/script/lexer.c: Remove unused variables.
5607 * grub-core/script/main.c: Register/unregister setparams command.
5608 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
5609 (grub_script_setparams): New prototype.
5610
25b60c91
BC
56112010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5612
5613 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
5614 grub_free order.
5615
37e7bf68
BC
56162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5617
5618 Support for passing block of commands as an argument to extcmds.
5619
5620 * Makefile.util.def: Rules for new test.
5621 * tests/grub_script_blockarg.in: New test.
5622 * grub-core/tests/test_blockarg.c: New file, block argument
5623 command used in the test.
5624
5625 * include/grub/extcmd.h (grub_extcmd_context): New struct.
5626 (grub_register_extcmd_prio): New function prototype.
5627 (grub_extcmd_dispatcher): New function prototype.
5628 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
5629 type.
5630 * include/grub/script_sh.h (struct grub_script): New members
5631 `children', `next_siblings' and `refcnt' for block arguments and
5632 reference counting.
5633 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
5634 (grub_script_arg): New member `script' for block argument.
5635 (grub_script_argv): New member `script' for block argument.
5636 (grub_parser_param): New member `scripts' for block argument.
5637 (grub_script_mem_free): New extern function prototype.
5638 (grub_script_ref): New function prototype.
5639 (grub_script_unref): New function prototype.
5640
5641 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
5642 extcmd form to support block arguments.
5643 * grub-core/script/argv.c: Block arguments support.
5644 * grub-core/script/execute.c: Likewise.
5645 * grub-core/script/lexer.c: Likewise.
5646 * grub-core/script/main.c: Likewise.
5647 * grub-core/script/script.c: Likewise.
5648 * grub-core/script/parser.y: Likewise. New `block' and `block0'
5649 non-terminals.
5650
5651 * grub-core/commands/acpi.c: Update extcmd implementations with
5652 grub_extcmd_context_t.
5653 * grub-core/commands/cat.c: Likewise.
5654 * grub-core/commands/echo.c: Likewise.
5655 * grub-core/commands/extcmd.c: Likewise.
5656 * grub-core/commands/hashsum.c: Likewise.
5657 * grub-core/commands/hdparm.c: Likewise.
5658 * grub-core/commands/help.c: Likewise.
5659 * grub-core/commands/hexdump.c: Likewise.
5660 * grub-core/commands/i386/cpuid.c: Likewise.
5661 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5662 * grub-core/commands/i386/pc/halt.c: Likewise.
5663 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5664 * grub-core/commands/iorw.c: Likewise.
5665 * grub-core/commands/keystatus.c: Likewise.
5666 * grub-core/commands/loadenv.c: Likewise.
5667 * grub-core/commands/ls.c: Likewise.
5668 * grub-core/commands/lspci.c: Likewise.
5669 * grub-core/commands/memrw.c: Likewise.
5670 * grub-core/commands/probe.c: Likewise.
5671 * grub-core/commands/search_wrap.c: Likewise.
5672 * grub-core/commands/setpci.c: Likewise.
5673 * grub-core/commands/sleep.c: Likewise.
5674 * grub-core/disk/loopback.c: Likewise.
5675 * grub-core/hello/hello.c: Likewise.
5676 * grub-core/loader/i386/bsd.c: Likewise.
5677 * grub-core/loader/xnu.c: Likewise.
5678 * grub-core/term/gfxterm.c: Likewise.
5679 * grub-core/term/serial.c: Likewise.
5680 * grub-core/tests/lib/functional_test.c: Likewise.
5681
888d1500
BC
56822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
5683
5684 Multi-line quoted strings support.
5685
5686 * grub-core/script/lexer.c (append_newline): Removed.
5687 (grub_script_lexer_yywrap): Refactored.
5688 (grub_script_lexer_init): Refactored.
5689 * grub-core/script/yylex.l (yywrap): New function.
5690 (grub_lexer_resplit): New function.
5691 (grub_lexer_unput): New function.
5692 * include/grub/script_sh.h (grub_lexer_param): New members, unput
5693 and resplit.
5694 * tests/grub_script_echo1.in: Added few more testcases.
5695
dda060dd
VS
56962010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 * grub-core/kern/misc.c: Don't add abort alias in utils.
5699 Reported by: echoline.
5700
6556eba9
BC
57012010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
5702
5703 Add missing files into "make dist" tarball for other platforms.
5704
5705 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
5706 * conf/Makefile.common (dist_noinst_DATA): New variable.
5707 * conf/Makefile.extra-dist: Added missing make dist files.
5708 * grub-core/Makefile.core.def: Likewise.
5709
c8e7bf5f
VS
57102010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 Compress grub_prefix.
5713
5714 * grub-core/boot/i386/pc/lnxboot.S: Use
5715 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
5716 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
5717 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
5718 GRUB_MACHINE_PREFIX_END. All users updated.
5719 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
5720 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
5721 + 0x40.
5722 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
5723 * util/grub-mkimage.c (image_target_desc): Change data_end to
5724 prefix_end. All users updated.
5725
a7c00cdb
VS
57262010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
5729 value.
5730 (grub_openbsd_boot): Likewise.
5731 (grub_netbsd_boot): Likewise.
5732 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
5733 (grub_xnu_boot): Likewise.
5734
9f915872
VS
57352010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5736
5737 * configure.ac: Clean LIBS variable after tests.
5738
efa1bee7
CW
57392010-09-02 Colin Watson <cjwatson@ubuntu.com>
5740
5741 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
5742
61d720e5
VS
57432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
5746 echo if libdevmapper will be used.
5747
ef8e0ec8
IT
57482010-09-02 Ian Turner <Ian.Turner@deshaw.com>
5749
5750 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
5751 constant for the same file.
5752
03e261d8
VS
57532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
5756
c2a4eba6
CW
57572010-09-02 Colin Watson <cjwatson@ubuntu.com>
5758
5759 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
5760 grub-core/*.pp.
5761
9056cbf3
CW
57622010-09-02 Colin Watson <cjwatson@ubuntu.com>
5763
5764 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
5765 required by the boot protocol.
5766
5767 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
5768 ebp and edi members.
5769 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
5770 state.ebp and state.edi.
5771 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
5772 %ebp and %edi according to grub_relocator32_ebp and
5773 grub_relocator32_edi respectively.
5774 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
5775 and state.edi.
5776
529cc99a
VS
57772010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 Add i386-pc-pxe image target.
5780
5781 * util/grub-mkimage.c (image_target_desc): New enum value
5782 IMAGE_I386_PC_PXE.
5783 (image_targets): New target i386-pc-pxe.
5784 (generate_image): Handle i386-pc-pxe image.
5785
9a093920
VS
57862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 Fix grub_pxe_scan.
5789
5790 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
5791 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
5792 All users updated.
5793 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
5794 (grub_pxe_pxenv): Correct type.
5795
f9cefc4e
CW
57962010-09-01 Colin Watson <cjwatson@ubuntu.com>
5797
5798 * NEWS: Document most of the important changes since 1.98.
5799
4066f57f
CW
58002010-09-01 Colin Watson <cjwatson@ubuntu.com>
5801
5802 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
5803 generated manual page) a little.
5804
da2891f9
CW
58052010-09-01 Colin Watson <cjwatson@ubuntu.com>
5806
5807 * docs/grub.texi: Add myself as an author.
5808
ad717fae
VS
58092010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 * Makefile.util.def (libgrub.a): Add missing sunpc.
5812 Reported by: Seth Goldberg.
5813
eefe8abd
VS
58142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 Interrupt wrapping and code simplifications.
5817
9494ef9a
VS
5818 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
5819 x86_noieee1275 which are functionaly equivalent in this case.
5820 (grub-install): Make source on each platform explicit. Enable on
5821 all noemu.
5822 * gentpl.py (x86_efi_pc): Removed group.
5823 (x86_noefi): Likewise.
5824 (i386_noefi): Likewise.
5825 (x86_noieee1275): Likewise.
5826 (i386_noieee1275): Likewise.
5827 (i386_noefi_noieee1275): Likewise.
5828 (i386_pc_qemu_coreboot): Likewise.
5829 (i386_coreboot_multiboot): Likewise.
5830 (i386_pc_coreboot_multiboot_qemu): Likewise.
5831 (x86_noefi_mips): Likewise.
5832 (noieee1275): Likewise.
5833 (ieee1275_mips): Likewise.
5834 (noemu_noieee1275): Likewise.
5835 (cmos): New group.
5836 (usb): Likewise.
5837 (videoinkernel): Likewise.
5838 (videomodules): Likewise.
eefe8abd 5839 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
5840 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
5841 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
5842 include/grub/loader.h, include/grub/msdos_partition.h,
5843 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
5844 include/grub/machine/console.h, include/grub/machine/vga.h,
5845 include/grub/machine/vbe.h, include/grub/machine/init.h,
5846 include/grub/machine/kernel.h, include/grub/cpu/time.h,
5847 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 5848 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
5849 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
5850 * grub-core/Makefile.core.def (kernel): Explicit the source for
5851 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
5852 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
5853 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
5854 Use videoinkernel tag.
5855 (usb): Enable on all usb.
5856 (usbserial_common): Likewise.
5857 (usbserial_pl2303): Likewise.
5858 (usbserial_ftdi): Likewise.
5859 (uhci): Enable on all x86.
5860 (ohci): Enable on all pci.
5861 (cmostest): Enable on all CMOS.
5862 (acpi): Include commands/acpi.c on all platforms.
5863 (halt): Add relevant lib/*/halt.c.
5864 (hdparm): Enable on all pci.
5865 (lspci): Likewise.
5866 (usbtest): Enable on all usb.
5867 (ata): Enable on all pci.
5868 (ata_pthru): Likewise.
5869 (usbms): Enable on all usb.
5870 (usb_keyboard): Likewise.
5871 (font): Use tag videomodules.
5872 (bufio): Likewise.
5873 (datetime): Use tag cmos. Enable on all noemu.
5874 (mmap): Use tags common and x86.
5875 (gfxterm): Use tag videomodules.
5876 (bitmap): Likewise.
5877 (bitmap_scale): Likewise.
5878 (video_fb): Likewise.
5879 (video): Likewise.
5880 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
5881 adjust padding accordingly. All users updated.
5882 (grub_ohci_transaction): Fix bad format specification.
5883 (GRUB_MOD_INIT): Add asserts for struct size.
5884 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
5885 (grub_alloc_td): Likewise.
5886 (grub_free_queue): Likewise.
5887 (grub_uhci_transfer): Likewise.
5888 (grub_uhci_transaction): Fix bad format specification.
5889 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
5890 (grub_usb_bulk_readwrite): Likewise.
5891 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
5892 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
5893 Made static.
5894 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
5895 Made static.
5896 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
5897 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
5898 Transformed into C.
5899 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
5900 Moved from here ...
5901 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
5902 ... here. Transformed into C. Made static.
5903 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
5904 Moved from here ...
5905 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
5906 ... here. Transformed into C. Made static.
5907 * grub-core/kern/i386/pc/startup.S
5908 (grub_biosdisk_check_int13_extensions): Moved from here ...
5909 * grub-core/disk/i386/pc/biosdisk.c
5910 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
5911 Made static.
5912 * grub-core/kern/i386/pc/startup.S
5913 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
5914 * grub-core/disk/i386/pc/biosdisk.c
5915 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
5916 Transformed into C. Made static.
5917 * grub-core/kern/i386/pc/startup.S
5918 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
5919 * grub-core/disk/i386/pc/biosdisk.c
5920 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
5921 Transformed into C. Made static.
5922 * grub-core/kern/i386/pc/startup.S
5923 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
5924 * grub-core/disk/i386/pc/biosdisk.c
5925 (grub_biosdisk_get_diskinfo_standard): ... here.
5926 Transformed into C. Made static.
5927 * grub-core/kern/i386/pc/startup.S
5928 (grub_biosdisk_get_num_floppies): Moved from here ...
5929 * grub-core/disk/i386/pc/biosdisk.c
5930 (grub_biosdisk_get_num_floppies): ... here.
5931 Transformed into C. Made static.
5932 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
5933 New function.
5934 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
5935 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
5936 Transformed into C. Made static.
5937 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
5938 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
5939 Transformed into C. Made static.
5940 * grub-core/kern/i386/ieee1275/init.c: Removed.
5941 * grub-core/kern/i386/misc.S: Likewise.
5942 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
5943 Splitted from here ...
5944 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
5945 Transformed into C. Made static. All users updated.
5946 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
5947 Transformed into C. Made static. All users updated.
5948 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
5949 Moved from here...
5950 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
5951 Transformed into C. Made static. All users updated.
5952 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
5953 Moved from here...
5954 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
5955 Transformed into C. Made static. All users updated.
5956 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
5957 Removed (replaced by C version).
5958 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
5959 Moved from here...
5960 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
5961 Transformed into C. Made static.
5962 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
5963 Moved from here...
5964 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
5965 ... here. Transformed into C.
5966 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
5967 Moved from here...
5968 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
5969 ... here. Transformed into C.
5970 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
5971 Moved from here...
5972 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
5973 ... here. Transformed into C. Made static.
5974 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
5975 Moved from here...
5976 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
5977 ... here. Transformed into C.
21ed554b
VS
5978 * grub-core/kern/i386/pc/startup.S
5979 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
5980 * grub-core/video/i386/pc/vbe.c
5981 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
5982 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
5983 Moved from here...
5984 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
5985 ... here. Transformed into C.
5986 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
5987 Moved from here...
5988 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
5989 ... here. Transformed into C.
5990 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
5991 Moved from here...
5992 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
5993 ... here. Transformed into C.
5994 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
5995 Moved from here...
5996 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
5997 ... here. Transformed into C.
5998 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
5999 Moved from here...
6000 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
6001 ... here. Transformed into C. Made static.
6002 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
6003 Moved from here...
6004 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
6005 ... here. Transformed into C. Made static.
6006 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
6007 Moved from here...
6008 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
6009 ... here. Transformed into C. Made static.
6010 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
6011 pxe_rm_entry as third argument.
6012 (grub_bios_interrupt): New function.
6013 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
6014 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
6015 of calling grub_stop.
6016 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
6017 * grub-core/lib/efi/halt.c (grub_halt): ...here.
6018 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
6019 * grub-core/lib/emu/halt.c (grub_halt): ... here.
6020 * grub-core/lib/i386/halt.c: Moved from here ...
6021 * grub-core/lib/i386/halt.c: ... here.
6022 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
6023 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
6024 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
6025 grub_stop_floppy.
6026 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
6027 * include/grub/i386/coreboot/init.h: Removed.
6028 * include/grub/i386/multiboot/init.h: Likewise.
6029 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
6030 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
6031 * include/grub/i386/pc/int.h: New file.
6032 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
6033 (grub_pxe_scan): Removed.
6034 (grub_pxe_call): Update prototype.
6035 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
6036 prototypes.
6037 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
6038 * include/grub/i386/qemu/init.h: Removed.
6039 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
6040 noreturn.
6041 (grub_halt): Likewise.
6042 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
6043 (grub_reboot): Likewise.
6044 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
6045 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
6046 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
6047
215dd471
RM
60482010-08-30 Robert Millan <rmh@gnu.org>
6049
6050 * NEWS: Document addition of ZFS support in `grub-install' and
6051 `grub-mkconfig'.
6052
ebd65b82
BC
60532010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
6054
6055 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
6056 dprintf output.
6057
11721d19
VS
60582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 Remove leftover embedding of font objects.
6061
6062 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
6063 * util/grub-install.in (font): Removed.
6064 * util/grub-mkimage.c (generate_image): Remove font support. All users
6065 updated.
6066
37837d4e
VS
60672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 Remove leftover embedding of font objects.
6070
6071 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
6072 * util/grub-install.in (font): Removed.
6073 * util/grub-mkimage.c (generate_image): Remove font support. All users
6074 updated.
6075
b4c1aae0
VS
60762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 6079 Reported by: Ian Turner
b4c1aae0 6080
8920a08d
VS
60812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
6084 timeout to avoid indefinite boot stalling.
6085
f21db033
VS
60862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
6089 (grub_env_write_color_highlight): Likewise.
6090
9a9de209
VS
60912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * grub-core/normal/term.c (print_more): Return to normal and not
6094 to standard state after printing "---MORE---".
6095
3dca01d7
VS
60962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6097
6098 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
6099 Mask out the bit 0x80 since it has other meaning that specifiing color.
6100
0b986c40
VS
61012010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 New relocator. Allows for more kernel support and more straightforward
6104 loader writing.
6105
6106 * Makefile.am (BOOTTARGET): New variable.
6107 (QEMU32): Likewise.
6108 (linux.init.x86_64): New target.
6109 (linux.init.i386): Likewise.
6110 (multiboot.elf): Likewise.
6111 (kfreebsd.elf): Likewise.
6112 (kfreebsd.aout): Likewise.
6113 (pc-chainloader.elf): Likewise.
6114 (pc-chainloader.bin): Likewise.
6115 (ntldr.elf): Likewise.
6116 (ntldr.bin): Likewise.
6117 (multiboot2.elf): Likewise.
6118 (kfreebsd.init.x86_64): Likewise.
6119 (kfreebsd.init.i386): Likewise.
6120 (knetbsd.init.i386): Likewise.
6121 (kopenbsd.init.i386): Likewise.
6122 (knetbsd.init.x86_64): Likewise.
6123 (kopenbsd.init.x86_64): Likewise.
6124 (linux-initramfs.i386): Likewise.
6125 (linux-initramfs.x86_64): Likewise.
6126 (kfreebsd-mfsroot.i386.img): Likewise.
6127 (knetbsd.image.i386): Likewise.
6128 (kopenbsd.image.i386): Likewise.
6129 (kopenbsd.image.x86_64): Likewise.
6130 (knetbsd.miniroot-image.i386.img): Likewise.
6131 (kfreebsd-mfsroot.x86_64.img): Likewise.
6132 (knetbsd.image.x86_64): Likewise.
6133 (knetbsd.miniroot-image.x86_64.img): Likewise.
6134 (kfreebsd-mfsroot.i386.gz): Likewise.
6135 (bootcheck-kfreebsd-i386): Likewise.
6136 (kfreebsd-mfsroot.x86_64.gz): Likewise.
6137 (bootcheck-kfreebsd-x86_64): Likewise.
6138 (knetbsd.miniroot-image.i386.gz): Likewise.
6139 (bootcheck-knetbsd-i386): Likewise.
6140 (bootcheck-kopenbsd-i386): Likewise.
6141 (bootcheck-kopenbsd-x86_64): Likewise.
6142 (knetbsd.miniroot-image.x86_64.gz): Likewise.
6143 (bootcheck-knetbsd-x86_64): Likewise.
6144 (bootcheck-linux-i386): Likewise.
6145 (bootcheck-linux-x86_64): Likewise.
6146 (bootcheck-linux16-i386): Likewise.
6147 (bootcheck-linux16-x86_64): Likewise.
6148 (bootcheck-multiboot): Likewise.
6149 (bootcheck-multiboot2): Likewise.
6150 (bootcheck-kfreebsd-aout): Likewise.
6151 (bootcheck-pc-chainloader): Likewise.
6152 (bootcheck-ntldr): Likewise.
6153 (CLEANFILES): Add new targets.
6154 (BOOTCHECKS): New variable.
6155 (.PHONY): Add bootchecks.
6156 (SUCCESSFUL_BOOT_STRING): New variable.
6157 (BOOTCHECK_TIMEOUT): Likewise.
6158 (bootcheck): New target
6159 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
6160 * configure.ac: Correct efiemu excuse.
6161 * docs/grub.texi (Supported kernels): New chapter.
6162 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
6163 include/grub/mm_private.h. Simplify inclusion of
6164 include/grub/boot.h, include/grub/loader.h
6165 and include/grub/msdos_partition.h
6166 (KERNEL_HEADER_FILES) [i386_coreboot]:
6167 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
6168 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
6169 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
6170 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
6171 include/grub/machine/loader.h.
6172 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
6173 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
6174 extra_dist.
6175 (pci.mod): Enable on i386-multiboot.
6176 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
6177 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
6178 i386-qemu.
6179 (relocator.mod): Rewritten.
6180 (aout.mod): Enable on all x86.
6181 (bsd.mod): Likewise.
6182 (ntldr.mod): New module.
6183 (linux.mod): Use loader/i386/linux.c on all x86.
6184 (xnu.mod): Enable on all x86.
6185 (vga_text.mod): disable on EFI and QEMU.
6186 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
6187 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
6188 * grub-core/efiemu/loadcore.c: Likewise.
6189 * grub-core/efiemu/main.c: Likewise.
6190 (grub_efiemu_exit_boot_services): Removed.
6191 (grub_efiemu_finish_boot_services): Likewise.
6192 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
6193 function.
6194 * grub-core/efiemu/i386/nocfgtables.c: New file.
6195 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
6196 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
6197 (grub_efi_finish_boot_services): Moved from here ...
6198 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
6199 Fille finish memory map and related data.
6200 (finish_mmap_buf): New variable.
6201 (grub_efi_uintn_t finish_mmap_size): Likewise.
6202 (grub_efi_uintn_t finish_key): Likewise.
6203 (grub_efi_uintn_t finish_desc_size): Likewise.
6204 (grub_efi_uint32_t finish_desc_version): Likewise.
6205 (grub_efi_is_finished): Likewise.
6206 (grub_efi_get_memory_map): Use saved memory map if EFI is already
6207 finished.
6208 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
6209 (grub_elf64_phdr_iterate): Likewise.
6210 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
6211 (grub_os_area_size): Likewise.
6212 (grub_machine_init): Don't reserve os area.
6213 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
6214 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6215 * grub-core/kern/i386/loader.S: Removed.
6216 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
6217 (grub_os_area_size): Likewise.
6218 (grub_machine_init): Don't reserve os area.
6219 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
6220 Don't call grub_dl_unload_all.
6221 Don't include loader.S.
6222 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
6223 Declare the memory after _end as available.
6224 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 6225 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 6226 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
6227 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
6228 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
6229 * include/grub/mm_private.h (grub_mm_header): ... here.
6230 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
6231 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
6232 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
6233 (grub_mm_region): ..here. Removed addr. Added pre_size.
6234 All users updated.
6235 * grub-core/kern/mm.c (base): Renamed to ...
6236 (grub_mm_base): ... this. Made global.
6237 (grub_real_malloc): Alloc from end of region.
6238 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
6239 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
6240 * grub-core/kern/powerpc/cache_flush.S: ... here.
6241 * grub-core/lib/efi/relocator.c: New file.
6242 * grub-core/lib/i386/relocator.c: Rewritten.
6243 * grub-core/lib/i386/relocator16.S: New file.
6244 * grub-core/lib/i386/relocator32.S: Likewise.
6245 * grub-core/lib/i386/relocator64.S: Likewise.
6246 * grub-core/lib/i386/relocator_asm.S: Rewritten.
6247 * grub-core/lib/i386/relocator_common.S: New file.
6248 * grub-core/lib/ieee1275/relocator.c: Likewise.
6249 * grub-core/lib/mips/relocator.c: Rewritten.
6250 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
6251 stylistic adjustments.
6252 * grub-core/lib/powerpc/relocator.c: New file.
6253 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
6254 * grub-core/lib/relocator.c: Rewritten.
6255 * grub-core/lib/x86_64/relocator_asm.S: New file.
6256 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
6257 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
6258 (bsd_tag): New struct.
6259 (tags): New variable.
6260 (tags_last): Likewise.
6261 (netbsd_module): New struct.
6262 (netbsd_mods): New variable.
6263 (netbsd_mods_last): Likewise.
6264 (openbsd_opts): New parameter "serial".
6265 (OPENBSD_SERIAL_ARG): New definition.
6266 (netbsd_opts): New parameter "serial".
6267 (NETBSD_SERIAL_ARG): New definition.
6268 (grub_freebsd_add_meta): Reorganised into ...
6269 (grub_bsd_add_meta): ...this. All users updated.
6270 (grub_freebsd_add_mmap): Reorganised into ...
6271 (generate_e820_mmap): ...this...
6272 (grub_bsd_add_mmap): ...and this. All users updated.
6273 (grub_freebsd_list_modules): Use tags.
6274 (grub_netbsd_add_meta_module): New function.
6275 (grub_netbsd_list_modules): Likewise.
6276 (grub_freebsd_boot): Use relocator and finish EFI.
6277 (grub_openbsd_boot): Likewise.
6278 (grub_netbsd_setup_video): New function.
6279 (grub_netbsd_add_modules): Likewise.
6280 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
6281 and finish EFI.
6282 (grub_bsd_unload): Unload tags.
6283 (grub_bsd_load_aout): Use relocator.
6284 (grub_bsd_elf32_size_hook): New function.
6285 (grub_bsd_elf32_hook): Use relocator.
6286 (grub_bsd_elf64_size_hook): New function.
6287 (grub_bsd_elf64_hook): Use relocator.
6288 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
6289 (grub_bsd_load): Zero-out openbsd_ramdisk.
6290 (grub_bsd_load): Use relocator.
6291 (grub_cmd_openbsd): Support serial.
6292 (grub_cmd_netbsd): Support modules.
6293 (grub_cmd_freebsd_module): Use relocator.
6294 (grub_netbsd_module_load): New function.
6295 (grub_cmd_netbsd_module): Likewise.
6296 (grub_cmd_openbsd_ramdisk): Likewise.
6297 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
6298 kopenbsd_ramdisk.
6299 (GRUB_MOD_FINI): Unregister new commands.
6300 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
6301 (grub_freebsd_load_elfmodule_obj): Use relocator.
6302 (grub_freebsd_load_elfmodule): Likewise.
6303 (grub_freebsd_load_elf_meta): Likewise.
6304 (grub_netbsd_load_elf_meta): New function.
6305 (grub_openbsd_find_ramdisk): Likewise.
6306 * grub-core/loader/i386/bsd_helper.S: Removed.
6307 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
6308 * grub-core/loader/i386/bsd_trampoline.S: Removed.
6309 * grub-core/loader/i386/efi/linux.c: Likewise.
6310 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
6311 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
6312 (DEFAULT_VIDEO_MODE): Likewise.
6313 (real_mode_target): New variable.
6314 (prot_mode_target): Likewise.
6315 (initrd_mem_target): Likewise.
6316 (relocator): Likewise.
6317 (efi_mmap_buf): Likewise.
6318 (efi_mmap_size): Likewise.
6319 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
6320 (free_pages): Use relocator.
6321 (allocate_pages): Account for efi_mmap and use relocator. Return error.
6322 (grub_linux_setup_video): Return error.
6323 (grub_linux_trampoline_start): Removed.
6324 (grub_linux_trampoline_end): Likewise.
6325 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
6326 andd video parameters depending on firmware.
6327 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
6328 [GRUB_MACHINE_EFI]: Pass EFI parameters.
6329 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
6330 (grub_cmd_initrd): Use relocator.
6331 * grub-core/loader/i386/linux_trampoline.S: Removed.
6332 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
6333 (elf_sec_entsize): Likewise.
6334 (elf_sec_shstrndx): Likewise.
6335 (elf_sections): Likewise.
6336 (grub_multiboot_load): Use relocator.
6337 (grub_multiboot_get_mbi_size): Account for sections.
6338 (grub_multiboot_make_mbi): Use relocator and support sections.
6339 (grub_multiboot_add_elfsyms): New function.
6340 (grub_multiboot_free_mbi): Free sections.
6341 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
6342 (grub_linux_real_target): Likewise.
6343 (grub_linux_real_chunk): Likewise.
6344 (grub_linux16_prot_size): Likewise.
6345 (grub_linux16_boot): Use relocator.
6346 (grub_linux_unload): Unload relocator.
6347 (grub_cmd_linux): Use relocator.
6348 (grub_cmd_initrd): Likewise.
6349 * grub-core/loader/i386/pc/ntldr.c: New file.
6350 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
6351 Don't try to guess CPU frequency.
6352 (grub_xnu_set_video): Stretch bitmap.
6353 (grub_xnu_boot): Use relocator.
6354 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
6355 (grub_linux_unload): Free relocator.
6356 (grub_linux_load32): Use relocator.
6357 (grub_linux_load64): Likewise.
6358 (grub_cmd_initrd): Likewise.
6359 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
6360 (grub_multiboot_unload): Unload relocator.
6361 (grub_cmd_multiboot): Use relocator.
6362 (grub_cmd_module): Likewise.
6363 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
6364 Use relocator and support sections.
6365 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
6366 (elf_sec_entsize): Likewise.
6367 (elf_sec_shstrndx): Likewise.
6368 (elf_sections): Likewise.
6369 (grub_multiboot_load): Use relocator.
6370 (grub_multiboot_get_mbi_size): Account for sections.
6371 (grub_multiboot_make_mbi): Use relocator and support sections.
6372 (grub_multiboot_add_elfsyms): New function.
6373 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
6374 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
6375 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
6376 Prototype changed. All users updated.
6377 (grub_xnu_align_heap): Simplified.
6378 (grub_xnu_writetree_toheap): Likewise.
6379 (grub_xnu_unload): Unload relocator.
6380 (grub_cmd_xnu_kernel): Use relocator.
6381 (grub_cmd_xnu_kernel64): Likewise.
6382 (grub_xnu_register_memory): Simplified.
6383 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
6384 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
6385 EFI is finished.
6386 (grub_console_checkkey): Likewise.
6387 (grub_console_getkey): Likewise.
6388 (grub_console_getwh): Likewise.
6389 (grub_console_getxy): Likewise.
6390 (grub_console_gotoxy): Likewise.
6391 (grub_console_cls): Likewise.
6392 (grub_console_setcolorstate): Likewise.
6393 (grub_console_setcursor): Likewise.
6394 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
6395 * grub-core/tests/boot/kbsd.init-i386.S: New file.
6396 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
6397 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
6398 * grub-core/tests/boot/kernel-8086.S: Likewise.
6399 * grub-core/tests/boot/kernel-i386.S: Likewise.
6400 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
6401 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
6402 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
6403 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
6404 * grub-core/tests/boot/knetbsd.cfg: Likewise.
6405 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
6406 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
6407 * grub-core/tests/boot/linux.cfg: Likewise.
6408 * grub-core/tests/boot/linux.init-i386.S: Likewise.
6409 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
6410 * grub-core/tests/boot/linux16.cfg: Likewise.
6411 * grub-core/tests/boot/multiboot.cfg: Likewise.
6412 * grub-core/tests/boot/multiboot2.cfg: Likewise.
6413 * grub-core/tests/boot/ntldr.cfg: Likewise.
6414 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
6415 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
6416 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
6417 New definition.
6418 * include/grub/dl.h (grub_dl_unload_all): Removed.
6419 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
6420 (grub_efi_finish_boot_services): Change prototype.
6421 (grub_efi_is_finished): New variable.
6422 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
6423 Changed prototype.
6424 (grub_efiemu_finish_boot_services): Removed.
6425 (grub_machine_efiemu_init_tables): New prototype.
6426 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
6427 (grub_elf64_phdr_iterate): Likewise.
6428 * include/grub/i386/bsd.h: Include relocator.h.
6429 (freebsd_tag_header): New struct.
6430 (grub_openbsd_bios_mmap): Removed.
6431 (grub_unix_real_boot): Removed.
6432 (grub_freebsd_load_elfmodule32): Changed prototype.
6433 (grub_freebsd_load_elfmodule_obj64): Likewise.
6434 (grub_freebsd_load_elf_meta32): Likewise.
6435 (grub_freebsd_load_elf_meta64): Likewise.
6436 (grub_freebsd_add_meta): Removed.
6437 (grub_netbsd_load_elf_meta32): New prototype.
6438 (grub_netbsd_load_elf_meta64): Likewise.
6439 (grub_bsd_add_meta): Likewise.
6440 (grub_openbsd_ramdisk_descriptor): New struct.
6441 (grub_openbsd_find_ramdisk32): New prototype.
6442 (grub_openbsd_find_ramdisk64): Likewise.
6443 * include/grub/i386/coreboot/loader.h: Removed.
6444 * include/grub/i386/efi/loader.h: Likewise.
6445 * include/grub/i386/ieee1275/loader.h: Likewise.
6446 * include/grub/i386/linux.h (linux_kernel_header): Change void *
6447 to grub_uint32_t.
6448 * include/grub/i386/loader.h: Removed.
6449 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
6450 value.
6451 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
6452 (grub_phys_addr_t): New type.
6453 (grub_vtop): New inline function.
6454 (grub_map_memory): Likewise.
6455 (grub_unmap_memory): Likewise.
6456 * include/grub/i386/multiboot/loader.h: Removed.
6457 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
6458 (NETBSD_BTINFO_CONSOLE): New definition.
6459 (NETBSD_BTINFO_SYMTAB): Likewise.
6460 (NETBSD_BTINFO_MODULES): Likewise.
6461 (NETBSD_BTINFO_FRAMEBUF): Likewise.
6462 (grub_netbsd_bootinfo): New struct.
6463 (grub_netbsd_btinfo_common): Use explicit bitsize.
6464 (grub_netbsd_btinfo_mmap_entry): Removed.
6465 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
6466 (grub_netbsd_btinfo_bootdisk): New struct.
6467 (grub_netbsd_btinfo_symtab): Likewise.
6468 (grub_netbsd_btinfo_serial): Likewise.
6469 (grub_netbsd_btinfo_modules): Likewise.
6470 (grub_netbsd_btinfo_framebuf): Likewise.
6471 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
6472 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
6473 Likewise.
6474 (grub_openbsd_bootargs): Use explicit bitsize.
6475 (grub_openbsd_bootarg_console): New struct.
6476 (GRUB_OPENBSD_COM_MAJOR): New definition.
6477 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
6478 * include/grub/i386/pc/efiemu.h: Removed.
6479 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
6480 * include/grub/i386/qemu/loader.h: Removed.
6481 * include/grub/i386/relocator.h: Rewritten.
6482 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
6483 * include/grub/mips/memory.h: New file.
6484 * include/grub/mips/multiboot.h: Rewritten.
6485 * include/grub/mips/relocator.h: Rewritten.
6486 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
6487 (grub_vtop): New function.
6488 (grub_map_memory): Likewise.
6489 (grub_unmap_memory): Likewise.
6490 * include/grub/misc.h (ALIGN_DOWN): New definition.
6491 * include/grub/mm.h (grub_mm_check_real): New proto.
6492 (GRUB_MM_CHECK): New definition.
6493 * include/grub/mm_private.h: New file.
6494 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
6495 (grub_multiboot_get_mbi_size): Removed.
6496 (grub_multiboot_make_mbi): Change prottype.
6497 (grub_multiboot_set_accepts_video): New proto.
6498 (grub_multiboot_add_elfsyms): Likewise.
6499 (grub_multiboot_payload_eip): New variable.
6500 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
6501 New prototype.
6502 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
6503 New definition.
6504 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
6505 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
6506 * include/grub/powerpc/ieee1275/loader.h: Removed.
6507 * include/grub/powerpc/memory.h: New file.
6508 * include/grub/powerpc/relocator.h: Likewise.
6509 * include/grub/relocator.h: Likewise.
6510 * include/grub/relocator_private.h: Likewise.
6511 * include/grub/sparc64/ieee1275/loader.h: Removed.
6512 * include/grub/x86_64/memory.h: New file.
6513 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
6514 (grub_xnu_heap_malloc): Likewise.
6515 (grub_xnu_heap_real_start): Removed.
6516 (grub_xnu_heap_start): Likewise.
6517 (grub_xnu_relocator): New variable.
6518 (grub_xnu_heap_target_start): Likewise.
6519 * tests/util/grub-shell.in: Support non-pc.
6520 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 6521
5303b85d
VS
65222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
6525 on malloc error.
6526 (grub_bidi_logical_to_visual): Check that malloc succeded.
6527 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
6528 puts.
6529 (grub_xputs_normal): Likewise.
6530
d768d159
VS
65312010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6532
6533 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
6534 extra_dist.
6535
65362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/efiemu/runtime/efiemu.sh: Removed.
6539
5bf84df4
VS
65402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
6543
3626810e
VS
65442010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
6547 dprintf.
6548
a7363f53
BC
65492010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
6550
6551 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
6552
902f75f6
VS
65532010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * grub-core/normal/term.c (print_more): Fix a memory leak.
6556 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
6557 (grub_xputs_normal): Likewise.
6558
3c707967
VS
65592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
6562 the begining of the string
6563
2053cc07
VS
65642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/script/script.c (grub_script_parse): Free parsed on
6567 failure.
6568
46422ebf
VS
65692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
6572 on failure.
6573
9e0fa3f6
VS
65742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
6577 return.
6578
3393cf16
VS
65792010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
6582 (scroll_up): Fix a memory leak.
6583
b17540cb
VS
65842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6585
6586 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
6587 errors.
6588
67140446
VS
65892010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 Handle USB pendrives exposed as floppies.
6592
6593 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
6594 floppy.
6595 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
6596 Check for partitions on all devices.
6597
e35e46fc
VS
65982010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
6601 (readkey): Likewise.
6602
d24c6190
BC
66032010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6604
6605 Multiple variable names support to "export" command.
6606
6607 * normal/context.c (grub_cmd_export): "export" command supports
6608 multiple variable names.
6609
04ddcc6a
ST
66102010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
6611
6612 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
6613 --target=drive output to Mach device name.
6614
0c8b61d8
BC
66152010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
6616
6617 New Automake based build system for GRUB.
6618
6619 * ABOUT-NLS: New file.
6620 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
6621 in Makefile.util.def file.
6622 * Makefile.util.def: New file. Autogen build definitions file for
6623 GRUB host utils.
6624 * conf/Makefile.common: New file. Common variables for GRUB host
6625 utils and target modules.
6626 * conf/Makefile.extra-dist: New file. Extra files for make dist.
6627 * docs/Makefile.am: New file. Automake file for docs.
6628 * gentpl.py: New file. Python script to generate Autogen
6629 template.
6630 * grub-core/Makefile.am: New file. GRUB target modules' rules
6631 that doesn't fit in Makefile.core.def file.
6632 * grub-core/Makefile.core.def: New file. Autogen build
6633 definitions file for GRUB target modules.
6634 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
6635 specific setjmp.S file.
6636 * po/Makefile.am: New file.
6637
6638 * .bzrignore: New ignores.
6639 * INSTALL: New requirements, without Ruby.
6640 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
6641 * autogen.sh: Updated to invoke autogen as necessary.
6642 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
6643 and defines for Automake conditionals.
6644 * geninit.sh: Refactoring.
6645
6646 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
6647 necessary.
6648 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
6649 New prototype.
6650
6651 * include/grub/test.h: Fix functional test modules' naming.
6652 * grub-core/tests/example_functional_test.c: Fix test module name.
6653
6654 * util/misc.c: Hosted versions' of grub functions for libgrub.a
6655 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
6656 * util/grub-editenv.c: Likewise.
6657 * util/grub-fstest.c: Likewise.
6658 * util/grub-mkdevicemap.c: Likewise.
6659 * util/grub-mkfont.c: Likewise.
6660 * util/grub-mkimage.c: Likewise.
6661 * util/grub-mkpasswd-pbkdf2.c: Likewise.
6662 * util/grub-probe.c: Likewise.
6663 * util/grub-script-check.c: Likewise.
6664 * util/i386/pc/grub-setup.c: Likewise.
6665 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6666
6667 * tests/util/grub-shell.in: Fix override directory path.
6668 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
6669 * util/import_gcry.py: Create Makefile.gcry.def file instead.
6670
6671 * util/lvm.c: Update #includes.
6672 * util/raid.c: Likewise.
6673 * util/resolve.c: Likewise.
6674 * grub-core/bus/emu/pci.c: Likewise.
6675 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
6676 * grub-core/lib/posix_wrap/string.h: Likewise.
6677 * grub-core/kern/emu/main.c: Likewise.
6678
6679 * grub-core/gensymlist.sh: New file. Script for generating kernel
6680 symbols file.
6681 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
6682
6683 * grub-core/gentrigtables.c: Fix unused variable warnings.
6684
6685 * Makefile.in: Removed.
6686 * conf/any-emu.rmk: Removed.
6687 * conf/common.rmk: Removed.
6688 * conf/i386-coreboot.rmk: Removed.
6689 * conf/i386-efi.rmk: Removed.
6690 * conf/i386-ieee1275.rmk: Removed.
6691 * conf/i386-multiboot.rmk: Removed.
6692 * conf/i386-pc.rmk: Removed.
6693 * conf/i386-qemu.rmk: Removed.
6694 * conf/i386.rmk: Removed.
6695 * conf/mips-yeeloong.rmk: Removed.
6696 * conf/mips.rmk: Removed.
6697 * conf/powerpc-ieee1275.rmk: Removed.
6698 * conf/sparc64-ieee1275.rmk: Removed.
6699 * conf/tests.rmk: Removed.
6700 * conf/x86-efi.rmk: Removed.
6701 * conf/x86_64-efi.rmk: Removed.
6702 * gendistlist.sh: Removed.
6703 * geninitheader.sh: Removed.
6704 * genkernsyms.sh.in: Removed.
6705 * genmk.rb: Removed.
6706 * gensymlist.sh.in: Removed.
6707 * mkinstalldirs: Removed.
6708 * boot: Moved ...
6709 * grub-core/boot: ... to here.
6710 * bus: Moved ...
6711 * grub-core/bus: ... to here.
6712 * commands: Moved ...
6713 * grub-core/commands: ... to here.
6714 * disk: Moved ...
6715 * grub-core/disk: ... to here.
6716 * efiemu: Moved ...
6717 * grub-core/efiemu: ... to here.
6718 * font: Moved ...
6719 * grub-core/font: ... to here.
6720 * fs: Moved ...
6721 * grub-core/fs: ... to here.
6722 * gencmdlist.sh: Moved ...
6723 * grub-core/gencmdlist.sh: ... to here.
6724 * genemuinit.sh: Moved ...
6725 * grub-core/genemuinit.sh: ... to here.
6726 * genemuinitheader.sh: Moved ...
6727 * grub-core/genemuinitheader.sh: ... to here.
6728 * genfslist.sh: Moved ...
6729 * grub-core/genfslist.sh: ... to here.
6730 * genhandlerlist.sh: Moved ...
6731 * grub-core/genhandlerlist.sh: ... to here.
6732 * genmoddep.awk: Moved ...
6733 * grub-core/genmoddep.awk: ... to here.
6734 * genmodsrc.sh: Moved ...
6735 * grub-core/genmodsrc.sh: ... to here.
6736 * genpartmaplist.sh: Moved ...
6737 * grub-core/genpartmaplist.sh: ... to here.
6738 * genparttoollist.sh: Moved ...
6739 * grub-core/genparttoollist.sh: ... to here.
6740 * genterminallist.sh: Moved ...
6741 * grub-core/genterminallist.sh: ... to here.
6742 * gentrigtables.c: Moved ...
6743 * grub-core/gentrigtables.c: ... to here.
6744 * genvideolist.sh: Moved ...
6745 * grub-core/genvideolist.sh: ... to here.
6746 * gettext: Moved ...
6747 * grub-core/gettext: ... to here.
6748 * gfxmenu: Moved ...
6749 * grub-core/gfxmenu: ... to here.
6750 * gnulib: Moved ...
6751 * grub-core/gnulib: ... to here.
6752 * hello: Moved ...
6753 * grub-core/hello: ... to here.
6754 * hook: Moved ...
6755 * grub-core/hook: ... to here.
6756 * io: Moved ...
6757 * grub-core/io: ... to here.
6758 * kern: Moved ...
6759 * grub-core/kern: ... to here.
6760 * lib: Moved ...
6761 * grub-core/lib: ... to here.
6762 * loader: Moved ...
6763 * grub-core/loader: ... to here.
6764 * mmap: Moved ...
6765 * grub-core/mmap: ... to here.
6766 * normal: Moved ...
6767 * grub-core/normal: ... to here.
6768 * partmap: Moved ...
6769 * grub-core/partmap: ... to here.
6770 * parttool: Moved ...
6771 * grub-core/parttool: ... to here.
6772 * script: Moved ...
6773 * grub-core/script: ... to here.
6774 * term: Moved ...
6775 * grub-core/term: ... to here
6776 * tests/example_functional_test.c: Moved ...
6777 * grub-core/tests/example_functional_test.c: ... to here.
6778 * tests/lib/functional_test.c: Moved ...
6779 * grub-core/tests/lib/functional_test.c: ... to here.
6780 * tests/lib/test.c: Moved ...
6781 * grub-core/tests/lib/test.c: ... to here.
6782 * video: Moved ...
6783 * grub-core/video: ... to here.
6784
645586e6
BC
67852010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
6786
6787 Replace --enable-grub-emu-modules with grub-emu-lite.
6788
6789 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
6790 cache.S.
6791
6792 * include/grub/emu/misc.h (grub_emu_init): New prototype.
6793 * kern/emu/full.c: New file. For grub-emu specific initialization.
6794 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
6795 * kern/emu/main.c: Call initialization function grub_emu_init.
6796
6797 * Makefile.in: Include grub-emu-lite in install.
6798 * commands/parttool.c: Use grub_no_autoload to differentiate
6799 between grub-emu and grub-emu-lite.
6800 * include/grub/misc.h: New variable grub_no_autoload.
6801
6802 * conf/any-emu.rmk: New rules for grub-emu-lite.
6803 * configure.ac: Remove --enable-grub-emu-modules.
6804 * genmk.rb: Cleanup unnecessary rules.
6805 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
6806
6807 * normal/main.c: Don't load list files on grub-emu-lite.
6808 * util/misc.c (grub_arch_sync_caches): Removed.
6809
f86a4030
CW
68102010-08-23 Colin Watson <cjwatson@ubuntu.com>
6811
6812 * kern/mips/startup.S (grub_prefix): Update comment to refer to
6813 grub-mkimage rather than grub-mkelfimage.
6814 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6815
06776944
VS
68162010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
6819 a key after CapsLock or NumLock. It's just a qemu bug.
6820
df262419
VS
68212010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
6824 needed by libusb wrapper.
6825
b40ea81b
ST
68262010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6827
6828 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
6829
dee50575
VS
68302010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
6833 --nounzip is passed.
6834
fb1d7b79
VS
68352010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 USB hotunplugging and USB serial support.
6838
6839 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
6840 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
6841 (grub_uhci_transfer): Respect timeout and set *actual.
6842 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
6843 non-standard length.
6844 (grub_usb_device_attach): Autoload modules.
6845 (GRUB_MOD_INIT): Set grub_term_poll_usb.
6846 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
6847 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
6848 users updated.
6849 (grub_usb_add_hub): Fill nports and children.
6850 (attach_root_port): Receive hub instead of controller.
6851 All users updated. Fill hub->devices.
6852 (grub_usb_root_hub): Allocate hub->devices.
6853 (detach_device): New function.
6854 (poll_nonroot_hub): Fill children and detach devices.
6855 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
6856 actual arguments. All users updated.
6857 (grub_usb_bulk_read_extended): New function.
6858 * bus/usb/serial/common.c: New file.
6859 * bus/usb/serial/ftdi.c: Likewise.
6860 * bus/usb/serial/pl2303.c: Likewise.
6861 * commands/terminal.c (handle_command): Support wildcard.
6862 * commands/usbtest.c: Output "Unknown" instead of empty string.
6863 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
6864 (usbserial_common_mod_SOURCES): New variable.
6865 (usbserial_common_mod_CFLAGS): Likewise.
6866 (usbserial_common_mod_LDFLAGS): Likewise.
6867 (pkglib_MODULES): Add usbserial_pl2303.mod.
6868 (usbserial_pl2303_mod_SOURCES): New variable.
6869 (usbserial_pl2303_mod_CFLAGS): Likewise.
6870 (usbserial_pl2303_mod_LDFLAGS): Likewise.
6871 (pkglib_MODULES): Add usbserial_ftdi.mod.
6872 (usbserial_ftdi_mod_SOURCES): New variable.
6873 (usbserial_ftdi_mod_CFLAGS): Likewise.
6874 (usbserial_ftdi_mod_LDFLAGS): Likewise.
6875 (pkglib_MODULES): Add serial.mod.
6876 (serial_mod_SOURCES): New variable.
6877 (serial_mod_CFLAGS): Likewise.
6878 (serial_mod_LDFLAGS): Likewise.
6879 * conf/i386-pc.rmk: Likewise.
6880 * conf/mips-yeeloong.rmk: Likewise.
6881 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
6882 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
6883 * disk/usbms.c (first_available_slot): New variable.
6884 (grub_usbms_attach): Don't reuse free slots due to potential cache
6885 problems.
6886 * include/grub/serial.h: Moved to ..
6887 * include/grub/ns8250.h: ...this.
6888 * include/grub/serial.h: New file.
6889 * include/grub/term.h (grub_term_poll_usb): New variable.
6890 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
6891 readkey. All users updated.
6892 (grub_terminfo_output_state): Pass term to put.
6893 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
6894 (grub_usb_controller_dev): Add timeout and actual arguments to
6895 transfer. All users updated.
6896 (grub_usb_interface): New field detach_data.
6897 (grub_usb_device): New fields children and nports.
6898 (grub_usb_ep_type_t): New type.
6899 (grub_usb_get_ep_type): New function.
6900 (grub_usb_bulk_read_extended): Likewise.
6901 * include/grub/usbdesc.h (grub_usb_desc): New type.
6902 * include/grub/usbserial.h: New file.
6903 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
6904 * kern/term.c (grub_term_poll_usb): New variable.
6905 (grub_getkey): Call grub_term_poll_usb if set.
6906 (grub_checkkey): Likewise.
6907 (grub_getkeystatus): Likewise.
6908 * term/serial.c: Moved controller-specific parts to ...
6909 * term/ns8250.c: ... here.
6910 * term/serial.c: Mostly rewritten.
6911 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
6912 according to spec.
6913
21a313de
RM
69142010-08-20 Robert Millan <rmh@gnu.org>
6915
6916 Make kFreeBSD code more generic to support ext2fs as root, ufs as
6917 a separate module and maybe other interesting combinations.
6918
6919 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
6920 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
6921 (kfreebsd_entry): Add generic filesystem module load routine.
6922 Map GRUB `ext2' to kFreeBSD `ext2fs'.
6923
63c734a6
CW
69242010-08-20 Colin Watson <cjwatson@ubuntu.com>
6925
6926 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
6927 "numcenter" (I misunderstood the purpose of this entry).
6928 * docs/grub.texi (sendkey): Likewise.
6929
c4d16542
CW
69302010-08-20 Colin Watson <cjwatson@ubuntu.com>
6931
6932 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
6933 status flag options; simply omitting the option is equivalent and
6934 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
6935 (keysym_table): Rename "num5numlock" to "numlock".
6936 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
6937 can uniformly say that only the last of multiple `sendkey'
6938 invocations has any effect.
6939 * docs/grub.texi (sendkey): New section.
6940
93541d66
CW
69412010-08-19 Colin Watson <cjwatson@ubuntu.com>
6942
6943 * commands/i386/pc/sendkey.c (options): Fix three typos.
6944
b4ece5e1
VS
69452010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 Implement sendkey support.
6948
6949 * commands/i386/pc/sendkey.c: New file.
6950 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
6951 (sendkey_mod_SOURCES): New variable.
6952 (sendkey_mod_CFLAGS): Likewise.
6953 (sendkey_mod_LDFLAGS): Likewise.
6954
51f1f5af
CW
69552010-08-18 Colin Watson <cjwatson@ubuntu.com>
6956
6957 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
6958 fix warnings from Autoconf.
6959
9da94e05
CW
69602010-08-18 Colin Watson <cjwatson@ubuntu.com>
6961
6962 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
6963 to avoid false positives with some assemblers that output things
6964 like "someprefix_func" as part of their output.
6965
729a0f2e
RM
69662010-08-15 Robert Millan <rmh@gnu.org>
6967
6968 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
6969 errors.
6970 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
6971 grub_get_libzfs_handle() errors.
6972
f3710e08
RM
69732010-08-14 Robert Millan <rmh@gnu.org>
6974
6975 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
6976 filesystem is not ZFS.
6977
7a3c13de
BC
69782010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6979
6980 Fix for misspelled color names defaulting to black/black (bug
6981 reported by Doug Nazar)
6982
6983 * include/grub/normal.h (grub_parse_color_name_pair): Add return
6984 status to prototype.
6985 * normal/color.c (grub_parse_color_name_pair): Return failure
6986 status.
6987 (grub_env_write_color_normal): Ignore bad color names.
6988 (grub_env_write_color_highlight): Likewise.
6989 * normal/main.c (GRUB_MOD_INIT): Set default color names.
6990
ab8ba50d
BC
69912010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
6992
6993 "shift" command support to GRUB script.
6994
6995 * include/grub/script_sh.h (grub_script_shift): New prototype.
6996 * script/execute.c (grub_script_shift): New function.
6997 * script/main.c (grub_script_init): Register shift command.
6998 (grub_script_fini): Unregister shift command.
6999 * util/grub-script-check.c (grub_script_cmd_shift): New function.
7000
7001 * tests/grub_script_shift.in: New testcase.
7002 * conf/tests.rmk: Rules for new testcase.
7003
4d61999e
BC
70042010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7005
7006 "continue" command support to GRUB script.
7007
7008 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
7009 (grub_script_break): Continue support.
7010 * script/main.c (grub_script_init): Register continue command.
7011 (grub_script_fini): Unregister continue command.
7012
7013 * tests/grub_script_continue.in: New testcase.
7014 * conf/tests.rmk: Rules for new testcase.
7015
4df51e00
BC
70162010-08-12 BVK Chaitanya <bvk@dbook>
7017
7018 "break" command support to GRUB script.
7019
7020 * conf/common.rmk: Rule updates to grub-script-check.
7021 * include/grub/misc.h (grub_min): New function.
7022 * include/grub/script_sh.h (grub_script_init): New prototype.
7023 (grub_script_fini): New prototype.
7024 (grub_script_break): New prototype.
7025 * script/main.c (grub_script_init): New function.
7026 (grub_script_fini): New function.
7027 * script/execute.c (grub_script_break): New function.
7028 * normal/main.c: Calls to grub_script_{init,fini}.
7029 * util/grub-script-check.c (grub_script_break): New function.
7030
7031 * tests/grub_script_break.in: New testcase.
7032 * conf/tests.rmk: Rules for new test case.
7033
f12c8420
BC
70342010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7035
7036 Function parameters support to GRUB script.
7037
7038 * script/yylex.l (VARIABLE): Regular expression update.
7039 * script/function.c (grub_script_function_call): Moved ...
7040 * script/execute.c (grub_script_function_call): ... to here.
7041 (grub_script_execute_arglist_to_argv): Removed.
7042 (grub_script_arglist_to_argv): New function.
7043 * script/argv.c: New file.
7044 (grub_script_argv_free): New function.
7045 (grub_script_argv_next): Likewise.
7046 (grub_script_argv_append): Likewise.
7047 (grub_script_argv_split_append): Likewise.
7048 * include/grub/script_sh.h (grub_script_argv): New struct.
7049 (grub_script_argv_free): New function.
7050 (grub_script_argv_next): Likewise.
7051 (grub_script_argv_append): Likewise.
7052 (grub_script_argv_split_append): Likewise.
7053
7054 * conf/common.rmk (normal.mod): New source script/argv.c.
7055
7056 * tests/grub_script_echo1.in: More tests.
7057 * tests/grub_script_vars1.in: Likewise.
7058 * tests/grub_script_functions.in: New test case.
7059 * conf/tests.rmk: Rules for new testcase.
7060
8022b748
BC
70612010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
7062
7063 Remove grub_script_cmdblock struct.
7064
7065 * include/grub/script_sh.h: Remove grub_script_cmdblock.
7066 * script/parser.y: Likewise.
7067 * script/execute.c: Rename cmdblock suffix to cmdlist.
7068 * script/script.c: Likewise.
7069 * util/grub-script-check.c: Likewise.
7070
79a6ba61
YB
70712010-08-11 Yves Blusseau <blusseau@zetam.org>
7072
7073 * .bzrignore: add grub-macho2img
7074
d04b9414
VS
70752010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
7078
f947ab49
VS
70792010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
7080
7081 Remove the dump of sm712 initialisation sequence.
7082
7083 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
7084 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
7085 (GRUB_VGA_IO_MISC_WRITE): Likewise.
7086 (GRUB_VGA_CR_*): Added many registers.
7087 (GRUB_VGA_SR_*): Likewise.
7088 (GRUB_VGA_GR_*): Likewise.
7089 (grub_vga_write_arx): New function.
7090 (grub_video_hw_config): New struct.
7091 (grub_vga_set_geometry): New function.
7092 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
7093 GRUB_PCI_CLASS_SUBCLASS_VGA.
7094 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
7095 * video/sm712.c (grub_sm712_write_reg): New function
7096 (grub_sm712_read_reg): Likewise.
7097 (grub_sm712_sr_write): Likewise.
7098 (grub_sm712_gr_write): Likewise.
7099 (grub_sm712_cr_write): Likewise.
7100 (grub_sm712_write_arx): Likewise.
7101 (grub_sm712_cr_shadow_write): Likewise.
7102 (grub_sm712_write_dda_lookup): Likewise.
7103 (grub_video_sm712_setup): Initialise the video rather then
7104 blindly replay the dump.
7105 (main) [TEST]: Add a routine to be able to compile as standalone for
7106 tests.
7107 * video/sm712_init.c (sm712_init): Removed.
7108 (sm712_sr_seq1): New array.
7109 (sm712_sr_seq2): Likewise.
7110
f0206638
VS
71112010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * include/grub/vga.h: Add missing grub/pci.h include.
7114
2764da3b
YB
71152010-08-10 Yves Blusseau <blusseau@zetam.org>
7116
7117 * util/grub-macho2img.c (main): fix typo
7118
cf0c775e
VS
71192010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
7120
7121 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
7122 (grub_vga_gr_read): Likewise.
7123 (grub_vga_cr_write): Likewise.
7124 (grub_vga_cr_read): Likewise.
7125 (grub_vga_sr_write): Likewise.
7126 (grub_vga_sr_read): Likewise.
7127 (grub_vga_palette_read): Likewise.
7128 (grub_vga_palette_write): Likewise.
7129 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
7130 (grub_sm712_sr_read): New function.
7131 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
7132 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
7133
07f360e9
RM
71342010-08-09 Robert Millan <rmh@gnu.org>
7135
7136 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
7137 out unused variables on non-ZFS build.
7138
346c2072
RM
71392010-08-08 Robert Millan <rmh@gnu.org>
7140
7141 Fix path generation for sub-filesystems in ZFS.
7142
7143 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
7144 missing slash.
7145
71175420
RM
71462010-08-08 Robert Millan <rmh@gnu.org>
7147
7148 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
7149
0d8286f3
RM
71502010-08-08 Robert Millan <rmh@gnu.org>
7151
7152 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
7153 exist, issue a proper error message (rely on `ls' for translated
7154 strings).
7155
55dd2924
RM
71562010-08-08 Robert Millan <rmh@gnu.org>
7157
7158 Fix grub-probe invocation.
7159
7160 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
7161
d3dd9e80
RM
71622010-08-04 Robert Millan <rmh@gnu.org>
7163
7164 * configure.ac: Remove checks for getfsstat() and getmntany().
7165 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
7166 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
7167 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
7168 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
7169 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
7170 function.
7171 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
7172 via find_mount_point_from_dir() and getfsstat() / getmntany().
7173
0de22aa9
RM
71742010-08-04 Robert Millan <rmh@gnu.org>
7175
7176 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
7177 (grub_find_zpool_from_mount_point): Merge into ...
7178 (grub_find_zpool_from_dir): ... this.
7179 * kern/emu/misc.c: Likewise.
7180
7181 * kern/emu/misc.c
7182 (grub_make_system_path_relative_to_its_root): Replace
7183 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
7184 with grub_find_zpool_from_dir().
7185 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
7186
62858144
RM
71872010-08-04 Robert Millan <rmh@gnu.org>
7188
7189 Support OpenSolaris in ZFS device resolution.
7190
7191 * configure.ac: Check for getmntany().
7192 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
7193 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
7194 support.
7195
9dd6fd50
RM
71962010-08-03 Robert Millan <rmh@gnu.org>
7197
7198 Fix grub-emu build.
7199
7200 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
7201 * include/grub/emu/misc.h: ... here.
7202
7203 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
7204 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
7205
7206 * util/misc.c: Remove `<grub/util/libzfs.h>'.
7207 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
7208 (grub_get_libzfs_handle): Move to ...
7209 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
7210 (grub_get_libzfs_handle): ... here.
7211
c9f7ff97
BC
72122010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
7213
7214 * script/execute.c (grub_script_execute_cmdline): Check for NULL
7215 as command name case.
7216
a870a783
CW
72172010-08-02 Colin Watson <cjwatson@ubuntu.com>
7218
7219 * disk/raid.c (insert_array): Select unique numbers for named arrays
7220 as well, for use as keys in the disk cache.
7221
c7db243b
RM
72222010-08-01 Robert Millan <rmh@gnu.org>
7223
7224 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
7225 kFreeBSD device name, except on ZFS where the filesystem label is
7226 used.
7227 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
7228 `/boot/zfs/zpool.cache'.
7229 Set mountfrom kernel variable using ${kfreebsd_device}.
7230
f7abdefb
RM
72312010-08-01 Robert Millan <rmh@gnu.org>
7232
7233 Make it even harder to use uninitialized `libzfs_handle' (and
7234 make the interface a bit simpler).
7235
7236 * include/grub/util/misc.h (grub_util_init_libzfs)
7237 (libzfs_handle): Remove.
7238 (grub_get_libzfs_handle): New prototype.
7239
7240 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
7241 attribute.
7242 (grub_util_init_libzfs): Remove.
7243 (grub_get_libzfs_handle): New function.
7244
7245 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
7246 grub_get_libzfs_handle() to obtain a libzfs handle instead of
7247 accessing `libzfs_handle' directly.
7248
c882acc0
RM
72492010-08-01 Robert Millan <rmh@gnu.org>
7250
7251 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
7252 (grub_find_zpool_from_mount_point): New function prototypes.
7253
7254 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
7255 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
7256
7257 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
7258 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
7259 `static' attribute.
7260
7261 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
7262 finding zpool from mount point into ...
7263 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
7264
7265 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
7266 requested path is part of a ZFS pool, use
7267 grub_find_zpool_from_mount_point() to detect its filesystem name,
7268 and generate a path with `/fsname@path' syntax.
7269
8bfe31d8
CW
72702010-08-01 Colin Watson <cjwatson@ubuntu.com>
7271
7272 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
7273 (void) rather than () so that this is a proper prototype.
7274
553df63d
VS
72752010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
7278
8687cf07
VS
72792010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
7282 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
7283
ea9be8ea
CW
72842010-08-01 Colin Watson <cjwatson@ubuntu.com>
7285
7286 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
7287
6eea041a
CW
72882010-08-01 Colin Watson <cjwatson@ubuntu.com>
7289
7290 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
7291
2cfb45df
CW
72922010-08-01 Colin Watson <cjwatson@ubuntu.com>
7293
7294 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
7295 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
7296 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
7297 disable gfxpayload.
7298 (Shell-like scripting): Add real content.
7299 (Serial terminal): Suggest `terminal_input serial; terminal_output
7300 serial' rather than putting the two commands on separate lines,
7301 since console input will be inoperative after the first command.
7302 (menuentry): Document --class, --users, and --hotkey options.
7303 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
7304 Vladimir Serbinenko).
7305
7decd202
VS
73062010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
73072010-08-01 Colin Watson <cjwatson@ubuntu.com>
7308
7309 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
7310
c882acc0
RM
73112010-08-01 Robert Millan <rmh@gnu.org>
7312
7313 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
7314 (grub_find_zpool_from_mount_point): New function prototypes.
7315
7316 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
7317 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
7318
7319 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
7320 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
7321 `static' attribute.
7322
7323 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
7324 finding zpool from mount point into ...
7325 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
7326
7327 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
7328 requested path is part of a ZFS pool, use
7329 grub_find_zpool_from_mount_point() to detect its filesystem name,
7330 and generate a path with `/fsname@path' syntax.
7331
deb0caa3
RM
73322010-08-01 Robert Millan <rmh@gnu.org>
7333
7334 Prevent accidental use of uninitialized libzfs_handle.
7335
7336 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
7337 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
7338 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
7339
ce04ef47
CW
73402010-08-01 Colin Watson <cjwatson@ubuntu.com>
7341
7342 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
7343 util/grub.d/10_linux.in). Fixes Debian bug #591093.
7344
ebf53056
RM
73452010-08-01 Robert Millan <rmh@gnu.org>
7346
7347 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 7348
3710bb6b
RM
73492010-07-31 Robert Millan <rmh@gnu.org>
7350
7351 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
7352
8072efeb
RM
73532010-07-31 Robert Millan <rmh@gnu.org>
7354
7355 * kern/emu/misc.c: Add missing license header.
7356
3169f4c7
RM
73572010-07-31 Robert Millan <rmh@gnu.org>
7358
7359 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
7360
7361 * include/grub/util/libnvpair.h: Include `<config.h>'.
7362 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
7363 declaring libnvpair prototypes ourselves.
7364 * include/grub/util/libzfs.h: Include `<config.h>'.
7365 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
7366 declaring libzfs prototypes ourselves.
7367
7368 (libzfs_handle): Moved to ...
7369 * include/grub/util/misc.h (libzfs_handle): ... here.
7370 Include `<grub/util/libzfs.h>'.
7371
c9a00aee
RM
73722010-07-30 Robert Millan <rmh@gnu.org>
7373
7374 * include/grub/emu/misc.h: Add missing license header.
7375
a184f9c8
RM
73762010-07-30 Robert Millan <rmh@gnu.org>
7377
7378 Enable `grub-probe -t device' resolution on ZFS.
7379
7380 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
7381 * include/grub/util/libnvpair.h: New file.
7382 * include/grub/util/libzfs.h: New file.
7383
7384 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
7385 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
7386 `<grub/util/libnvpair.h>'.
7387 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
7388
7389 (find_mount_point_from_dir): New static function.
7390 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
7391 function.
7392 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
7393 find_root_device_from_libzfs() before ressorting to find_root_device().
7394
7395 * include/grub/util/misc.h (grub_util_init_libzfs): New function
7396 prototype.
7397 * util/misc.c: Include `<grub/util/libzfs.h>'.
7398 (grub_util_init_libzfs): New function.
7399 [HAVE_LIBZFS] (libzfs_handle): New global variable.
7400 [HAVE_LIBZFS] (fini_libzfs): New static function.
7401 (grub_util_init_libzfs): New function.
7402 * util/grub-probe.c (main): Call grub_util_init_libzfs().
7403
f7790cdd
RM
74042010-07-30 Robert Millan <rmh@gnu.org>
7405
7406 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
7407 (xmalloc, xrealloc, xstrdup, xasprintf): Add
7408 `warn_unused_result' attribute.
7409 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
7410 (grub_xasprintf, grub_xvasprintf): Likewise.
7411 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
7412
0806b63c
RM
74132010-07-29 Robert Millan <rmh@gnu.org>
7414
7415 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
7416 (probe): Handle `PRINT_FS_LABEL'.
7417 (main): Handle `-t fs_label'.
7418
9f841f5c
RM
74192010-07-29 Robert Millan <rmh@gnu.org>
7420
7421 * configure.ac: Remove grub-mkisofs checks.
7422
46371121
VS
74232010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * util/ieee1275/grub-install.in: Don't use empty grub_device.
7426 Reported by: Lennart Sorensen.
7427
74282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
7431 prior to terminal_input/terminal_output separation. It's been over 1.5
7432 years and those versions weren't widely deployed.
7433
a9600892
CW
74342010-07-22 Colin Watson <cjwatson@ubuntu.com>
7435
7436 * disk/raid.c (insert_array): Don't count named arrays when looking
7437 for unused array numbers.
697e053c 7438 Reported and tested by: Michael Guntsche.
a9600892 7439
c03507df
CW
74402010-07-20 Colin Watson <cjwatson@ubuntu.com>
7441
7442 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
7443 implementation of this so that grub-emu links again, with a note
7444 that this should support hotplugging in the future.
7445
b26f1c11
CW
74462010-07-20 Colin Watson <cjwatson@ubuntu.com>
7447
7448 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
7449
efc9d7f1
CW
74502010-07-20 Colin Watson <cjwatson@ubuntu.com>
7451
7452 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
7453 handle on failure.
7454 (grub_loopback_close): Remove empty function.
7455 (grub_loopback_dev): Remove close method.
7456
dd8ff5c9
CW
74572010-07-20 Colin Watson <cjwatson@ubuntu.com>
7458
7459 Disable EFI cursor when the EFI console becomes inactive.
7460
7461 * term/efi/console.c (grub_efi_console_init): New function.
7462 (grub_efi_console_fini): New function.
7463 (grub_console_term_output): Register init and fini methods.
7464
5e3bec67
VS
74652010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * tests/util/grub-shell-tester.in: Remove bashism and declare as
7468 sh script.
7469
afaec079
VS
74702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * disk/loopback.c (grub_loopback): Replace filename with file.
7473 (delete_loopback): Handle new semantics.
7474 (grub_cmd_loopback): Likewise.
7475 (grub_loopback_iterate): Likewise.
7476 (grub_loopback_close): Likewise.
7477
a6a11f3c
VS
74782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
7481 with -p "".
7482 Reported by: Tito Keitel.
7483
64a638b0
VS
74842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * docs/grub.texi (Naming convention): Document new naming convention.
7487
ab8ba957
VS
74882010-07-20 Vadim Solomin <vadic052@gmail.com>
74892010-07-20 Colin Watson <cjwatson@ubuntu.com>
7490
7491 Generate device.map in something closer to the old ordering.
7492
7493 * util/deviceiter.c (struct device): New declaration.
7494 (compare_file_names): Rename to ...
7495 (compare_devices): ... this. Sort by kernel name in preference to
7496 the stable by-id name, but keep the latter as a fallback comparison.
7497 Update header comment.
7498 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
7499 of `struct device' rather than of plain file names.
7500
a29d6a4b
TF
75012010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
7502
7503 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
7504 on i386.
7505
39d824e8
VS
75062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * commands/acpi.c (setup_common_tables): Use sizeof instead of
7509 hardcoding size.
7510 (setv1table): Likewise.
7511
f058276b
FZ
75122010-07-20 Colin Watson <cjwatson@ubuntu.com>
7513
7514 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
7515 removing the homehost if present.
7516 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
7517 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
7518 removing the homehost if present.
7519 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
7520 if possible.
7521 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
7522
7523 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
7524 parameter. Set its pointer target to 0.
7525 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
7526 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
7527 `data_offset' value from the superblock for 1.x metadata.
7528 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
7529 data on the device.
7530 (insert_array): Record the start sector of data on the device.
7531 (grub_raid_register): Pass start_sector parameters to
7532 grub_raid_list->detect and insert_array.
7533 * include/grub/raid.h (struct grub_raid_array): Add start_sector
7534 member.
7535 (struct grub_raid): Add start_sector parameter to `detect'.
7536
7537 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
7538 __attribute__ ((packed)), leaving a comment.
7539 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
7540 (grub_mdraid_detect_09): ... here and ...
7541 (grub_mdraid_detect_1x): ... here.
7542
75432010-07-20 Peter Henn <peter.henn@web.de>
7544
7545 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
7546 chunk size and disk size, which are already given as sector counts
7547 as distinct from the 0.90 units. Fetch the correct device number
7548 from the role table instead of using the table index.
7549
75502010-07-20 Felix Zielcke <fzielcke@z-51.de>
7551
7552 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
7553 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
7554 (WriteMostly1): New macro.
7555 Set array->name to NULL for metadata format 0.90. Add support for
7556 metadata 1.x. Fix some comments.
7557 * disk/raid.c (): Add support for name based RAID arrays. Fix a
7558 few comments.
7559 * util/getroot.c (grub_util_get_grub_dev): Add support for
7560 /dev/md/name style devices.
7561
4b761da9
CW
75622010-07-20 Colin Watson <cjwatson@ubuntu.com>
7563
7564 * .bzrignore: Ignore 20_linux_xen.
7565
5771289a
CW
75662010-07-17 Colin Watson <cjwatson@ubuntu.com>
7567
7568 * util/import_unicode.py: Remove unnecessary imports.
7569
5dab68df
AN
75702010-07-17 Aleš Nesrsta <starous@volny.cz>
7571
7572 Hotplugging and USB hub support.
7573
7574 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
7575 (grub_ohci): Likewise.
7576 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
7577 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
7578 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
7579 (GRUB_OHCI_CTRL_EDS): Likewise.
7580 (GRUB_OHCI_BULK_EDS): Likewise.
7581 (GRUB_OHCI_TDS): Likewise.
7582 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
7583 (grub_ohci_ed_phys2virt): New function.
7584 (grub_ohci_virt_to_phys): Likewise.
7585 (grub_ohci_td_phys2virt): Likewise.
7586 (grub_ohci_td_virt2phys): Likewise.
7587 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
7588 attachment.
7589 (grub_ohci_find_ed): New function.
7590 (grub_ohci_alloc_td): Likewise.
7591 (grub_ohci_free_td): Likewise.
7592 (grub_ohci_free_tds): Likewise.
7593 (grub_ohci_transfer): Use previously allocated memory.
7594 (grub_ohci_portstatus): Reset status changed bit.
7595 (grub_ohci_detect_dev): Supply status changed.
7596 (grub_ohci_fini_hw): Free memory.
7597 (grub_ohci_restore_hw): Reallocate memory.
7598 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
7599 Reset status change.
7600 (grub_uhci_detect_dev): Supply status_change.
7601 * bus/usb/usb.c (attach_hooks): New var.
7602 (grub_usb_device_attach): New function.
7603 (grub_usb_register_attach_hook_class): Likewise.
7604 (grub_usb_unregister_attach_hook_class): Likewise.
7605 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
7606 (grub_usb_add_hub): Reset connection changed bit.
7607 (attach_root_port): New function.
7608 (grub_usb_root_hub): Likewise.
7609 (poll_nonroot_hub): Likewise.
7610 (grub_usb_poll_devices): Likewise.
7611 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
7612 * disk/usbms.c (grub_usbms_open): Use device hooks.
7613 (grub_usbms_iterate) :Poll devices.
7614 (grub_usbms_finddevs): Split into ...
7615 (grub_usbms_attach): ... this ...
7616 (grub_usbms_attach): ... and this.
7617 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
7618 in detect_dev.
7619 (grub_usb_interface): New fields attached and detach_hook.
7620 (grub_usb_attach_hook_class): New type.
7621 (grub_usb_attach_desc): New struct.
7622 (grub_usb_register_attach_hook_class): New function.
7623 (grub_usb_unregister_attach_hook_class): Likewise.
7624 (grub_usb_poll_devices): Likewise.
7625 (grub_usb_device_attach): Likewise.
7626 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
7627 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
7628
3222efaf
VS
76292010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
7632 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
7633 delta determination style. Works with most NetBSD partitions too.
7634
139b714a
VS
76352010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
7638 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
7639
986aad56
VS
76402010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
7643
99be513c
AB
76442010-07-14 Anton Blanchard <anton@samba.org>
7645
7646 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
7647 ET_DYN files.
7648
18075f62
GS
76492010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7650
7651 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
7652
8d9a5b15
GS
76532010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7654
7655 * kern/partition.c (grub_partition_check_containment): New function to
7656 check that a partition is physically contained in a parent. Since
7657 offsets are relative (and non-negative), this reduces to checking that
7658 the partition ends before its parent.
7659 (grub_partition_map_probe): Discard out-of-range sub-partitions.
7660 (grub_partition_iterate): Likewise.
7661 * include/grub/partition.h (grub_partition_map): Slightly more detailed
7662 comments.
7663 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
7664 partitions that start before their parent, and add debug printfs.
7665
19563c25
CW
76662010-07-13 Colin Watson <cjwatson@ubuntu.com>
7667
7668 * Makefile.in (.SUFFIX): Spell correctly, as ...
7669 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
7670 bare module name without `.mod', e.g. `test') tried to invoke a
7671 Modula-2 compiler.
7672
1a1f1e67
CW
76732010-07-13 Colin Watson <cjwatson@ubuntu.com>
7674
7675 * README: Point to the Info manual.
7676
811b0dca
JS
76772010-07-13 Jiro SEKIBA <jir@unicus.jp>
7678
7679 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
7680 2nd superblock position from partition size.
7681
e4f4eafc
CW
76822010-07-10 Colin Watson <cjwatson@ubuntu.com>
7683
7684 * Makefile.in (MAINTAINER_CLEANFILES): Remove
7685 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
7686 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
7687 outputs.
7688
4274c30f
VS
76892010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 Restructure SCSI .id handling.
7692 Reported and tested by: Aleš Nesrsta.
7693
7694 * disk/ata.c (grub_atapi_close): Removed. All users updated.
7695 (grub_atapi_dev): Changed .name to "ata". New field .id.
7696 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
7697 (grub_usbms_dev): New field .id.
7698 * disk/scsi.c (grub_scsi_iterate): Generate name.
7699 (grub_scsi_open): Parse name.
7700 * include/grub/scsi.h (grub_make_scsi_id): New function.
7701 (grub_scsi_dev): Change iterate and open to number instead of naming
7702 busses. All users updated.
7703 (grub_scsi): Remove name. Add .bus.
7704
5bc24388
VS
77052010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * commands/help.c (grub_cmd_help): Fix a typo.
7708
249975ba
VS
77092010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
7712 Reported and tested by: Colin Watson.
7713
3eaac1a1
VS
77142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
7717 in this context.
7718
becce1b1
VS
77192010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
7722
f7bf0918
CW
77232010-07-07 Colin Watson <cjwatson@ubuntu.com>
7724
7725 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
7726 indentation.
7727
0b0f9620
CW
77282010-07-06 Colin Watson <cjwatson@ubuntu.com>
7729
7730 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
7731 and disk/raid6_recover.c.
7732 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7733 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7734
1e545469
CW
77352010-07-06 Colin Watson <cjwatson@ubuntu.com>
7736
7737 * term/gfxterm.c (repaint_schedulded): Rename to ...
7738 (repaint_scheduled): ... this. Update all callers.
7739 (repaint_was_schedulded): Rename to ...
7740 (repaint_was_scheduled): ... this. Update all callers.
7741
5357687a
CW
77422010-07-06 Colin Watson <cjwatson@ubuntu.com>
7743
7744 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
7745 which we expect to be handled by upper layers.
7746
29d7e783
BC
77472010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
7748
7749 * bus/usb/usbhub.c: #include time.h header.
7750
37582066
CW
77512010-07-06 Colin Watson <cjwatson@ubuntu.com>
7752
7753 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
7754 entry_name also for entries without stat blocks (e.g. ".."); fixes
7755 corruption of the first entry in a directory.
7756
c8c06953
CW
77572010-07-06 Colin Watson <cjwatson@ubuntu.com>
7758
7759 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
7760 after setting gfxterm as the active terminal. GRUB_BACKGROUND
7761 doesn't work otherwise.
7762
e75056f1
CW
77632010-07-05 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * docs/grub.texi (Features): Update list of supported file systems.
7766 (GNU/Linux): Update for GRUB 2.
7767 (Serial terminal): Remove mention of --disable-serial, which was a
7768 GRUB Legacy configure option. Update instructions to use
7769 `terminal_input' and `terminal_output' rather than `terminal'.
7770 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
7771 configuration' and `Installing GRUB using grub-install'.
7772 (Menu entry editor): Update for GRUB 2.
7773 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
7774 Document new -a, -u, and -v options.
7775 (initrd): New section.
7776 (initrd16): New section.
7777 (linux): New section.
7778 (linux16): New section.
7779 (search): The `var' argument to `--set' is optional.
7780 (GRUB only offers a rescue shell): Go into a little more detail on
7781 drive ordering.
7782
5cf69151
CW
77832010-07-05 Colin Watson <cjwatson@ubuntu.com>
7784
7785 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
7786
e3f90044
CW
77872010-07-05 Colin Watson <cjwatson@ubuntu.com>
7788
7789 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
7790 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
7791
38d8f4f3
CW
77922010-07-05 Colin Watson <cjwatson@ubuntu.com>
7793
7794 * util/i386/pc/grub-setup.c (setup): Rename prefix to
7795 install_prefix, in line with install_dos_part and install_bsd_part.
7796 Add new prefix variable, which is copied to install_prefix after
7797 comparing core.img in memory with the one read from disk in the
7798 no-embedding case, and use that rather than overwriting
7799 install_prefix immediately when installing to a partition.
7800 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
7801 Bicakci.
7802
57ebd41e
GS
78032010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
7804
7805 * configure.ac: Avoid == in test command, it's not portable.
7806 * util/grub.d/30_os-prober.in: Likewise.
7807
cb7f64b2
CW
78082010-07-04 Colin Watson <cjwatson@ubuntu.com>
7809
7810 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
7811
6b654bb0
GS
78122010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
7813
7814 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
7815 multiple (top-level) partmaps.
7816
72a2026d
VS
78172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7818
7819 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 7820 Reported by: Tino Keitel.
72a2026d 7821
df3eb88f
VS
78222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 Bidi and diacritics support.
7825
7826 * Makefile.in (widthspec.bin): New target.
7827 (widthspec.h): Likewise.
7828 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
7829 * autogen.sh: Generate unidata.c.
7830 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
7831 * commands/ls.c (grub_ls_list_devices): Likewise.
7832 (grub_ls_list_files): Likewise.
7833 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
7834 (grub_mini_cmd_lsmod): Likewise.
7835 * commands/read.c: Likewise.
7836 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
7837 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
7838 * lib/arg.c (grub_arg_show_help): Likewise.
7839 * lib/crypto.c (grub_password_get): Likewise.
7840 * normal/auth.c (grub_username_get): Likewise.
7841 * normal/misc.c (grub_normal_print_device_info): Likewise.
7842 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
7843 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
7844 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
7845 (normal/charset.c_DEPENDENCIES): New variable.
7846 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
7847 (pkglib_MODULES): Remove charset.mod.
7848 (charset_mod_SOURCES): Removed.
7849 (charset_mod_CFLAGS): Likewise.
7850 (charset_mod_LDFLAGS): Likewise.
7851 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
7852 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
7853 and term/tparm.c.
7854 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7855 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7856 (kernel_img_HEADERS): Add terminfo.h.
7857 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
7858 Fill ->font. Reverse ascii bitmaps.
7859 (grub_font_get_xheight): New function.
7860 * font/font.c (grub_font_get_string_width): Moved from here ...
7861 * gfxmenu/font.c (grub_font_get_string_width): ... here.
7862 * font/font.c (grub_font_draw_string): Moved from here ...
7863 * gfxmenu/font.c (grub_font_draw_string): ... here.
7864 * font/font.c (grub_font_dup_glyph): New function.
7865 (grub_font_blit_glyph): Likewise.
7866 (grub_font_blit_glyph_mirror): Likewise.
7867 (blit_comb): Likewise.
7868 (grub_font_construct_dry_run): Likewise.
7869 (grub_font_get_constructed_device_width): Likewise.
7870 (grub_font_construct_glyph): Likewise.
7871 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
7872 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
7873 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
7874 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
7875 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
7876 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
7877 (grub_font_get_xheight): New proto.
7878 (grub_font_get_constructed_device_width): Likewise.
7879 (grub_font_construct_glyph): Likewise.
7880 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
7881 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
7882 * include/grub/font.h (grub_font_draw_string): Moved from here ...
7883 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
7884 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
7885 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
7886 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
7887 (grub_console_getcharwidth): Likewise.
7888 * include/grub/misc.h (grub_xputs): New proto.
7889 (grub_puts): Inlined.
7890 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
7891 (grub_normal_get_line_counter): Removed.
7892 (grub_install_newline_hook): Likewise.
7893 (grub_normal_get_char_counter): New proto.
7894 (grub_normal_reset_more): Likewise.
7895 (grub_xputs_normal): Likewise.
7896 * include/grub/powerpc/ieee1275/console.h: Removed.
7897 * include/grub/sparc64/ieee1275/console.h: Likewise.
7898 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
7899 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
7900 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
7901 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
7902 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
7903 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
7904 (grub_term_input): Pass reference to self. All users updated.
7905 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
7906 Pass reference to self. New fields normal_color, highlight_color and
7907 data. All users updated.
7908 (grub_putchar): Removed.
7909 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
7910 (grub_unicode_estimate_width): New function.
7911 (grub_term_getcharwidth): Add defaults.
7912 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
7913 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
7914 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
7915 (grub_cls): Remove EXPORT_FUNC.
7916 (grub_setcolorstate): Inline.
7917 (grub_newline_hook): Removed.
7918 * include/grub/terminfo.h: Rewritten. All users updated.
7919 * include/grub/unicode.h: New file.
7920 * include/grub/video.h (grub_video_signed_rect): New type.
7921 * kern/emu/console.c (grub_console_highlight_color): Removed.
7922 (grub_console_normal_color): Likewise.
7923 (grub_console_standard_color): Made static.
7924 (grub_ncurses_putchar): Remove mapping.
7925 (grub_ncurses_getcharwidth): Removed.
7926 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
7927 (grub_ncurses_setcolor): Removed.
7928 (grub_ncurses_getcolor): Likewise.
7929 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
7930 (grub_console_putchar): ... this.
7931 (grub_console_putchar): Handle argument difference.
7932 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
7933 console_init_early and console_init_lately.
7934 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
7935 * kern/misc.c (grub_puts): Removed.
7936 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
7937 (grub_vsnprintf_real): Remove str = NULL support.
7938 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
7939 * normal/charset.c (grub_utf8_to_ucs4): ... here.
7940 * kern/term.c (grub_putcode): Renamed to ...
7941 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
7942 (grub_putchar): Removed.
7943 (grub_xputs_dumb): New function.
7944 (grub_xputs): New variable.
7945 * lib/charset.c: Move from here ...
7946 * normal/charset.c: ... to here.
7947 (grub_ucs4_to_utf8): New function.
7948 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
7949 (join_types): New variable.
7950 (unpack_join): New function.
7951 (bidi_types): New variable.
7952 (unpack_bidi): New function.
7953 (get_bidi_type): Likewise.
7954 (get_join_type): Likewise.
7955 (is_mirrored): Likewise.
7956 (grub_unicode_get_comb_type): Likewise.
7957 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
7958 (is_type_after): Likewise.
7959 (grub_unicode_aglomerate_comb): Likewise.
7960 (bidi_line_wrap): Likewise.
7961 (grub_bidi_line_logical_to_visual): Likewise.
7962 (grub_bidi_logical_to_visual): Likewise.
7963 (grub_unicode_mirror_code): Likewise.
7964 (grub_unicode_shape_code): Likewise.
7965 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
7966 Don't use grub_putchar.
7967 * normal/main.c (grub_normal_init_page): Use grub_putcode.
7968 (grub_normal_reader_init): Likewise.
7969 (grub_xputs_saved): New variable.
7970 (GRUB_MOD_INIT): Set grub_xputs.
7971 (GRUB_MOD_FINI): Restore grub_xputs.
7972 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
7973 (menu_init): Avoid printing gfxmenu error.
7974 (show_menu): Use grub_normal_get_char_counter.
7975 * normal/menu_entry.c (update_screen): Fix out-of-array.
7976 (complete): Avoid NULL dereferencing.
7977 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
7978 * normal/menu_text.c (print_spaces): Removed.
7979 (grub_print_ucs4): Likewise.
7980 (grub_print_message_indented): Use grub_print_ucs4.
7981 (print_message): Use grub_putcode.
7982 (print_entry): Hanlde diacritics.
7983 * normal/term.c (term_state): New type.
7984 (grub_more_lines): Removed.
7985 (term_states): New variable.
7986 (grub_normal_line_counter): Renamed to ..
7987 (grub_normal_char_counter): ...this. All users updated.
7988 (grub_normal_get_line_counter): Renamed to ...
7989 (grub_normal_get_char_counter): ... this.
7990 (grub_normal_reset_more): New function.
7991 (process_newline): Removed.
7992 (print_more): New function.
7993 (grub_install_newline_hook): Removed.
7994 (map_code): New function.
7995 (grub_puts_terminal): Use grub_print_ucs4.
7996 (putglyph): New function.
7997 (putcode_real): Likewise.
7998 (grub_putcode): Use putcode_real.
7999 (get_maxwidth): New function.
8000 (get_startwidth): Likewise.
8001 (print_ucs4_terminal): Likewise.
8002 (find_term_state): Likewise.
8003 (put_glyphs_terminal): Likewise.
8004 (print_backlog): Likewise.
8005 (print_ucs4_real): Likewise.
8006 (grub_print_ucs4): Likewise.
8007 (grub_xputs_normal): Likewise.
8008 * term/efi/console.c (grub_console_putchar): Output diacritics.
8009 (grub_console_getcharwidth): Removed.
8010 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
8011 * term/gfxterm.c (clear_char): Free chars.
8012 (scroll_up): Avoid leaking memory.
8013 (grub_gfxterm_putchar): Support diacritics.
8014 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
8015 * term/i386/pc/console.c (grub_console_term_output): Declare as
8016 GRUB_TERM_CODE_TYPE_VGA.
8017 * term/i386/pc/vga.c (grub_vga_term): Declare as
8018 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
8019 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
8020 GRUB_TERM_CODE_TYPE_VGA.
8021 * term/i386/vga_common.c (map_char): Removed.
8022 (grub_console_putchar): Likewise.
8023 (grub_console_getcharwidth): Likewise.
8024 * term/ieee1275/ofconsole.c: Simplify using terminfo.
8025 (colors): Reordered to match terminfo.
8026 (grub_ofconsole_normal_color): Removed.
8027 (grub_ofconsole_writeesc): Likewise.
8028 (grub_ofconsole_highlight_color): Likewise.
8029 (grub_ofconsole_getcharwidth): Likewise.
8030 (grub_ofconsole_setcolorstate): Likewise.
8031 (grub_ofconsole_setcolor): Likewise.
8032 (grub_ofconsole_getcolor): Likewise.
8033 (grub_ofconsole_readkey): Renamed to ...
8034 (readkey): ... this. Remove escape sequence handling. Return -1 on no
8035 key.
8036 (grub_ofconsole_checkkey): Removed.
8037 (grub_ofconsole_getkey): Likewise.
8038 (grub_ofconsole_getxy): Likewise.
8039 (grub_ofconsole_gotoxy): Likewise.
8040 (grub_ofconsole_cls): Likewise.
8041 (grub_ofconsole_refresh): Likewise.
8042 (grub_ofconsole_terminfo_input): New struct.
8043 (grub_ofconsole_terminfo_output): Likewise.
8044 (grub_ofconsole_term_input): Use terminfo.
8045 (grub_ofconsole_term_output): Likewise.
8046 (grub_console_init): Split into ...
8047 (grub_console_init_early): ...this and ...
8048 (grub_console_init_lately): ...this. Use terminfo.
8049 (grub_ofconsole_putchar): Renamed to ...
8050 (put): ... this. Remove mapping.
8051 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
8052 * term/serial.c: Simplify using terminfo.
8053 (xpos): Removed.
8054 (ypos): Likewise.
8055 (keep_track): Likewise.
8056 (registered): Likewise.
8057 (input_buf): Likewise.
8058 (npending): Likewise.
8059 (serial_translate_key_sequence): Likewise.
8060 (fill_input_buf): Likewise.
8061 (grub_serial_checkkey): Likewise.
8062 (grub_serial_getkey): Likewise.
8063 (grub_serial_getxy): Likewise.
8064 (grub_serial_gotoxy): Likewise.
8065 (grub_serial_putchar): Likewise.
8066 (grub_serial_cls): Likewise.
8067 (grub_serial_setcolorstate): Likewise.
8068 (grub_serial_setcursor): Likewise.
8069 (serial_hw_init): Use serial_hw_fetch.
8070 (grub_serial_terminfo_input): New variable.
8071 (grub_serial_terminfo_output): Likewise.
8072 (grub_serial_term_input): Use terminfo.
8073 (grub_serial_term_output): Likewise.
8074 * term/terminfo.c (putstr): Use put.
8075 (grub_terminfo_all_free): New function
8076 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
8077 (grub_terminfo_output_register): New function.
8078 (grub_terminfo_output_unregister): Likewise.
8079 (grub_terminfo_getxy): Likewise.
8080 (grub_terminfo_readkey): Likewise.
8081 (grub_terminfo_checkkey): Likewise.
8082 (grub_terminfo_getkey): Likewise.
8083 (grub_terminfo_input_init): Likewise.
8084 (print_terminfo): Likewise.
8085 (grub_cmd_terminfo): Handle encoding.
8086 (grub_terminfo_gotoxy): Track position.
8087 (grub_terminfo_cls): Likewise.
8088 (grub_terminfo_putchar): Likewise.
8089 (grub_terminfo_setcolorstate): Handle colors
8090 (grub_terminfo_cursor_on): This ...
8091 (grub_terminfo_cursor_off): ... and this merged into ...
8092 (grub_terminfo_setcursor): ... this.
8093 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
8094 * unicode/ArabicShaping.txt: New file (imported from Unicode).
8095 * unicode/BidiMirroring.txt: Likewise.
8096 * unicode/UnicodeData.txt: Likewise.
8097 * unicode/COPYING: Likewise.
8098 * util/grub-editenv.c (grub_putchar): Removed.
8099 (grub_xputs_real): New function.
8100 (grub_xputs): New variable.
8101 * util/grub-fstest.c (grub_putchar): Removed.
8102 (grub_xputs_real): New function.
8103 (grub_xputs): New variable.
8104 * util/grub-mkdevicemap.c (grub_putchar): Removed.
8105 (grub_xputs_real): New function.
8106 (grub_xputs): New variable.
8107 * util/grub-probe.c (grub_putchar): Removed.
8108 (grub_xputs_real): New function.
8109 (grub_xputs): New variable.
8110 * util/grub-script-check.c (grub_putchar): Removed.
8111 (grub_xputs_real): New function.
8112 (grub_xputs): New variable.
8113 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
8114 (grub_xputs_real): New function.
8115 (grub_xputs): New variable.
8116 * util/import_unicode.py: New file.
8117 * util/grub-mkfont.c (ft_errmsgs): New array.
8118 (grub_glyph_info): Make bitmap a pointer.
8119 (file_formats): New type WIDTH_SPEC.
8120 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
8121 (options): Add width-spec.
8122 (help): Likewise.
8123 (add_char): Renamed to ...
8124 (add_glyph): ... this.
8125 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
8126 (glyph_replace): New type.
8127 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
8128 (add_char): New function.
8129 (add_subst): Likewise.
8130 (process_cursive): Likewise.
8131 (add_font): Handle GSUB.
8132 (write_font_width_spec): New function.
8133 (main): Sort glyphs.
8134 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
8135 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
8136 * kern/term.c (grub_cls): Moved from here...
8137 * normal/term.c (grub_cls): ... here.
8138
50f0bcda
CW
81392010-07-02 Colin Watson <cjwatson@ubuntu.com>
8140
8141 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
8142 suitable for using within the format argument of printf when
8143 converting grub_size_t.
8144 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
8145 "x" to convert grub_size_t arguments.
8146
40372103
VS
81472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
8150 too long captions.
8151 (list_get_minimal_size): Take selection box into account.
8152
942a10c7
VS
81532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
8156 NULL font.
8157
2bdb2892
CW
81582010-07-02 Colin Watson <cjwatson@ubuntu.com>
8159
8160 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
8161 devices when iterating over /dev/disk/by-id; they will be handled
8162 later if appropriate, which they aren't always (e.g. LVM).
8163
e03ed6c1
CW
81642010-07-02 Colin Watson <cjwatson@ubuntu.com>
8165
8166 * include/grub/misc.h (grub_reboot): Declare as noreturn.
8167 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
8168 fails.
8169 (grub_halt): Likewise.
8170 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
8171 reset-all fails.
8172 (grub_halt): Don't return, even if all of shut-down, power-off, and
8173 poweroff fail.
8174
47695765
CW
81752010-07-02 Colin Watson <cjwatson@ubuntu.com>
8176
8177 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
8178 arguments, not three.
8179
507736c8
CW
81802010-07-02 Colin Watson <cjwatson@ubuntu.com>
8181
8182 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
8183 * util/grub.d/10_linux.in: Use it to check for LVM, so that
8184 LVM-on-RAID is handled correctly.
8185
e3c8cd37
CW
81862010-07-02 Colin Watson <cjwatson@ubuntu.com>
8187
8188 * docs/grub.texi (Changes from GRUB Legacy): New section.
8189 (Future): Fix typo.
8190
8d4a2fec
CW
81912010-07-02 Colin Watson <cjwatson@ubuntu.com>
8192
8193 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
8194 grub.d/README accidentally ends up executable for one reason or
8195 another. Ignore it.
8196
1c4827be
VS
81972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
8200 (gpt_partition_map_iterate): Support non-512B sectors.
8201
d9a0c941
VS
82022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 * kern/efi/init.c (grub_efi_init): Disable watchdog.
8205 Tested by: Seth Goldberg.
8206
48f27e87
VS
82072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
8210 Properly align mbi.
8211 Reported by: Seth Goldberg.
8212
b0c4f956
VS
82132010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * util/grub-mkrescue.in: Avoid module duplication.
8216
105a2e8c
SF
82172010-07-01 Sean Finney <seanius@seanius.net>
8218
8219 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
8220
5944958c
SF
82212010-07-01 Sean Finney <seanius@seanius.net>
8222
8223 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
8224
82252010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * disk/lvm.c (grub_lvm_checkvalue): New function.
8228 (grub_lvm_check_flag): Likewise.
8229
b79889ba
RM
82302010-07-01 Robert Millan <rmh@gnu.org>
8231
8232 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
8233 Support 'p' as partition separator on kernel of FreeBSD (used
8234 with GPT labels).
8235 (grub_util_biosdisk_get_grub_dev): Likewise.
8236
ec1d04f1
VS
82372010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 Yeeloong firmware port.
8240
8241 * boot/mips/yeeloong/fwstart.S: New file.
8242 * bus/cs5536.c (gpiodump): New const.
8243 (set_io_space): New function.
8244 (set_iod): Likewise.
8245 (set_p2d): Likewise.
8246 (grub_cs5536_init_geode): Likewise.
8247 * commands/mips/yeeloong/lsspd.c: New file.
8248 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
8249 (serial_mod_SOURCES): New variable.
8250 (serial_mod_CFLAGS): Likewise.
8251 (serial_mod_LDFLAGS): Likewise.
8252 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
8253 term/terminfo.c and term/tparm.c.
8254 (pkglib_IMAGES): Add fwstart.img.
8255 (fwstart_img_SOURCES): New variable.
8256 (fwstart_img_CFLAGS): Likewise.
8257 (fwstart_img_ASFLAGS): Likewise.
8258 (fwstart_img_LDFLAGS): Likewise.
8259 (fwstart_img_FORMAT): Likewise.
8260 (pkglib_MODULES): Add lsspd.mod.
8261 (lsspd_mod_SOURCES): New variable.
8262 (lsspd_mod_CFLAGS): Likewise.
8263 (lsspd_mod_LDFLAGS): Likewise.
8264 (pkglib_MODULES): Add halt.mod.
8265 (halt_mod_SOURCES): New variable.
8266 (halt_mod_CFLAGS): Likewise.
8267 (halt_mod_LDFLAGS): Likewise.
8268 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
8269 (serial_mod_SOURCES): Removed.
8270 (serial_mod_CFLAGS): Likewise.
8271 (serial_mod_LDFLAGS): Likewise.
8272 * disk/ata.c (check_device): New function.
8273 (grub_ata_device_initialize): Use check_device.
8274 (grub_ata_iterate): Recheck devices.
8275 (grub_ata_open): Likewise.
8276 (grub_atapi_iterate): Likewise.
8277 (grub_atapi_open): Likewise.
8278 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
8279 (GRUB_ATA_CH1_PORT1): Likewise.
8280 (GRUB_ATA_CH0_PORT2): Likewise.
8281 (GRUB_ATA_CH1_PORT2): Likewise.
8282 * include/grub/mips/loongson.h: New file.
8283 * include/grub/mips/yeeloong/ec.h: Likewise.
8284 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
8285 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
8286 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
8287 * include/grub/misc.h (grub_halt): Declare as noreturn.
8288 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
8289 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
8290 (UART_ENABLE_FIFO_TRIGGER1): New definition.
8291 (UART_ENABLE_DTRRTS): Likewise.
8292 (UART_ENABLE_MODEM): Removed.
8293 (UART_ENABLE_OUT2): New const.
8294 * include/grub/term.h (grub_term_register_input_active): New function.
8295 (grub_term_register_output_active): Likewise.
8296 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
8297 argument.
8298 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
8299 (init_pci): New function.
8300 (grub_machine_init): Execute platform init when firmware. Init serial.
8301 (grub_halt): Implement.
8302 (grub_exit): Likewise.
8303 (grub_reboot): Likewise.
8304 * term/serial.c (serial_hw_init): Update macros.
8305 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
8306 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
8307 (image_targets): New target mipsel-yeeloong-flash.
8308 (generate_image): Support IMAGE_YEELOONG_FLASH.
8309 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
8310 (grub_video_sm712_setup): Init card.
8311 (grub_video_sm712_set_palette): Removed.
8312 * video/sm712_init.c: New file.
8313
ff4a70d2
CW
83142010-06-30 Colin Watson <cjwatson@ubuntu.com>
8315
8316 * Makefile.in (install-local): Temporarily prepend $(builddir) to
8317 PATH when running help2man and then run it on the unadorned
8318 executable names, rather than passing $(builddir)/* paths to
8319 help2man. This avoids the build directory ending up in generated
8320 manual pages.
8321
1246efeb
CW
83222010-06-29 Colin Watson <cjwatson@ubuntu.com>
8323
8324 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
8325 to avoid accidents when debugging with 'sh -x'.
8326 * util/grub-mkrescue.in: Likewise.
8327 * util/grub.d/00_header.in: Likewise.
8328 * util/grub.d/10_hurd.in: Likewise.
8329 * util/grub.d/10_kfreebsd.in: Likewise.
8330 * util/grub.d/10_linux.in: Likewise.
8331 * util/grub.d/10_netbsd.in: Likewise.
8332 * util/grub.d/10_windows.in: Likewise.
8333 * util/grub.d/20_linux_xen.in: Likewise.
8334 * util/grub.d/30_os-prober.in: Likewise.
8335 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8336
1ba9b889
CW
83372010-06-29 Colin Watson <cjwatson@ubuntu.com>
8338
8339 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
8340 last character in the buffer.
8341 Reported by: Vladimir Serbinenko.
8342
dccaf99d
RM
83432010-06-29 Robert Millan <rmh@gnu.org>
8344
8345 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
8346 (Command-line and menu entry commands): Document `badram' command.
8347
d500ed12
RM
83482010-06-28 Robert Millan <rmh@gnu.org>
8349
8350 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
8351 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
8352 command using ${GRUB_BADRAM} as parameter.
8353
20bc84a6
CW
83542010-06-28 Colin Watson <cjwatson@ubuntu.com>
8355
8356 * docs/grub.texi (Device map): New section.
8357 (Themes): New section (stub).
8358 * Makefile.in (docs/grub.info): The info documentation now builds
8359 without errors. Make sure it stays that way.
8360
4045dee1
VS
83612010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 Use normal parser for menu entries.
8364 Reported by: Thomas Frauendorfer
8365
8366 * include/grub/parser.h (grub_parser_execute): Don't export.
8367 * normal/menu.c (grub_menu_execute_entry_real): New function.
8368 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
8369
bca58c7b
CW
83702010-06-28 Colin Watson <cjwatson@ubuntu.com>
8371
8372 * docs/grub.texi (Embedded configuration): New section (replacing
8373 old "Preset Menu" stub).
8374 (Images): New section.
8375 (configfile): Note that any menu entries defined in `file' are shown
8376 immediately.
8377
dec53e63
JT
83782010-06-28 Josh Triplett <josh@joshtriplett.org>
8379
8380 * mmap/i386/pc/mmap_helper.S: Set CF on return.
8381
c06e40f7
CW
83822010-06-28 Colin Watson <cjwatson@ubuntu.com>
8383
8384 * util/grub-install.in: Add --debug-image= option.
8385
cb88052b
CW
83862010-06-28 Colin Watson <cjwatson@ubuntu.com>
8387
8388 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
8389 possible on Linux.
8390
8391 * util/deviceiter.c (check_device): Rename to ...
8392 (check_device_readable_unique): ... this. Update all callers.
8393 Maintain and check a list of which devices (by canonicalized name)
8394 have already been seen.
8395 (clear_seen_devices): New function.
8396 (compare_file_names) [__linux__]: New function.
8397 (grub_util_iterate_devices): Clear the list of seen devices on exit
8398 and (just in case) on entry.
8399 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
8400 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
8401 seen-devices list, superseded by general code in check_device.
8402
bbe34652
CW
84032010-06-28 Colin Watson <cjwatson@ubuntu.com>
8404
8405 * commands/cat.c (options): New variable.
8406 (grub_cmd_cat): Parse options. If the --dos option is given, print
8407 DOS-style "\r\n" line endings as simple newlines (Debian bug
8408 #586358).
8409 (GRUB_MOD_INIT): Use extcmd.
8410 (GRUB_MOD_FINI): Likewise.
8411 * docs/grub.texi (cat): Document --dos.
8412
412e09f3
VS
84132010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 XEN with Linux grub-mkconfig support.
8416
8417 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
8418 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
8419 GRUB_CMDLINE_XEN_DEFAULT.
8420 * util/grub.d/20_linux_xen.in: New file.
8421
53f3ef38 84222010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
8423
8424 Initialise VGA video on qemu ourselves.
8425
8426 * boot/i386/qemu/boot.S: Don't call 0xc000.
8427 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
8428 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
8429 (kernel_img_HEADERS): Add pci.h.
8430 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
8431 * configure.ac: Force unifont on qemu and yeeloong.
8432 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
8433 (grub_vga_palette_write): Use correct register.
8434 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
8435 Call grub_qemu_init_cirrus.
8436 * kern/i386/qemu/init.c: New file.
8437 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
8438
8439 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
8440
c75be4fb
PR
84412010-06-26 Pavel Roskin <proski@gnu.org>
8442
8443 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
8444 13.
8445
d8034603
CW
84462010-06-26 Colin Watson <cjwatson@ubuntu.com>
8447
8448 * docs/grub.texi (Simple configuration): Explain that
8449 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
8450 set to `true' to disable their respective recovery entries, not
8451 merely set.
8452
3fa06487
CW
84532010-06-26 Colin Watson <cjwatson@ubuntu.com>
8454
8455 Make the `source' command slightly faster.
8456
8457 * normal/main.c (grub_normal_execute): Don't re-read list files when
8458 nested.
8459
e9b29642
CW
84602010-06-23 Colin Watson <cjwatson@ubuntu.com>
8461
8462 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
8463 field position and mask size to red fields from mode_info, not
8464 green.
8465 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
8466 Remove redundant tag->common.framebuffer_type assignment.
8467 Reported by: Seth Goldberg.
8468
e726542f
CW
84692010-06-23 Colin Watson <cjwatson@ubuntu.com>
8470
8471 Sync up other versions of the Linux loader with Robert Millan's
8472 change of 2010-01-09, "Make loader output a bit more user-friendly".
8473
8474 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
8475 grub_dprintf().
8476 (grub_cmd_linux): Likewise.
8477 (grub_cmd_initrd): Likewise.
8478 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
8479 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8480
d6e98a17
CW
84812010-06-21 Colin Watson <cjwatson@ubuntu.com>
8482
8483 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
8484 larger than MEMORY_MAP_SIZE.
8485
14d3f08e
BC
84862010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
8487
8488 Fix parallel build.
8489
8490 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
8491 dependency.
8492 * script/parser.y: #include grub_script.tab.h header.
8493
4f9613a3
VS
84942010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 Support >3GiB and <16MiB RAM in i386-qemu.
8497
8498 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
8499 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
8500 (grub_lower_mem): Removed.
8501 (grub_upper_mem): Likewise.
8502 (mem_size): Made static.
8503 (above_4g): New variable.
8504 (grub_machine_mmap_init): Detect small mem_size and above_4g.
8505 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
8506 support.
8507
05e51879
VS
85082010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 Cirrus 5446 and Bochs video cards support.
8511
8512 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
8513 video_bochs.mod
8514 (video_cirrus_mod_SOURCES): New variable.
8515 (video_cirrus_mod_CFLAGS): Likewise.
8516 (video_cirrus_mod_LDFLAGS): Likewise.
8517 (video_bochs_mod_SOURCES): Likewise.
8518 (video_bochs_mod_CFLAGS): Likewise.
8519 (video_bochs_mod_LDFLAGS): Likewise.
8520 * include/grub/vga.h: New file.
8521 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
8522 (grub_video_fb_set_page_t): New type.
8523 (grub_video_fb_setup): New prototype.
8524 (grub_video_fb_swap_buffers): Likewise.
8525 (grub_video_fb_get_info_and_fini): Likewise.
8526 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
8527 (CRTC_DATA_PORT): Likewise.
8528 (CRTC_CURSOR): Likewise.
8529 (CRTC_CURSOR_ADDR_HIGH): Likewise.
8530 (CRTC_CURSOR_ADDR_LOW): Likewise.
8531 (CRTC_CURSOR_DISABLE): Likewise.
8532 (update_cursor): Use grub_vga_cr_write.
8533 (grub_vga_text_setcursor): Likewise.
8534 * video/bochs.c: New file.
8535 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
8536 (palette): Likewise.
8537 (palette_size): Likewise.
8538 (framebuffer): New variable.
8539 (grub_video_fb_init): Use 'framebuffer'.
8540 (grub_video_fb_fini): Likewise.
8541 (grub_video_fb_get_info): Likewise.
8542 (grub_video_fb_get_palette): Likewise.
8543 (grub_video_fb_set_palette): Likewise.
8544 (grub_video_fb_set_viewport): Likewise.
8545 (grub_video_fb_get_viewport): Likewise.
8546 (grub_video_fb_map_color): Likewise.
8547 (grub_video_fb_map_rgb): Likewise.
8548 (grub_video_fb_map_rgba): Likewise.
8549 (grub_video_fb_unmap_color): Likewise.
8550 (grub_video_fb_unmap_color_int): Likewise.
8551 (grub_video_fb_fill_rect): Likewise.
8552 (grub_video_fb_blit_bitmap): Likewise.
8553 (grub_video_fb_blit_render_target): Likewise.
8554 (grub_video_fb_scroll): Likewise.
8555 (grub_video_fb_create_render_target): Likewise.
8556 (grub_video_fb_doublebuf_blit_init): Likewise.
8557 (grub_video_fb_set_active_render_target): Handle doublebuffering.
8558 (doublebuf_pageflipping_update_screen): New function.
8559 (doublebuf_pageflipping_init): Likewise.
8560 (grub_video_fb_setup): Likewise.
8561 (grub_video_fb_swap_buffers): Likewise.
8562 (grub_video_fb_get_info_and_fini): Likewise.
8563 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
8564 All users updated.
8565 (doublebuf_pageflipping_commit): Restructured into ...
8566 (doublebuf_pageflipping_set_page): ... this.
8567 (doublebuf_pageflipping_update_screen): Removed.
8568 (doublebuf_pageflipping_init): Likewise.
8569 (double_buffering_init): Likewise.
8570 (grub_video_vbe_setup): Use grub_video_fb_setup.
8571 (grub_video_vbe_swap_buffers): Removed.
8572 (grub_video_vbe_set_active_render_target): Likewise.
8573 (grub_video_vbe_get_active_render_target): Likewise.
8574 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
8575 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
8576 grub_video_fb_set_active_render_target and
8577 grub_video_fb_get_active_render_target.
8578 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
8579 (SEQUENCER_DATA_PORT): Likewise.
8580 (MAP_MASK_REGISTER): Likewise.
8581 (CRTC_ADDR_PORT): Likewise.
8582 (CRTC_DATA_PORT): Likewise.
8583 (START_ADDR_HIGH_REGISTER): Likewise.
8584 (START_ADDR_LOW_REGISTER): Likewise.
8585 (GRAPHICS_ADDR_PORT): Likewise.
8586 (GRAPHICS_DATA_PORT): Likewise.
8587 (READ_MAP_REGISTER): Likewise.
8588 (INPUT_STATUS1_REGISTER): Likewise.
8589 (INPUT_STATUS1_VERTR_BIT): Likewise.
8590 (get_map_mask): Use grub_vga_sr_read.
8591 (set_map_mask): Use grub_vga_sr_write.
8592 (set_read_map): Use grub_vga_gr_write.
8593 (set_start_address): Use grub_vga_cr_write.
8594 * video/sm712.c (framebuffer): Remove leftover fields.
8595
4321c64a
CW
85962010-06-20 Colin Watson <cjwatson@ubuntu.com>
8597
8598 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
8599 setting GRUB_VIDEO_BACKEND. Make it available as a user override
8600 instead. Replace the gfxterm backend check with a check that
8601 ${GRUB_PREFIX}/video.lst is non-empty.
8602 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
8603 again.
8604 (load_video): New generated function. Call it before loading
8605 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
8606 * util/grub.d/10_linux.in (linux_entry): Call load_video.
8607 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
8608 * docs/grub.texi (Simple configuration): Document
8609 GRUB_VIDEO_BACKEND.
8610
86112010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 Use video functions in linux and xnu loaders.
8614
8615 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
8616 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
8617 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
8618 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
8619 loader/i386/pc/linux.c.
8620 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
8621 (find_line_len): Removed.
8622 (find_framebuf): Likewise.
8623 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
8624 * loader/i386/efi/xnu.c: Removed.
8625 * loader/i386/pc/xnu.c: Moved from here...
8626 * loader/i386/xnu.c: ...here.
8627
8628 Enable priorities in video drivers.
8629
8630 * include/grub/video.h (grub_video_adapter_prio_t): New type.
8631 (grub_video_adapter): New field prio.
8632 (grub_video_register): Respect prio when inserting.
8633 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
8634 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
8635 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
8636 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
8637 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
8638 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
8639 * video/sm712.c (grub_video_sm712_adapter): Likewise.
8640
8641 Fix SDL driver ID.
8642
8643 * include/grub/video.h (grub_video_driver_id_t): New value
8644 GRUB_VIDEO_DRIVER_SDL.
8645 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
8646
7d24e434
CW
86472010-06-17 Colin Watson <cjwatson@ubuntu.com>
8648
8649 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
8650 argument to printf.
8651 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
8652
c88a83f6
CW
86532010-06-17 Colin Watson <cjwatson@ubuntu.com>
8654
8655 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
8656 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
8657
094dfb69
CW
86582010-06-17 Colin Watson <cjwatson@ubuntu.com>
8659
8660 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
8661 directly, and recommend grub-install instead.
8662 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
8663
2164da6b
CW
86642010-06-17 Colin Watson <cjwatson@ubuntu.com>
8665
8666 Fix i386-pc prefix handling with nested partitions (Debian bug
8667 #585068). Note that the case where the core image is booted using
8668 multiboot and relocated from its original location still requires
8669 more work.
8670
8671 * kern/i386/pc/init.c (make_install_device): If the prefix starts
8672 with "(,", fill the boot drive in between those two characters, but
8673 expect that a full partition specification including partition map
8674 names will follow.
8675 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
8676 specified, write a prefix without the drive name but including a
8677 full partition specification.
8678
044e2e60
CW
86792010-06-16 Colin Watson <cjwatson@ubuntu.com>
8680
8681 * util/grub-mkconfig.in: Ignore non-option arguments, for
8682 compatibility with older versions (before 2010-06-12) which did the
8683 same. In particular, this makes it easier to ship an update-grub
8684 wrapper which is compatible with that used with GRUB Legacy (Debian
8685 bug #586056).
8686
5591324f
GS
86872010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8688
8689 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
8690 for manual page generation.
8691
662e24d5
GS
86922010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
8693
8694 * po/POTFILES: Remove leftover commands/handler.c.
8695
8d70754e
CW
86962010-06-14 Colin Watson <cjwatson@ubuntu.com>
8697
8698 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
8699 left this script non-functional.
8700
41160e2e
CW
87012010-06-14 Colin Watson <cjwatson@ubuntu.com>
8702
8703 * docs/man/grub-emu.h2m: New file.
8704
b5309cc1
CW
87052010-06-13 Colin Watson <cjwatson@ubuntu.com>
8706
8707 * docs/grub.texi (Commands): Document reduced command set in rescue
8708 mode.
8709 (cpuid): New section.
8710
fcb2d090
GS
87112010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
8712
8713 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
8714 new partition naming style.
8715 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
8716
96e5c556
BC
87172010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
8718
8719 Add "-o grub.iso" like cmdline options support.
8720
8721 * util/grub-install.in: Improve cmdline option parsing.
8722 * util/grub-mkconfig.in: Likewise.
8723 * util/grub-mkrescue.in: Likewise.
8724 * util/grub-reboot.in: Likewise.
8725 * util/grub-set-default.in: Likewise.
8726 * util/i386/efi/grub-install.in: Likewise.
8727 * util/ieee1275/grub-install.in: Likewise.
8728 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8729
c16be99b
CW
87302010-06-12 Colin Watson <cjwatson@ubuntu.com>
8731
8732 * .bzrignore: Ignore 41_custom.
8733
ce08a9fb
TS
87342010-06-12 Thomas Schmitt <scdbackup@gmx.net>
8735
8736 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
8737
7beac90c
CW
87382010-06-12 Colin Watson <cjwatson@ubuntu.com>
8739
8740 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
8741 prototype declarations.
8742
8743 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
8744 generating fs, partmap, and video lists.
8745 * include/grub/fs.h (grub_fs_register): Omit prototype if
8746 GRUB_LST_GENERATOR is defined.
8747 * include/grub/partition.h (grub_partition_map_register): Likewise.
8748 * include/grub/video.h (grub_video_register): Likewise.
8749
1c8f0f8d
JM
87502010-06-12 Javier Martín <lordhabbit@gmail.com>
8751
8752 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
8753
a6085973
TS
87542010-06-12 Thomas Schmitt <scdbackup@gmx.net>
8755
8756 * util/grub-mkrescue.in: Support --xorriso argument.
8757
25c56d29
VS
87582010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
8761 Suggested by: Thomas Schmitt.
8762
e03e4b24
VS
87632010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
8766 Suggested by: Thomas Schmitt.
8767
57711df6
VS
87682010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 custom.cfg support.
8771
8772 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
8773 * util/grub.d/41_custom.in: New file.
8774
ee62c427
CW
87752010-06-12 Colin Watson <cjwatson@ubuntu.com>
8776
8777 * util/grub-mkrescue.in (make_image): Remove sh module, which has
8778 been merged back into normal.
8779
283af07a
CW
87802010-06-11 Colin Watson <cjwatson@ubuntu.com>
8781
8782 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
8783 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
8784
56a0d956
CW
87852010-06-11 Colin Watson <cjwatson@ubuntu.com>
8786
8787 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
8788 when generating manual pages.
8789 * docs/man/grub-bin2h.h2m: New file.
8790 * docs/man/grub-editenv.h2m: New file.
8791 * docs/man/grub-fstest.h2m: New file.
8792 * docs/man/grub-install.h2m: New file.
8793 * docs/man/grub-macho2img.h2m: New file.
8794 * docs/man/grub-mkconfig.h2m: New file.
8795 * docs/man/grub-mkdevicemap.h2m: New file.
8796 * docs/man/grub-mkfont.h2m: New file.
8797 * docs/man/grub-mkimage.h2m: New file.
8798 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
8799 * docs/man/grub-mkrelpath.h2m: New file.
8800 * docs/man/grub-mkrescue.h2m: New file.
8801 * docs/man/grub-ofpathname.h2m: New file.
8802 * docs/man/grub-pe2elf.h2m: New file.
8803 * docs/man/grub-probe.h2m: New file.
8804 * docs/man/grub-reboot.h2m: New file.
8805 * docs/man/grub-script-check.h2m: New file.
8806 * docs/man/grub-set-default.h2m: New file.
8807 * docs/man/grub-setup.h2m: New file.
8808
3a37e322
VS
88092010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 Use FOR_* macros instead of *_iterate whenever possible.
8812
8813 * commands/handler.c: Removed.
8814 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
8815 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
8816 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
8817 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
8818 (grub_probe_SOURCES): Remove kern/parser.c.
8819 (util/grub-script-check.c_DEPENDENCIES): Removed.
8820 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
8821 and grub_script_check_init.c.
8822 (grub_script_check_init.lst): Removed.
8823 (grub_script_check_init.h): Likewise.
8824 (grub_script_check_init.c): Likewise.
8825 (pkglib_MODULES): Remove handler.mod and sh.mod.
8826 (handler_mod_SOURCES): Removed.
8827 (handler_mod_CFLAGS): Likewise.
8828 (handler_mod_LDFLAGS): Likewise.
8829 (normal_mod_SOURCES): Remove normal/handler.c.
8830 Add script/main.c, script/script.c, script/execute.c,
8831 script/function.c, script/lexer.c, grub_script.tab.c
8832 and grub_script.yy.c.
8833 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
8834 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8835 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
8836 (grub_setup_SOURCES): Remove kern/parser.c.
8837 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
8838 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
8839 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
8840 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8841 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
8842 (grub_setup_SOURCES): Remove kern/parser.c.
8843 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
8844 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
8845 * include/grub/command.h (grub_command_iterate): Removed.
8846 (FOR_COMMANDS): New macro.
8847 * include/grub/dl.h (grub_dl): New member next.
8848 (grub_dl_iterate): Removed.
8849 (grub_dl_head): New variable declaration.
8850 (FOR_DL_MODULES): New macro.
8851 * include/grub/fs.h: Include list.h.
8852 (grub_fs): Make next first element.
8853 (grub_fs_list): New variable declaration.
8854 (grub_fs_register): Make inline.
8855 (grub_fs_unregister): Likewise.
8856 (grub_fs_iterate): Removed.
8857 (FOR_FILESYSTEMS): New macro.
8858 * include/grub/handler.h: Removed.
8859 * include/grub/list.h (grub_list_hook_t): Removed.
8860 (grub_list_test_t): Likewise.
8861 (grub_list_pop): Likewise.
8862 (grub_list_iterate): Likewise.
8863 (grub_list_insert): Likewise.
8864 (FOR_LIST_ELEMENTS): New macro.
8865 * include/grub/parser.h (grub_parser_class): Removed.
8866 (grub_parser_register): Likewise.
8867 (grub_parser_unregister): Likewise.
8868 (grub_parser_get_current): Likewise.
8869 (grub_parser_set_current): Likewise.
8870 (grub_register_rescue_parser): Likewise.
8871 (grub_rescue_parse_line): New function.
8872 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
8873 * include/grub/script_sh.h (grub_script_function_list): New variable
8874 declaration.
8875 (FOR_SCRIPT_FUNCTIONS): New macro.
8876 (grub_script_function_iterate): Removed.
8877 (grub_normal_parse_line): New prototype.
8878 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
8879 (FOR_DISABLED_TERM_INPUTS): Likewise.
8880 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
8881 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
8882 * include/grub/video.h (grub_video_adapter): Move 'next' to first
8883 element.
8884 (grub_video_register): Inline.
8885 (grub_video_unregister): Likewise.
8886 (grub_video_adapter_list): New variable declaration.
8887 (grub_video_iterate): Removed.
8888 (FOR_VIDEO_ADAPTERS): New macro.
8889 * kern/dl.c (grub_dl_list): Removed. All users updated.
8890 (grub_dl_iterate): Removed.
8891 * kern/fs.c (grub_fs_list): Make global.
8892 (grub_fs_register): Removed.
8893 (grub_fs_unregister): Likewise.
8894 (grub_fs_iterate): Likewise.
8895 * kern/handler.c: Removed.
8896 * kern/list.c (grub_list_pop): Removed.
8897 (grub_list_iterate): Likewise.
8898 (grub_list_insert): Likewise.
8899 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
8900 (grub_prio_list_insert): Don't use grub_list_insert.
8901 * kern/main.c (grub_register_rescue_parser): Don't call
8902 grub_register_rescue_parser.
8903 * kern/parser.c (grub_parser_class): Removed.
8904 (grub_parser_execute): Use grub_rescue_parse_line.
8905 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
8906 (grub_rescue_parser): Removed.
8907 (grub_register_rescue_parser): Likewise.
8908 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
8909 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
8910 (grub_auth_check_authentication): Likewise.
8911 * normal/completion.c (iterate_command): Removed.
8912 (grub_normal_do_completion): Use FOR_COMMANDS.
8913 * normal/handler.c: Removed.
8914 * normal/main.c (read_config_file): Remove parser changing.
8915 (grub_normal_execute): Don't call read_handler_list.
8916 (grub_normal_read_line_real): Statically allocate prompt.
8917 (grub_cmdline_run): Use grub_normal_parse_line.
8918 (GRUB_MOD_FINI): Don't call free_handler_list.
8919 * normal/menu_entry.c (run): Likewise.
8920 * script/function.c (grub_script_function_list): Make global.
8921 (grub_script_function_iterate): Removed.
8922 * script/main.c (grub_normal_parse_line): Make global.
8923 (grub_sh_parser): Removed.
8924 (GRUB_MOD_INIT): Likewise.
8925 (GRUB_MOD_FINI): Likewise.
8926 * tests/lib/functional_test.c (grub_functional_test): Use
8927 FOR_LIST_ELEMENTS.
8928 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
8929 (grub_test_run): Use FOR_LIST_ELEMENTS.
8930 * tests/lib/unit_test.c (main): Likewise.
8931 * util/deviceiter.c (grub_util_iterate_devices): Don't use
8932 grub_list_pop.
8933 * util/grub-fstest.c (grub_term_input_class): Removed.
8934 (grub_term_output_class): Likewise.
8935 * util/grub-probe.c: Likewise.
8936 * util/i386/pc/grub-setup.c: Likewise.
8937 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8938 * util/grub-script-check.c (main): Don't call grub_init_all and
8939 grub_fini_all.
8940 * video/video.c (grub_video_adapter_list): Make global.
8941 (grub_video_register): Removed.
8942 (grub_video_unregister): Likewise.
8943 (grub_video_iterate): Likewise.
8944
6289c3a7
VS
89452010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
8948 reported by Henrique Ferreiro.
8949
91460247
RM
89502010-06-09 Robert Millan <rmh@gnu.org>
8951
8952 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
8953 ones, when both are available.
8954
0ea7c4f9
GS
89552010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8956
8957 Make --version uniform and avoid hard-coded program name.
8958
8959 * util/grub-mkimage.c (main): Use `program_name' instead of
8960 hard-coded string.
8961 * util/i386/pc/grub-setup.c (main): Likewise.
8962 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
8963 * util/grub-install.in: Save the basename of $0 in $self, and use the
8964 latter in informational messages. Use the same format for --version
8965 as the binary programs.
8966 * util/grub-mkconfig.in: Likewise.
8967 * util/grub-mkrescue.in: Likewise.
8968 * util/grub-reboot.in: Likewise.
8969 * util/grub-set-default.in: Likewise.
8970 * util/i386/efi/grub-install.in: Likewise.
8971 * util/ieee1275/grub-install.in: Likewise.
8972 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8973
e8a6f3b6
GS
89742010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8975
8976 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
8977 embedding area. Use <= instead of == when checking for non-emptiness.
8978
f4d095d7
GS
89792010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8980
8981 * configure.ac: Add `.' to the directories searched for unifont.
8982
50e532ca
CW
89832010-06-08 Colin Watson <cjwatson@ubuntu.com>
8984
8985 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
8986 grub_script.yy.h.
8987
d39f3dec
CW
89882010-06-08 Colin Watson <cjwatson@ubuntu.com>
8989
8990 * docs/grub.texi (History): Expand to cover GRUB 2.
8991 (Serial terminal): Refer to `terminal_input' and `terminal_output'
8992 commands, not `terminal'.
8993 (serial): Likewise.
8994 (terminal_input): New section.
8995 (terminal_output): New section.
8996 (uppermem): New section (stub).
8997 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
8998
6ef0ddb4
CW
89992010-06-08 Colin Watson <cjwatson@ubuntu.com>
9000
9001 * docs/grub.texi (Security): Menu entries are unrestricted by
9002 default, not restricted to superusers as I had previously thought.
9003 Reword to account for this.
9004
e0f4c438
CW
90052010-06-07 Colin Watson <cjwatson@ubuntu.com>
9006
9007 * kern/emu/misc.c (device_mapper_null_log): New function.
9008 (grub_device_mapper_supported): New function.
9009 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
9010 prototype.
9011 * kern/emu/hostdisk.c (find_partition_start): Check whether
9012 device-mapper is supported before trying to use it.
9013 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
9014
da908200
CW
90152010-06-07 Colin Watson <cjwatson@ubuntu.com>
9016
9017 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
9018 (File name syntax): Likewise.
9019 (help): --all is no longer supported in GRUB 2. Be more precise
9020 about pattern matching.
9021
fb55c3ac
CW
90222010-06-07 Colin Watson <cjwatson@ubuntu.com>
9023
9024 * normal/completion.c (grub_normal_do_completion): When completing
9025 arguments to "set" and the current word contains an equals sign,
9026 skip to after the equals sign before starting completion.
9027
258c2573
CW
90282010-06-07 Colin Watson <cjwatson@ubuntu.com>
9029
9030 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
9031
ee75515e
CW
90322010-06-07 Colin Watson <cjwatson@ubuntu.com>
9033
9034 * docs/grub.texi (Network): New section.
9035 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
9036 `(nd)' as in GRUB Legacy.
9037 (pxe_unload): New section.
9038
a6a700aa
CW
90392010-06-07 Colin Watson <cjwatson@ubuntu.com>
9040
9041 * docs/grub.texi (Troubleshooting): `echo' is not usually available
9042 in the rescue shell, so recommend using `set' instead. Thanks,
9043 Jordan Uggla.
9044
4003dd38
CW
90452010-06-07 Colin Watson <cjwatson@ubuntu.com>
9046
9047 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
9048 (password): New section.
9049 (password_pbkdf2): New section.
9050 (search): New section.
9051 (Security): New section.
9052 (Troubleshooting): New section, currently very incomplete.
9053 (Invoking grub-mkpasswd-pbkdf2): New section.
9054 (Internals): New section, currently very incomplete.
9055
e1cbcc40
CW
90562010-06-07 Colin Watson <cjwatson@ubuntu.com>
9057
9058 * util/grub.d/00_header.in: Add some more quoting (of
9059 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
9060 work again.
9061 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
9062
db8fa1ad
CW
90632010-06-07 Colin Watson <cjwatson@ubuntu.com>
9064
9065 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
9066 to `count', fixing variable shadowing that broke the -c option.
9067
90682010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
9069
9070 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
9071 in case they contain spaces.
9072
f28a9212
CW
90732010-06-04 Colin Watson <cjwatson@ubuntu.com>
9074
9075 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
9076 "part_" to partmap module names, in line with grub-install.
9077 Reported by: Jindřich Makovička (Debian bug #584426).
9078
9cdfe32f
CW
90792010-06-04 Colin Watson <cjwatson@ubuntu.com>
9080
9081 * util/grub-mkimage.c: Make target-related error messages slightly
9082 more helpful; -O talks about "format". Explicitly point to the use
9083 of -O if no target is specified.
9084 Reported by: Didier Raboud (Debian bug #584415).
9085
795b593a
CW
90862010-06-03 Colin Watson <cjwatson@ubuntu.com>
9087
9088 * INSTALL: Document several build requirements for optional features
9089 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
9090
9d9b5833
GS
90912010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
9092
9093 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
9094 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
9095 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
9096
0819fec8
CW
90972010-06-02 Colin Watson <cjwatson@ubuntu.com>
9098
9099 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
9100 Thanks to Jordan Uggla for spotting this.
9101
49396b4f
VS
91022010-06-02 Aleš Nesrsta <starous@volny.cz>
9103
9104 Finally make USB usable.
9105
9106 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
9107 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
9108 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
9109 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
9110 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
9111 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
9112 (GRUB_OHCI_FSMPS): Likewise.
9113 (GRUB_OHCI_PERIODIC_START): Likewise.
9114 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
9115 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
9116 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
9117 (GRUB_OHCI_SET_PORT_RESET): Likewise.
9118 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
9119 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
9120 (grub_ohci_transaction): Likewise.
9121 (grub_ohci_transfer): Improve condition detection algorithms.
9122 Handle toggle property. Program the transactions correctly.
9123 Improve error handling. Various important fixups.
9124 (grub_ohci_portstatus): Put register writes in right order.
9125 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
9126 (grub_uhci_transfer): Don't show "failed" message on success.
9127 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
9128 array.
9129 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
9130 determine its size.
9131 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
9132 before initialization is completed. Use IN direction for empty
9133 transfers. Use last_trans and compute toggle.
9134 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
9135 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
9136 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
9137 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
9138 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
9139 (grub_usb_device): Increase toggle to 256.
9140 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
9141 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
9142 GRUB_USBMS_SUBCLASS_SFF8070.
9143 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
9144 (grub_scsi_inquiry): New member page and alloc_length.
9145 (grub_scsi_request_sense): New structure.
9146 (grub_scsi_request_sense_data): Likewise.
9147 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
9148 control.
9149 * disk/scsi.c (grub_scsi_request_sense): New function.
9150 (grub_scsi_test_unit_ready): Likewise.
9151 (grub_scsi_inquiry): Fill new fields.
9152 (grub_scsi_read_capacity): Likewise.
9153 (grub_scsi_read10): Add request sense at the end.
9154 (grub_scsi_read12): Likewise.
9155 (grub_scsi_write10): Likewise.
9156 (grub_scsi_write12): Likewise.
9157 (grub_scsi_open): Add Test Unit Ready.
9158 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
9159 Support additional subclasses. Con't clear halt yet. Activate the
9160 proper config. Calculate LUNs correctly.
9161 (grub_usbms_transfer): Various important fixups.
9162
91632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
9166 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
9167 (grub_ohci_fini_hw): New function.
9168 (grub_ohci_restore_hw): Likewise.
9169 (GRUB_MOD_INIT(ohci)): Register preboot hook.
9170 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
9171 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
9172
91732010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9174
9175 Dedicated DMA allocations.
9176
9177 * bus/pci.c (grub_memalign_dma32): New function
9178 (grub_dma_free): Likewise.
9179 (grub_dma_get_virt): Likewise.
9180 (grub_dma_get_phys): Likewise.
9181 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
9182 (grub_ohci_pci_iter): Use dma32_alloc.
9183 (grub_ohci_transfer): Likewise.
9184 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9185 (grub_usb_bulk_readwrite): Likewise.
9186 * include/grub/pci.h: Add declarations.
9187
91882010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 CS5536 support.
9191
9192 * bus/cs5536.c: New file.
9193 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
9194 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
9195 (cs5536_mod_SOURCES): New variable.
9196 (cs5536_mod_CFLAGS): Likewise.
9197 (cs5536_mod_LDFLAGS): Likewise.
9198 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
9199 machine/pci.h.
9200 (kernel_img_SOURCES): Add bus/cs5536.c.
9201 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
9202 usb_keyboard.mod.
9203 (usb_mod_SOURCES): New variable.
9204 (usb_mod_CFLAGS): New variable.
9205 (usb_mod_LDFLAGS): New variable.
9206 (usbtest_mod_SOURCES): New variable.
9207 (usbtest_mod_CFLAGS): New variable.
9208 (usbtest_mod_LDFLAGS): New variable.
9209 (ohci_mod_SOURCES): New variable.
9210 (ohci_mod_CFLAGS): New variable.
9211 (ohci_mod_LDFLAGS): New variable.
9212 (usbms_mod_SOURCES): New variable.
9213 (usbms_mod_CFLAGS): New variable.
9214 (usbms_mod_LDFLAGS): New variable.
9215 (usb_keyboard_mod_SOURCES): New variable.
9216 (usb_keyboard_mod_CFLAGS): New variable.
9217 (usb_keyboard_mod_LDFLAGS): New variable.
9218 * include/grub/smbus.h: New file.
9219 * include/grub/cs5536.h: New file.
9220
0b35b2a9
CW
92212010-06-02 Colin Watson <cjwatson@ubuntu.com>
9222
9223 * util/grub.d/00_header.in: Add safety check to make sure that
9224 ${locale_dir} exists before trying to probe it.
9225
ca0afd5b
CW
92262010-06-02 Colin Watson <cjwatson@ubuntu.com>
9227
9228 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
9229 per the GNU Coding Standards; this is now too obscure to be worth
9230 documenting.
9231 (QNX): Likewise.
9232 (chainloader): Remove cross-reference to `SCO UnixWare'.
9233
1c41aa78
CW
92342010-06-02 Colin Watson <cjwatson@ubuntu.com>
9235
9236 * docs/grub.texi (Chain-loading): New section.
9237 (DOS/Windows): New section, borrowed from GRUB Legacy with details
9238 adjusted for GRUB 2.
9239 (SCO UnixWare): Likewise.
9240 (QNX): Likewise.
9241 (chainloader): Add reference to `Block list syntax'.
9242 (drivemap): New section.
9243 (parttool): New section.
9244
bb8ea0f5
CW
92452010-06-02 Colin Watson <cjwatson@ubuntu.com>
9246
9247 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
9248 the grub shell'.
9249 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
9250 (Installing GRUB using grub-install): Remove reference to the grub
9251 shell; mention `grub-mkimage' and `grub-setup' instead.
9252 (Invoking grub-install): Likewise.
9253 (Interface): Add reference to `Menu entry editor'.
9254 (serial): Remove `--device' option.
9255
288dd6ed
CW
92562010-06-02 Colin Watson <cjwatson@ubuntu.com>
9257
9258 * docs/grub.texi (Configuration): New section, documenting
9259 configuration file generation using grub-mkconfig. I've left a slot
9260 for documenting the full shell scripting format but have not yet
9261 started on writing that up.
9262 (Invoking grub-mkconfig): New section.
9263
34c9f0e9
CW
92642010-06-02 Colin Watson <cjwatson@ubuntu.com>
9265
9266 * docs/grub.texi (direntry): Remove grub-terminfo reference.
9267 (GNU GRUB manual): Likewise.
9268 (General commands): Update description of `terminfo' for GRUB 2.
9269
9121567e
CW
92702010-06-02 Colin Watson <cjwatson@ubuntu.com>
9271
9272 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
9273 (GRUB_MOD_INIT): Fix capitalisation.
9274 * docs/grub.texi (Command-line and menu entry commands): Document
9275 gettext and gptsync commands.
9276
ab631611
CW
92772010-06-02 Colin Watson <cjwatson@ubuntu.com>
9278
9279 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
9280 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
9281
bde4a9ac
CW
92822010-06-01 Colin Watson <cjwatson@ubuntu.com>
9283
9284 Add btrfs probing support, currently only in the single-device case.
9285
9286 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
9287 function.
9288 (grub_guess_root_device): Call find_root_device_from_mountinfo
9289 before looking in /dev.
9290
b1d17e10
VS
92912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9292
9293 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
9294 GRUB_DISK_SIZE_UNKNOWN.
9295 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
9296
dfbfe004
JS
92972010-05-31 Jiro SEKIBA <jir@unicus.jp>
9298
9299 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
9300 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
9301 corrupted or not synced properly.
9302
c2ffc8e9
VS
93032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
9306 Reported by: Seth Goldberg.
9307
56293166
VS
93082010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9309
9310 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
9311 addition of dest.
9312 Reported by: Seth Goldberg.
9313
7620e7de
VS
93142010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
9317 Reported by: Seth Goldberg.
9318
c837af3f
VS
93192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
9322 64-bit address as signed on MIPS.
9323
c7c75cf4
CW
93242010-05-28 Colin Watson <cjwatson@ubuntu.com>
9325
9326 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
9327 to the empty string.
9328
fa4b8490
BC
93292010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
9330
9331 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
9332
9333 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
9334 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
9335 * kern/misc.c (__enable_execute_stack): Disable on
9336 GRUB_MACHINE_EMU.
9337
a33075b9
CW
93382010-05-28 Colin Watson <cjwatson@ubuntu.com>
9339
9340 Make grub-probe work with symbolic links under /dev/mapper as well
9341 as with real block devices. The Linux world seems to be (at best)
9342 in transition here, and GRUB shouldn't get caught in the middle.
9343
9344 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
9345 /dev/mapper.
9346
d8708134
CW
93472010-05-27 Colin Watson <cjwatson@ubuntu.com>
9348
9349 * util/grub-script-check.c (main): Ensure defined behaviour on empty
9350 input files (in which case exit zero).
9351
db2102a0
CW
93522010-05-27 Colin Watson <cjwatson@ubuntu.com>
9353
9354 * kern/emu/misc.c (canonicalize_file_name): realpath can still
9355 return NULL for various reasons even if it has a maximum-length
9356 buffer: for example, there might be a symlink loop, or the path
9357 might exceed PATH_MAX. If this happens, return NULL.
9358
5fdba519
RM
93592010-05-27 Robert Millan <rmh@gnu.org>
9360
9361 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
9362 partmap module to handle cross-partmap setups.
9363 Reported by Orestes Mas. Gràcies!
9364
d1d368e4
CW
93652010-05-27 Colin Watson <cjwatson@ubuntu.com>
9366
9367 * util/grub-mkrescue.in: Initialise override_dir rather than
9368 assuming that it's unset or empty in the environment.
9369
95ac3c73
GS
93702010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
9371
9372 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
9373 variable index into p_index to suppress a warning with -Wshadow.
9374
7d8c0213
BC
93752010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
9376
9377 * INSTALL: Added flex >= 2.5.35 requirement.
9378
db4d5813
VS
93792010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
9382
f24f4300
VS
93832010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 cmostest support.
9386
9387 * commands/i386/cmostest.c: New file.
9388 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
9389 (cmostest_mod_SOURCES): New variable.
9390 (cmostest_mod_CFLAGS): Likewise.
9391 (cmostest_mod_LDFLAGS): Likewise.
9392 * conf/i386-pc.rmk: Likewise.
9393 * docs/grub.texi (Vendor power-on keys): New section.
9394 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
9395 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
9396 and GRUB_BUTTON_CMOS_ADDRESS.
9397 * util/grub.d/00_header.in: Handle powering-on by separate button.
9398
ad603f61
VS
93992010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9400
9401 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
9402 Removed drawing_scrollbar argument. All users updated
9403 Fixes #29792.
9404 Reported by Jo Shields
9405
3ecb080a
VS
94062010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
9409 buffer since gfxterm handles double repaint.
9410
5f2316c1
VS
94112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
9414 * term/gfxterm.c (real_scroll): Likewise.
9415
9a25f885
VS
94162010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
9419 before calling BIOS.
9420
39fbb79a
VS
94212010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * include/grub/i18n.h: Always enable grub_gettext.
9424
228cfa97
VS
94252010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
9428 partition naming style.
9429
21717c8f
CW
94302010-05-21 Colin Watson <cjwatson@ubuntu.com>
9431
9432 * util/grub-mkconfig.in: Fix handling of -o so that it works when
9433 not the first option.
9434
c0f48e65
CW
94352010-05-20 Colin Watson <cjwatson@ubuntu.com>
9436
9437 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
9438
96779aec
CW
94392010-05-20 Colin Watson <cjwatson@ubuntu.com>
9440
9441 * util/misc.c: Move inclusion of <limits.h> to ...
9442 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
9443
fa9d256e
GS
94442010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
9445
9446 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
9447 Fix merge error in NetBSD code.
9448 (find_partition_start) [__NetBSD__]: Likewise.
9449
123b7a85
BC
94502010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
9451
9452 Fix grub-mkrescue usage unit testing.
9453
9454 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
9455
74276c0d
CF
94562010-05-18 Christian Franke <franke@computer.org>
9457
9458 * util/grub.d/10_windows.in: Use path names instead of
9459 drive letters to prevent warning from Cygwin 1.7.
9460 Add drivemap command to menuentry if needed.
9461
c4f7b523
ST
94622010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
9463
9464 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
9465 gnumach and gnumach.gz.
9466
95b97950
VS
94672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * include/grub/i18n.h (gettext): Inline instead of using #define.
9470 (grub_gettext): Likewise.
9471 (_): Likewise.
9472
01b8d2d7
VS
94732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9474
9475 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
9476 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
9477 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
9478 (main): Add a slash after pkglibdirroot.
9479
654e1d1e
VS
94802010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9481
9482 * util/grub-install.in: Add missing "in" keyword.
9483
26966aeb
VS
94842010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
9487 Reported by: Seth Goldberg.
9488
75006747
VS
94892010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
9492
74cbf5bd
CW
94932010-05-18 Colin Watson <cjwatson@ubuntu.com>
9494
9495 * configure.ac: Check for Linux device-mapper support.
9496
9497 * util/hostdisk.c (device_is_mapped): New function.
9498 (find_partition_start): New function, partly broken out from
9499 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
9500 device-mapper support added.
9501 (linux_find_partition): Use find_partition_start.
9502 (convert_system_partition_to_system_disk): Add `st' argument.
9503 Support Linux /dev/mapper/* devices if device-mapper support is
9504 available; only DM-RAID devices are understood at present.
9505 (find_system_device): Add `st' argument. Pass it to
9506 convert_system_partition_to_system_disk.
9507 (grub_util_biosdisk_get_grub_dev): Pass stat result to
9508 find_system_device and convert_system_partition_to_system_disk. Use
9509 find_partition_start.
9510
9511 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
9512 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
9513 * util/deviceiter.c [__linux__]: Define MINOR.
9514 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
9515 * util/mkdevicemap.c (grub_putchar): New function.
9516 (grub_getkey): New function.
9517 (grub_refresh): New function.
9518 (main): Set debug=all if -v -v is used.
9519
355b51e9
CW
95202010-05-18 Colin Watson <cjwatson@ubuntu.com>
9521
9522 Fix build with non-GNU libcs.
9523
9524 * util/misc.c (canonicalize_file_name): Move to ...
9525 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
9526 grub_make_system_path_relative_to_its_root.
9527
7fb5c25f
CW
95282010-05-18 Colin Watson <cjwatson@ubuntu.com>
9529
9530 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
9531 we handle finding grub-mkimage. Default to finding grub-mkimage in
9532 ${bindir} with program_transform_name applied, and provide a
9533 --grub-mkimage option to override this.
9534
1d3293d6
VS
95352010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 Remove grub-mkisofs.
9538
9539 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
9540 (grub_mkisofs_SOURCES): Removed.
9541 (grub_mkisofs_CFLAGS): Removed.
9542 * util/mkisofs/defaults.h: Removed.
9543 * util/mkisofs/eltorito.c: Likewise.
9544 * util/mkisofs/exclude.h: Likewise.
9545 * util/mkisofs/hash.c: Likewise.
9546 * util/mkisofs/include/: Likewise.
9547 * util/mkisofs/include/fctldefs.h: Likewise.
9548 * util/mkisofs/include/mconfig.h: Likewise.
9549 * util/mkisofs/include/prototyp.h: Likewise.
9550 * util/mkisofs/include/statdefs.h: Likewise.
9551 * util/mkisofs/iso9660.h: Likewise.
9552 * util/mkisofs/joliet.c: Likewise.
9553 * util/mkisofs/match.c: Likewise.
9554 * util/mkisofs/match.h: Likewise.
9555 * util/mkisofs/mkisofs.c: Likewise.
9556 * util/mkisofs/mkisofs.h: Likewise.
9557 * util/mkisofs/msdos_partition.h: Likewise.
9558 * util/mkisofs/multi.c: Likewise.
9559 * util/mkisofs/name.c: Likewise.
9560 * util/mkisofs/rock.c: Likewise.
9561 * util/mkisofs/tree.c: Likewise.
9562 * util/mkisofs/write.c: Likewise.
9563
5dde9afe
VS
95642010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 Unify grub-mkimage accross platforms.
9567
9568 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
9569 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
9570 (grub_mkelfimage_SOURCES): Removed.
9571 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
9572 (util/grub-mkimage.c_DEPENDENCIES): .. this.
9573 (bin_UTILITIES): Add grub-mkimage.
9574 (grub_mkimage_SOURCES): New variable.
9575 (kernel_img_HEADERS): Remove machine/kernel.h.
9576 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
9577 (pkglib_PROGRAMS): Add kernel.img.
9578 (kernel_img_HEADERS): Add machine/kernel.h.
9579 (kernel_img_FORMAT): Removed.
9580 (bin_UTILITIES): Remove grub-mkimage.
9581 (grub_mkimage_SOURCES): Removed.
9582 (grub_mkimage_CFLAGS): Likewise.
9583 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9584 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
9585 (pkglib_PROGRAMS): Add kernel.img.
9586 (bin_UTILITIES): Remove grub-mkimage.
9587 (grub_mkimage_SOURCES): Removed.
9588 (grub_mkimage_CFLAGS): Likewise.
9589 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9590 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
9591 (pkglib_PROGRAMS): Add kernel.img.
9592 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
9593 (pkglib_PROGRAMS): Add kernel.img.
9594 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
9595 (grub_mkimage_SOURCES): Removed.
9596 (grub_mkimage_CFLAGS): Likewise.
9597 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9598 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
9599 (pkglib_PROGRAMS): Add kernel.img.
9600 (bin_UTILITIES): Remove grub-mkimage.
9601 (grub_mkimage_SOURCES): Removed.
9602 (grub_mkimage_CFLAGS): Likewise.
9603 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9604 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
9605 (grub_mkimage_SOURCES): Removed.
9606 (grub_mkimage_CFLAGS): Likewise.
9607 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
9608 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
9609 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
9610 (grub_pe32_optional_header): ... this.
9611 (grub_pe64_optional_header): ... and this. All users updated.
9612 (GRUB_PE32_PE32_MAGIC): Split into ..
9613 (GRUB_PE32_PE32_MAGIC): .. this.
9614 (GRUB_PE32_PE64_MAGIC): .. and this.
9615 (GRUB_PE32_SIGNATURE_SIZE): New definition.
9616 * include/grub/elf.h (PT_GNU_STACK): New definition.
9617 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
9618 * include/grub/i386/efi/kernel.h: Likewise.
9619 * include/grub/i386/kernel.h: Likewise.
9620 * include/grub/i386/pc/kernel.h: Likewise.
9621 * include/grub/i386/qemu/boot.h: Likewise.
9622 * include/grub/mips/kernel.h: Likewise.
9623 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9624 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
9625 * include/grub/powerpc/kernel.h: Likewise.
9626 * include/grub/sparc64/ieee1275/boot.h: Likewise.
9627 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
9628 * include/grub/sparc64/kernel.h: Likewise.
9629 * include/grub/x86_64/efi/kernel.h: Likewise.
9630 * include/grub/x86_64/kernel.h: Likewise.
9631 * include/grub/offsets.h: New file.
9632 * include/grub/kernel.h (grub_module_info): Split into ...
9633 (grub_module_info32): ... this.
9634 (grub_module_info64): ... and this.
9635 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
9636 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
9637 (grub_boot_blocklist): Moved from here ...
9638 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
9639 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
9640 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
9641 * include/grub/types.h (grub_target_to_host16): Removed.
9642 (grub_target_to_host32): Likewise.
9643 (grub_target_to_host64): Likewise.
9644 (grub_host_to_target16): Likewise.
9645 (grub_host_to_target32): Likewise.
9646 (grub_host_to_target64): Likewise.
9647 (grub_host_to_target_addr): Likewise.
9648
9649 Support grub-mkrescue for efi, coreboot and qemu.
9650
9651 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
9652 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
9653 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
9654 * util/grub-mkrawimage.c: Moved from here ...
9655 * util/grub-mkimage.c: ... here. All users updated.
9656 (ALIGN_ADDR): Use image_target.
9657 (TARGET_NO_FIELD): New const.
9658 (image_target_desc): New type.
9659 (image_targets): New array.
9660 (grub_target_to_host64): Use image_target.
9661 (grub_target_to_host32): Likewise.
9662 (grub_target_to_host16): Likewise.
9663 (grub_host_to_target64): Likewise.
9664 (grub_host_to_target32): Likewise.
9665 (grub_host_to_target16): Likewise.
9666 (grub_host_to_target_addr): Likewise.
9667 (generate_image): Handle multiimage.
9668 (main): Require -O parameter. All users updated.
9669 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
9670 util/efi/grub-mkimage.c
9671 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
9672 New option --rom-directory.
9673 Use xorriso.
9674 * util/i386/efi/grub-mkimage.c: Removed.
9675 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
9676 (grub_target_to_host32): Likewise.
9677 (grub_target_to_host64): Likewise.
9678 (grub_host_to_target16): Likewise.
9679 (grub_host_to_target32): Likewise.
9680 (grub_host_to_target64): Likewise.
9681 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
9682 (grub_target_to_host32): Likewise.
9683 (grub_target_to_host64): Likewise.
9684 (grub_host_to_target16): Likewise.
9685 (grub_host_to_target32): Likewise.
9686 (grub_host_to_target64): Likewise.
9687
f4fc97d0
BC
96882010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
9689
9690 Source tree is reorganized for emu build.
9691
9692 * include/grub/util/console.h: Move from here...
9693 * include/grub/emu/console.h: ...to here.
9694 * include/grub/util/getroot.h: Move from here...
9695 * include/grub/emu/getroot.h: ...to here.
9696 * include/grub/util/hostdisk.h: Move from here...
9697 * include/grub/emu/hostdisk.h: ...to here.
9698 * util/console.c: Move from here...
9699 * kern/emu/console.c: ...to here.
9700 * util/getroot.c: Move from here...
9701 * kern/emu/getroot.c: ...to here.
9702 * util/grub-emu.c: Move from here...
9703 * kern/emu/main.c: ...to here.
9704 * util/hostdisk.c: Move from here...
9705 * kern/emu/hostdisk.c: ...to here.
9706 * util/hostfs.c: Move from here...
9707 * kern/emu/hostfs.c: ...to here.
9708 * util/mm.c: Move from here...
9709 * kern/emu/mm.c: ...to here.
9710 * util/pci.c: Move from here...
9711 * bus/emu/pci.c: ...to here.
9712 * util/sdl.c: Move from here...
9713 * video/emu/sdl.c: ...to here.
9714 * util/time.c: Move from here...
9715 * kern/emu/time.c: ...to here.
9716 * util/usb.c: Move from here...
9717 * bus/usb/emu/usb.c: ...to here.
9718
9719 * include/grub/emu/misc.h: New header for grub-emu functions.
9720 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
9721
9722 * conf/any-emu.rmk: Rule updates for above renames.
9723 * conf/common.rmk: Likewise.
9724 * conf/i386-pc.rmk: Likewise.
9725 * conf/i386-qemu.rmk: Likewise.
9726 * conf/mips.rmk: Likewise.
9727 * conf/sparc64-ieee1275.rmk: Likewise.
9728 * conf/x86-efi.rmk: Likewise.
9729
9730 * disk/lvm.h: #include updates for above renames.
9731 * util/grub-mkrelpath.c: Likewise.
9732 * util/grub-probe.c: Likewise.
9733 * util/i386/pc/grub-setup.c: Likewise.
9734 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9735 * kern/emu/console.c: Likewise.
9736 * kern/emu/getroot.c: Likewise.
9737 * kern/emu/hostdisk.c: Likewise.
9738 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
9739
9740 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
9741 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
9742 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
9743 * util/misc.c: Remove grub-emu functions.
9744
cced9145
VS
97452010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
9746
9747 Fix gfxmenu crash.
9748 Reported by: Thorsten Grützmacher.
9749
9750 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
9751 timeout hook.
9752 (circprog_set_property): Register and unregister timeout hook.
9753 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
9754 (label_destroy): Free template. and unregister hook.
9755 (label_set_state): New function.
9756 (label_set_property): Handle templates and hooks.
9757 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
9758 timeout hook.
9759 (progress_bar_set_property): Register and unregister timeout hook.
9760 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
9761 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
9762 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
9763 (update_timeout_visit): Removed.
9764 (update_timeouts): New function.
9765 (redraw_timeouts): Likewise.
9766 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
9767 (grub_gfxmenu_clear_timeout): Likewise.
9768 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
9769 (grub_gfxmenu_timeout_notify): Likewise.
9770 (grub_gfxmenu_timeout_notifications): New external variable.
9771 (grub_gfxmenu_timeout_register): New function.
9772 (grub_gfxmenu_timeout_unregister): Likewise.
9773
c6e5caab
VS
97742010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 Transform (broken) vga terminal into (working) vga video driver.
9777
9778 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
9779 video/i386/pc/vga.c.
9780 * include/grub/video.h (grub_video_driver_id):
9781 Add GRUB_VIDEO_DRIVER_VGA.
9782 * term/i386/pc/vga.c: Renamed to ...
9783 * video/i386/pc/vga.c: ...this
9784 (DEBUG_VGA): Removed.
9785 (CHAR_WIDTH): Likewise.
9786 (CHAR_HEIGHT): Likewise.
9787 (TEXT_WIDTH): Likewise.
9788 (TEXT_HEIGHT): Likewise.
9789 (DEFAULT_FG_COLOR): Likewise.
9790 (DEFAULT_BG_COLOR): Likewise.
9791 (colored_char): Likewise.
9792 (xpos): Likewise.
9793 (ypos): Likewise.
9794 (cursor_state): Likewise.
9795 (fg_color): Likewise.
9796 (bg_color): Likewise.
9797 (text_buf): Likewise.
9798 (page): Likewise.
9799 (font): Likewise.
9800 (framebuffer): New variable.
9801 (set_read_map): Disabled.
9802 (setup): New variable.
9803 (is_target): Likewise.
9804 (grub_vga_mod_init): Likewise.
9805 (grub_vga_mod_fini): Likewise.
9806 (check_vga_mem): Likewise.
9807 (write_char): Likewise.
9808 (write_cursor): Likewise.
9809 (scroll_up): Likewise.
9810 (grub_vga_putchar): Likewise.
9811 (grub_vga_getcharwidth): Likewise.
9812 (grub_vga_getwh): Likewise.
9813 (grub_vga_getxy): Likewise.
9814 (grub_vga_gotoxy): Likewise.
9815 (grub_vga_cls): Likewise.
9816 (grub_vga_setcolorstate): Likewise.
9817 (grub_vga_setcursor): Likewise.
9818 (grub_video_vga_init): New function.
9819 (grub_video_vga_setup): Likewise.
9820 (grub_video_vga_fini): Likewise.
9821 (update_target): Likewise.
9822 (grub_video_vga_blit_bitmap): Likewise.
9823 (grub_video_vga_blit_render_target): Likewise.
9824 (grub_video_vga_set_active_render_target): Likewise.
9825 (grub_video_vga_get_active_render_target): Likewise.
9826 (grub_video_vga_swap_buffers): Likewise.
9827 (grub_video_vga_set_palette): Likewise.
9828 (grub_video_vga_get_info_and_fini): Likewise.
9829 (grub_vga_term): Removed.
9830 (grub_video_vga_adapter): New variable.
9831 (GRUB_MOD_INIT): Register a video driver instead of terminal.
9832 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
9833
2bf61a98
VS
98342010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9835
9836 * video/readers/jpeg.c: Indented.
9837
09ddcd11
VS
98382010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9839
9840 Various jpeg cleanups.
9841
9842 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
9843 (grub_jpeg_decode_quan_table): Use sizeof.
9844 (grub_jpeg_decode_du): Use ARRAY_SIZE.
9845
e5507505
PH
98462010-05-05 Peter Hurley <No e-mail available> (tiny change)
9847
9848 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
9849 tables. Ignore non-last ac bit.
9850 (grub_jpeg_decode_quan_table): Likewise.
9851
7e720a9b
VS
98522010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
9855 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
9856 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9857 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
9858 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
9859 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
9860
a7fc080b
VS
98612010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
9864 error.
9865
2bf6012d
VS
98662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
9869
265d68cd
VS
98702010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
9873 condition.
9874
98752010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
9876
9877 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
9878 part.
9879
265d68cd 98802010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
9881
9882 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
9883 pointers.
9884
265d68cd 98852010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
9886
9887 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
9888
d1b61374
CF
98892010-05-01 Christian Franke <franke@computer.org>
9890
9891 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
9892 Remove broken Cygwin path conversion.
9893 * util/misc.c: [__CYGWIN__] Add include and define.
9894 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
9895 for Cygwin 1.7.
9896 (make_system_path_relative_to_its_root): Simplify loop, replace early
9897 return by break.
9898 [__CYGWIN__] Add conversion to win32 path.
9899 Include "/" case in trailing slash removal.
9900
3558c6e9
VS
99012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * kern/main.c (grub_load_config): Fix copy-pasted comment.
9904 Reported by: Seth Goldberg
9905
f5f3ff93
VS
99062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * commands/help.c (grub_cmd_help): Fix a typo.
9909 Reported by: Seth Goldberg
9910
d8b5cd40
VS
99112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
9914 name and add N_.
9915 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
9916 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
9917 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
9918 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
9919 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
9920 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
9921 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
9922 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
9923 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
9924 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
9925 * normal/context.c (GRUB_MOD_INIT): Likewise.
9926 * normal/main.c (GRUB_MOD_INIT): Likewise.
9927 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
9928 * term/serial.c (GRUB_MOD_INIT): Likewise.
9929 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
9930
88c14915
VS
99312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9932
9933 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
9934 extra == 0.
9935
165134bc
VS
99362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * commands/iorw.c: New file.
9939 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
9940 (iorw_mod_SOURCES): New variable.
9941 (iorw_mod_CFLAGS): Likewise.
9942 (iorw_mod_LDFLAGS): Likewise.
9943
c5ac9b32
VS
99442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 Hotkey support
9947
9948 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
9949 * normal/main.c (hotkey_aliases): New variable.
9950 (grub_normal_add_menu_entry): Parse "--hotkey".
9951 * normal/menu_text.c (run_menu): Handle hotkeys.
9952
ce60689c
VS
99532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * kern/i386/coreboot/init.c (grub_machine_init): Call
9956 grub_machine_mmap_init on qemu.
9957
0359d006
VS
99582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9959
9960 * boot/i386/qemu/boot.S: Add a missing .code16.
9961
7819a456
VS
99622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 Use LBIO on coreboot.
9965
9966 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
9967 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
9968 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
9969 New declaration.
9970 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
9971 grub_machine_mmap_init on coreboot.
9972 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
9973 GRUB_LINUXBIOS_MEMBER_LINK.
9974 (grub_machine_mmap_iterate): Fix declaration.
9975 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
9976
7210dca9
VS
99772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 Split coreboot and multiboot ports.
9980
9981 * conf/i386-multiboot.rmk: New file.
9982 * configure.ac: Add multiboot port.
9983 * include/grub/i386/multiboot/boot.h: New file.
9984 * include/grub/i386/multiboot/console.h: Likewise.
9985 * include/grub/i386/multiboot/init.h: Likewise.
9986 * include/grub/i386/multiboot/kernel.h: Likewise.
9987 * include/grub/i386/multiboot/loader.h: Likewise.
9988 * include/grub/i386/multiboot/memory.h: Likewise.
9989 * include/grub/i386/multiboot/serial.h: Likewise.
9990 * include/grub/i386/multiboot/time.h: Likewise.
9991 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
9992 * loader/multiboot.c: Likewise.
9993 * loader/multiboot_mbi2.c: Likewise.
9994 * util/grub-mkrescue.in: Generate multiboot rescue.
9995
6f8aaf68
VS
99962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
9997
3080f7a7
VS
9998 * kern/parser.c (grub_parser_execute): Cope with read-only config.
9999
100002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
10003
10004 * commands/terminal.c (abstract_terminal): New struct.
10005 (handle_command): New function. Based on grub_cmd_terminal_input.
10006 (grub_cmd_terminal_input): Use handle_command.
10007 (grub_cmd_terminal_output): Use handle_command.
10008
a8ebb841
BC
100092010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
10010
10011 Fix comment handling.
10012
10013 * tests/grub_script_comments.in: New testcase.
10014 * conf/tests.rmk: Rules for new testcase.
10015 * script/yylex.l: Updated flex rules.
10016
bb06ba08
ST
100172010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
10018
10019 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
10020 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
10021 if argc is 1.
bb06ba08 10022
cc9d2425
VS
100232010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
10026 autogen issues.
10027
460d8402
CF
100282010-04-26 Christian Franke <franke@computer.org>
10029
10030 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
10031 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
10032 (grub_get_prefix): Remove function.
10033 * util/grub-emu.c (main): Replace grub_get_prefix () call by
10034 make_system_path_relative_to_its_root ().
10035 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
10036
553c01f9
CF
100372010-04-24 Christian Franke <franke@computer.org>
10038
10039 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
10040 (kernel_img_LDFLAGS): Remove -static-libgcc.
10041
2aec1692
CF
100422010-04-24 Christian Franke <franke@computer.org>
10043
10044 * configure.ac: Do not CHECK_BSS_START_SYMBOL
10045 and CHECK_END_SYMBOL if grub-emu is built.
10046 Unset TARGET_OBJ2ELF if grub-emu is built
10047 without module support.
10048
f67dc308
JS
100492010-04-24 Jiro SEKIBA <jir@unicus.jp>
10050
10051 Nilfs2 support.
10052
10053 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
10054 (grub_fstest_SOURCES): Likewise.
10055 (pkglib_MODULES): Add nilfs2.mod.
10056 (nilfs2_mod_SOURCES): New variable.
10057 (nilfs2_mod_CFLAGS): Likewise.
10058 (nilfs2_mod_LDFLAGS): Likewise.
10059 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
10060 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
10061 * fs/nilfs2.c: New file.
10062
4ba8d354
VS
100632010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
10066 is not supported.
10067
0d2c20c6
GS
100682010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
10069
10070 Add grub-mkconfig support for NetBSD.
10071
10072 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
10073 * util/grub-mkconfig.in: export new NetBSD specific variables.
10074 * po/POTFILES-shell: added 10_netbsd.in.
10075 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
10076
bc4a2d83
BC
100772010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
10078
10079 Fix emu build with grub-emu-pci and grub-emu-modules.
10080
10081 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
10082 functions.
10083 * include/grub/libpciaccess.h: New file.
10084 * conf/any-emu.rmk: Update kernel headers for emu build.
10085
f48c87aa
VS
100862010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
10089
18959385
VS
100902010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
10093
0037de3f
VS
100942010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
10097 Retrieve chosen/bootpath if bootpath isn't hardcoded.
10098 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
10099 util/ieee1275/ofpath.c.
10100 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
10101 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
10102 * include/grub/sparc64/ieee1275/boot.h
10103 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
10104 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
10105 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
10106 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
10107 const char *.
10108 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
10109 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
10110 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
10111 install.
10112
38e55e90
GS
101132010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
10114
10115 * util/grub-mkconfig.in: Corrected two == equality tests.
10116 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
10117 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
10118 expect a number appended to it.
10119 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
10120 expects a number appended to it.
10121
a9e6ff28
VS
101222010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
10125
0b830b8f
VS
101262010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * util/hostdisk.c (make_device_name): Change to new partition naming.
10129
0973daeb
VS
101302010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
10131
10132 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
10133
460d8402 101342010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
10135
10136 * Makefile.in: Add missing localedir setting.
10137
0b456309
CW
101382010-04-14 Colin Watson <cjwatson@ubuntu.com>
10139
10140 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
10141 mistake in r2156. Noticed by Anthony Fok.
10142
10143 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
10144 @localedir@.
10145 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
10146
08f46d62
BC
101472010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
10148
10149 Fix a spurious, uninitialized variable warning.
10150
10151 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
10152 Initialize variable, shdr.
10153 (grub_freebsd_load_elfmodule): Likewise.
10154 (grub_freebsd_load_elf_meta): Likewise.
10155
8c4a72d4
BC
101562010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
10157
10158 Fix for escaped dollar in double quoted strings.
10159
10160 * script/yylex.l: Updated flex rules.
10161 * conf/tests.rmk: Rule for new testcase.
10162 * tests/grub_script_dollar.in: New testcase.
10163
ce44826e
CPE
101642010-04-13 Carles Pina i Estany <carles@pina.cat>
101652010-04-13 Colin Watson <cjwatson@ubuntu.com>
10166
10167 Enclose all translated strings in grub.cfg in single quotes, and
10168 escape them appropriately (Ubuntu bug #552921).
10169
10170 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
10171 * util/grub.d/10_hurd.in: Use it.
10172 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
10173 * util/grub.d/10_linux.in (linux_entry): Likewise.
10174
4b0cd8f8
VS
101752010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 Fix cygwin compilation.
10178
10179 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
10180 * include/grub/misc.h (__register_frame_info)
10181 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
10182 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
10183 * kern/misc.c (__register_frame_info)
10184 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
10185 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
10186
01fcf061
VS
101872010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10188
10189 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
10190
5d04b11e
VS
101912010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
10192
10193 Unify libgcc processing.
10194
10195 * Makefile.in (kernel_img_LDFLAGS): New variable.
10196 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
10197 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
10198 overwriting.
10199 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
10200 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
10201 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
10202 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
10203 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
10204 overwriting. Remove -lgcc and -static-libgcc
10205 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
10206 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
10207 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
10208 (kernel_img_LDFLAGS): Append instead of overwriting.
10209 Remove -lgcc and -static-libgcc
10210 * conf/sparc64-ieee1275.rmk: Likewise.
10211 * include/grub/powerpc/libgcc.h: Move to ...
10212 * include/grub/libgcc.h: .. this.
10213 * include/grub/libgcc.h: Don't export most of the function on x86.
10214 (__bswapsi2): New export.
10215 (__bswapdi2): Likewise.
10216 * include/grub/mips/libgcc.h: Removed.
10217 * include/grub/sparc64/libgcc.h: Likewise.
10218
b7f3ac29
VS
102192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10220
10221 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
10222 disk_info_msg (conflicts with gettexting into languages with cases).
10223
2c7031b1
GS
102242010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
10225
10226 Add grub-probe support for NetBSD.
10227
10228 * util/getroot.c (find_root_device): Convert block device to
10229 character device on NetBSD.
10230 * util/probe.c (probe): Require character device on NetBSD.
10231 * util/hostdisk.c: NetBSD specific headers.
10232 (configure_device_driver): new function to tune device driver
10233 parameters (currently only for NetBSD floppy driver).
10234 (grub_util_biosdisk_open): NetBSD specific code (get disk size
10235 via disklabel ioctl).
10236 (open_device): call configure_device_driver on NetBSD.
10237 (convert_system_partition_to_system_disk): NetBSD specific code.
10238 (device_is_wholedisk): Likewise.
10239 (grub_util_biosdisk_get_grub_dev): Likewise.
10240 (make_device_name): Fixed a typo in bsd_part_str.
10241 * configure.ac: check for opendisk() and getrawpartition() on
10242 NetBSD and set LIBUTIL.
10243 * Makefile.in: add LIBUTIL to LIBS.
10244
f516290c
BC
102452010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
10246
10247 Documentation fix.
10248
10249 * util/grub-script-check.c: Better help message.
10250
d8dcc0df
BC
102512010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
10252
10253 Fix FreeBSD build.
10254
10255 * configure.ac: Flex version check.
10256 * conf/common.rmk: Add -Wno-error to sh.mod.
10257 * script/yylex.l: Remove all #pragma.
10258
6734334a
VS
102592010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * include/grub/util/misc.h (canonicalise_file_name): Add missing
10262 prototype.
10263 Reported by: Seth Goldberg.
10264
daea6abd
VS
102652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
10268 Rename "module" to "module2".
10269 Reported by: Seth Goldberg.
10270
f2fd9d2b
VS
102712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
10274 EXPORT_FUNC.
10275 Reported by: Seth Goldberg.
10276
be124579
VS
102772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * lib/posix_wrap/locale.h: Add missing file.
10280 Reported by: Seth Goldberg.
10281
ef5da797
VS
102822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 grub-emu module load support.
10285
10286 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
10287 NO_DYNAMIC_MODULES switched to this.
10288 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
10289 (CFLAGS): Likewise.
10290 * conf/any-emu.rmk: Generate symlist.
10291 (kernel_img_HEADERS): Add util/datetime.h.
10292 (kernel_img_HEADERS) [sdl]: Add sdl.h.
10293 (kernel_img_HEADERS) [libusb]: Add libusb.h.
10294 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
10295 kern/$(target_cpu)/cache.S.
10296 * configure.ac (grub-emu-modules): New option.
10297 * genmk.rb: Handle multiple source lists.
10298 * include/grub/sdl.h: New file.
10299 * include/grub/libusb.h: Likewise.
10300 * util/grub-emu.c (main): Hanle (host) root.
10301 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
10302 GRUB_ERR_UNKNOWN_DEVICE.
10303 * util/misc.c: Move mm functions to ...
10304 * util/mm.c: ... here. All users updated.
10305
47822096
VS
103062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10307
10308 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
10309 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
10310 missing files.
10311 (maintainer-clean): Remove libgcrypt-grub.
10312
5d7e7445
VS
103132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
10316
25f4e252
EC
103172010-04-09 EFI Coder <eficoder@hotmail.com>
10318
10319 * normal/menu_text.c (print_message): Clean up the message and show
10320 the Fn information when on EFI
10321 * term/efi/console.c (grub_console_checkkey): Add F4 support.
10322
027de555
VS
103232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
10326 All users updated.
10327 * normal/crypto.c (read_crypto_list): Likewise.
10328 * normal/dyncmd.c (read_command_list): Likewise.
10329 * normal/term.c (read_terminal_list): Likewise.
10330 * normal/main.c (read_lists): Use explicit prefix.
10331 (read_lists_hook): Use read_lists.
10332 (grub_normal_execute): Likewise.
10333
47779711
VS
103342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10335
10336 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
10337 Reported by: Thomas Schmitt.
10338 Add -no-emul-boot to grub-mkisofs parameters.
10339
1118c32e
VS
103402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * font/font.c: Indented.
10343
7d652447
BC
103442010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
10345
10346 Elif support to GRUB script (by Deepak Vankadaru).
10347
10348 * tests/grub_script_if.in: New testcase.
10349 * conf/tests.rmk: Rule for new testcase.
10350 * script/parser.y: Grammar rules for elif.
10351
34bb22df
BC
103522010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
10353
10354 While and until loops support to GRUB script.
10355
10356 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
10357 (grub_script_create_cmdwhile): New function prototype.
10358 (grub_script_execute_cmdwhile): New function prototype.
10359 * script/execute.c (grub_script_execute_cmdwhile): New function.
10360 * script/parser.y (command): New commands.
10361 (whilecmd): New grammar rule.
10362 (untilcmd): New grammar rule.
10363 * script/script.c (grub_script_create_cmdwhile): New function.
10364 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
10365 function.
10366
10367 * tests/grub_script_while1.in: New testcase.
10368 * conf/tests.rmk: Rule for new testcase.
10369
e215d8e0
VS
103702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
10373 as *.jpg.
10374
d7c43ba1
MV
103752010-04-09 Mario Vazquez <mariovazq@gmail.com>
10376
10377 GRUB_BACKGROUND support.
10378
10379 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
10380 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
10381
d64795c0
VS
103822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 10385 Idea by: Mario Vazquez
d64795c0
VS
10386
10387 * util/grub.d/00_header.in: Load pf2 and image modules.
10388
f267f83a
VS
103892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10390
10391 grub-mkconfig multiple terminal support.
10392
10393 * util/grub-mkconfig.in: Handle multiple terminals correctly.
10394 * util/grub.d/00_header.in: Likewise.
10395
b7841ceb
VS
103962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * Makefile.in: Specify files explicitly instead of using $< and $@ since
10399 we use cd $(srcdir).
10400
df60998c
CW
104012010-04-08 Colin Watson <cjwatson@ubuntu.com>
10402
10403 * util/grub.d/10_linux.in: Only use the first word of
10404 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
10405 spaces in GRUB_DISTRIBUTOR.
10406 * util/grub.d/10_kfreebsd.in: Likewise.
10407 * util/grub.d/10_hurd.in: Likewise.
10408
fa09c82e
BC
104092010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
10410
14e18ae3 10411 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
10412
10413 * tests/util/grub-shell.in: Remove -serial stdio option.
10414
daf892b3
BC
104152010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 POSIX header file wrappers.
10418
10419 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
10420 equivalents.
10421 * lib/posix_wrap/ctype.h: Likewise.
10422 * lib/posix_wrap/errno.h: Likewise.
10423 * lib/posix_wrap/langinfo.h: Likewise.
10424 * lib/posix_wrap/limits.h: Likewise.
10425 * lib/posix_wrap/localcharset.h: Likewise.
10426 * lib/posix_wrap/stdint.h: Likewise.
10427 * lib/posix_wrap/stdio.h: Likewise.
10428 * lib/posix_wrap/stdlib.h: Likewise.
10429 * lib/posix_wrap/string.h: Likewise.
10430 * lib/posix_wrap/sys/types.h: Likewise.
10431 * lib/posix_wrap/unistd.h: Likewise.
10432 * lib/posix_wrap/wchar.h: Likewise.
10433 * lib/posix_wrap/wctype.h: Likewise.
10434 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
10435 (grub_script.yy.h): Likewise.
10436 * script/yylex.l: Remove POSIX emulation #defines.
10437 * Makefile.in (POSIX_CFLAGS): New variable.
10438 (GNULIB_UTIL_CFLAGS): Likewise.
10439
10440 Regexp support.
10441
10442 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
10443 (regexp_mod_SOURCES): New variable.
10444 (regexp_mod_CFLAGS): Likewise.
10445 (regexp_mod_LDFLAGS): Likewise.
10446 * commands/regexp.c: New file.
10447 * gnulib/regcomp.c: New file. Imported from gnulib.
10448 * gnulib/regex.c: Likewise.
10449 * gnulib/regex_internal.c: Likewise.
10450 * gnulib/regex_internal.h: Likewise.
10451 * gnulib/regexec.c: Likewise.
10452 * gnulib/regex.h: Likewise.
10453
974ac4f7
VS
104542010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
10457 unsupported video mode types.
10458
2622c3ff
VS
104592010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
10462
064cb524
VS
104632010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
10466 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
10467
a8c3b552
VS
104682010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 Remove unused grub_vga_get_font.
10471
10472 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
10473 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
10474
187bbe3d
GS
104752010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10476
10477 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
10478 * include/grub/misc.h: Likewise.
10479
b9396631
GS
104802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10481
10482 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
10483 for which failure is fatal.
10484
50479feb
GS
104852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10486
10487 * util/grub-install.in: Use mkdir -p to create grub directory.
10488 * util/i386/efi/grub-install.in: Likewise.
10489 * util/ieee1275/grub-install.in: Likewise.
10490
b1654fdf
GS
104912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10492
10493 * Makefile.in (LEX): new variable.
10494
bd5a6415
GS
104952010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
10496
10497 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
10498 `=' and added double quotes on operands of this equality test.
10499
3db3a82b
VS
105002010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 * Makefile.in (uninstall): Remove a leftover debug echo.
10503 Reported by: Grégoire Sutre
10504
38023412
VS
105052010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 MIPS multiboot2 support.
10508
10509 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
10510 (multiboot2_mod_SOURCES): New variable.
10511 (multiboot2_mod_CFLAGS): Likewise.
10512 (multiboot2_mod_LDFLAGS): Likewise.
10513 (multiboot2_mod_ASFLAGS): Likewise.
10514 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
10515 definition.
10516 (MULTIBOOT_ENTRY_REGISTER): Likewise.
10517 (MULTIBOOT_MBI_REGISTER): Likewise.
10518 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
10519 (MULTIBOOT_ELF32_MACHINE): Likewise.
10520 (MULTIBOOT_ELF64_MACHINE): Likewise.
10521 * include/grub/mips/multiboot.h: New file.
10522 * include/grub/video.h (grub_video_driver_id): New type
10523 GRUB_VIDEO_DRIVER_SM712.
10524 (grub_video_get_info_and_fini): Export.
10525 (grub_video_get_palette): Likewise.
10526 (grub_video_get_driver_id): Likewise.
10527 * include/multiboot2.h: Resynced with spec.
10528 * loader/i386/multiboot.c: Moved from here ...
10529 * loader/multiboot.c: ... here. All users updated.
10530 (grub_multiboot_boot): Use platform-specific macros.
10531 * loader/i386/multiboot_elfxx.c: Moved from here ...
10532 * loader/multiboot_elfxx.c: ... here. All users updated.
10533 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
10534 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
10535 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
10536
47674667
VS
105372010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Import gnulib argp module.
10540
10541 * gnulib/argp-ba.c: New file.
10542 * gnulib/argp-eexst.c: Likewise.
10543 * gnulib/argp-fmtstream.c: Likewise.
10544 * gnulib/argp-fmtstream.h: Likewise.
10545 * gnulib/argp-fs-xinl.c: Likewise.
10546 * gnulib/argp-help.c: Likewise.
10547 * gnulib/argp-namefrob.h: Likewise.
10548 * gnulib/argp-parse.c: Likewise.
10549 * gnulib/argp-pin.c: Likewise.
10550 * gnulib/argp-pv.c: Likewise.
10551 * gnulib/argp-pvh.c: Likewise.
10552 * gnulib/argp-version-etc.c: Likewise.
10553 * gnulib/argp-version-etc.h: Likewise.
10554 * gnulib/argp-xinl.c: Likewise.
10555 * gnulib/argp.h: Likewise.
10556
495442ed
VS
105572010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * kern/device.c (grub_device_iterate): Clear errors after failed
10560 opening device.
10561
f9fd65df
VS
105622010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
10565 returned by firmware.
10566
af09641e
VS
105672010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
10570 compilation on coreboot and qemu
10571
016883a5
VS
105722010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * include/multiboot2.h: Resync with spec.
10575
f97e1f7d
VS
105762010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 Multiboot2 tag support
10579
10580 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
10581 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
10582 Remove loader/multiboot_loader.c.
10583 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
10584 (grub_multiboot2_real_boot): Likewise.
10585 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
10586 (grub_get_multiboot_mmap_count): New proto.
10587 (grub_fill_multiboot_mmap): Likewise.
10588 (grub_multiboot_set_video_mode): Likewise.
10589 (grub_multiboot_set_console): Likewise.
10590 (grub_multiboot_load): Likewise.
10591 (grub_multiboot_load_elf): Likewise.
10592 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
10593 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
10594 * include/multiboot.h: Resynced with specification.
10595 * include/multiboot2.h: Resynced with specification.
10596 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
10597 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
10598 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
10599 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
10600 users updated.
10601 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
10602 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
10603 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
10604 Removed.
10605 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
10606 Moved from here...
10607 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
10608 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10609 Moved from here...
10610 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
10611 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
10612 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
10613 All users updated.
10614 * loader/i386/multiboot_mbi2.c: New file.
10615
3506b90b
VS
106162010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10617
10618 Resync with gnulib.
10619
10620 * Makefile.in (GNULIB_CFLAGS): New variable.
10621 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
10622 (grub_script_check_CFLAGS): New variable.
10623 * gnulib/alloca.h: Resync with gnulib.
10624 * gnulib/error.c: Likewise.
10625 * gnulib/error.h: Likewise.
10626 * gnulib/fnmatch.c: Likewise.
10627 * gnulib/fnmatch_loop.c: Likewise.
10628 * gnulib/getdelim.c: Likewise.
10629 * gnulib/getline.c: Likewise.
10630 * gnulib/getopt.c: Likewise.
10631 * gnulib/getopt1.c: Likewise.
10632 * gnulib/getopt_int.h: Likewise.
10633 * gnulib/gettext.h: Likewise.
10634 * gnulib/progname.c: Likewise.
10635 * gnulib/progname.h: Likewise.
10636
394a3120
GS
106372010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
10638
10639 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
10640 which is the case with --disabled-nls.
10641
10642 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
10643 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
10644 * util/misc.c: Likewise.
10645 * util/mkisofs/mkisofs.c: Likewise.
10646 * util/mkisofs/mkisofs.h: Likewise.
10647
969d1c78
VS
106482010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 Simplify Apple CC support.
10651
10652 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
10653 Add 0 byte at the end not to have a symbol with empty target.
10654 * mmap/i386/pc/mmap_helper.S: Likewise.
10655 * genmk.rb: Ignore errors 2030 and 2050.
10656 * kern/i386/pc/startup.S: Use LOCAL when possible.
10657
8d2977bb
BC
106582010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
10659
10660 Testcase and the fix for final semicolon on cmdline.
10661
10662 * tests/grub_script_final_semicolon.in: New testcase.
10663 * conf/tests.rmk: Rules for the new testcase.
10664 * script/parser.y: Grammar fix.
10665
a7bd6915
BC
106662010-03-26 BVK Chaitanya <bvk@localhost>
10667
10668 Blank lines testcase for GRUB script.
10669
10670 * tests/grub_script_blanklines.in: New testcase.
10671 * conf/tests.rmk: Rules for the new testcase.
10672
e4ff6628
VS
106732010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 Don't use __FILE__.
10676
10677 * genmk.rb: Add -DGRUB_FILE to all C targets.
10678 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
10679 * include/grub/list.h: Likewise.
10680 * include/grub/misc.h: Likewise.
10681 * include/grub/mm.h: Likewise.
10682 * include/grub/test.h: Likewise.
10683 * kern/mm.c: Likewise.
10684 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
10685
6a5cf6b6
VS
106862010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10687
10688 Sunpc partitions support.
10689
10690 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
10691 (grub_fstest_SOURCES): Likewise.
10692 (pkglib_MODULES): Add part_sunpc.mod.
10693 (part_sunpc_mod_SOURCES): New variable.
10694 (part_sunpc_mod_CFLAGS): Likewise.
10695 (part_sunpc_mod_LDFLAGS): Likewise.
10696 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
10697 * partmap/sunpc.c: New file.
10698
746d9045
BC
106992010-03-26 BVK Chaitanya <bvk@localhost>
10700
10701 For loop support to GRUB script.
10702
10703 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
10704 (grub_script_create_cmdfor): New function prototype.
10705 (grub_script_execute_cmdfor): New function prototype.
10706 * script/execute.c (grub_script_execute_cmdfor): New function.
10707 * script/parser.y (command): New for command.
10708 (forcmd): New grammar rule.
10709 * script/script.c (grub_script_create_cmdfor): New function.
10710 * util/grub-script-check.c (grub_script_execute_cmdfor): New
10711 function.
10712 * tests/grub_script_for1.in: New testcase.
10713 * conf/tests.rmk: Rules for new testcase.
10714
18486b18
VS
107152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 Nested partitions
10718
10719 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
10720 'partition' is NULL, grub_partition_get_start already does that.
10721 * commands/loadenv.c (check_blocklists): Likewise.
10722 (write_blocklists): Likewise.
10723 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
10724 (grub_fstest_SOURCES): Likewise.
10725 (pkglib_MODULES): Add part_bsd.mod.
10726 (part_bsd_mod_SOURCES): New variable.
10727 (part_bsd_mod_CFLAGS): Likewise.
10728 (part_bsd_mod_LDFLAGS): Likewise.
10729 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
10730 (grub_emu_SOURCES): Likewise.
10731 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
10732 * include/grub/bsdlabel.h: New file.
10733 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
10734 'get_name'.
10735 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
10736 (grub_partition_map_list): New variable.
10737 (grub_partition_map_register): Inline.
10738 (grub_partition_map_unregister): Likewise.
10739 (FOR_PARTITION_MAPS): New macro.
10740 (grub_partition_map_iterate): Removed.
10741 (grub_partition_get_start): Handle nested partitions.
10742 * include/grub/msdos_partition.h: Remove bsd-related entries.
10743 (grub_pc_partition): Remove.
10744 * kern/disk.c (grub_disk_close): Free partition data.
10745 (grub_disk_adjust_range): Handle nested partitions.
10746 * kern/partition.c (grub_partition_map_probe): New function.
10747 (grub_partition_probe): Parse name to number, handle subpartitions.
10748 (get_partmap): New function.
10749 (grub_partition_iterate): Handle subpartitions.
10750 (grub_partition_get_name): Likewise.
10751 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
10752 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
10753 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
10754 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
10755 Set 'number'.
10756 (acorn_partition_map_probe): Remove.
10757 (acorn_partition_map_get_name): Likewise.
10758 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
10759 Set 'number'.
10760 Set 'index' to 0 since there can be only one partition entry per sector.
10761 (amiga_partition_map_probe): Remove.
10762 (amiga_partition_map_get_name): Likewise.
10763 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
10764 Set 'number'.
10765 Set 'offset' and 'index' to real positions of partitions.
10766 (apple_partition_map_probe): Remove.
10767 (apple_partition_map_get_name): Likewise.
10768 * partmap/bsdlabel.c: New file.
10769 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
10770 Set 'number'.
10771 Allocate 'data' so it can be correctly freed.
10772 Set 'index' to offset inside sector.
10773 (gpt_partition_map_probe): Remove.
10774 (gpt_partition_map_get_name): Likewise.
10775 * partmap/msdos.c (grub_partition_parse): Remove.
10776 (pc_partition_map_iterate): Don't force raw access.
10777 Set 'number'.
10778 Make 'ext_offset' a local variable.
10779 (pc_partition_map_probe): Remove.
10780 (pc_partition_map_get_name): Remove.
10781 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
10782 Set 'number'.
10783 (sun_partition_map_probe): Remove.
10784 (sun_partition_map_get_name): Likewise.
10785 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
10786 (grub_pcpart_type): Likewise.
10787 * util/hostdisk.c (open_device): Handle new numbering scheme.
10788 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
10789 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
10790 * util/grub-probe.c (probe_partmap): Handle nested paritions.
10791 * util/grub-install.in: Insert all subpartition modules.
10792 * util/ieee1275/grub-install.in: Likewise.
10793
a3940f88
AG
107942010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
10795
10796 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
10797 grammar.
10798
21b99926 107992010-03-24 Colin Watson <cjwatson@ubuntu.com>
10800
10801 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
10802
bed1d352
CW
108032010-03-21 Colin Watson <cjwatson@ubuntu.com>
10804
10805 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
10806 match where 'make install' puts them.
10807 * util/i386/efi/grub-install.in: Likewise.
10808
c9f58427
CW
108092010-03-19 Colin Watson <cjwatson@ubuntu.com>
10810
10811 * .bzrignore: Add gentrigtables, grub-script-check,
10812 grub_script_check_init.c, grub_script_check_init.h, and
10813 trigtables.c.
10814
f84afb27
VS
108152010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * kern/parser.c: Indented.
10818
ed0e3d30
VS
108192010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
10820
10821 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
10822
0ea81d98
VS
108232010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
10826 alpha_mask_size == 0 case.
10827
0cdc2a09
BC
108282010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
10829
10830 GRUB shell lexer and parser improvements.
10831
10832 * conf/any-emu.rmk: Build rule updates.
10833 * conf/common.rmk: Likewise.
10834 * conf/i386-coreboot.rmk: Likewise.
10835 * conf/i386-efi.rmk: Likewise.
10836 * conf/i386-ieee1275.rmk: Likewise.
10837 * conf/i386-pc.rmk: Likewise.
10838 * conf/powerpc-ieee1275.rmk: Likewise.
10839 * conf/x86_64-efi.rmk: Likewise.
10840
10841 * configure.ac: Configure check for flex.
10842
10843 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
10844 types.
10845 (grub_lexer_param): Struct member updates.
10846 (grub_parser_param): Likewise.
10847 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
10848 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
10849 (grub_script_lexer_init): Prototype update.
10850 (grub_script_lexer_record_start): Likewise.
10851 (grub_script_lexer_record_stop): Likewise.
10852 (grub_script_lexer_yywrap): New function prototype.
10853 (grub_script_lexer_fini): Likewise.
10854 (grub_script_execute_argument_to_string): Removed by...
10855 (grub_script_execute_argument_to_argv): ...better version.
10856
10857 * script/execute.c (ROUND_UPTO): New macro.
10858 (grub_script_execute_cmdline): Out of memory fixes.
10859 (grub_script_execute_menuentry): Likewise.
10860 (grub_script_execute_argument_to_string): Removed. Update all
10861 users by...
10862 (grub_script_execute_argument_to_argv): ...better version.
10863 * script/function.c (grub_script_function_create): Use
10864 grub_script_execute_argument_to_argv instead of
10865 grub_script_execute_argument_to_string.
10866
10867 * script/lexer.c (check_varstate): Removed.
10868 (check_textstate): Removed.
10869 (grub_script_lexer_record_start): Likewise.
10870 (grub_script_lexer_record_stop): Likewise.
10871 (recordchar): Replaced with...
10872 (grub_script_lexer_record): ...new function.
10873 (nextchar): Removed.
10874 (grub_script_lexer_init): Rewritten.
10875 (grub_script_yylex): Rewritten.
10876 (append_newline): New function.
10877 (grub_script_lexer_yywrap): New function.
10878 (grub_script_lexer_fini): New function.
10879 (grub_script_yyerror): Sets error flag.
10880
10881 * script/yylex.l: New file.
10882 (grub_lexer_yyfree): Wrapper for flex yyffre.
10883 (grub_lexer_yyalloc): Likewise.
10884 (grub_lexer_yyrealloc): Likewise.
10885 * script/parser.y: Refactored.
10886
10887 * script/script.c (grub_script_arg_add): Out of memory fixes.
10888 (grub_script_add_arglist): Likewise.
10889 (grub_script_create_cmdline): Likewise.
10890 (grub_script_create_cmdmenu): Likewise.
10891 (grub_script_add_cmd): Likewise.
10892 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
10893 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
10894 unnecessary code.
10895
10896 * tests/grub_script_echo1.in: New testcase.
10897 * tests/grub_script_vars1.in: New testcase.
10898 * tests/grub_script_echo_keywords.in: New testcase.
10899
1d63a066
VS
109002010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 Remove some redundancy in build system.
10903
10904 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
10905 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
10906 (TARGET_LDFLAGS): Add -nostdlib.
10907 (TARGET_IMG_LDFLAGS): Likewise.
10908 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
10909 anything since mmap isn't available.
10910 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
10911 Add util/time.c.
10912 (pkglib_MODULES): Remove reboot.mod.
10913 (reboot_mod_SOURCES): Removed.
10914 (reboot_mod_CFLAGS): Likewise.
10915 (reboot_mod_LDFLAGS): Likewise.
10916 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
10917 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
10918 (DEFSYMFILES): Add kernel_syms.lst.
10919 (kernel_img_HEADERS): Add common headers.
10920 (symlist.c): New target.
10921 (kernel_syms.lst): Likewise.
10922 (pkglib_MODULES): Add memdisk.mod.
10923 (memdisk_mod_SOURCES): New variable.
10924 (memdisk_mod_CFLAGS): Likewise.
10925 (memdisk_mod_LDFLAGS): Likewise.
10926 (pkglib_MODULES): Add reboot.mod.
10927 (reboot_mod_SOURCES): New variable.
10928 (reboot_mod_CFLAGS): Likewise.
10929 (reboot_mod_LDFLAGS): Likewise.
10930 (pkglib_MODULES): Add date.mod.
10931 (date_mod_SOURCES): New variable.
10932 (date_mod_CFLAGS): Likewise.
10933 (date_mod_LDFLAGS): Likewise.
10934 (pkglib_MODULES): Add datehook.mod.
10935 (datehook_mod_SOURCES): New variable.
10936 (datehook_mod_CFLAGS): Likewise.
10937 (datehook_mod_LDFLAGS): Likewise.
10938 (pkglib_MODULES): Add lsmmap.mod.
10939 (lsmmap_mod_SOURCES): New variable.
10940 (lsmmap_mod_CFLAGS): Likewise.
10941 (lsmmap_mod_LDFLAGS): Likewise.
10942 (pkglib_MODULES): Add boot.mod.
10943 (boot_mod_SOURCES): New variable.
10944 (boot_mod_CFLAGS): Likewise.
10945 (boot_mod_LDFLAGS): Likewise.
10946 * conf/i386-coreboot.rmk: Removed redundant parts.
10947 * conf/i386-ieee1275.rmk: Likewise.
10948 * conf/i386-pc.rmk: Likewise.
10949 * conf/mips-yeeloong.rmk: Likewise.
10950 * conf/mips.rmk: Likewise.
10951 * conf/powerpc-ieee1275.rmk: Likewise.
10952 * conf/sparc64-ieee1275.rmk: Likewise.
10953 * conf/x86_64-efi.rmk: Likewise.
10954 * conf/i386-coreboot.rmk: Moved qemu parts ..
10955 * conf/i386-qemu.rmk: ... here
10956 * conf/i386-efi.rmk: Moved common parts to...
10957 * conf/x86-efi.rmk: ... here.
10958 * conf/i386.rmk: Added modules common to all x86 variants.
10959 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
10960 * disk/memdisk.c: Remove grub/machine/kernel.h.
10961 * gensymlist.sh.in: Include symbol.h.
10962 * hook/datehook.c: Correct module name.
10963 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
10964 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
10965 * include/grub/i386/efi/serial.h: New file.
10966 * include/grub/x86_64/efi/serial.h: Likewise.
10967 * util/time.c: Likewise.
10968 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
10969
463ac55f
CK
109702010-03-14 Colin King <colin.king@ubuntu.com>
109712010-03-14 Colin Watson <cjwatson@ubuntu.com>
10972
10973 Shrink the pre-partition-table part of boot.img by eight bytes.
10974
10975 * boot/i386/pc/boot.S (ERR): New macro.
10976 (chs_mode): Use ERR.
10977 (geometry_error): Likewise.
10978 (hd_probe_error): Remove. This is only used once, so we wrwite
10979 it inline instead.
10980 (read_error): Instead of printing read_error_string, just set up
10981 %si and fall through to ...
10982 (error_message): ... this new function, also used by ERR.
10983
08e46ede
CW
109842010-03-14 Colin Watson <cjwatson@ubuntu.com>
10985
10986 Speed up consecutive hostdisk operations on the same device.
10987
10988 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
10989 (grub_util_biosdisk_open): Initialise disk->data.
10990 (struct linux_partition_cache): New structure.
10991 (linux_find_partition): Cache partition start positions; these are
10992 expensive to compute on every read and write.
10993 (open_device): Cache open file descriptor in disk->data, so that we
10994 don't have to reopen it and flush the buffer cache for consecutive
10995 operations on the same device.
10996 (grub_util_biosdisk_close): New function.
10997 (grub_util_biosdisk_dev): Set `close' member.
10998
10999 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
11000 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
11001 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11002 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11003 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
11004
4a6d2d06
VS
110052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11006
11007 Compile parts of grub-emu as modules.
11008
11009 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
11010 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
11011 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
11012 (all-local): Add $(GRUB_EMU).
11013 (install-local): Install $(GRUB_EMU).
11014 (uninstall): Uninstall $(GRUB_EMU).
11015 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
11016 * kern/dl.c: Likewise.
11017 * commands/sleep.c: Not include machine/time.h.
11018 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
11019 (COMMON_CFLAGS): Likewise.
11020 (sbin_UTILITIES): Remove grub-emu.
11021 (grub_emu_SOURCES): Removed.
11022 (kernel_img_RELOCATABLE): New variable.
11023 (pkglib_PROGRAMS): Add kernel.img.
11024 (kernel_img_SOURCES): New variable
11025 (kernel_img_CFLAGS): Likewise.
11026 (kernel_img_LDFLAGS): Likewise.
11027 (TARGET_NO_STRIP): Likewise.
11028 (TARGET_NO_DYNAMIC_MODULES): Likewise.
11029 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
11030 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
11031 (grub-emu): New target.
11032 (GRUB_EMU): New variable.
11033 * configure.ac: Whitelist -emu as possible x86_64 architecture.
11034 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
11035 * loader/xnu.c: Likewise.
11036 * include/grub/pci.h: Likewise.
11037 * genemuinit.sh: New file.
11038 * genemuinitheader.sh: Likewise.
11039 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
11040 Support TARGET_NO_DYNAMIC_MODULES.
11041 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
11042 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
11043 * disk/loopback.c: Likewise.
11044 * font/font_cmd.c: Likewise.
11045 * partmap/acorn.c: Likewise.
11046 * partmap/amiga.c: Likewise.
11047 * partmap/apple.c: Likewise.
11048 * partmap/gpt.c: Likewise.
11049 * partmap/msdos.c: Likewise.
11050 * partmap/sun.c: Likewise.
11051 * parttool/msdospart.c: Likewise.
11052 * term/gfxterm.c: Likewise.
11053 * video/bitmap.c: Likewise.
11054 * video/readers/jpeg.c: Likewise.
11055 * video/readers/png.c: Likewise.
11056 * video/readers/tga.c: Likewise.
11057 * video/video.c: Likewise.
11058 * util/grub-emu.c (read_command_list): Removed.
11059 (main): Don't call util_init_nls.
11060 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
11061 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
11062
91fdd2ed
VS
110632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
11066 date.mod, datehook.mod.
11067 (datetime_mod_SOURCES): New variable.
11068 (datetime_mod_CFLAGS): Likewise.
11069 (datetime_mod_LDFLAGS): Likewise.
11070 (date_mod_SOURCES): Likewise.
11071 (date_mod_CFLAGS): Likewise.
11072 (date_mod_LDFLAGS): Likewise.
11073 (datehook_mod_SOURCES): Likewise.
11074 (datehook_mod_CFLAGS): Likewise.
11075 (datehook_mod_LDFLAGS): Likewise.
11076 * conf/sparc64-ieee1275.rmk: Likewise.
11077 * lib/ieee1275/datetime.c: New file.
11078
873ccae6
VS
110792010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
11082 (ieee1275_fb_mod_SOURCES): New variable.
11083 (ieee1275_fb_mod_CFLAGS): Likewise.
11084 (ieee1275_fb_mod_LDFLAGS): Likewise.
11085 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
11086 New proto.
11087 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
11088 (HEAP_MAX_ADDR): Likewise.
11089 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
11090 type.
11091 Correct stop condition.
11092 (grub_ieee1275_devices_iterate): New function.
11093 * video/ieee1275.c: New file.
11094
601c97c0
VS
110952010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
11098
11099 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
11100 as scratch.
11101 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
11102 SCRATCH_PAD_DISKBOOT as scratch.
11103 (bootit): Pass Openfirmware pointer in %o4.
11104 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
11105 of 0x200000.
11106 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
11107 with util/grub-mkrawimage.c.
11108 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
11109 * include/grub/aout.h (AOUT_MID_SUN): New definition.
11110 (grub_aout_get_type) [GRUB_UTIL]: Removed.
11111 (grub_aout_load) [GRUB_UTIL]: Likewise.
11112 * include/grub/kernel.h (grub_modules_get_end): New proto.
11113 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
11114 (SCRATCH_PAD_BOOT): New definition.
11115 (SCRATCH_PAD_DISKBOOT): Likewise.
11116 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
11117 * include/grub/sparc64/ieee1275/ieee1275.h
11118 (grub_ieee1275_original_stack): New variable
11119 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
11120 New definition
11121 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
11122 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
11123 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
11124 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
11125 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
11126 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
11127 (grub_platform_image_format_t): New type.
11128 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
11129 * kern/main.c (grub_modules_get_end)
11130 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
11131 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
11132 (codestart): Switch stacks.
11133 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
11134 variable.
11135 (grub_heap_init): Use grub_modules_get_end.
11136 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
11137 stack.
11138 * util/grub-mkrawimage.c (generate_image): Support sparc64.
11139 (main): Likewise.
11140 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
11141
d68b491e
TG
111422010-03-14 Thorsten Glaser <tg@mirbsd.org>
11143
11144 * util/grub-mkrescue.in: Base ISO UUID on UTC.
11145
4e02ed50
MK
111462010-03-08 Matt Kraai <kraai@ftbfs.org>
11147
11148 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
11149 bug #559005).
11150
1f15fc1e
VS
111512010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
11152
11153 * genmoddep.awk: Output all missing symbols and not only first.
11154
fce5d8ff
VS
111552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 * NEWS: Put the date of 1.98 release.
11158
d1e8a02f
VS
111592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
11162 ft2build.h.
11163
696fd607
VS
111642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
11167 completition in the middle of string.
11168
33e2e6f3
VS
111692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11170
11171 * util/grub-mkrescue.in: Use mktemp with explicit template.
11172
b1f6d291
VS
111732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11174
11175 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
11176
2ac227c7
VS
111772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
11180 right pointer.
11181
8f9a632b
VS
111822010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 Fix FreeBSD compilation.
11185
11186 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
11187 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
11188
60b03859
VS
111892010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
11190
11191 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
11192
48a5a769
VS
111932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11194
11195 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
11196
3ab4bd77
VS
111972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11198
11199 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
11200
d116e0d8
RM
112012010-03-04 Robert Millan <rmh.grub@aybabtu.com>
11202
11203 Support relative image path in theme file.
11204
11205 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
11206 (image_set_property): Handle theme_dir and relative path.
11207
c7ef54aa
VS
112082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11209
11210 * configure.ac: Alias amd64 to x86_64.
11211
fcee14ed
VS
112122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * NEWS: mention multiboot on EFI.
11215
d0780363
VS
112162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * kern/main.c (grub_load_modules): Handle errors from init functions of
11219 embeded modules.
11220
41168ea4
VS
112212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * normal/autofs.c (autoload_fs_module): Handle errors.
11224
b54d93ac
VS
112252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 Disable linux.mod on qemu-mips since it's not functional and leads
11228 to compilation failure.
11229
11230 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
11231 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
11232 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
11233 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
11234 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
11235 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
11236 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
11237 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
11238 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
11239 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
11240 Reported by: BVK Chaitanya
11241
fc8345da
JU
112422010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
11243
11244 * INSTALL: Add gettext as a dependency and add qemu to a new section
11245 "Prerequisites for make-check".
11246
4760f979
CF
112472010-03-04 Christian Franke <franke@computer.org>
11248
11249 * util/grub-pe2elf.c: Add missing include "progname.h".
11250
f209b5b2
VS
112512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * normal/crypto.c (read_crypto_list): Fix a typo.
11254 Reported by: Seth Goldberg.
11255
b4b7be98
VS
112562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11257
11258 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 11259 Reported by: Seth Goldberg.
b4b7be98 11260
c0ee0385
VS
112612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
11264 ascii.bitmaps.
11265
a8efbf64
VS
112662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 11269 Reported by: Seth Goldberg.
a8efbf64 11270
08dcd913
VS
112712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
11272
11273 * util/i386/efi/grub-install.in: Copy gettext files.
11274
c4d0b332
VS
112752010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
11278
c6f2fe52
VS
112792010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
11280
11281 Wait for user entry basing on presence of output rather than on errors.
11282
11283 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
11284 (grub_install_newline_hook): Likewise.
11285 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
11286 * normal/menu.c (show_menu): Check line_counter to determine presence
11287 of output.
11288 * normal/term.c (grub_normal_line_counter): New variable.
11289 (grub_normal_get_line_counter): New function.
11290 (grub_install_newline_hook): Likewise.
11291
5382b1e4
VS
112922010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
11295
5519963b
VS
112962010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * configure.ac: Update version to 1.98.
11299
72b28631
VS
113002010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 * util/grub.d/10_linux.in (linux_entry): Don't default to
11303 gfxpayload=keep if Linux doesn't support video handover.
11304
c140a180
VS
113052010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 Don't compile video modules on yeeloong since video subsystem is part
11308 of kernel.
11309
11310 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
11311 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
11312 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
11313 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
11314 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
11315 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
11316 * include/grub/bitmap_scale.h: Likewise.
11317 * include/grub/bufio.h: Likewise.
11318 * include/grub/font.h: Likewise.
11319 * include/grub/gfxterm.h: Likewise.
11320 * include/grub/video.h: Likewise.
11321 * include/grub/vbe.h: Don't include video_fb.h.
11322 * video/i386/pc/vbe.c: Include video_fb.h.
11323 * commands/i386/pc/vbetest.c: Include video.h.
11324
a0ca21c2
CW
113252010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
11326
11327 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
11328 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
11329 default entry if GRUB_SAVEDEFAULT=true. This allows using
11330 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
11331 saving a new default on every boot.
11332
4a8a763c
VS
113332010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * normal/crypto.c (read_crypto_list): Fix a memory leak.
11336 * normal/term.c (read_terminal_list): Likewise.
11337 * normal/main.c (grub_normal_init_page): Likewise.
11338 (grub_normal_read_line_real): Likewise.
11339
607ffde2
VS
113402010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
11341
11342 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
11343 memory leak.
11344 Reported by: Seth Goldberg.
11345
2b8fa975
CW
113462010-02-24 Joey Korkames <joey+lists@kidfixit.com>
11347
11348 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
11349 duplicate declaration of `start'.
11350
618307dd
VS
113512010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
11352
11353 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
11354 filename.
11355 Reported by: Georgy Buranov
11356
7dd05b96 113572010-02-20 Carles Pina i Estany <carles@pina.cat>
11358
11359 * util/grub-mkrawimage.c (usage): Change string formatting to
11360 improve gettext.
11361
d1484a42
MRA
113622010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11363
11364 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
11365 backspace keys.
11366
42b1d186
VS
113672010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
11368
11369 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
11370 Reported by: Michael Suchanek.
11371
113722010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
11373
11374 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
11375 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
11376
d9f31a41
VS
113772010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 Remove any reference to non-free fonts.
11380
11381 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
11382 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
11383 uses non-free components.
11384 * font/font.c (grub_font_get_name): Remove example name.
11385 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
11386 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11387 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
11388 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
11389
2793c71e
GB
113902010-02-16 Georgy Buranov <gburanov@gmail.com>
11391
11392 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
11393
402e3779
VS
113942010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
11395
11396 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
11397 Double divisor.
11398 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
11399 features.
11400 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
11401
0dd1e0dd
VS
114022010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 * gensymlist.sh.in: Use TARGET_CC instead of CC.
11405
6fa7cfce
ST
114062010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11407
11408 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
11409 * docs/grub.texi (Command-line and menu entry commands): Document play
11410 command.
11411
37c8483b
ST
114122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11413
11414 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
11415 parse arguments as inline tempo and notes. Move code for playing notes
11416 to...
11417 (play): ... new function.
11418
14da0fb7
ST
114192010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
11420
11421 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
11422 grub_uint16_t instead of short.
11423 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
11424 disk from little endian to cpu endianness.
11425
04459e70
ST
114262010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
11427
11428 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
11429 GRUB_TICKS_PER_SECOND instead of 120.
11430
a0876943
VS
114312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11432
11433 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
11434 escape sequence after \e.
11435
e29f95dc
VS
114362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11437
11438 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
11439 non-ASCII characters.
11440
d27859b2
VS
114412010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11442
11443 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
11444 set root in single quotes to prevent \, from being unescaped.
11445
bc028f2f
VS
114462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 Prevent unknown commands from stopping menuentry execution.
11449
11450 * script/execute.c (grub_script_execute_cmdline): Print error after
11451 unknown command.
11452
095f5f82
VS
114532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11454
11455 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
11456 Reported by: Pavel Pisa.
11457
8c717950
VS
114582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
11461
904935c3
VS
114622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 Merge grub_ieee1275_map_physical into grub_map and rename to
11465 grub_ieee1275_map
11466
11467 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
11468 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
11469 Remove.
11470 * kern/ieee1275/openfw.c (grub_map): Rename to ...
11471 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
11472 necessary.
11473 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
11474
5b59a4e3
VS
114752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
11478 opening and not after.
11479
69e137e8
VS
114802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
11483 constants.
11484
2c0fcc36
VS
114852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11486
11487 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
11488 (alloc_phys): Use ALIGN_UP instead of align_addr.
11489
8c6052ce
VS
114902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
11493
17cec782
VS
114942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
11497
e0128bbd
VS
114982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
11501 verbose dprintf.
11502
ca62070b
VS
115032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 Fix over-4GiB seek on sparc64.
11506
11507 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
11508 Replace pos_i and pos_lo with pos. All users updated.
11509 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
11510 New constant.
11511 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
11512 Likewise.
11513 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
11514 and pos_lo.
11515
bdca2607
VS
115162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11517
11518 * util/grub-mkrawimage.c (main): Call set_program_name.
11519
da278c4d
VS
115202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 Properly align 64-bit targets.
11523
11524 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
11525 (generate_image): Use ALIGN_ADDR.
11526
b274d734
VS
115272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11528
11529 Properly create cross-endian images.
11530
11531 * include/grub/types.h (grub_host_to_target_addr): New macro
11532 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
11533
82da2062
VS
115342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
11537
7cae4377
VS
115382010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
11541
11542 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
11543 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
11544 (grub_linux_boot): Divide by 64K when on VESA.
11545
65a533e7
VS
115462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11547
11548 Support GRUB_GFXPAYLOAD_LINUX.
11549
11550 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
11551 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
11552
dd01d397
VS
115532010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
11556 to show messages instead of discarding them.
11557 Process errors after executing command and not before. Keep old method
11558 too as precaution.
11559
660960d6
VS
115602010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * configure.ac: Check for ft2build.h.
11563
62509f04
VS
115642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
11567
473df63d
VS
115682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * genkernsyms.sh.in: Use TARGET_CC.
11571
c98d2a13
CW
115722010-02-07 Colin Watson <cjwatson@ubuntu.com>
11573
11574 * NEWS: Update.
11575
6e14234c
VS
115762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
11579 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
11580 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 11581
b255e9cf
YB
115822010-02-07 Yves Blusseau <blusseau@zetam.org>
11583
6e14234c 11584 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 11585
98e6959d
VS
115862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 Fix warnings in grub-emu when compiling with maximum warning options.
11589
11590 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
11591 (grub_arch_modules_addr): Return 0 and not NULL.
11592 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 11593 (xstrdup): Use newstr instead of dup.
f88d801b
VS
11594 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
11595 of disk to dsk to avoid shadowing.
74e4934e
VS
11596 (find_free_slot): Fix prototype.
11597 * util/getroot.c (grub_util_is_dmraid): Make static.
11598 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
11599 Add missing prototype.
11600 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 11601
74e31b5c
VS
116022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11603
11604 * loader/i386/linux.c (grub_linux_setup_video): Handle error
11605 appropriately.
11606
6b2ad14b
VS
116072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
11610 code out.
11611
8f891adc
VS
116122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
11615 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
11616 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
11617 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
11618 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
11619 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
11620
74b45184
VS
116212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * include/grub/err.h (grub_err_printf): Don't export.
11624
a4bced77
VS
116252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
11628
007d0695
VS
116292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * include/grub/i18n.h (grub_gettext_dummy): Removed.
11632 * kern/misc.c (grub_gettext_dummy): Make static.
11633
b6c0d9c2
VS
116342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
11637 by non-valid ones.
11638 * kern/term.c (grub_putchar): Likewise.
11639
f51a90d0
VS
116402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11641
11642 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
11643 buggy hook call and memory leak.
11644
6846cec5
VS
116452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
11648
468d69fe
VS
116492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
11652
51906b8c
VS
116532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
11656 modevar.
11657 Return grub_errno on allocation error.
11658
09706ce5
VS
116592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11660
11661 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
11662
911df80c
YB
116632010-02-06 Yves Blusseau <blusseau@zetam.org>
11664
11665 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
11666 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
11667
3746a6bc
VS
116682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11669
11670 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
11671 non-pxe disk.
11672 (grub_pxefs_open): Likewise.
11673
09706ce5
VS
116742010-02-06 Robert Millan <rmh.grub@aybabtu.com>
11675
11676 * util/grub.d/10_hurd.in: Add --class information to menuentries.
11677 * util/grub.d/10_kfreebsd.in: Likewise.
11678 * util/grub.d/10_linux.in: Likewise.
11679
7cc192d9
VS
116802010-02-06 Colin D Bennett <colin@gibibit.com>
11681
11682 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
11683 (gfxmenu_mod_SOURCES): New variable.
11684 (gfxmenu_mod_CFLAGS): Likewise.
11685 (gfxmenu_mod_LDFLAGS): Likewise.
11686 * include/grub/term.h (grub_term_set_current_output): Declare
11687 argument as const.
11688 * docs/gfxmenu-theme-example.txt: New file.
11689 * gfxmenu/gfxmenu.c: Likewise.
11690 * gfxmenu/gui_box.c: Likewise.
11691 * gfxmenu/gui_canvas.c: Likewise.
11692 * gfxmenu/gui_circular_progress.c: Likewise.
11693 * gfxmenu/gui_image.c: Likewise.
11694 * gfxmenu/gui_label.c: Likewise.
11695 * gfxmenu/gui_list.c: Likewise.
11696 * gfxmenu/gui_progress_bar.c: Likewise.
11697 * gfxmenu/gui_string_util.c: Likewise.
11698 * gfxmenu/gui_util.c: Likewise.
11699 * gfxmenu/icon_manager.c: Likewise.
11700 * gfxmenu/model.c: Likewise.
11701 * gfxmenu/named_colors.c: Likewise.
11702 * gfxmenu/theme_loader.c: Likewise.
11703 * gfxmenu/view.c: Likewise.
11704 * gfxmenu/widget-box.c: Likewise.
11705 * include/grub/gfxmenu_model.h: Likewise.
11706 * include/grub/gfxmenu_view.h: Likewise.
11707 * include/grub/gfxwidgets.h: Likewise.
11708 * include/grub/gui.h: Likewise.
11709 * include/grub/gui_string_util.h: Likewise.
11710 * include/grub/icon_manager.h: Likewise.
11711
117122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 Agglomerate scrolling in gfxterm.
11715
11716 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
11717 (grub_virtual_screen_setup): Initialise 'total_screen'.
11718 (write_char): Split to ...
11719 (paint_char): ... this ...
11720 (write_char): ... and this.
11721 (paint_char): Handle delayed scrolling.
11722 (draw_cursor): Likewise.
11723 (scroll_up): Split to ...
11724 (real_scroll): ... this ...
11725 (scroll_up): ... and this.
11726 (real_scroll): Handle multi-line scroll and draw below-the-bottom
11727 characters.
11728 (grub_gfxterm_refresh): Call real_scroll.
11729
117302010-02-06 Colin D Bennett <colin@gibibit.com>
11731
11732 * include/grub/misc.h (grub_iscntrl): New inline function.
11733 (grub_isalnum): Likewise.
11734 (grub_strtol): Likewise.
11735
117362010-02-06 Colin D Bennett <colin@gibibit.com>
11737
11738 * normal/menu_text.c (get_entry_number): Move from here ...
11739 * normal/menu.c (get_entry_number): ... moved here.
11740 * include/grub/menu.h (grub_menu_get_default_entry_index):
11741 New prototype.
11742 * normal/menu.c (grub_menu_get_default_entry_index): New function.
11743 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
11744 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
11745 (grub_menu_viewer_should_return): Likewise.
11746 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
11747 * normal/menu_text.c (run_menu): Enable menu switching.
11748 * normal/menu_viewer.c (should_return): New variable.
11749 (menu_viewer_changed): Likewise.
11750 (grub_menu_viewer_show_menu): Handle menu viewer changes.
11751 (grub_menu_viewer_should_return): New function.
11752 (menuviewer_write_hook): Likewise.
11753 (grub_menu_viewer_init): Likewise.
11754
117552010-02-06 Colin D Bennet <colin@gibibit.com>
117562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11757
11758 Support for gfxterm in a window.
11759
11760 * include/grub/gfxterm.h: New file.
11761 * include/grub/video.h (struct grub_video_rect): New declaration.
11762 (grub_video_rect_t): Likewise.
11763 * term/gfxterm.c (struct grub_gfxterm_window): New type.
11764 (refcount): New variable.
11765 (render_target): Likewise.
11766 (window): Likewise.
11767 (repaint_callback): Likewise.
11768 (grub_virtual_screen_setup): Use 'render_target'.
11769 (init_window): New function.
11770 (grub_gfxterm_init_window): Likewise.
11771 (grub_gfxterm_init): Check reference counter.
11772 Use init_window.
11773 (destroy_window): New function.
11774 (grub_gfxterm_destroy_window): Likewise.
11775 (grub_gfxterm_fini): Check reference counter.
11776 Use destroy_window.
11777 (redraw_screen_rect): Restore viewport.
11778 Use 'render_target' and 'window'.
11779 Call 'repaint_callback'.
11780 (write_char): Use 'render_target'.
11781 (draw_cursor): Likewise.
11782 (scroll_up): Restore viewport.
11783 Use 'render_target' and 'window'.
11784 Call 'repaint_callback'.
11785 (grub_gfxterm_cls): Likewise.
11786 (grub_gfxterm_refresh): Use 'window'.
11787 (grub_gfxterm_set_repaint_callback): New function.
11788 (grub_gfxterm_background_image_cmd): Use 'window'.
11789 (grub_gfxterm_get_term): New function.
11790 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
11791
117922010-02-06 Colin D Bennett <colin@gibibit.com>
11793
11794 Bitmap scaling support.
11795
11796 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
11797 (bitmap_scale_mod_SOURCES): New variable.
11798 (bitmap_scale_mod_CFLAGS): Likewise.
11799 (bitmap_scale_mod_LDFLAGS): Likewise.
11800 * include/grub/bitmap_scale.h: New file.
11801 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
11802 (background_image_cmd_options): New variable.
11803 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
11804 (cmd): Rename and change type to ...
11805 (background_image_cmd_handle): ... this. All users updated.
11806 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
11807 * video/bitmap_scale.c: New file.
11808
118092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 SDL support.
11812
11813 * Makefile.in (LIBSDL): New variable.
11814 (enable_grub_emu_sdl): Likewise.
11815 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
11816 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
11817 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
11818 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
11819 * util/sdl.c: New file.
11820
118212010-02-06 Colin D Bennett <colin@gibibit.com>
118222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 Double buffering support.
11825
11826 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
11827 * include/grub/video.h: Update comment.
11828 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
11829 New type.
11830 (grub_video_fb_doublebuf_blit_init): New prototype.
11831 * term/gfxterm.c (scroll_up): Support double buffering.
11832 (grub_gfxterm_refresh): Likewise.
11833 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
11834 (grub_video_fb_doublebuf_blit_init): Likewise.
11835 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
11836 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
11837 'displayed_page', 'render_page' and 'update_screen'.
11838 (grub_video_vbe_fini): Free offscreen buffer.
11839 (doublebuf_pageflipping_commit): New function.
11840 (doublebuf_pageflipping_update_screen): Likewise.
11841 (doublebuf_pageflipping_init): Likewise.
11842 (double_buffering_init): Likewise.
11843 (grub_video_vbe_setup): Enable doublebuffering.
11844 (grub_video_vbe_swap_buffers): Implement.
11845 (grub_video_vbe_set_active_render_target): Handle double buffering.
11846 (grub_video_vbe_get_active_render_target): Likewise.
11847 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
11848 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
11849 (grub_video_vbe_enable_double_buffering): Likewise.
11850 (grub_video_vbe_swap_buffers): Use update_screen.
11851 (grub_video_set_mode): Use double buffering.
11852
118532010-02-06 Robert Millan <rmh.grub@aybabtu.com>
11854
11855 * maintainance/gentrigtables.py: Remove.
11856 * lib/trig.c: Likewise.
11857
11858 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
11859
11860 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
11861 `trigtables.c'.
11862 (trigtables.c): New rule.
11863 (gentrigtables): Likewise.
11864 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
11865
118662010-02-06 Robert Millan <rmh.grub@aybabtu.com>
11867
11868 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
11869 integer constants.
11870
118712010-02-06 Colin D Bennet <colin@gibibit.com>
11872
11873 Trigonometry support.
11874
11875 * include/grub/trig.h: New file.
11876 * lib/trig.c: Likewise.
11877 * maintainance/gentrigtables.py: Likewise.
11878 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
11879 (trig_mod_SOURCES): New variable.
11880 (trig_mod_CFLAGS): Likewise.
11881 (trig_mod_LDFLAGS): Likewise.
11882
5562834e
VS
118832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
11886 disk devices.
11887
4f8528fc
VS
118882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
11891 error.
11892
2b4068e9
VS
118932010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 * util/hostdisk.c (open_device): Don't use partition device when reading
11896 before the partition.
11897 (grub_util_biosdisk_read): Don't read from partition and before the
11898 partition in single operation.
11899 (grub_util_biosdisk_write): Don't write to partition and before the
11900 partition in single operation.
11901
399f6e4d
TL
119022010-02-03 Torsten Landschoff <torsten@debian.org>
11903
11904 * kern/disk.c (grub_disk_read): Fix offset computation when reading
11905 last sectors.
11906
996649b0
VS
119072010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
11910 CDROM reads.
11911 (grub_biosdisk_write): Refuse to write to CDROM.
11912
3b205d4d
VS
119132010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
11916
61e89d9d
VS
119172010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
11918
11919 * font/font.c (find_glyph): Check that bmp_idx is available before
11920 using it.
11921 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
11922 with (font == NULL).
11923
bf7fcba2
CS
119242010-01-28 Christian Schmitt <chris@ilovelinux.de>
11925
11926 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
11927
f45d2663
BC
119282010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
11929
11930 * include/grub/script_sh.h (sourcecode): Add const qualifier.
11931 * util/grub-script-check.c (getline): Fix empty lines case.
11932
ec1444e6
RM
119332010-01-28 Robert Millan <rmh.grub@aybabtu.com>
11934
11935 * Makefile.in (check): Exit with fail status when one of the tests
11936 fails.
11937 * tests/example_functional_test.c (example_test): Fix reversed assert.
11938 * tests/example_unit_test.c (example_test): Likewise.
11939
2e1cb9bb
CW
119402010-01-28 Colin Watson <cjwatson@ubuntu.com>
11941
11942 * util/grub.d/10_linux.in: This script does not use any of the
11943 contents of gettext.sh, only the external command `gettext', so stop
11944 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
11945 the same prefix as GRUB.)
11946 * util/grub.d/10_kfreebsd.in: Likewise.
11947
63533ab0
VS
119482010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11949
11950 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
11951 of the line.
11952
989e1f93
VS
119532010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 * kern/disk.c (grub_disk_read): Fix offset computation when reading
11956 last sectors.
11957
e709ebe2
VS
119582010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
11961 having a 4KiB and not 32KiB buffer size.
11962
27dea7ed
RM
119632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11964
11965 * util/hostfs.c: Include `<errno.h>'.
11966 (grub_hostfs_read): Handle errors from fseeko() and fread().
11967
67667b9c
RM
119682010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11969
11970 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
11971 loop when using read hooks on files whose size isn't sector-aligned.
11972
c294d9d8
RM
119732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11974
11975 Remove unused parameter.
11976
11977 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
11978 (grub_iso9660_open): Remove initialization of `data->length'.
11979
af75a9f1
RM
119802010-01-27 Robert Millan <rmh.grub@aybabtu.com>
11981
11982 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
11983 memleak conditions.
11984
254e2ce5 119852010-01-27 Carles Pina i Estany <carles@pina.cat>
11986
11987 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
11988 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
11989
b510928c 119902010-01-26 Carles Pina i Estany <carles@pina.cat>
11991
11992 * util/bin2h.c (usage): Fix warning (space after backslash).
11993
aa2f9dd2 119942010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 11995
11996 * font/font.c: Include `grub/fontformat.h.
11997 Remove font file format constants.
11998 (grub_font_load): Use the new macros.
11999 * include/grub/fontformat.h: New file.
12000 * util/grub-mkfont.c: Include `grub/fontformat.c'.
12001 (write_font_pf2): Use the new macros.
12002
94e7e712
RM
120032010-01-26 Robert Millan <rmh.grub@aybabtu.com>
12004
12005 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
12006 does.
12007
3973a59a
RM
120082010-01-26 Robert Millan <rmh.grub@aybabtu.com>
12009
12010 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
12011
12012 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
12013 (_start): Macroify `0x7F'.
12014
12015 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
12016 (make_install_device): Use "(pxe)" as fallback prefix when booting
12017 via PXE.
12018
42e0cba3
GS
120192010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * configure.ac: Reset LIBS after check for libgcc symbols.
12022
847effd8
CW
120232010-01-25 Colin Watson <cjwatson@ubuntu.com>
12024
12025 * util/hostdisk.c (open_device): Add trailing newline to debug
12026 message.
12027
ea4a7e35
GS
120282010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
12029
12030 * configure.ac: Check for `limits.h'.
12031 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
12032
67951a53
RM
120332010-01-24 Robert Millan <rmh.grub@aybabtu.com>
12034
12035 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
12036 capitalize error strings.
12037
c273d4ce
ST
120382010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
12039
12040 * util/grub.d/10_hurd.in: Add a recovery mode.
12041
69be5b74
VS
120422010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * configure.ac: Check for libgcc symbols with -nostdlib.
12045
fc9e5810
BC
120462010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
12047
12048 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
12049
4b358c0a
VS
120502010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
12053 stack since heap may be unavailable at that point.
12054 (grub_ofconsole_gotoxy): Likewise.
12055
454fcd1c
VS
120562010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 * configure.ac: Check for _restgpr_14_x.
12059 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
12060 and _savegpr_* prototypes.
12061
566863ca
RM
120622010-01-22 Robert Millan <rmh.grub@aybabtu.com>
12063
12064 Use generic grub_reboot() for i386-efi.
12065
12066 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
12067 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
12068 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
12069
bf86e59a
VS
120702010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
12073 presence of "prefix" variable as it breaks when normal.mod is
12074 embedded.
12075
d645e0f8
VS
120762010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
12079 stack since heap is unavailable at that point.
12080
f9ab2e25
VS
120812010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
12084 (grub_freebsd_bootinfo): Rewritten.
12085 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
12086
01fc7054
VS
120872010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
12088
12089 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
12090
caab4fd6
RM
120912010-01-21 Robert Millan <rmh.grub@aybabtu.com>
12092
12093 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
12094 domain now.
12095
67eb1427
FZ
120962010-01-20 Felix Zielcke <fzielcke@z-51.de>
12097
12098 * util/misc.c (make_system_path_relative_to_its_root): Change the work
12099 around for handling "/" to the correct fix. Fix a memory leak. Use
12100 xstrdup instead of strdup.
12101
a9ed4ff3
VS
121022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12103
12104 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
12105
121062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
12107
12108 Optimise glyph lookup by Basic Multilingual Plane lookup array.
12109
12110 * font/font.c (struct grub_font): New member 'bmp_idx'.
12111 (font_init): Initialise 'bmp_idx'.
12112 (load_font_index): Fill 'bmp_idx'.
12113 (find_glyph): Make inline. Use bmp_idx for BMP characters.
12114
48209f4f
VS
121152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12116
12117 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
12118 unnecessary calls.
12119
9f0a4bb7
VS
121202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 Move context handling out of the kernel.
12123
12124 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
12125 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
12126 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
12127 * conf/i386-efi.rmk: Likewise.
12128 * conf/i386-ieee1275.rmk: Likewise.
12129 * conf/i386-pc.rmk: Likewise.
12130 * conf/powerpc-ieee1275.rmk: Likewise.
12131 * conf/sparc64-ieee1275.rmk: Likewise.
12132 * conf/x86_64-efi.rmk: Likewise.
12133 * include/grub/env.h: Include grub/menu.h.
12134 (grub_env_var_type): Removed.
12135 (grub_env_var): Replaced field 'type' with 'global'.
12136 (grub_env_find): New prototype.
12137 (grub_env_context_open): Remove EXPORT_FUNC.
12138 (grub_env_context_close): Likewise.
12139 (grub_env_export): Likewise.
12140 (grub_env_set_data_slot): Removed.
12141 (grub_env_get_data_slot): Likewise.
12142 (grub_env_unset_data_slot): Likewise.
12143 (grub_env_unset_menu): New prototype.
12144 (grub_env_set_menu): Likewise.
12145 (grub_env_get_menu): Likewise.
12146 * include/grub/env_private.h: New file.
12147 * include/grub/normal.h (grub_context_init): New prototype.
12148 (grub_context_fini): Likewise.
12149 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
12150 * normal/context.c (grub_cmd_export): ... to here.
12151 * kern/env.c: Include env_private.h.
12152 (HASHSZ): Moved to include/grub/env_private.h.
12153 (grub_env_context): Likewise.
12154 (grub_env_sorted_var): Likewise.
12155 (current_context): Renamed from this ...
12156 (grub_current_context): ...to this. 'static' removed. All users updated.
12157 (grub_env_find): Removed 'static'.
12158 (grub_env_context_open): Moved to normal/context.c.
12159 (grub_env_context_close): Likewise.
12160 (grub_env_export): Likewise.
12161 (mangle_data_slot_name): Removed.
12162 (grub_env_set_data_slot): Likewise.
12163 (grub_env_get_data_slot): Likewise.
12164 (grub_env_unset_data_slot): Likewise.
12165 * kern/main.c (grub_set_root_dev): Don't export root.
12166 It will be done later.
12167 (grub_main): Don't export prefix.
12168 It will be done later.
12169 * normal/context.c: New file.
12170 * normal/main.c (free_menu): Use grub_env_unset_menu.
12171 (grub_normal_add_menu_entry): Use grub_env_get_menu.
12172 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
12173 (GRUB_MOD_INIT(normal)): Call grub_context_init.
12174 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
12175
8dd35b8c
VS
121762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12177
12178 setpci support.
12179
12180 * commands/setpci.c: New file.
12181 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
12182 (setpci_mod_SOURCES): New variable.
12183 (setpci_mod_CFLAGS): Likewise.
12184 (setpci_mod_LDFLAGS): Likewise.
12185
449193d5
VS
121862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12187
12188 Byte-addressable PCI configuration space.
12189
12190 * bus/pci.c (grub_pci_make_address): Use byte address instead of
12191 dword address.
12192 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
12193 GRUB_PCI_REG_CACHELINE.
12194 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
12195 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
12196 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
12197 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
12198 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
12199 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
12200 grub_pci_make_address.
12201 (lock_rom_area): Likewise.
12202 * commands/lspci.c (grub_lspci_iter): Use macroses
12203 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
12204 of grub_pci_make_address.
12205 * disk/ata.c (grub_ata_pciinit): Likewise.
12206 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
12207 (GRUB_PCI_REG_VENDOR): Likewise.
12208 (GRUB_PCI_REG_DEVICE): Likewise.
12209 (GRUB_PCI_REG_COMMAND): Likewise.
12210 (GRUB_PCI_REG_STATUS): Likewise.
12211 (GRUB_PCI_REG_REVISION): Likewise.
12212 (GRUB_PCI_REG_CLASS): Likewise.
12213 (GRUB_PCI_REG_CACHELINE): Likewise.
12214 (GRUB_PCI_REG_LAT_TIMER): Likewise.
12215 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
12216 (GRUB_PCI_REG_BIST): Likewise.
12217 (GRUB_PCI_REG_ADDRESSES): Likewise.
12218 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12219 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12220 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12221 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12222 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12223 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
12224 (GRUB_PCI_REG_CIS_POINTER): Likewise.
12225 (GRUB_PCI_REG_SUBVENDOR): Likewise.
12226 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
12227 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
12228 (GRUB_PCI_REG_CAP_POINTER): Likewise.
12229 (GRUB_PCI_REG_IRQ_LINE): Likewise.
12230 (GRUB_PCI_REG_IRQ_PIN): Likewise.
12231 (GRUB_PCI_REG_MIN_GNT): Likewise.
12232 (GRUB_PCI_REG_MAX_LAT): Likewise.
12233 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
12234 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
12235 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 12236 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
12237 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
12238 space.
12239
96d73208
RM
122402010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12241
12242 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
12243 can be reliably determined to be supported.
12244
d4484482
RM
122452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12246
12247 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
12248 that VESA is supported.
12249 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
12250 supported.
12251
00308ecf
VS
122522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
12255
f66924a4
RM
122562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12257
12258 * util/misc.c (make_system_path_relative_to_its_root): Work around
12259 special-casing of "/", as previous incarnation of this routine did.
12260
cbca0ada
VS
122612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 Fix any-emu compilation.
12264
12265 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
12266 * grub_bin2h_SOURCES: New variable.
12267
34a66d99
RM
122682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12269
12270 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
12271
94fabf58
RM
122722010-01-20 Robert Millan <rmh.grub@aybabtu.com>
12273
12274 * util/grub.d/00_header.in: Fix handling of locale_dir.
12275
02cf98ca
VS
122762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
12279 as possible unifont location (Gentoo).
12280 Reported by: Alexander Brüning
12281
327dbcd7
VS
122822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 Don't try to generate lists for kernel.img.
12285
12286 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
12287 (pkglib_MODULES): Remove kernel.img.
12288 (kernel_img_EXPORTS): Removed.
12289 (kernel_img_RELOCATABLE): New variable.
12290 * conf/x86_64-efi.rmk: Likewise.
12291 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
12292
ca467290
VS
122932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12294
12295 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
12296 grub_xasprintf or grub_snprintf.
12297 (grub_vsprintf): Likewise.
12298 (grub_snprintf): New proto.
12299 (grub_vsnprintf): Likewise.
12300 (grub_xasprintf): Likewise.
12301 (grub_xvasprintf): Likewise.
12302 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
12303 (grub_sprintf): Removed.
12304 (grub_vsnprintf): New function.
12305 (grub_snprintf): Likewise.
12306 (grub_xvasprintf): Likewise.
12307 (grub_xasprintf): Likewise.
12308 (grub_vsprintf): Renamed to ...
12309 (grub_vsnprintf_real): ...this. New argument max_len.
12310
aca655fd
BC
123112010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
12312
12313 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
12314 fix grub-script-check warning.
12315
7ee92c32
VS
123162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * include/grub/font.h (grub_font_load): Fix prototype.
12319
f80927ca
VS
123202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
12323
119c50ea
VS
123242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * include/grub/x86_64/at_keyboard.h: New file.
12327
47d5f3c1
VS
123282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * loader/mips/linux.c: Include missing grub/i18n.h.
12331
55ff5266
RM
123322009-12-20 Robert Millan <rmh.grub@aybabtu.com>
12333
12334 * normal/menu.c (notify_execution_failure): Clarify error message.
12335
c893cc87
RM
123362009-12-20 Robert Millan <rmh.grub@aybabtu.com>
12337
12338 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
12339 return value (and revert all return statements). Update users.
12340
917dd370
CW
123412010-01-20 Dan Merillat <debian@dan.merillat.org>
12342
12343 * kern/device.c (grub_device_iterate): Allocate new part_ent
12344 structure based on sizeof (*p) rather than sizeof (p->next), to
12345 account for structure padding.
12346
12347 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
12348 disk is NULL, which might happen for LVM physical volumes with no
12349 LVM signature.
12350
d4a4ee57
RM
123512009-12-20 Robert Millan <rmh.grub@aybabtu.com>
12352
12353 * loader/mips/linux.c (grub_cmd_initrd)
12354 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
12355
123562009-12-20 Robert Millan <rmh.grub@aybabtu.com>
12357
12358 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
12359 (grub_video_video_init, grub_video_bitmap_init)
12360 (grub_font_manager_init, grub_term_gfxterm_init)
12361 (grub_at_keyboard_init): New extern declarations.
12362 (grub_machine_init): Initialize gfxterm and at_keyboard.
12363
12364 * kern/main.c (grub_main): Revert grub_printf delay kludge.
12365
12366 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
12367 `gfxterm.mod' into core image.
12368
12369 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
12370 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
12371 (kernel_img_FORMAT): Copy to ...
12372
12373 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
12374 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
12375 (kernel_img_FORMAT): ... here, and ...
12376
12377 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
12378 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
12379 (kernel_img_FORMAT): ... here.
12380
12381 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
12382 and input (at_keyboard) terminals in kernel.
12383 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
12384
12385 (pkglib_MODULES): Remove `pci.mod'.
12386 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
12387 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
12388 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
12389 (at_keyboard_mod_LDFLAGS): Remove variables.
12390
123912010-01-11 Felix Zielcke <fzielcke@z-51.de>
12392
12393 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
12394
123952009-12-10 Robert Millan <rmh.grub@aybabtu.com>
12396
12397 * include/grub/mips/libgcc.h: Only export symbols for functions
12398 that libgcc provides.
12399
124002009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 MIPS support.
12403
12404 * bus/bonito.c: New file.
12405 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
12406 GRUB_PCI_NUM_DEVICES.
12407 * term/i386/pc/serial.c: Move to ...
12408 * term/serial.c: ... here. All users updated.
12409 * util/i386/pc/grub-mkimage.c: Move to ...
12410 * util/grub-mkrawimage.c: ... here. All users updated.
12411 * term/i386/pc/at_keyboard.c: Move to ...
12412 * term/at_keyboard.c: ... here. All users updated.
12413 * conf/mips-qemu-mips.rmk: New file.
12414 * conf/mips-yeeloong.rmk: Likewise.
12415 * conf/mips.rmk: Likewise.
12416 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
12417 mipsel-qemu-mips.
12418 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
12419 to port addresses.
12420 (grub_ata_pciinit): Support CS5536.
12421 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
12422 * font/font_cmd.c (loadfont_command): Open file before passing it to
12423 grub_font_load.
12424 (pseudo_file_read): New function.
12425 (pseudo_file_close): Likewise.
12426 (pseudo_fs): New structure.
12427 (load_font_module): New function.
12428 (GRUB_MOD_INIT(font_manager)): Load embedded font.
12429 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
12430 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
12431 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
12432 * include/grub/i386/at_keyboard.h: Split into ...
12433 * include/grub/at_keyboard.h: ... this ...
12434 * include/grub/i386/at_keyboard.h: ... and this.
12435 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
12436 New prototype.
12437 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
12438 updated.
12439 (grub_elf64_size): Likewise.
12440 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
12441 filename.
12442 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
12443 * include/grub/i386/coreboot/serial.h: Rewritten.
12444 * include/grub/i386/ieee1275/serial.h: Include
12445 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
12446 * include/grub/i386/pc/serial.h: Moved from here ...
12447 * include/grub/serial.h: ... to here. All users updated.
12448 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
12449 (GRUB_PCI_NUM_BUS): Likewise.
12450 (GRUB_PCI_NUM_DEVICES): Likewise.
12451 (grub_pci_device_map_range): Add missing volatile keyword.
12452 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
12453 * include/grub/mips/at_keyboard.h: New file.
12454 * include/grub/mips/cache.h: Likewise.
12455 * include/grub/mips/io.h: Likewise.
12456 * include/grub/mips/kernel.h: Likewise.
12457 * include/grub/mips/libgcc.h: Likewise.
12458 * include/grub/mips/pci.h: Likewise.
12459 * include/grub/mips/qemu-mips/boot.h: Likewise.
12460 * include/grub/mips/qemu-mips/kernel.h: Likewise.
12461 * include/grub/mips/qemu-mips/loader.h: Likewise.
12462 * include/grub/mips/qemu-mips/memory.h: Likewise.
12463 * include/grub/mips/qemu-mips/serial.h: Likewise.
12464 * include/grub/mips/qemu-mips/time.h: Likewise.
12465 * include/grub/mips/relocator.h: Likewise.
12466 * include/grub/mips/time.h: Likewise.
12467 * include/grub/mips/types.h: Likewise.
12468 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
12469 * include/grub/mips/yeeloong/boot.h: Likewise.
12470 * include/grub/mips/yeeloong/kernel.h: Likewise.
12471 * include/grub/mips/yeeloong/loader.h: Likewise.
12472 * include/grub/mips/yeeloong/memory.h: Likewise.
12473 * include/grub/mips/yeeloong/pci.h: Likewise.
12474 * include/grub/mips/yeeloong/serial.h: Likewise.
12475 * include/grub/mips/yeeloong/time.h: Likewise.
12476 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
12477 * kern/elf.c (grub_elf32_size): New parameter. All users
12478 updated.
12479 (grub_elf64_size): Likewise.
12480 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
12481 Load modules before saying "Welcome to GRUB!".
12482 Call grub_refresh after saying "Welcome to GRUB!".
12483 * kern/mips/cache.S: New file.
12484 * kern/mips/cache_flush.S: Likewise.
12485 * kern/mips/dl.c: Likewise.
12486 * kern/mips/init.c: Likewise.
12487 * kern/mips/qemu-mips/init.c: Likewise.
12488 * kern/mips/startup.S: Likewise.
12489 * kern/mips/yeeloong/init.c: Likewise.
12490 * kern/term.c (grub_putcode): Handle NULL terminal.
12491 (grub_getcharwidth): Likewise.
12492 (grub_getkey): Likewise.
12493 (grub_checkkey): Likewise.
12494 (grub_getkeystatus): Likewise.
12495 (grub_getxy): Likewise.
12496 (grub_getwh): Likewise.
12497 (grub_gotoxy): Likewise.
12498 (grub_cls): Likewise.
12499 (grub_setcolorstate): Likewise.
12500 (grub_setcolor): Likewise.
12501 (grub_getcolor): Likewise.
12502 (grub_refresh): Likewise.
12503 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
12504 (write_jump): Add hatch nop.
12505 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
12506 * lib/mips/setjmp.S: New file.
12507 * loader/mips/linux.c: Likewise.
12508 * term/i386/pc/at_keyboard.c: Move from here ...
12509 * term/at_keyboard.c: ... to here.
12510 * term/i386/pc/serial.c: Moved from here ...
12511 * term/serial.c: ... to here. All users updated.
12512 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
12513 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
12514 (serial_translate_key_sequence): Avoid deadlock.
12515 (grub_serial_getkey): Handle backspace.
12516 (grub_serial_putchar): Fix newline handling.
12517 * util/i386/pc/grub-mkimage.c: Move from here ...
12518 * util/grub-mkrawimage.c: ... to here. All users updated.
12519 (generate_image): New parameters 'font_path' and 'format'.
12520 Support embedding font.
12521 Use grub_host_to_target* instead of grub_cpu_to_le*.
12522 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
12523 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
12524 (options): New option "--font".
12525 (usage): Likewise.
12526 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
12527 (main): Handle "--font".
12528 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
12529 (grub_virtual_screen_setup): Set bg_color_display.
12530 (redraw_screen_rect): Use bg_color_display instead of incorrect
12531 bg_color.
12532 (grub_gfxterm_cls): Likewise.
12533 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
12534 Support embedding config file.
12535 (add_segments): Likewise.
12536 (options): New option "--config".
12537 (main): Handle "--config".
12538 * video/sm712.c: New file.
12539
25c2b5b3
RM
125402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12541
12542 Fix parallel builds.
12543
12544 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
12545 font.c depend on ascii.h).
12546
125472010-01-12 Carles Pina i Estany <carles@pina.cat>
12548
12549 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
12550
125512010-01-11 Carles Pina i Estany <carles@pina.cat>
12552
12553 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
12554 By default: disabled.
12555 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
12556 parameter.
12557
125582010-01-10 Carles Pina i Estany <carles@pina.cat>
12559
12560 * font/font.c: Update copyright years.
12561 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
12562
125632010-01-10 Carles Pina i Estany <carles@pina.cat>
12564
12565 * font/font.c: Include `ascii.h'.
12566 (ASCII_BITMAP_SIZE): New macro.
12567 (ascii_font_glyph): Define.
12568 (ascii_glyph_lookup): New function.
12569 (grub_font_get_string_width): Change comment. If glyph not found, use
12570 ascii_glyph_lookup.
12571 (grub_font_get_glyph_with_fallback): If glyph not available returns
12572 ascii_glyph_lookup.
12573 * util/grub-mkfont.c (file_formats): New enum.
12574 (options): Add `ascii-bitmaps' new option.
12575 (usage): Add `asii-bitmaps' new option.
12576 (write_font_ascii_bitmap): New function.
12577 (write_font): Rename to ...
12578 (write_font_p2): ... this. Remove print_glyphs call.
12579 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
12580 used. Call print_glyphs.
12581 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
12582
125832010-01-14 Robert Millan <rmh.grub@aybabtu.com>
12584
12585 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
12586 (grub_bin2h_SOURCES): New variable.
12587 * util/bin2h.c: New file.
12588
915fc1b8
VS
125892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12590
12591 * include/multiboot.h: Resynced with spec.
12592 * include/multiboot2.h: Likewise.
12593 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
12594 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
12595
9444b678
RM
125962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12597
12598 * include/grub/term.h (grub_term_register_input,
12599 grub_term_register_output): Check return of terminal init()
12600 routines, and abort if errors are raised.
12601
12602 * commands/terminal.c: Update copyright year.
12603
cba98e8d
RM
126042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12605
12606 * commands/terminal.c (grub_cmd_terminal_input)
12607 (grub_cmd_terminal_output): Check return of terminal init()
12608 routines, and abort if errors are raised.
12609
6f7db5d6
VS
126102010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 * include/grub/i386/bsd.h: Fix include pathes.
12613
262bff8d
VS
126142010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 Add missing *BSD copyright headers.
12617
12618 * include/grub/aout.h: Add BSD licence.
12619 * include/grub/i386/bsd.h: Parts under different licences moved to ...
12620 * include/grub/i386/freebsd_linker.h: ... here,
12621 * include/grub/i386/freebsd_reboot.h: ... here,
12622 * include/grub/i386/netbsd_bootinfo.h: ... here,
12623 * include/grub/i386/netbsd_reboot.h: ... here,
12624 * include/grub/i386/openbsd_bootarg.h: ... here,
12625 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
12626 licence to each file.
12627
b2cab848
RM
126282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12629
12630 * acinclude.m4: Remove `nop' assembly instruction; it's not
12631 implemented by all architectures.
12632
2cb6be4b
RM
126332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12634
12635 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
12636 ELILO. This is no longer necessary.
12637
a2eaee15
BC
126382010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
12639
12640 Added new tool, grub-scrit-check to verify grub.cfg syntax.
12641
12642 * util/grub-script-check.c: grub-script-check tool.
12643 * conf/common.rmk: Make rules for grub-script-check.
12644
88d17012
RM
126452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12646
12647 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
12648 spotting it back in 2008. Shame on me for forgetting he did.
12649
12650 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
12651
8040619d
RM
126522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
12653
12654 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
12655 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
12656 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
12657 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
12658 (GRUB_VIDEO_TYPE_EFI): Rename to ...
12659 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
12660
a0c2a0f6
RM
126612010-01-17 Robert Millan <rmh.grub@aybabtu.com>
12662
12663 * include/grub/test.h: Add license header.
12664 * tests/example_functional_test.c: Likewise.
12665 * tests/example_unit_test.c: Likewise.
12666 * tests/lib/functional_test.c: Likewise.
12667 * tests/lib/test.c: Likewise.
12668 * tests/lib/unit_test.c: Likewise.
12669
b0b13907
VS
126702010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 Use flag-based instead of hook-based video mode selection and "auto"
12673 keyword.
12674
12675 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
12676 (grub_video_set_mode): Changed prototype. All users updated.
12677 (grub_video_check_mode_flag): New inline function.
12678 * video/video.c (parse_modespec): New function.
12679 (grub_video_set_mode): Parse flags and keywords.
12680
ea379330 126812010-01-17 Carles Pina i Estany <carles@pina.cat>
12682
12683 * util/misc.c (grub_util_info): Fix the order of the parameters in a
12684 fprintf call.
12685
e15c215e
FZ
126862010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
12687
12688 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
12689
409ae1c9 126902010-01-16 Carles Pina i Estany <carles@pina.cat>
12691
12692 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
12693 string.
12694 * util/grub-emu.c (usage): Likewise.
12695 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
12696 * util/i386/efi/grub-mkimage.c (usage): Likewise.
12697 * util/i386/pc/grub-mkimage.c (usage): Likewise.
12698 * util/i386/pc/grub-setup.c (usage): Likewise.
12699
70a14d3d 127002010-01-16 Carles Pina i Estany <carles@pina.cat>
12701
12702 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
12703 the message.
12704 (grub_util_info): Likewise.
12705 (grub_util_error): Likewise.
12706 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
12707 and/or new lines in `grub_util_warna', `grub_util_info',
12708 `grub_util_error' calls.
12709 * util/getroot.c: Likewise.
12710 * util/grub-editenv.c: Likewise.
12711 * util/grub-emu.c: Likewise.
12712 * util/grub-fstest.c: Likewise.
12713 * util/grub-mkdevicemap.c: Likewise.
12714 * util/grub-mkfont.c: Likewise.
12715 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12716 * util/grub-mkrelpath.c: Likewise.
12717 * util/grub-pe2elf.c: Likewise.
12718 * util/grub-probe.c: Likewise.
12719 * util/hostdisk.c: Likewise.
12720 * util/i386/efi/grub-mkimage.c: Likewise.
12721 * util/i386/pc/grub-mkimage.c: Likewise.
12722 * util/i386/pc/grub-setup.c: Likewise.
12723 * util/ieee1275/ofpath.c: Likewise.
12724 * util/mkisofs/eltorito.c: Likewise.
12725 * util/mkisofs/rock.c: Likewise.
12726 * util/mkisofs/write.c: Likewise.
12727 * util/raid.c: Likewise.
12728 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12729 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12730
a0b766fc
VS
127312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 Enable multiboot on non-pc.
12734
12735 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
12736 multiboot.mod and multiboot2.mod to ...
12737 * conf/i386.rmk (pkglib_MODULES): ... here.
12738 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
12739 Moved to ...
12740 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
12741 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
12742 Moved to ...
12743 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
12744 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
12745 Moved to ...
12746 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
12747 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
12748 Moved to ...
12749 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
12750 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
12751 relocator.mod.
12752 (ata_mod_SOURCES): Removed.
12753 (ata_mod_CFLAGS): Likewise.
12754 (ata_mod_LDFLAGS): Likewise.
12755 (relocator_mod_SOURCES): Removed.
12756 (relocator_mod_CFLAGS): Likewise.
12757 (relocator_mod_ASFLAGS): Likewise.
12758 (relocator_mod_LDFLAGS): Likewise.
12759 Include i386.mk.
12760 * include/grub/x86_64/multiboot.h: New file.
12761 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
12762 Terminate EFI.
12763
884ade56
VS
127642010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 Video multiboot support.
12767
12768 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
12769 New prototype.
12770 * include/multiboot.h: Resynced with multiboot specification.
12771 * include/multiboot2.h: Likewise.
12772 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
12773 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
12774 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
12775 (HAS_VGA_TEXT): Likewise.
12776 (accepts_video): New variable.
12777 (grub_multiboot_set_accepts_video): New function.
12778 (grub_multiboot_get_mbi_size): Account for video structures.
12779 (set_video_mode): New function.
12780 (retrieve_video_parameters): Likewise.
12781 (grub_multiboot_make_mbi): Fill video fields.
12782
0d90e8a6
VS
127832010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 Video driver ids.
12786
12787 * include/grub/video.h (grub_video_driver_id): New type.
12788 (grub_video_adapter): New member 'id'. All users updated.
12789 (grub_video_get_driver_id): New proto.
12790 * video/video.c (grub_video_get_driver_id): New function.
12791
5c71db1b 127922010-01-14 Carles Pina i Estany <carles@pina.cat>
12793
12794 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
12795 `var=val'.
12796
cca15b52 127972010-01-14 Carles Pina i Estany <carles@pina.cat>
12798
12799 * normal/cmdline.c (print_completion): Gettextizze.
12800
c586fbb2 128012001-01-14 Carles Pina i Estany <carles@pina.cat>
12802
12803 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
12804
ba2f6848 128052010-01-14 Carles Pina i Estany <carles@pina.cat>
12806
12807 * gettext/gettext.c (grub_gettext_translate): Push and pop
12808 grub_errno.
12809 (grub_gettext_delete_list): Change comment style.
12810 * kern/err.c (grub_error): Gettextizze.
12811 (grub_fatal): Gettextizze.
12812
0a46429a
RM
128132010-01-14 Robert Millan <rmh.grub@aybabtu.com>
12814
12815 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
12816 (grub_linux16_real_boot): ... this.
12817 * kern/i386/loader.S: Likewise.
12818 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
12819 (grub_linux16_boot): New function. Switches to text mode and calls
12820 grub_linux16_real_boot().
12821
12822 * loader/i386/bsd.c: Include `<grub/video.h>'.
12823 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
12824 text mode before calling grub_unix_real_boot().
12825
12826 * loader/i386/multiboot.c: Include `<grub/video.h>'.
12827 (grub_multiboot_boot): Switch to text mode before calling
12828 grub_relocator32_boot().
12829
12830 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
12831 (grub_chainloader_boot): Switch to text mode before calling
12832 grub_chainloader_real_boot().
12833
d6f93a66
RM
128342010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
128352010-01-05 Colin Watson <cjwatson@ubuntu.com>
12836
12837 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
12838 non-empty value.
12839
128402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
128412010-01-05 Colin Watson <cjwatson@ubuntu.com>
12842
12843 * util/grub.d/00_header.in: Define a "savedefault" function for use
12844 in menu entries.
12845 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
12846
128472010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
128482010-01-05 Colin Watson <cjwatson@ubuntu.com>
12849
12850 * util/grub-mkconfig_lib.in (save_default_entry): Only set
12851 saved_entry if boot_once is unset.
12852 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
12853 previous saved entry (i.e. grub-reboot).
12854
128552009-12-08 Colin Watson <cjwatson@ubuntu.com>
12856
12857 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
12858
128592009-12-08 Colin Watson <cjwatson@ubuntu.com>
12860
12861 * util/grub.d/00_header.in: Use `set var=val' rather than plain
12862 `var=val'.
12863 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
12864
128652009-12-08 Colin Watson <cjwatson@ubuntu.com>
12866
12867 * util/grub-reboot.in: Fix --version output.
12868 * util/grub-set-default.in: Likewise.
12869
128702009-12-08 Colin Watson <cjwatson@ubuntu.com>
12871
12872 * util/grub.d/00_header.in: Silently ignore zero-sized environment
12873 blocks.
12874
128752009-12-08 Colin Watson <cjwatson@ubuntu.com>
12876
12877 * util/grub.d/00_header.in: Quote the value assigned to `default',
12878 in case it contains spaces.
12879
128802009-12-08 Colin Watson <cjwatson@ubuntu.com>
12881
12882 * util/grub.d/30_os-prober.in: Fix merge error that moved a
12883 `save_default_entry' call from the macosx case to the linux case.
12884
128852009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
128862009-10-25 Colin Watson <cjwatson@ubuntu.com>
12887
12888 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
12889 in `chosen' environment variable.
12890 * normal/menu_text.c (get_entry_number): Check if the variable
12891 matches the title of a menu entry.
12892 (run_menu): Pass menu to get_entry_number.
12893
12894 * util/grub-reboot.in: New file.
12895 * util/grub-set-default.in: New file.
12896 * conf/common.rmk (grub-reboot): New utility.
12897 (grub-set-default): New utility.
12898
12899 * util/grub-mkconfig_lib.in (save_default_entry): New function.
12900 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
12901 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
12902 move it to `saved_entry' for the next boot. Load environment on
12903 initialisation.
12904 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
12905 * util/grub.d/10_hurd.in: Likewise.
12906 * util/grub.d/10_linux.in (linux_entry): Likewise.
12907 * util/grub.d/10_windows.in: Likewise.
12908 * util/grub.d/30_os-prober.in: Likewise.
12909
12910 * util/grub-install.in: Create environment block.
12911 * util/i386/efi/grub-install.in: Likewise.
12912 * util/ieee1275/grub-install.in: Likewise.
12913 * util/sparc64/ieee1275/grub-install.in: Likewise.
12914
0934d184
BC
129152010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
12916
12917 Unit testing framework for GRUB.
12918
12919 * Makefile.in: Test framework build rules for 'make check'.
12920 * conf/tests.rmk: Build rules for individual tests and framework.
12921
12922 * include/grub/test.h: Header file for whitebox tests.
12923 * tests/lib/functional_test.c: Framework support for whitebox
12924 functional tests.
12925 * tests/lib/test.c: Common whitebox testing code for unit and
12926 functional tests.
12927 * tests/lib/unit_test.c: Framework support for whitebox unit
12928 tests.
12929
12930 * tests/util/grub-shell-tester.in: Support utility for grub-script
12931 tests.
12932 * tests/util/grub-shell.in: Utility to execute grub-script
12933 commands in a Qemu instance.
12934
12935 * tests/example_functional_test.c: Example whitebox functional
12936 test.
12937 * tests/example_grub_script_test.in: Example grub-script test.
12938 * tests/example_scripted_test.in: Example scripted test.
12939 * tests/example_unit_test.c: Example whitebox unit test.
12940
9c4ffeeb
VS
129412010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
12944 Add loader/i386/multiboot_mbi.c.
12945 (multiboot2_mod_SOURCES): Likewise.
12946 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
12947 (multiboot2_mod_SOURCES): Likewise.
12948 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
12949 (grub_multiboot_make_mbi): Likewise.
12950 (grub_multiboot_free_mbi): Likewise.
12951 (grub_multiboot_init_mbi): Likewise.
12952 (grub_multiboot_add_module): Likewise.
12953 (grub_multiboot_set_bootdev): Likewise.
12954 * loader/i386/multiboot.c (mbi): Removed.
12955 (mbi_dest): Likewise.
12956 (alloc_mbi): New variable.
12957 (grub_multiboot_payload_size): Removed. All users updated.
12958 (grub_multiboot_pure_size): New variable.
12959 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
12960 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
12961 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
12962 (grub_fill_multiboot_mmap): Likewise.
12963 (grub_multiboot_get_bootdev): Likewise.
12964 (grub_multiboot): Use multiboot_mbi functions.
12965 * loader/i386/multiboot_mbi.c: New file.
12966
17383dfe
VS
129672010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
12970 it would result in module crash.
12971
c1f28820
VS
129722010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12973
12974 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
12975 (grub_ofconsole_getwh): Split to ...
12976 (grub_ofconsole_getwh): ... this.
12977 (grub_ofconsole_dimensions): ...and this.
12978 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
12979
58655a16
RM
129802010-01-13 Robert Millan <rmh.grub@aybabtu.com>
12981
12982 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
12983
10891398
VS
129842010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12985
12986 * loader/i386/pc/multiboot2.c: Removed stalled file.
12987
0b8a223c
VS
129882010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
12991 Reported by: Grégoire Sutre
12992
92ab12b0
RM
129932010-01-11 Robert Millan <rmh.grub@aybabtu.com>
12994
12995 * util/misc.c (canonicalize_file_name): New function.
12996 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
12997 instead of realpath().
12998
a788afb6
CW
129992010-01-11 Colin Watson <cjwatson@ubuntu.com>
13000
13001 * util/grub-install.in (usage): Clarify meaning of --root-directory,
13002 and make it clearer that it's optional. Based on confusion
13003 witnessed on IRC.
13004
ffa8e3d2
VS
130052010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
13008 in premature implicit newline.
13009
e9060a9d
VS
130102010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
13013 which resulted in garbled command line at the end of screen.
13014
f0d0c0b7
RM
130152010-01-10 Robert Millan <rmh.grub@aybabtu.com>
13016
13017 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
13018 initialization with similar approach as with other Linux loaders.
13019
0e60bae7
RM
130202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
13021
13022 Fix i386-ieee1275 build.
13023
13024 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
13025 and grub_term_height() for video_{width,height} initialization.
13026
130272010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
13028
13029 Fix grub-emu build.
13030
13031 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
13032
cdb3f378
RM
130332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
130342010-01-09 Robert Millan <rmh.grub@aybabtu.com>
13035
13036 Support for multiple terminals.
13037
13038 * Makefile.in (pkglib_DATA): terminal.lst.
13039 (terminal.lst): New target.
13040 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
13041 (GRUB_MOD_INIT(handler)): Likewise.
13042 (GRUB_MOD_FINI(handler)): Likewise.
13043 * commands/help.c (grub_cmd_help): Handle multiple terminals.
13044 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
13045 * commands/sleep.c (do_print): Use grub_term_restore_pos.
13046 (grub_cmd_sleep): Use grub_term_save_pos.
13047 * commands/terminal.c: New file.
13048 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
13049 commands/terminal.c and lib/charset.c.
13050 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
13051 (pkglib_MODULES): Add terminal.mod.
13052 (terminal_mod_SOURCES): New variable.
13053 (terminal_mod_CFLAGS): Likewise.
13054 (terminal_mod_LDFLAGS): Likewise.
13055 * genhandlerlist.sh: Don't handle terminals.
13056 * genmk.rb: Generate terminal-*.lst.
13057 * genterminallist.sh: New file.
13058 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
13059 (grub_is_valid_utf8): Likewise.
13060 (grub_utf8_to_ucs4_alloc): Likewise.
13061 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
13062 (grub_menu_register_viewer): Changed argument.
13063 (grub_menu_try_text): New proto.
13064 (grub_gfxmenu_try_hook): New declaration.
13065 * include/grub/normal.h (grub_normal_exit_level): New declaration.
13066 (grub_menu_init_page): Additional argument term.
13067 (grub_normal_init_page): Likewise.
13068 (grub_cmdline_get): Arguments simplified.
13069 (grub_utf8_to_ucs4_alloc): Removed.
13070 (grub_print_ucs4): Additional argument term.
13071 (grub_getstringwidth): Likewise.
13072 (grub_print_message_indented): Likewise.
13073 (grub_menu_text_register_instances): New proto.
13074 (grub_show_menu): Likewise.
13075 (read_terminal_list): Likewise.
13076 (grub_set_more): Likewise.
13077 * include/grub/parser.h: Include handler.h.
13078 * include/grub/reader.h: Rewritten.
13079 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
13080 (GRUB_TERM_WIDTH): Changed to function.
13081 (GRUB_TERM_HEIGHT): Likewise.
13082 (GRUB_TERM_BORDER_WIDTH): Likewise.
13083 (GRUB_TERM_BORDER_HEIGHT): Likewise.
13084 (GRUB_TERM_NUM_ENTRIES): Likewise.
13085 (GRUB_TERM_ENTRY_WIDTH): Likewise.
13086 (GRUB_TERM_CURSOR_X): Likewise.
13087 (grub_term_input_class): Likewise.
13088 (grub_term_output_class): Likewise.
13089 (grub_term_outputs_disabled): New declaration.
13090 (grub_term_inputs_disabled): Likewise.
13091 (grub_term_outputs): Likewise.
13092 (grub_term_inputs): Likewise.
13093 (grub_term_register_input): Rewritten.
13094 (grub_term_register_output): Likewise.
13095 (grub_term_unregister_input): Likewise.
13096 (grub_term_unregister_output): Likewise.
13097 (FOR_ACTIVE_TERM_INPUTS): New macro.
13098 (FOR_DISABLED_TERM_INPUTS): Likewise.
13099 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13100 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13101 * include/grub/terminfo.h: Add oterm argument to all protypes.
13102 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
13103 Use grub_rescue_run.
13104 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
13105 All users updated.
13106 * kern/reader.c: Removed. All users updated.
13107 * kern/rescue_reader.c (grub_rescue_init): Removed.
13108 (grub_rescue_reader): Likewise.
13109 (grub_register_rescue_reader): Likewise.
13110 (grub_rescue_run): New function based on kern/reader.c.
13111 * kern/term.c: Adapted for multiterm.
13112 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
13113 (grub_is_valid_utf8): Likewise.
13114 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
13115 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
13116 right terminal.
13117 * loader/i386/linux.c (grub_linux_boot): Likewise.
13118 * normal/auth.c (grub_username_get): New function.
13119 (grub_auth_check_authentication): Use grub_username_get.
13120 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
13121 * normal/color.c: Adapt for multiterm.
13122 * normal/main.c (read_config_file): Don't use grub_reader_loop.
13123 (grub_normal_init_page): Additional argument term.
13124 (read_lists): Call read_terminal_lists.
13125 (grub_enter_normal_mode): Call grub_cmdline_run.
13126 Handle grub_normal_exit_level.
13127 (grub_cmd_normal): Make reentrant.
13128 (grub_cmd_normal_exit): New function.
13129 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
13130 * normal/menu.c: Adapt for multiterm.
13131 * normal/menu_entry.c: Likewise.
13132 * normal/menu_text.c: Likewise.
13133 * normal/menu_viewer.c: Removed. All users updated.
13134 * normal/term.c: New file.
13135 * util/console.c: Change order of includes to workaround a bug in
13136 ncurses headers.
13137 * term/terminfo.c: New argument oterm on all exported functions.
13138 All users updated.
13139 * util/grub-editenv.c (grub_term_input_class): Removed.
13140 (grub_term_output_class): Likewise.
13141
1a064917
RM
131422010-01-09 Robert Millan <rmh.grub@aybabtu.com>
13143
13144 Make loader output a bit more user-friendly.
13145
13146 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
13147 is being loaded. Likewise for the Hurd.
13148
13149 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
13150 that kernel of FreeBSD ${version} is being loaded.
13151
13152 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
13153 grub_dprintf().
13154 (grub_cmd_initrd): Likewise.
13155 * util/grub.d/10_linux.in (linux_entry): Print message indicating
13156 that Linux ${version} is being loaded. Likewise for initrd.
13157
5ce0a83a 131582010-01-09 Carles Pina i Estany <carles@pina.cat>
13159
13160 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
13161
809bbfeb 131622010-01-08 Carles Pina i Estany <carles@pina.cat>
13163
13164 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
13165 (GRUB_MOD_INIT): Gettextizze.
13166 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
13167 (GRUB_MOD_INIT): Gettextizze.
13168 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
13169 (grub_cmd_linux): Capitalise Linux.
13170 (GRUB_MOD_INIT): Gettextizze.
13171 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
13172 (grub_cmd_linux): Capitalise Linux.
13173 (GRUB_MOD_INIT): Gettextizze.
13174 * loader/i386/linux.c: Include `<grub/i18n.h>'.
13175 (grub_cmd_linux): Capitalise Linux.
13176 (GRUB_MOD_INIT): Gettextizze.
13177 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
13178 (GRUB_MOD_INIT): Gettextizze.
13179 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
13180 (grub_cmd_linux): Capitalise Linux.
13181 (GRUB_MOD_INIT): Gettextizze.
13182 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
13183 (grub_cpu_xnu_init): Gettextizze.
13184 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
13185 (GRUB_MOD_INIT): Gettextizze.
13186 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
13187 (GRUB_MOD_INIT): Gettextizze.
13188 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
13189 (grub_linux_load64): Capitalise Linux.
13190 (GRUB_MOD_INIT): Gettextizze.
13191 * loader/xnu.c: Include `<grub/i18n.h>'.
13192 (GRUB_MOD_INIT): Gettextizze.
13193 * po/POTFILES: Add `loader/efi/appleloader.c',
13194 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
13195 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
13196 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
13197 `loader/i386/xnu.c', `loader/multiboot_loader.c',
13198 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
13199 and `loader/xnu.c'.
13200
b394b2ca
RM
132012010-01-08 Robert Millan <rmh.grub@aybabtu.com>
13202
13203 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
13204
132052010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
13206
13207 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
13208 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
13209 * util/mkisofs/mkisofs.c (main): Readjust --version output.
13210
bc8b32b3
RM
132112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
13212
13213 Reset Multiboot 2 support. New loader implements the draft in
13214 /branches/multiboot2 and shares as much code as possible with the
13215 production Multiboot 1 implementation.
13216
13217 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
13218 * loader/multiboot2.c: Likewise.
13219 * loader/i386/multiboot_helper.S: Likewise.
13220 * include/multiboot2.h: Replace with latest version from the draft
13221 in /branches/multiboot2.
13222
13223 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
13224 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
13225 and `loader/multiboot2.c'.
13226 (pkglib_MODULES): Add `multiboot2.mod'.
13227 (multiboot2_mod_SOURCES): New variable.
13228 (multiboot2_mod_LDFLAGS): Likewise.
13229 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
13230
13231 * conf/i386-pc.rmk: Likewise.
13232
13233 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
13234 (multiboot_mod_SOURCES): Remove variable.
13235 (multiboot_mod_LDFLAGS): Likewise.
13236 (multiboot_mod_CFLAGS): Likewise.
13237
13238 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
13239 `<multiboot2.h>' instead of `<multiboot.h>'.
13240 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
13241 (MULTIBOOT_HEADER_MAGIC): New macros.
13242
13243 * loader/multiboot_loader.c (module_version_status): Remove variable.
13244 (find_multi_boot2_header): Remove function.
13245 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
13246 logic. Always check for the Multiboot version we're compiling for.
13247 (grub_cmd_module_loader): Likewise.
13248 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
13249 command instead of `multiboot'.
13250
5d2c52b8
RM
132512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
13252
13253 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
13254 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
13255 all users.
13256
53108d92
RM
132572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
132582010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13259
13260 Fix breakage introduced with previous commit.
13261
13262 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
13263 commands.
13264 * normal/handler.c (read_handler_list): Revert part of previous commit
13265 affecting this file.
13266 * normal/main.c (read_lists): Move read_handler_list() call back to ...
13267 (grub_normal_execute): ... here.
13268
e2e936b2
RM
132692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
13270
13271 Merge prefix-redefinition-fix branch.
13272
13273 * normal/autofs.c (read_fs_list): Make function capable of being
13274 run multiple times, gracefuly replacing the previous data
13275 structures.
13276 * normal/dyncmd.c (read_command_list): Likewise.
13277 * normal/handler.c (read_handler_list): Likewise.
13278 * normal/main.c (read_lists): New function. Calls all the
13279 list reading functions.
13280 (grub_normal_execute): Use read_lists() instead of calling all
13281 list reading functions explicitly. Register read_lists() as a
13282 variable hook attached to ${prefix}.
13283
607a3701
VS
132842010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 Merge crypto branch.
13287
13288 * Makefile.in (pkglib_DATA): Add crypto.lst.
13289 (crypto.lst): New target.
13290 * commands/hashsum.c: New file.
13291 * commands/password.c (check_password): Use grub_crypto_memcmp.
13292 * commands/password_pbkdf2.c: New file.
13293 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
13294 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
13295 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
13296 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
13297 -I$(srcdir)/lib/libgcrypt_wrap.
13298 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
13299 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
13300 password_pbkdf2.mod.
13301 (crypto_mod_SOURCES): New variable.
13302 (crypto_mod_CFLAGS): Likewise.
13303 (crypto_mod_LDFLAGS): Likewise.
13304 (hashsum_mod_SOURCES): New variable.
13305 (hashsum_mod_CFLAGS): Likewise.
13306 (hashsum_mod_LDFLAGS): Likewise.
13307 (pbkdf2_mod_SOURCES): New variable.
13308 (pbkdf2_mod_CFLAGS): Likewise.
13309 (pbkdf2_mod_LDFLAGS): Likewise.
13310 (password_pbkdf2_mod_SOURCES): New variable.
13311 (password_pbkdf2_mod_CFLAGS): Likewise.
13312 (password_pbkdf2_mod_LDFLAGS): Likewise.
13313 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
13314 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
13315 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
13316 Include conf/gcry.rmk.
13317 * include/grub/auth.h: Rewritten.
13318 * include/grub/crypto.h: New file.
13319 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
13320 * include/grub/normal.h (read_crypto_list): New prototype.
13321 * lib/crypto.c: New file.
13322 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
13323 * lib/pbkdf2.c: Likewise.
13324 * normal/auth.c (grub_auth_strcmp): Removed.
13325 (grub_iswordseparator): Likewise.
13326 (grub_auth_strword): Likewise.
13327 (is_authenticated): Use grub_strword.
13328 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
13329 and grub_strword. Pass entered password to authentication callback.
13330 * normal/crypto.c: New file.
13331 * normal/main.c: Call read_crypto_list.
13332 * util/grub-mkpasswd-pbkdf2.c: New file.
13333 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
13334
42841caa
VS
133352010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 Fix descent and ascent calculation.
13338
13339 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
13340 (options): New option "asce".
13341 (usage): Likewise.
13342 (add_char): Ignore invalid glyphs for descent calculation.
13343 Calculate ascent from actual content.
13344 (print_glyphs): Use 'asce'.
13345 (write_font): Likewise. Allow ascent override.
13346 (main): Handle "asce" option.
13347
e7730de7 133482010-01-06 Carles Pina i Estany <carles@pina.cat>
13349
13350 * kern/err.c: Include `<grub/i18n.h>'.
13351 (grub_print_error): Add full stop. Gettextizze.
13352 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
13353 (grub_bsd_load_elf): Capitalise ELF.
13354 (grub_cmd_freebsd_loadenv): Add `s' in error string.
13355 (grub_cmd_freebsd_module): Likewise.
13356 (grub_cmd_freebsd_module_elf): Likewise.
13357 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
13358
40e3a41f 133592010-01-06 Carles Pina i Estany <carles@pina.cat>
13360
13361 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
13362 * commands/search_file.c (HELP_MESSAGE): New macro.
13363 * commands/search_label.c (HELP_MESSAGE): Likewise.
13364 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
13365 * po/POTFILES: Add `commands/search_file.c',
13366 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
13367 `commands/search.c'.
13368
83507e68
RM
133692010-01-05 Robert Millan <rmh.grub@aybabtu.com>
13370
13371 * config.rpath: Update from Gnulib.
13372
465c787b
YB
133732010-01-05 Yves Blusseau <blusseau@zetam.org>
13374
13375 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
13376
6581dd3a
YB
133772010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
13378
13379 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
13380
3bff18c5
CW
133812010-01-05 Colin Watson <cjwatson@ubuntu.com>
13382
13383 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
13384 arguments to fread so that we get a return value in bytes, rather
13385 than something that will normally be rounded down to 0.
13386 Adjust error handling to avoid producing garbage when size_t is not
13387 the same size as long long.
13388
a1368118
CW
133892010-01-05 Colin Watson <cjwatson@ubuntu.com>
13390
13391 * util/mkisofs/write.c (padblock_write): Check return value of
13392 fread.
13393
7c302978
RM
133942010-01-05 Robert Millan <rmh.grub@aybabtu.com>
13395
13396 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
13397 floppy images now.
13398
13399 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
13400
e33ace06
RM
134012010-01-04 Robert Millan <rmh.grub@aybabtu.com>
13402
13403 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
13404 instead of manual alignment.
13405 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
13406 verbose). Avoid attempts to read past end of the device
13407 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
13408 but GRUB_DISK_CACHE_SIZE may exceed that).
13409
4b856776
RM
134102010-01-04 Robert Millan <rmh.grub@aybabtu.com>
13411
13412 * commands/crc.c (grub_cmd_crc): Abort on read errors.
13413 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
13414 it to upper layer.
13415
52c2d97f
VS
134162010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
13419 New constant.
13420 (grub_efi_piwg_device_path): New structure
13421 (grub_efi_piwg_device_path_t): New type.
13422 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
13423 (devpath_1): Transform to a structure. All users updated.
13424 (devpath_2): Likewise.
13425 (devpath_3): Likewise.
13426 (devpath_4): Likewise.
13427 (devpath_5): Likewise.
13428
98ff6a54
VS
134292010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13430
13431 * loader/efi/appleloader.c: Restored. Update all users.
13432
3a73dcb6
RM
134332010-01-03 Robert Millan <rmh.grub@aybabtu.com>
13434
13435 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
13436
13437 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
13438 (struct boot_blocklist): Move from here ...
13439 * include/grub/i386/pc/boot.h [ASM_FILE]
13440 (struct grub_boot_blocklist): ... to here. Update all users.
13441 (setup): Only initialize `start' member of `first_block'
13442 structure. Add assert() calls to verify the other members.
13443
13444 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
13445 (generate_image): Fix broken blocklist length initialization.
13446 Add assert() call to verify blocklist `segment' field.
13447
ab0eeb0c
RM
134482010-01-03 Robert Millan <rmh.grub@aybabtu.com>
13449
13450 * loader/efi/appleloader.c: Remove. Update all users.
13451
58bc8bd5
RM
134522010-01-03 Robert Millan <rmh.grub@aybabtu.com>
13453
13454 * boot/i386/pc/boot.S: Update copyright year.
13455 * boot/i386/pc/cdboot.S: Likewise.
13456 * boot/i386/pc/diskboot.S: Likewise.
13457 * boot/i386/pc/lnxboot.S: Likewise.
13458 * boot/i386/pc/pxeboot.S: Likewise.
13459 * bus/pci.c: Likewise.
13460 * commands/cmp.c: Likewise.
13461 * commands/help.c: Likewise.
13462 * commands/hexdump.c: Likewise.
13463 * commands/i386/pc/halt.c: Likewise.
13464 * commands/i386/pc/play.c: Likewise.
13465 * commands/i386/pc/vbeinfo.c: Likewise.
13466 * commands/ls.c: Likewise.
13467 * commands/test.c: Likewise.
13468 * disk/dmraid_nvidia.c: Likewise.
13469 * disk/i386/pc/biosdisk.c: Likewise.
13470 * disk/ieee1275/nand.c: Likewise.
13471 * disk/ieee1275/ofdisk.c: Likewise.
13472 * disk/lvm.c: Likewise.
13473 * disk/raid.c: Likewise.
13474 * disk/raid6_recover.c: Likewise.
13475 * disk/scsi.c: Likewise.
13476 * fs/affs.c: Likewise.
13477 * fs/cpio.c: Likewise.
13478 * fs/ext2.c: Likewise.
13479 * fs/hfs.c: Likewise.
13480 * fs/iso9660.c: Likewise.
13481 * fs/ntfs.c: Likewise.
13482 * fs/sfs.c: Likewise.
13483 * fs/udf.c: Likewise.
13484 * fs/ufs.c: Likewise.
13485 * fs/xfs.c: Likewise.
13486 * gencmdlist.sh: Likewise.
13487 * genmk.rb: Likewise.
13488 * include/grub/disk.h: Likewise.
13489 * include/grub/efi/api.h: Likewise.
13490 * include/grub/efi/efi.h: Likewise.
13491 * include/grub/efi/pe32.h: Likewise.
13492 * include/grub/elf.h: Likewise.
13493 * include/grub/fs.h: Likewise.
13494 * include/grub/i386/at_keyboard.h: Likewise.
13495 * include/grub/i386/pc/memory.h: Likewise.
13496 * include/grub/i386/pc/vbe.h: Likewise.
13497 * include/grub/i386/pci.h: Likewise.
13498 * include/grub/i386/tsc.h: Likewise.
13499 * include/grub/ieee1275/ieee1275.h: Likewise.
13500 * include/grub/ntfs.h: Likewise.
13501 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
13502 * include/grub/sparc64/libgcc.h: Likewise.
13503 * include/grub/symbol.h: Likewise.
13504 * include/grub/types.h: Likewise.
13505 * include/multiboot2.h: Likewise.
13506 * io/gzio.c: Likewise.
13507 * kern/device.c: Likewise.
13508 * kern/disk.c: Likewise.
13509 * kern/efi/efi.c: Likewise.
13510 * kern/efi/mm.c: Likewise.
13511 * kern/elf.c: Likewise.
13512 * kern/file.c: Likewise.
13513 * kern/i386/dl.c: Likewise.
13514 * kern/i386/pc/init.c: Likewise.
13515 * kern/i386/pc/startup.S: Likewise.
13516 * kern/ieee1275/ieee1275.c: Likewise.
13517 * kern/ieee1275/init.c: Likewise.
13518 * kern/main.c: Likewise.
13519 * kern/mm.c: Likewise.
13520 * kern/powerpc/dl.c: Likewise.
13521 * kern/sparc64/dl.c: Likewise.
13522 * kern/x86_64/dl.c: Likewise.
13523 * lib/hexdump.c: Likewise.
13524 * loader/efi/appleloader.c: Likewise.
13525 * loader/i386/ieee1275/linux.c: Likewise.
13526 * loader/i386/pc/chainloader.c: Likewise.
13527 * loader/i386/pc/linux.c: Likewise.
13528 * loader/i386/pc/multiboot2.c: Likewise.
13529 * loader/ieee1275/multiboot2.c: Likewise.
13530 * loader/multiboot2.c: Likewise.
13531 * loader/multiboot_loader.c: Likewise.
13532 * loader/powerpc/ieee1275/linux.c: Likewise.
13533 * normal/completion.c: Likewise.
13534 * normal/menu_entry.c: Likewise.
13535 * partmap/apple.c: Likewise.
13536 * util/grub.d/10_hurd.in: Likewise.
13537 * util/hostfs.c: Likewise.
13538 * video/readers/png.c: Likewise.
13539
e2d70b5c
CW
135402010-01-03 Colin Watson <cjwatson@ubuntu.com>
13541
13542 * include/grub/misc.h (GNUC_PREREQ): New macro.
13543 (ATTRIBUTE_ERROR): New macro.
13544 * include/grub/list.h (grub_bad_type_cast_real): Use
13545 ATTRIBUTE_ERROR.
13546
a173283f 135472010-01-03 Carles Pina i Estany <carles@pina.cat>
13548
13549 * normal/menu_text.c (print_message): Change messages.
13550
7fa7ff74 135512010-01-03 Carles Pina i Estany <carles@pina.cat>
13552
13553 * normal/menu_entry.c (store_completion): Gettextizze.
13554
136d24f6 135552010-01-03 Carles Pina i Estany <carles@pina.cat>
13556
13557 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
13558
f936862e 135592010-01-03 Carles Pina i Estany <carles@pina.cat>
13560
13561 * po/POTFILES: Sort correctly.
13562
29c44ad1 135632010-01-03 Carles Pina i Estany <carles@pina.cat>
13564
13565 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
13566 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
13567 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
13568 full stop.
13569 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
13570 summary. Gettextizze the strings.
13571 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
13572 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
13573 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
13574 full stop.
13575 (GRUB_MOD_INIT): Remove command name from summary.
13576 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
13577 summary.
13578 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
13579 * term/i386/pc/serial.c (options): Add full stops.
13580 (GRUB_MOD_INIT): Remove command name from the summary.
13581
77a79592 135822010-01-03 Carles Pina i Estany <carles@pina.cat>
13583
13584 * commands/acpi.c: Gettextizze help strings and/or options. Include
13585 `grub/i18n.h' if needed.
13586 * commands/blocklist.c: Likewise.
13587 * commands/boot.c: Likewise.
13588 * commands/cat.c: Likewise.
13589 * commands/cmp.c: Likewise.
13590 * commands/configfile.c: Likewise.
13591 * commands/crc.c: Likewise.
13592 * commands/date.c: Likewise.
13593 * commands/echo.c: Likewise.
13594 * commands/efi/fixvideo.c: Likewise.
13595 * commands/efi/loadbios.c: Likewise.
13596 * commands/gptsync.c: Likewise.
13597 * commands/halt.c: Likewise.
13598 * commands/handler.c: Likewise.
13599 * commands/hdparm.c: Likewise.
13600 * commands/hexdump.c: Likewise.
13601 * commands/i386/cpuid.c: Likewise.
13602 * commands/i386/pc/drivemap.c: Likewise.
13603 * commands/i386/pc/halt.c: Likewise.
13604 * commands/i386/pc/pxecmd.c: Likewise.
13605 * commands/i386/pc/vbeinfo.c: Likewise.
13606 * commands/i386/pc/vbetest.c: Likewise.
13607 * commands/ieee1275/suspend.c: Likewise.
13608 * commands/keystatus.c: Likewise.
13609 * commands/loadenv.c: Likewise.
13610 * commands/ls.c: Likewise.
13611 * commands/lsmmap.c: Likewise.
13612 * commands/lspci.c: Likewise.
13613 * commands/memrw.c: Likewise.
13614 * commands/minicmd.c: Likewise.
13615 * commands/parttool.c: Likewise.
13616 * commands/password.c: Likewise.
13617 * commands/probe.c: Likewise.
13618 * commands/read.c: Likewise.
13619 * commands/reboot.c: Likewise.
13620 * commands/search.c: Likewise.
13621 * commands/sleep.c: Likewise.
13622 * commands/test.c: Likewise.
13623 * commands/true.c: Likewise.
13624 * commands/usbtest.c: Likewise.
13625 * commands/videotest.c: Likewise.
13626 * commands/xnu_uuid.c: Likewise.
13627 * disk/loopback.c: Likewise.
13628 * hello/hello.c: Likewise.
13629 * loader/i386/bsd.c: Likewise.
13630 * term/i386/pc/serial.c: Likewise.
13631 * po/POTFILES: Add new files.
13632
da8d5c53
CW
136332010-01-02 Colin Watson <cjwatson@ubuntu.com>
13634
13635 * term/i386/pc/at_keyboard.c
13636 (keyboard_controller_wait_untill_ready): Rename to ...
13637 (keyboard_controller_wait_until_ready): ... this. Update all users.
13638
33937904 136392010-01-01 Carles Pina i Estany <carles@pina.cat>
13640
13641 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
13642 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
13643 string using string width.
13644 * normal/menu_text.c (grub_print_message_indented): Use
13645 grub_print_spaces and not print_spaces.
13646 (print_timeout): Likewise.
13647 (print_spaces): Move to...
13648 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
13649
3fd3b8d8
RM
136502010-01-01 Robert Millan <rmh.grub@aybabtu.com>
13651
13652 Import from Gnulib.
13653
13654 * gnulib/getdelim.c: New file.
13655 * gnulib/getline.c: Likewise.
13656
33433555
VS
136572009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
13658
13659 * include/grub/list.h (grub_assert_fail): Removed.
13660 (grub_bad_type_cast_real): New function.
13661 (grub_bad_type_cast): New macro.
13662 (GRUB_AS_LIST): Use grub_bad_type_cast.
13663 (GRUB_AS_LIST_P): Likewise.
e44721e8 13664 (GRUB_AS_NAMED_LIST): Likewise.
33433555 13665 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 13666 (GRUB_AS_PRIO_LIST): Likewise.
33433555 13667 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 13668 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 13669
f5a51306
VS
136702009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
13673 Fix syntax error.
13674
90d1e879
RM
136752009-12-29 Robert Millan <rmh.grub@aybabtu.com>
13676
13677 * configure.ac: Check for TARGET_CFLAGS initialization before we
13678 initialize it ourselves (sigh).
13679 Move a few modifications to TARGET_CFLAGS to be unconditional
13680 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
13681 eh_frame)
13682
13683 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
13684 * term/i386/pc/at_keyboard.c
13685 (keyboard_controller_wait_untill_ready): Likewise.
13686 (keyboard_controller_led): Rename `led_status' paramter to avoid
13687 name conflict.
13688
465b5a81 136892009-12-28 Carles Pina i Estany <carles@pina.cat>
13690
13691 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
13692 quotes.
13693
c181849b
VS
136942009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
13697
9c8739a4
VS
136982009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13699
13700 * normal/menu_text.c (grub_print_message_indented): Prevent
13701 past-the-end-of-array dereference.
13702
3e74249c
VS
137032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13704
13705 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
13706 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
13707
64fd18ed 137082009-12-27 Carles Pina i Estany <carles@pina.cat>
13709
13710 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
13711 * normal/main.c (grub_normal_read_line): Remove a space from the
13712 default prompt.
13713
714af9b9 137142009-12-27 Carles Pina i Estany <carles@pina.cat>
13715
13716 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
13717 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13718 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
13719 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
13720 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13721 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13722 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
13723
82f3e412 137242009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 13725
13726 * video/readers/jpeg.c (cmd): Declare.
13727 (grub_cmd_jpegtest): Use `grub_command_t' type.
13728 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
13729 Assign to `cmd'.
13730 (GRUB_MOD_FINI): Use `cmd' to unregister.
13731 * video/readers/png.c (cmd): Declare.
13732 (grub_cmd_pngtest): Use `grub_command_t' type.
13733 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
13734 Assign to `cmd'.
13735 (GRUB_MOD_FINI): Use `cmd' to unregister.
13736 * video/readers/tga.c (cmd): Declare.
13737 (grub_cmd_tgatest): Use `grub_command_t' type.
13738 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
13739 Assign to `cmd'.
13740 (GRUB_MOD_FINI): Use `cmd' to unregister.
13741
82f3e412 137422009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 13743
13744 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
13745 stops.
13746 * kern/corecmd.c (grub_register_core_commands): Likewise.
13747 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
13748 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
13749 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
13750 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13751 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
13752 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
13753 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
13754 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
13755 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13756 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
13757 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
13758 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13759 * normal/handler.c (insert_handler): Likewise.
13760 * normal/main.c (GRUB_MOD_INIT): Likewise.
13761 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
13762
fdcdbb66 137632009-12-26 Carles Pina i Estany <carles@pina.cat>
13764
13765 * commands/help.c (grub_cmd_help): Print the command name before the
13766 summary.
13767 (GRUB_MOD_INIT): Remove command name from the summary.
13768 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 13769 string as summary.
fdcdbb66 13770 * lib/arg.c (find_long): Print the command name before the summary.
13771 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
13772 summary.
13773 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
13774 * commands/cat.c (GRUB_MOD_INIT): Likewise.
13775 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
13776 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
13777 * commands/crc.c (GRUB_MOD_INIT): Likewise.
13778 * commands/date.c (GRUB_MOD_INIT): Likewise.
13779 * commands/echo.c (GRUB_MOD_INIT): Likewise.
13780 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
13781 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13782 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13783 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
13784 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
13785 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
13786 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
13787 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13788 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
13789 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
13790 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
13791 * commands/ls.c (GRUB_MOD_INIT): Likewise.
13792 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13793 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13794 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13795 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
13796 * commands/password.c (GRUB_MOD_INIT): Likewise.
13797 * commands/probe.c (GRUB_MOD_INIT): Likewise.
13798 * commands/read.c (GRUB_MOD_INIT): Likewise.
13799 * commands/search.c (GRUB_MOD_INIT): Likewise.
13800 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
13801 * commands/test.c (GRUB_MOD_INIT): Likewise.
13802 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
13803 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13804 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13805 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
13806 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13807 * lib/arg.c (GRUB_MOD_INIT): Likewise.
13808 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
13809 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
13810 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
13811 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13812 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
13813 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
13814 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
13815 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
13816
9c288be2
VS
138172009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 Use search command for preliminar UUID search.
13820
13821 * commands/search.c: Split into ...
13822 * commands/search_wrap.c: ...this
13823 * commands/search.c: ...and this.
13824 * commands/search_file.c: New file.
13825 * commands/search_label.c: New file.
13826 * commands/search_uuid.c: New file.
13827 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
13828 Add commands/search_wrap.c, commands/search_file.c,
13829 commands/search_label.c and commands/search_uuid.c.
13830 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
13831 (search_mod_SOURCES): Set to commands/search_wrap.c.
13832 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
13833 search_label.mod.
13834 (search_fs_file_mod_SOURCES): New variable.
13835 (search_fs_file_mod_CFLAGS): Likewise.
13836 (search_fs_file_mod_LDFLAGS): Likewise.
13837 (search_label_mod_SOURCES): Likewise.
13838 (search_label_mod_CFLAGS): Likewise.
13839 (search_label_mod_LDFLAGS): Likewise.
13840 (search_fs_uuid_mod_SOURCES): New variable.
13841 (search_fs_uuid_mod_CFLAGS): Likewise.
13842 (search_fs_uuid_mod_LDFLAGS): Likewise.
13843 (fs_file_mod_SOURCES): Removed.
13844 (fs_file_mod_CFLAGS): Likewise.
13845 (fs_file_mod_LDFLAGS): Likewise.
13846 (fs_uuid_mod_SOURCES): Removed.
13847 (fs_uuid_mod_CFLAGS): Likewise.
13848 (fs_uuid_mod_LDFLAGS): Likewise.
13849 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
13850 Set to util/grub-install.in.
13851 * disk/fs_file.c: Removed.
13852 * disk/fs_uuid.c: Likewise.
13853 * include/grub/search.h: New file.
13854 * util/grub-install.in: Handle sparc64.
13855 Create and use load.cfg.
13856 * util/sparc64/ieee1275/grub-install.in: Removed.
13857
db943399
VS
138582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
13861 Ignore return status if CF is cleared.
13862 (grub_biosdisk_get_diskinfo_standard): Likewise.
13863
3fdae612
RM
138642009-12-25 Robert Millan <rmh.grub@aybabtu.com>
13865
13866 * term/i386/pc/at_keyboard.c
13867 (keyboard_controller_wait_untill_ready): New function.
13868 (grub_keyboard_controller_write, grub_keyboard_controller_read)
13869 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
13870 for keyboard polling, rather than duplicate the same loop. This
13871 saves a few bytes in code size.
13872
7ebaa2b4
VS
138732009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 Support for (pxe[:server[:gateway]]) syntax and
13876 use environment variable for PXE.
13877
13878 * commands/i386/pc/pxecmd.c (options): Removed.
13879 (print_ip): Removed.
13880 (grub_cmd_pxe): Removed
13881 (grub_cmd_pxe_unload): New function.
13882 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
13883 (grub_pxe_your_ip): Made static.
13884 (grub_pxe_default_server_ip): Likewise.
13885 (grub_pxe_default_gateway_ip): Likewise.
13886 (grub_pxe_blksize): Likewise.
13887 (parse_ip): New function.
13888 (grub_pxe_open): Support server and gateway specification.
13889 (grub_pxe_close): Free disk->data.
13890 (grub_pxefs_open): Use disk->data.
13891 (grub_pxefs_read): Likewise.
13892 (grub_env_write_readonly): New function.
13893 (set_mac_env): Likewise.
13894 (set_env_limn_ro): Likewise.
13895 (parse_dhcp_vendor): Likewise.
13896 (grub_pxe_detect): Set the environment variables.
13897 (set_ip_env): New function.
13898 (write_ip_env): Likewise.
13899 (grub_env_write_pxe_default_server): Likewise.
13900 (grub_env_write_pxe_default_gateway): Likewise.
13901 (grub_env_write_pxe_blocksize): Likewise.
13902 (GRUB_MOD_INIT(pxe)): Set environment variables.
13903 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
13904 (grub_pxe_mac_addr_t): ... this. All users updated.
13905 (grub_pxe_your_ip): Removed.
13906 (grub_pxe_server_ip): Likewise.
13907 (grub_pxe_gateway_ip): Likewise.
13908 (grub_pxe_blksize): Likewise.
13909
ec5f98ab 139102009-12-25 Carles Pina i Estany <carles@pina.cat>
13911
13912 * commands/help.c: Include `<grub/i18n.h>'.
13913 (grub_cmd_help): Gettextizze.
13914 (GRUB_MOD_INIT): Likewise.
13915 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
13916 (GRUB_MOD_INIT): Gettextizze.
13917 * commands/search.c: Include `<grub/i18n.h>'.
13918 (options): Gettextizze.
13919 (GRUB_MOD_INIT): Gettextizze.
13920 * lib/arg.c: Include `<grub/i18n.h>'.
13921 (help_options): Gettextizze.
13922 (find_long): Likewise.
13923 (grub_arg_show_help): Likewise.
13924 * normal/dyncmd.c: Include `<grub/i18n.h>'.
13925 (read_command_list): Gettextizze.
13926 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 13927 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 13928
22815526
RM
139292009-12-25 Robert Millan <rmh.grub@aybabtu.com>
13930
13931 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
13932 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
13933 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
13934 (led_status): New variable.
13935 (keyboard_controller_led): New function.
13936 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
13937 update led status for caps lock, num lock and scroll lock.
13938
0ad46fd7
FZ
139392009-12-25 Felix Zielcke <fzielcke@z-51.de>
13940
13941 * util/hostdisk.c (open_device): Fix a comment.
13942
d0e158c2
RM
139432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13944
13945 * util/grub-install.in (host_os): New variable.
13946 * util/i386/efi/grub-install.in (host_os): Likewise.
13947
401c0ad6
RM
139482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13949
13950 * util/mkisofs/write.c (padblock_write): Abort when given an
13951 excedingly large embed image, instead of silently truncating it.
13952
d14d3370
RM
139532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13954
13955 * include/multiboot.h: Indentation fixes.
13956
eeed10b4
RM
139572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13958
13959 * include/multiboot.h (struct multiboot_aout_symbol_table)
13960 (struct multiboot_elf_section_header_table): New structure
13961 declarations (stolen from GRUB Legacy).
13962 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
13963 table information.
13964
13965 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
13966 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
13967 type aliases.
13968
681c70ab
RM
139692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13970
13971 * include/multiboot.h: Make comments src2texi-friendly.
13972
e4d47d8d
RM
139732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13974
13975 For consistency with [multiboot]/docs/boot.S.
13976
13977 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
13978 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
13979 (MULTIBOOT_MAGIC2): Rename from this ...
13980 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
13981
a0b70bda
RM
139822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
13983
13984 * include/multiboot.h: Remove `<grub/types.h>'.
13985 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
13986 types. Update all users.
13987
61ba42be 139882009-12-25 Carles Pina i Estany <carles@pina.cat>
13989
13990 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
13991 `couldn't' and `can not' by `cannot'.
13992 * commands/i386/pc/drivemap.c: Likewise.
13993 * disk/ata.c: Likewise.
13994 * disk/ieee1275/nand.c: Likewise.
13995 * fs/affs.c: Likewise.
13996 * fs/fat.c: Likewise.
13997 * fs/hfs.c: Likewise.
13998 * fs/hfsplus.c: Likewise.
13999 * fs/iso9660.c: Likewise.
14000 * fs/jfs.c: Likewise.
14001 * fs/minix.c: Likewise.
14002 * fs/reiserfs.c: Likewise.
14003 * fs/sfs.c: Likewise.
14004 * fs/udf.c: Likewise.
14005 * fs/ufs.c: Likewise.
14006 * fs/xfs.c: Likewise.
14007 * loader/powerpc/ieee1275/linux.c: Likewise.
14008 * loader/sparc64/ieee1275/linux.c: Likewise.
14009 * util/grub-probe.c: Likewise.
14010 * util/misc.c: Likewise.
14011
7fd0baee 140122009-12-24 Carles Pina i Estany <carles@pina.cat>
14013
14014 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
14015 grub_errno calls.
14016 * commands/acpi.c: Likewise.
14017 * commands/blocklist.c: Likewise.
14018 * commands/efi/loadbios.c: Likewise.
14019 * commands/i386/pc/drivemap.c: Likewise.
14020 * commands/loadenv.c: Likewise.
14021 * commands/memrw.c: Likewise.
14022 * commands/password.c: Likewise.
14023 * commands/videotest.c: Likewise.
14024 * disk/ata.c: Likewise.
14025 * disk/ata_pthru.c: Likewise.
14026 * disk/dmraid_nvidia.c: Likewise.
14027 * disk/ieee1275/nand.c: Likewise.
14028 * disk/ieee1275/ofdisk.c: Likewise.
14029 * disk/loopback.c: Likewise.
14030 * disk/lvm.c: Likewise.
14031 * disk/mdraid_linux.c: Likewise.
14032 * disk/raid.c: Likewise.
14033 * disk/raid6_recover.c: Likewise.
14034 * disk/scsi.c: Likewise.
14035 * efiemu/main.c: Likewise.
14036 * efiemu/mm.c: Likewise.
14037 * efiemu/pnvram.c: Likewise.
14038 * efiemu/symbols.c: Likewise.
14039 * font/font.c: Likewise.
14040 * fs/cpio.c: Likewise.
14041 * fs/hfsplus.c: Likewise.
14042 * fs/iso9660.c: Likewise.
14043 * fs/jfs.c: Likewise.
14044 * fs/minix.c: Likewise.
14045 * fs/ntfs.c: Likewise.
14046 * fs/ntfscomp.c: Likewise.
14047 * fs/reiserfs.c: Likewise.
14048 * fs/ufs.c: Likewise.
14049 * fs/xfs.c: Likewise.
14050 * gettext/gettext.c: Likewise.
14051 * include/grub/auth.h: Likewise.
14052 * kern/elf.c: Likewise.
14053 * kern/file.c: Likewise.
14054 * kern/ieee1275/init.c: Likewise.
14055 * kern/ieee1275/mmap.c: Likewise.
14056 * kern/ieee1275/openfw.c: Likewise.
14057 * kern/powerpc/dl.c: Likewise.
14058 * kern/sparc64/dl.c: Likewise.
14059 * lib/arg.c: Likewise.
14060 * loader/i386/bsd.c: Likewise.
14061 * loader/i386/bsdXX.c: Likewise.
14062 * loader/i386/efi/linux.c: Likewise.
14063 * loader/i386/efi/xnu.c: Likewise.
14064 * loader/i386/ieee1275/linux.c: Likewise.
14065 * loader/i386/linux.c: Likewise.
14066 * loader/i386/multiboot.c: Likewise.
14067 * loader/i386/pc/linux.c: Likewise.
14068 * loader/i386/pc/multiboot2.c: Likewise.
14069 * loader/i386/xnu.c: Likewise.
14070 * loader/ieee1275/multiboot2.c: Likewise.
14071 * loader/macho.c: Likewise.
14072 * loader/machoXX.c: Likewise.
14073 * loader/multiboot2.c: Likewise.
14074 * loader/multiboot_loader.c: Likewise.
14075 * loader/powerpc/ieee1275/linux.c: Likewise.
14076 * loader/sparc64/ieee1275/linux.c: Likewise.
14077 * loader/xnu.c: Likewise.
14078 * loader/xnu_resume.c: Likewise.
14079 * mmap/i386/pc/mmap.c: Likewise.
14080 * normal/menu_viewer.c: Likewise.
14081 * partmap/acorn.c: Likewise.
14082 * partmap/amiga.c: Likewise.
14083 * partmap/apple.c: Likewise.
14084 * script/lexer.c: Likewise.
14085 * term/gfxterm.c: Likewise.
14086 * term/i386/pc/serial.c: Likewise.
14087 * term/i386/pc/vga.c: Likewise.
14088 * term/ieee1275/ofconsole.c: Likewise.
14089 * term/terminfo.c: Likewise.
14090 * video/bitmap.c: Likewise.
14091 * video/efi_gop.c: Likewise.
14092 * video/efi_uga.c: Likewise.
14093 * video/fb/video_fb.c: Likewise.
14094 * video/i386/pc/vbe.c: Likewise.
14095 * video/readers/tga.c: Likewise.
14096 * video/video.c: Likewise.
14097
0ad46fd7 140982009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
14099
14100 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
14101 * commands/lspci.c: Likewise.
14102 * commands/probe.c: Likewise.
14103 * commands/xnu_uuid.c: Likewise.
14104 * conf/i386-coreboot.rmk: Likewise.
14105 * conf/i386-efi.rmk: Likewise.
14106 * conf/i386-ieee1275.rmk: Likewise.
14107 * conf/i386-pc.rmk: Likewise.
14108 * conf/powerpc-ieee1275.rmk: Likewise.
14109 * conf/sparc64-ieee1275.rmk: Likewise.
14110 * conf/x86_64-efi.rmk: Likewise.
14111 * fs/i386/pc/pxe.c: Likewise.
14112 * gettext/gettext.c: Likewise.
14113 * include/grub/efi/graphics_output.h: Likewise.
14114 * include/grub/i386/pc/memory.h: Likewise.
14115 * kern/env.c: Likewise.
14116 * kern/i386/qemu/startup.S: Likewise.
14117 * lib/i386/pc/biosnum.c: Likewise.
14118 * lib/i386/relocator.c: Likewise.
14119 * lib/i386/relocator_asm.S: Likewise.
14120 * lib/relocator.c: Likewise.
14121 * loader/i386/bsd.c: Likewise.
14122 * loader/i386/multiboot.c: Likewise.
14123 * loader/i386/pc/chainloader.c: Likewise.
14124 * loader/i386/xnu.c: Likewise.
14125 * loader/xnu.c: Likewise.
14126 * normal/main.c: Likewise.
14127 * normal/menu_text.c: Likewise.
14128 * util/getroot.c: Likewise.
14129 * util/grub-mkconfig_lib.in: Likewise.
14130 * util/grub.d/00_header.in: Likewise.
14131 * util/i386/pc/grub-mkimage.c: Likewise.
14132 * util/mkisofs/eltorito.c: Likewise.
14133 * util/mkisofs/exclude.h: Likewise.
14134 * util/mkisofs/hash.c: Likewise.
14135 * util/mkisofs/iso9660.h: Likewise.
14136 * util/mkisofs/joliet.c: Likewise.
14137 * util/mkisofs/mkisofs.c: Likewise.
14138 * util/mkisofs/mkisofs.h: Likewise.
14139 * util/mkisofs/multi.c: Likewise.
14140 * util/mkisofs/name.c: Likewise.
14141 * util/mkisofs/rock.c: Likewise.
14142 * util/mkisofs/tree.c: Likewise.
14143 * util/mkisofs/write.c: Likewise.
14144 * video/efi_gop.c: Likewise.
14145
009ec743
VS
141462009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
14149 size counting.
14150
0ad46fd7 141512009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
14152
14153 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
14154 * genmk.rb (class SCRIPT): Modify the target file instead of source.
14155
d3d30ea0
VS
141562009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
14159 (GRUB_MOD_INIT(memrw)): Update help line.
14160
a34f5c70
VS
141612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
14164 Use grub_extcmd_t. All users updated.
14165 (options): New variable.
14166 (grub_cmd_read): Restructure for readability. Support "-v" option.
14167 (grub_cmd_write): Restructure for readability.
14168
0ad46fd7 141692009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
14170
14171 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
14172
0ad46fd7 141732009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
14174
14175 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
14176 with the actual contents of the correspondending make variable.
14177 * util/grub-mkrescue.in (pkglib_DATA): New variable.
14178 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
14179 specifying `*.lst' and `efiemu??.o'
14180
0ad46fd7 141812009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
14182
14183 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
14184 after function name.
14185 Noticed by Rene Engelhard <rene@debian.org>.
14186
dc77a799
VS
141872009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
14190 (options): New variable.
14191 (iospace): Likewise.
14192 (grub_lspci_iter): List IO spaces if "-i" was given.
14193 (grub_cmd_lspci): Parse options.
14194 (GRUB_MOD_INIT(lspci)): Use extcmd.
14195 (GRUB_MOD_FINI(lspci)): Likewise.
14196
0ad46fd7 141972009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
14198
14199 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
14200 `function' keyword.
14201 Patch by Tony Mancill <tmancill@debian.org>.
14202
b5d5993b
VS
142032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
14204
14205 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
14206 (grub_uhci_portstatus): Likewise.
14207 (grub_uhci_portstatus): Add necessary delay.
11d18281 14208 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 14209
941903f2 142102009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 14211
941903f2 14212 * commands/acpi.c (options): Fix capitalizations and/or full stops.
14213 (GRUB_MOD_INIT): Likewise.
14214 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 14215 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
14216 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 14217 * commands/efi/loadbios.c (enable_rom_area): Likewise.
14218 (enable_rom_area): Likewise.
14219 (GRUB_MOD_INIT): Likewise.
14220 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
14221 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
14222 * commands/handler.c (GRUB_MOD_INIT): Likewise.
14223 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
14224 * commands/hexdump.c (options): Likewise.
14225 * commands/i386/cpuid.c (options): Likewise.
14226 (GRUB_MOD_INIT): Likewise.
14227 * commands/i386/pc/drivemap.c (options): Likewise.
14228 (GRUB_MOD_INIT): Likewise.
14229 * commands/i386/pc/halt (options): Likewise.
14230 (GRUB_MOD_INIT): Likewise.
14231 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
14232 * commands/i386/pc/pxecmd.c (options): Likewise.
14233 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
14234 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
14235 * commands/keystatus.c (options): Likewise.
14236 (GRUB_MOD_INIT): Likewise.
14237 * commands/loadenv.c (options): Likewise.
14238 * commands/ls.c (options): Likewise.
14239 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
14240 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
14241 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
14242 * commands/parttool.c (helpmsg): Likewise.
14243 * commands/probe.c (options): Likewise.
14244 * commands/read.c (GRUB_MOD_INIT): Likewise.
14245 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
14246 * commands/search.c (options): Likewise.
14247 * commands/sleep.c (options): Likewise.
14248 * commands/test.c (GRUB_MOD_INIT): Likewise.
14249 * commands/true.c (GRUB_MOD_INIT): Likewise.
14250 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
14251 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
14252 * lib/arg.c (help_options): Likewise.
e9bbb4e7 14253 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
14254 `$(XGETTEXT)'.
98a50553 14255 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 14256
0ad46fd7 142572009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 14258
ef3c2c3a 14259 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
14260 instead of specifying them explicit.
14261
7922f68b
RM
142622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14263
14264 * NEWS: Add grub-probe support for GNU/Hurd.
14265
537ce47f
RM
142662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14267
14268 * NEWS: gettext was added after 1.97.
14269
9b214e3a
RM
142702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14271
14272 * util/mkisofs/msdos_partition.h: New file (based on
14273 include/grub/msdos_partition.h).
14274 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
14275 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
14276 (ld_options, main): Recognize --protective-msdos-label.
14277 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
14278 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
14279 (padblock_write): If `use_protective_msdos_label' is set, patch a
14280 protective DOS-style label in the output image.
14281
14282 * util/grub-mkrescue.in: Use --protective-msdos-label.
14283
e9309813
RM
142842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14285
14286 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
14287 boot.
14288
0ae56929
RM
142892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14290
14291 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
14292 variables.
14293 (ld_options, main): Recognize `--embedded-boot'.
14294 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
14295 declarations.
14296 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
14297 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
14298 (padblock_write): Likewise. Rewrite to support embedded boot image.
14299
14300 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
14301 for BIOS-based disk boot instead of only ElTorito.
14302
b15937b1
RM
143032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14304
14305 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
14306 build (not needed for bootstrap).
14307
52cc3ce0
RM
143082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14309
14310 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
14311 from i386-pc build (not needed for bootstrap).
14312 Rewrite a pair of strings.
14313
36f5ff04
RM
143142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
14315
14316 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
14317
973c6c85 143182009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
14319
14320 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
14321
05d21547
AB
143222009-12-21 Andreas Born <futur.andy@googlemail.com>
14323
14324 * kern/env.c (grub_env_context_open): Mark exported variable for
14325 reexport.
14326
0175d51f
AB
143272009-12-21 Andreas Born <futur.andy@googlemail.com>
14328
14329 * kern/env.c (grub_env_export): Create nonexistent variables before
14330 exporting.
14331
7f39d92f 143322009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 14333
7f39d92f 14334 * include/grub/auth.h: Include `<grub/i18n.h>'.
14335 (GRUB_GET_PASSWORD): Gettextizze string.
14336 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
14337 menu_text.c.
14338 (grub_utf8_to_ucs4_alloc): Fix indentation.
14339 (grub_print_ucs4): Likewise.
14340 (grub_getstringwidth): Likewise.
14341 (print_message_indented): New declaration.
14342 * normal/auth.c: Include `<grub/i18n.h>'.
14343 (grub_auth_check_authentication): Gettexttize string.
14344 * normal/cmdline.c: Include `<grub/i18n.h>'.
14345 (grub_cmdline_get): Gettextizze.
14346 * normal/color.c: Include `<grub/i18n.h>'.
14347 (grub_parse_color_name_pair): Gettexttize strings.
14348 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
14349 string (use `print_message_indented').
14350 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
14351 `include/grub/normal.h'.
14352 (print_message_indented): Renamed to ...
14353 (grub_print_message_indented): ... this. Remove `static' qualifer (now
14354 used in normal/main.c).
14355 (print_message): Use `grub_print_message_indented' instead of
14356 `print_message_indented'.
14357 (print_timeout): Likewise.
14358 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
14359 (grub_normal_print_device_info): Gettexttize strings.
14360 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
14361
3041d898
VS
143622009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
14365 of arguments. Return number of tokens and not arguments. All users
14366 updated.
14367
de15bf8e
VS
143682009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
14371 non-MSDOS paritions.
14372
e0a6ca52
VS
143732009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * include/grub/types.h (UNUSED): Removed since it conflicts with
14376 NetBSD headers. All users changed to direct __attribute__ ((unused)).
14377 Reported by Grégoire Sutre.
14378
b99518d1 143792009-12-19 Carles Pina i Estany <carles@pina.cat>
14380
14381 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
14382 (grub_print_ucs4_alloc): Likewise.
14383 (grub_getstringwidth): Likewise.
14384 * normal/main.c (grub_normal_init_page): Gettextize version string.
14385 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
14386 (getstringwidth): Renamed to ...
14387 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
14388 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
14389 (grub_print_ucs4): Remove `static' qualifer (now used in
14390 normal/main.c).
14391 * po/POTFILES: Add normal/main.c.
14392
bfd5e52b 143932009-12-19 Carles Pina i Estany <carles@pina.cat>
14394
14395 * normal/menu_text.c (STANDARD_MARGIN): New macro.
14396 (print_message_indented): Add `margin_left' and `margin_right'
14397 parameters.
14398 (print_message): Update `print_message_indented' calls. Adds '\n' to the
14399 strings.
14400 (print_timeout): Use `print_message_indented' to print the message.
14401 Deletes `second_stage' parameter.
14402 (run_menu): Update `print_timeout' calls.
14403
5a1ad2b9
VS
144042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 Fix console palette on OpenFirmware.
14407
14408 * term/ieee1275/ofconsole.c (MAX): Removed.
14409 (colors): Redone based on VGA palette.
14410 (grub_ofconsole_setcolor): Discard brightness bit since only 8
14411 colors are supported.
14412 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
14413
b045f00a
VS
144142009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 Fix potential EfiEmu double prepare.
14417
14418 * efiemu/main.c (prepared): New variable
14419 (grub_efiemu_unload): Set prepare to '0'.
14420 (grub_efiemu_prepare): Return if already prepared. Set prepared.
14421
14422 set_virtual_address_map support.
14423
14424 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
14425 prototype.
14426 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
14427 prototype.
14428 (grub_efiemu_crc32): Likewise.
14429 (grub_efiemu_crc64): Likewise.
14430 (grub_efiemu_set_virtual_address_map): Likewise.
14431 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
14432 New definition.
14433 (grub_autoefi_set_virtual_address_map): Likewise.
14434 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
14435 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
14436 Restructure flow to accomodate it.
14437 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
14438 (grub_efiemu_crc): Recompute CRC32.
14439 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
14440 (efiemu_ptv_relocated): ... this. Made global. All users updated.
14441 * efiemu/symbols.c (relocated_handle): New variable.
14442 (grub_efiemu_free_syms): Free relocated_handle.
14443 (grub_efiemu_alloc_syms): Allocate relocated_handle.
14444 (grub_efiemu_write_sym_markers): New function.
14445 (grub_efiemu_set_virtual_address_map): Likewise.
14446
14447 Newer XNU parameters.
14448
14449 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
14450 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
14451 (grub_xnu_fill_devicetree): New prototype.
14452 (grub_xnu_heap_real_start): New variable.
14453 * loader/xnu.c (get_name_ptr): New function.
14454 (grub_xnu_load_driver): Fill namelen and name.
14455
14456 64-bit xnu support.
14457
14458 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
14459 and 'loader/macho64.c'.
14460 * conf/i386-pc.rmk: Likewise.
14461 * conf/x86_64-efi.rmk: Likewise.
14462 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
14463 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
14464 * include/grub/macho.h (grub_macho_segment64): New structure.
14465 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
14466 (grub_macho_size32): ... to this.
14467 (grub_macho32_get_entry_point): Renamed from ...
14468 (grub_macho_get_entry_point32): ... to this.
14469 (grub_macho_contains_macho64): New prototype.
14470 (grub_macho_size64): Likewise.
14471 (grub_macho_get_entry_point64): Likewise.
14472 (grub_macho32_load): Renamed from ...
14473 (grub_macho_load32): ... to this.
14474 (grub_macho32_filesize): Renamed from ...
14475 (grub_macho_filesize32): ... to this.
14476 (grub_macho32_readfile): Renamed from ...
14477 (grub_macho_readfile32): ... to this.
14478 (grub_macho_filesize64): New prototype.
14479 (grub_macho_readfile64): Likewise.
14480 (grub_macho_parse32): Likewise.
14481 (grub_macho_parse64): Likewise.
14482 * loader/macho.c: Split into ...
14483 * loader/machoXX.c: ... and this. Replace 32 with XX.
14484 * loader/macho32.c: New file.
14485 * loader/macho64.c: Likewise.
14486 * loader/xnu.c (grub_xnu_is_64bit): New variable.
14487 (grub_cmd_xnu_kernel): Make 32-bit only.
14488 (grub_cmd_xnu_kernel64): New function.
14489 (grub_xnu_load_driver): Support Mach-O 64.
14490 (grub_cmd_xnu_mkext): Likewise.
14491 * util/grub.d/30_os-prober.in (osx_entry): New function.
14492 Generate entries for 64-bit boot too.
14493
14494 Eliminate ad-hoc tree format in XNU and EfiEmu.
14495
14496 * efiemu/main.c (grub_efiemu_prepare): Update comment.
14497 * efiemu/pnvram.c: Rewritten to use environment variables.
14498 All users updated.
14499
14500 Inline utf16_to_utf8.
14501
14502 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
14503 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
14504 All users updated.
14505 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
14506
14507 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
14508 * commands/usbtest.c (grub_usb_get_string): ... move here.
14509 (usb_print_str): Fix error handling.
14510 * include/grub/usb.h (grub_usb_get_string): Remove.
14511
14512 UTF-8 to UTF-16 transformation.
14513
14514 * conf/common.rmk (pkglib_MODULES): Add charset.mod
14515 (charset_mod_SOURCES): New variable.
14516 (charset_mod_CFLAGS): Likewise.
14517 (charset_mod_LDFLAGS): Likewise.
14518 * include/grub/utf.h: New file.
14519 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
14520
14521 Support for device properties.
14522
14523 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
14524 (grub_xnu_devprop_device_header): Likewise.
14525 (grub_xnu_devprop_device_descriptor): Likewise.
14526 (grub_xnu_devprop_add_device): New prototype.
14527 (grub_xnu_devprop_remove_device): Likewise.
14528 (grub_xnu_devprop_remove_property): Likewise.
14529 (grub_xnu_devprop_add_property_utf8): Likewise.
14530 (grub_xnu_devprop_add_property_utf16): Likewise.
14531 (grub_cpu_xnu_init): Likewise.
14532 (grub_cpu_xnu_fini): Likewise.
14533 (grub_cpu_xnu_unload): Likewise.
14534 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
14535 (property_descriptor): Likewise.
14536 (devices): New variable.
14537 (grub_xnu_devprop_remove_property): New function.
14538 (grub_xnu_devprop_add_device): Likewise.
14539 (grub_xnu_devprop_remove_device): Likewise.
14540 (grub_xnu_devprop_add_property): Likewise.
14541 (grub_xnu_devprop_add_property_utf8): Likewise.
14542 (grub_xnu_devprop_add_property_utf16): Likewise.
14543 (hextoval): Likewise.
14544 (grub_cpu_xnu_fill_devprop): Likewise.
14545 (grub_cmd_devprop_load): Likewise.
14546 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
14547 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
14548 (cmd_devprop_load): New variable.
14549 (grub_cpu_xnu_init): New function.
14550 (grub_cpu_xnu_fini): Likewise.
14551 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
14552 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
14553 (grub_cmd_xnu_devtree): Likewise.
14554 (hextoval): New function.
14555 (unescape): Likewise.
14556 (grub_xnu_fill_devicetree): Likewise.
14557
14558 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
14559 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
14560
0945f181
VS
145612009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 Workaround for broken ATI VBE.
14564
14565 * video/i386/pc/vbe.c (last_set_mode): New variable.
14566 (grub_vbe_set_video_mode): Set 'last_set_mode'.
14567 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
14568 (grub_video_vbe_setup): Don't check for reserved flag.
14569
0ad46fd7 145702009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
14571
14572 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
14573 the `find' command.
14574
c179ebe4
VS
145752009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 UUID support for HFS.
14578
14579 * fs/hfs.c (grub_hfs_uuid): New function.
14580 (grub_hfs_fs): New value .uuid.
14581 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
14582
0ad46fd7 145832009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
14584
14585 Fix a segfault with parsing unknown long options.
14586
14587 * util/grub-mkrelpath.c (options): Zero terminate it.
14588
c4a3e41a
CPE
145892009-12-13 Carles Pina i Estany <carles@pina.cat>
14590
14591 * include/grub/misc.h (grub_puts): New declaration.
14592 (grub_puts_): Likewise.
a22008a6 14593 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
14594 (grub_puts_): Likewise.
14595
2e8a7602
RM
145962009-12-13 Robert Millan <rmh.grub@aybabtu.com>
14597
14598 * util/grub-probe.c (probe): Improve error message.
14599
b50b77b9
RM
146002009-12-13 Robert Millan <rmh.grub@aybabtu.com>
14601
14602 * loader/i386/multiboot_elfxx.c
14603 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
14604 initialization.
14605
146062009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 Relocator framework
14609
14610 * loader/i386/xnu_helper.S: Removed. All users updated.
14611 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
14612 (relocator_mod_SOURCES): New variable.
14613 (relocator_mod_CFLAGS): Likewise.
14614 (relocator_mod_LDFLAGS): Likewise.
14615 (relocator_mod_ASFLAGS): Likewise.
14616 * conf/x86_64.rmk: Likewise.
14617 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
14618 (grub_multiboot_payload_entry_offset): Likewise.
14619 (grub_multiboot_forward_relocator): Likewise.
14620 (grub_multiboot_forward_relocator_end): Likewise.
14621 (grub_multiboot_backward_relocator): Likewise.
14622 (grub_multiboot_backward_relocator_end): Likewise.
14623 (grub_multiboot_payload_eip): New variable.
14624 (grub_multiboot_payload_orig): Likewise.
14625 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
14626 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
14627 * include/grub/i386/memory.h
14628 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
14629 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
14630 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
14631 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
14632 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
14633 * include/grub/i386/relocator.h: New file.
14634 * include/grub/x86_64/relocator.h: Likewise.
14635 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
14636 (XNU_RELOCATOR): New macro.
14637 (grub_xnu_launcher_start): Remove.
14638 (grub_xnu_launcher_end): Likewise.
14639 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
14640 (grub_xnu_heap_real_start): Remove.
14641 (grub_xnu_heap_start): Change to void *. All users updated.
14642 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
14643 * lib/i386/relocator.c: New file.
14644 * lib/i386/relocator_asm.S: Likewise.
14645 * lib/i386/relocator_backward.S: Likewise.
14646 * lib/mips/relocator.c: Likewise.
14647 * lib/mips/relocator_asm.S: Likewise.
14648 * lib/relocator.c: Likewise.
14649 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
14650 (entry): Removed.
14651 (playground): Likewise.
14652 (grub_multiboot_payload_orig): New variable.
14653 (grub_multiboot_payload_dest): Likewise.
14654 (grub_multiboot_payload_size): Likewise.
14655 (grub_multiboot_payload_eip): Likewise.
14656 (grub_multiboot_payload_esp): Likewise.
14657 (grub_multiboot_boot): Use grub_relocator32_boot.
14658 (grub_multiboot_unload): Free relocators.
14659 (grub_multiboot): Setup stack. Use relocators.
14660 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
14661 (grub_multiboot_load_elfXX): Use relocators.
14662 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
14663 (grub_multiboot_payload_size): Likewise.
14664 (grub_multiboot_payload_dest): Likewise.
14665 (grub_multiboot_payload_entry_offset): Likewise.
14666 (grub_multiboot_forward_relocator): Likewise.
14667 (grub_multiboot_backward_relocator): Likewise.
14668 (grub_multiboot_real_boot): Likewise.
14669 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
14670 (grub_xnu_entry_point): Likewise.
14671 (grub_xnu_arg1): Likewise.
14672 (grub_xnu_stack): Likewise.
14673 (grub_xnu_launch): Removed.
14674 (grub_xnu_boot_resume): New function.
14675 (grub_xnu_boot): Use relocators.
14676 * loader/i386/xnu_helper.S: Removed.
14677 * loader/xnu.c (grub_xnu_heap_start): New variable.
14678 (grub_xnu_heap_size): Likewise.
14679 (grub_xnu_heap_malloc): Use relocators.
14680 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
14681
29eb90c6
VS
146822009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
14685 anything.
14686
31027430
CPE
146872009-12-13 Carles Pina i Estany <carles@pina.cat>
14688
14689 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
14690 GRUB_ERR_NONE before calling grub_env_set.
14691
dc0c71d9
RM
146922009-12-12 Robert Millan <rmh@aybabtu.com>
14693
14694 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
14695 * genmk.rb (video): New variable.
14696 (CLEANFILES, VIDEOFILES): Add #{video}.
14697 (#{video}): New target rule.
14698 * genvideolist.sh: New file.
14699 * Makefile.in (pkglib_DATA): Add video.lst.
14700 (video.lst): New target rule.
14701 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
14702 `video.lst'.
14703 * util/grub.d/30_os-prober.in: Replace `vbe' with
14704 ${GRUB_VIDEO_BACKEND}.
14705
2a4bfcf0
RM
147062009-12-11 Robert Millan <rmh.grub@aybabtu.com>
14707
14708 * THANKS: Add David Miller.
14709
2a3aa4d5
RM
147102009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
14711
14712 libpciaccess support.
14713
14714 * Makefile.in (LIBPCIACCESS): New variable.
14715 (enable_grub_emu_pci): Likewise.
14716 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
14717 util/pci.c and commands/lspci.c.
14718 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
14719 * configure.ac (grub-emu-pci): New option.
14720 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
14721 (grub_pci_device_unmap_range): Likewise.
14722 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
14723 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
14724 (grub_pci_address_t) [!GRUB_UTIL]: New type.
14725 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
14726 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
14727 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
14728 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
14729 * include/grub/pciutils.h: New file.
14730 * util/pci.c: Likewise.
14731
0ad46fd7 147322009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
14733
14734 * util/misc.c: Don't include <errno.h> twice.
14735
0ad46fd7 147362009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
14737
14738 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
14739 name in an error message.
14740 (grub_biosdisk_rw): Likewise.
14741
2e59983c
VS
147422009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 Eliminate NTFS 4Gib barrier.
14745
14746 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
14747 (read_run_data): Likewise.
14748 (grub_ntfs_read_run_list): Likewise.
14749 (grub_ntfs_read_block): Likewise.
14750 (grub_ntfs_iterate_dir): Likewise.
14751 (read_mft): Likewise.
14752 (read_data): Likewise.
14753 Use COM_LOG_LEN.
14754 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
14755 to avoid 64-bit division
14756 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
14757 (grub_ntfs_rlst): Use grub_disk_addr_t.
14758
71ee178a
VS
147592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 Eliminate grub-fstest 4Gib barrier.
14762
14763 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
14764 (read_file): Fix error reporting.
14765
2520d4b8
VS
147662009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 Eliminate hexdump 4Gib barrier.
14769
14770 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
14771 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
14772
e1f27065
VS
147732009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
14776 Fixes amarsh bug.
14777
1a0f7f45
RM
147782009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
14779
14780 Remove miscellaneous files in distclean target.
14781
14782 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
14783
c631d9fb
CW
147842009-12-09 Colin Watson <cjwatson@ubuntu.com>
14785
14786 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
14787 if they're already set. This resolves the conflict between my
14788 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
14789 fixing the --grub-probe option again.
14790 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
14791 change on 2009-10-06, so that we now once again source
14792 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14793
7c7b6106
RM
147942009-12-08 Robert Millan <rmh.grub@aybabtu.com>
14795
14796 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
14797 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
14798 `util/devicemap.c'.
14799
e3069ec1
CPE
148002009-12-08 Carles Pina i Estany <carles@pina.cat>
14801
14802 * include/grub/misc.h (grub_printf_): New declaration.
14803 * kern/misc.c (grub_printf_): New definition.
14804 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
14805 instead of `grub_printf' and `_'.
14806 * normal/menu_entry.c (store_completion): Likewise.
14807 (run): Likewise.
14808 (grub_menu_entry_run): Likewise.
14809 * normal/menu_text.c (grub_wait_after_message): Likewise.
14810 (notify_booting): Likewise.
14811 (notify_fallback): Likewise.
14812 (notify_execution_failure): Likewise.
14813
d6ceebf1
CW
148142009-12-07 Colin Watson <cjwatson@ubuntu.com>
14815
14816 * configure.ac: Check for vasprintf.
14817 * util/misc.c (asprintf): Move allocation from here ...
14818 (vasprintf): ... to here. New function.
14819 (xasprintf): New function.
14820 * include/grub/util/misc.h (vasprintf, xasprintf): Add
14821 prototypes.
14822 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
14823 * util/grub-mkfont.c (write_font): Likewise.
14824 * util/grub-probe.c (probe): Likewise.
14825 * util/hostdisk.c (make_device_name): Likewise.
14826
de6daa8b
DM
148272009-12-06 David S. Miller <davem@sunset.davemloft.net>
14828
14829 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
14830 anything even prefixed with 'cdrom' as a cdrom.
14831
0ad46fd7 148322009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
14833
14834 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
14835 mount points.
14836
98d3dc02
CPE
148372009-12-05 Carles Pina i Estany <carles@pina.cat>
14838
14839 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
14840 grub_gettext_msg_list.
14841 (grub_gettext_gettranslation_from_position): Return const char *
14842 and not char *.
a2c1332b 14843 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
14844 returns from the list if existing there.
14845 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
14846 (grub_gettext_delete_list): Delete the list.
14847 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
14848 lang environment variable is changed.
14849 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
14850
b283f108
VS
148512009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 Rename kernel.mod to kernel.img.
14854
14855 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
14856 (kernel_mod_EXPORTS): Rename to ...
14857 (kernel_img_EXPORTS): ... this.
14858 (kernel_mod_SOURCES): Rename to ...
14859 (kernel_img_SOURCES): ... this.
14860 (kernel_mod_HEADERS): Rename to ...
14861 (kernel_img_HEADERS): ... this. All users updated.
14862 (kernel_mod_CFLAGS): Rename to ...
14863 (kernel_img_CFLAGS): ... this.
14864 (kernel_mod_ASFLAGS): Rename to ...
14865 (kernel_img_ASFLAGS): ... this.
14866 (kernel_mod_LDFLAGS): Rename to ...
14867 (kernel_img_LDFLAGS): ... this.
14868 * conf/x86_64-efi.rmk: Likewise.
14869 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
14870 (read_kernel_image): ... this. All users updated.
14871 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
14872
69055f8a
CPE
148732009-12-05 Carles Pina i Estany <carles@pina.cat>
14874
14875 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
14876 (print_spaces): New function.
14877 (grub_print_ucs4): New function.
14878 (getstringwidth): New function.
14879 (print_message_indented): New function.
14880 (print_message): Gettexttize strings using print_message_indented.
14881 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
14882 width.
14883 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 14884 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
14885 Gettextize.
14886 * normal/menu_entry.c (store_completion): Cleanup the gettextized
14887 string.
14888 (run): Likewise.
14889 (grub_menu_entry_run): Likewise.
14890 * PO/POTFILES: Add normal/menu_entry.c.
14891
f616f51c
VS
148922009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
14895
57bbe3be
CPE
148962009-12-05 Carles Pina i Estany <carles@pina.cat>
14897
14898 * util/grub-install.in: Install gettext .mo files.
14899 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
14900
013d67a1
CPE
149012009-12-05 Carles Pina i Estany <carles@pina.cat>
14902
14903 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
14904 grub_dprintf.
14905
fb954db0
RM
149062009-12-05 Robert Millan <rmh.grub@aybabtu.com>
14907
14908 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
14909 non-firmware-dependant one in realmode.S takes precedence.
14910
6b8474f8
RM
149112009-12-04 Robert Millan <rmh.grub@aybabtu.com>
14912
14913 * commands/halt.c: Replace misc arch-specific headers with
14914 `<grub/misc.h>'.
14915 * commands/reboot.c: Likewise.
14916 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
14917 `<grub/misc.h>'.
14918 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
14919 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
14920 (kernel_img_SOURCES): ... to here.
14921
14922 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
14923 * include/grub/i386/pc/init.h: Likewise.
14924 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14925 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14926
14927 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
14928
14929 * include/grub/i386/halt.h: Remove.
14930 * include/grub/i386/reboot.h: Likewise.
14931
14932 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
14933
4b2e6ca2
DM
149342009-12-03 David S. Miller <davem@sunset.davemloft.net>
14935
14936 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
14937 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
14938 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
14939 "progname.h"
14940 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
14941 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14942 (usage): Add missing comma in printf.
14943
5239348f
RM
149442009-12-02 Robert Millan <rmh.grub@aybabtu.com>
14945
14946 Use the same reboot approach on i386 coreboot and qemu as we do on
14947 BIOS.
14948
14949 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
14950 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
14951 * kern/i386/reboot.c: Remove.
14952 * include/grub/i386/reboot.h (grub_reboot): Export function.
14953 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
14954 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
14955 0xf000:0xfff0 instead of 0xffff:0x0000.
14956 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
14957 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
14958
ef34cbd4
RM
149592009-11-30 Robert Millan <rmh.grub@aybabtu.com>
14960
14961 Fix $srcdir != $objdir build.
14962
14963 * Makefile.in (po/%.po): Rewrite as ...
14964 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
14965
dc9837ea
ST
149662009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
14967
14968 Fix GNU/Hurd grub-install crash.
14969 * util/grub-probe.c (probe): Try to access `path' only when it is not
14970 NULL.
14971
2f857f98
VS
149722009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
14973
14974 Correct module naming.
14975
14976 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
14977 (GRUB_MOD_INIT(efi_uga)): ... to this
14978 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
14979 (GRUB_MOD_FINI(efi_uga)): ... to this
14980 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
14981 (GRUB_MOD_INIT(efi_gop)): ... to this
14982 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
14983 (GRUB_MOD_FINI(efi_gop)): ... to this
14984
c5448046
RM
149852009-11-28 Robert Millan <rmh.grub@aybabtu.com>
14986
14987 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
14988 translatable.
14989 (usage): Translate `arg' strings using gettext().
14990 Thanks to Jordi Mallach for the suggestion.
14991
c85184ad
VS
149922009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 GOP support. Based on patch from Bean
14995 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14996
14997 * video/efi_gop.c: New file.
14998 * include/grub/efi/graphics_output.h: Likewise.
14999 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
15000 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
15001 variables.
15002 * conf/x86_64-efi.rmk: Likewise.
15003
8a4c48d8
VS
150042009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 Rename efi_fb to efi_uga.
15007
15008 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
15009 'efi_uga.mod'.
15010 (efi_fb_mod_SOURCES): Rename this ...
15011 (efi_uga_mod_SOURCES): ... to this.
15012 (efi_fb_mod_CFLAGS): Rename this ...
15013 (efi_uga_mod_CFLAGS): ... to this.
15014 (efi_fb_mod_LDFLAGS): Rename this ...
15015 (efi_uga_mod_LDFLAGS): ... to this.
15016 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
15017 'efi_uga.mod'.
15018 (efi_fb_mod_SOURCES): Rename this ...
15019 (efi_uga_mod_SOURCES): ... to this.
15020 (efi_fb_mod_CFLAGS): Rename this ...
15021 (efi_uga_mod_CFLAGS): ... to this.
15022 (efi_fb_mod_LDFLAGS): Rename this ...
15023 (efi_uga_mod_LDFLAGS): ... to this.
15024 * video/efi_fb.c: Move this ...
15025 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
15026
fb6c1a7b
RM
150272009-11-27 Robert Millan <rmh.grub@aybabtu.com>
15028
15029 * po/README: New file. Explain our PO file workflow.
15030
3bc7896c
RM
150312009-11-27 Robert Millan <rmh.grub@aybabtu.com>
15032
15033 * po/ChangeLog: Remove. Move relevant entries back to ...
15034 * ChangeLog: ... here.
15035 * po/ca.po: Remove (now handled by TLP).
15036 * po/id.po: Likewise.
15037 * po/zh_CN.po: Likewise.
15038 * Makefile.in (LINGUAS): Initialize in a way that supports
15039 empty set.
15040
9ed4841d
RM
150412009-11-27 Robert Millan <rmh.grub@aybabtu.com>
15042
15043 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
15044 reliing on po/LINGUAS.
15045 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
15046 (po/%.po): ... this.
15047
0ad46fd7 150482009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
15049
15050 * util/i386/efi/grub-mkimage.c: Include "progname.h".
15051 (main): Use `program_name' instead of nonexistent `progname'.
15052
e30dd392
FZ
150532009-11-26 Felix Zielcke <fzielcke@z-51.de>
15054
15055 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
15056 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
15057
7656de4f
RM
150582009-11-26 Robert Millan <rmh.grub@aybabtu.com>
15059
15060 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
15061 commit.
15062 * conf/i386-efi.rmk: Likewise.
15063 * conf/i386-ieee1275.rmk: Likewise.
15064 * conf/powerpc-ieee1275.rmk: Likewise.
15065 * conf/sparc64-ieee1275.rmk: Likewise.
15066 * conf/x86_64-efi.rmk: Likewise.
15067
db77c4d4
FZ
150682009-11-26 Felix Zielcke <fzielcke@z-51.de>
15069
15070 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
15071
a755bb04
FZ
150722009-11-26 Felix Zielcke <fzielcke@z-51.de>
15073
15074 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
15075
8a4c07fd
RM
150762009-11-26 Robert Millan <rmh.grub@aybabtu.com>
15077
15078 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
15079 (grub_mkdevicemap_SOURCES): New variable.
15080 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
15081 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
15082 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
15083 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
15084 (grub_mkdevicemap_SOURCES): Remove.
15085 * conf/i386-efi.rmk: Likewise.
15086 * conf/i386-ieee1275.rmk: Likewise.
15087 * conf/i386-pc.rmk: Likewise.
15088 * conf/powerpc-ieee1275.rmk: Likewise.
15089 * conf/sparc64-ieee1275.rmk: Likewise.
15090 * conf/x86_64-efi.rmk: Likewise.
15091 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
15092 (usage): Fix strings to use `program_name'.
15093 (main): Initialize gettext.
15094 * util/grub-editenv.c: Likewise.
15095 * util/grub-emu.c: Likewise.
15096 * util/grub-fstest.c: Likewise.
15097 * util/grub-mkdevicemap.c: Likewise.
15098 * util/grub-mkfont.c: Likewise.
15099 * util/grub-mkrelpath.c: Likewise.
15100 * util/grub-pe2elf.c: Likewise.
15101 * util/grub-probe.c: Likewise.
15102 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15103 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
15104 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15105
15106 * util/misc.c: Include `"progname.h"'.
15107 (progname): Remove variable.
15108 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
15109
6f61ed55
FZ
151102009-11-25 Felix Zielcke <fzielcke@z-51.de>
15111
15112 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
15113 printf and print a newline after the menuentry header line.
15114 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
15115
f022876b
FZ
151162009-11-25 Felix Zielcke <fzielcke@z-51.de>
15117
15118 autoconf >= 2.60 support $(localedir).
15119
15120 * INSTALL: Note that autoconf 2.60 is required.
15121 * configure.ac (AC_PREREQ): Bump to 2.60.
15122 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
15123 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
15124
6717926e
YB
151252009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
15126
15127 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
15128 aclocal is run.
15129
08806a54
RM
151302009-11-25 Robert Millan <rmh.grub@aybabtu.com>
15131
15132 * normal/main.c (grub_normal_read_line): Fix off-by-one
15133 buffer overflow.
15134
13b33fba
RM
151352009-11-25 Robert Millan <rmh.grub@aybabtu.com>
15136
15137 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
15138 "parser.grub" in grub_command_execute() call.
15139
4a8572e9
CPE
151402009-11-24 Carles Pina i Estany <carles@pina.cat>
15141
15142 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
15143 * conf/i386-efi.rmk: Likewise.
15144 * conf/i386-ieee1275.rmk: Likewise.
15145 * conf/i386-pc.rmk: Likewise.
15146 * conf/powerpc-ieee1275.rmk: Likewise.
15147 * conf/sparc64-ieee1275.rmk: Likewise.
15148 * conf/x86_64-efi.rmk: Likewise.
15149 * gettext/gettex.c: Include <grub/i18n.h>.
15150 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
15151 here ...
15152 * include/grub/i18n.h: ... to here
15153 * include/grub/i18n.h: ... to here.
15154 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 15155 (grub_gettext_dummy): Move above user.
4a8572e9 15156
bee48093
FZ
151572009-11-24 Felix Zielcke <fzielcke@z-51.de>
15158
15159 * util/Makefile.in (install-local): Convert a `for' into a normal
15160 shell expansion.
15161
a031e91c
RM
151622009-11-24 Robert Millan <rmh.grub@aybabtu.com>
15163
15164 * autogen.sh: Add automake call.
15165 * config.guess: Remove.
15166 * config.sub: Likewise.
15167 * install-sh: Likewise.
15168
26bec39d
FZ
151692009-11-24 Felix Zielcke <fzielcke@z-51.de>
15170
15171 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
15172
8e2532fd
FZ
151732009-11-24 Felix Zielcke <fzielcke@z-51.de>
15174
15175 * util/Makefile.in (install-local): Convert a make `$(foreach)'
15176 function to a normal shell `for'.
15177
fefa1b7d
FZ
151782009-11-24 Felix Zielcke <fzielcke@z-51.de>
15179
15180 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
15181
4501250b
FZ
151822009-11-24 Felix Zielcke <fzielcke@z-51.de>
15183
15184 * util/grub-mkrelpath.c: New file.
15185 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
15186 (grub_mkrelpath_SOURCES): New variable.
15187 * include/grub/util/misc.h: New function prototype.
15188 * util/misc.c (make_system_path_relative_to_its_root): New function.
15189
15190 * util/grub-mkconfig_lib.in (bindir): New variable.
15191 (grub_mkrelpath): Likewise.
15192 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
15193
15194 * util/probe.c (probe): Make the file path relative to its root.
15195 Change a info message to use the GRUB path. Enable again the
15196 check if we can read the file with GRUB facilities.
15197
15198 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
15199 to its root.
15200
11d9778b
FZ
152012009-11-24 Felix Zielcke <fzielcke@z-51.de>
15202
15203 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
15204 platform.
15205
4465287d
FZ
152062009-11-24 Felix Zielcke <fzielcke@z-51.de>
15207
15208 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
15209 strncmp().
15210
62b47f22
FZ
152112009-11-24 Felix Zielcke <fzielcke@z-51.de>
15212
15213 * util/getroot.c (grub_util_is_dmraid): New function.
15214 (grub_util_get_dev_abstraction): Treat dmraid and multipath
15215 devices as normal ones, not as LVM.
15216
1eafb9b9 152172009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
15218
15219 * conf/common.rmk: Add grub-gettext_lib target and updates
15220 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
15221 LDFLAGS.
15222 * gettext/gettext.c: New file. (Reads mo files).
15223 * include/grub/file.h (grub_file_pread): New prototype.
15224 * include/grub/i18n.h (_): New prototype.
15225 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
15226 prototypes.
15227 * kern/misc.c (grub_gettext_dummy): New function.
15228 * normal/menu_text.c: Include <grub/i18n.h>.
15229 * normal/menu_text.c (print_timeout): Gettexttize string.
15230 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
15231 * po/POTFILES: Add `normal/menu_text.c'.
15232 * po/ca.po: Add new translations.
c3ea6bd4
CPE
15233 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
15234 gettext module and defines locale_dir and lang in grub.cfg.
15235 * NEWS: Add gettext support.
15236
0fdb2568
RM
152372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15238
15239 * util/hostdisk.c: Include `<grub/i18n.h>'.
15240 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
15241 (make_device_name): Rewrite using asprintf.
15242 (convert_system_partition_to_system_disk): Replace 0 with NULL.
15243 (find_system_device): If a device is not found, generate one just
15244 by reusing the OS path name.
15245 (read_device_map): Make it permissible for device.map not to exist.
15246
f515aa62
RM
152472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15248
15249 * script/sh/execute.c: Move from here ...
15250 * script/execute.c: ... to here. Update all users.
15251 * script/sh/function.c: Move from here ...
15252 * script/function.c: ... to here. Update all users.
15253 * script/sh/lexer.c: Move from here ...
15254 * script/lexer.c: ... to here. Update all users.
15255 * script/sh/main.c: Move from here ...
15256 * script/main.c: ... to here. Update all users.
15257 * script/sh/parser.y: Move from here ...
15258 * script/parser.y: ... to here. Update all users.
15259 * script/sh/script.c: Move from here ...
15260 * script/script.c: ... to here. Update all users.
15261
f84b481b
RM
152622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15263
15264 * configure.ac: Detect all `emu' platforms. Define
15265 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
15266 --enable-grub-emu logic. Disable include/grub/machine
15267 symlink on `emu' platforms.
15268
15269 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
15270 * gensymlist.sh.in: Likewise.
15271
15272 * include/grub/i386/coreboot/machine.h: Remove file.
15273 * include/grub/i386/efi/machine.h: Likewise.
15274 * include/grub/i386/ieee1275/machine.h: Likewise.
15275 * include/grub/i386/pc/machine.h: Likewise.
15276 * include/grub/i386/qemu/machine.h: Likewise.
15277 * include/grub/powerpc/ieee1275/machine.h: Likewise.
15278 * include/grub/sparc64/ieee1275/machine.h: Likewise.
15279 * include/grub/x86_64/efi/machine.h: Likewise.
15280
15281 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
15282 * commands/halt.c: Likewise.
15283 * commands/reboot.c: Likewise.
15284 * include/grub/autoefi.h: Likewise.
15285 * include/grub/i386/at_keyboard.h: Likewise.
15286 * include/grub/i386/kernel.h: Likewise.
15287 * include/grub/i386/loader.h: Likewise.
15288 * include/grub/i386/pc/memory.h: Likewise.
15289 * kern/dl.c: Likewise.
15290 * kern/i386/coreboot/init.c: Likewise.
15291 * loader/i386/bsd.c: Likewise.
15292 * loader/i386/linux.c: Likewise.
15293 * loader/multiboot_loader.c: Likewise.
15294 * term/i386/pc/serial.c: Likewise.
15295 * term/usb_keyboard.c: Likewise.
15296
15297 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
15298 `<grub/machine/machine.h>'
15299 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
15300 * util/misc.c: Remove `<grub/machine/machine.h>' and
15301 `<grub/machine/time.h>'.
15302
15303 * Makefile.in (enable_grub_emu): Remove variable.
15304 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
15305
15306 * conf/any-emu.rmk: New file.
15307 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
15308 (grub_emu_init.c): Move from here ...
15309 * conf/any-emu.rmk: ... to here.
15310
15311 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
15312 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
15313 * conf/any-emu.rmk: ... to here.
15314
4efeab03
RM
153152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15316
15317 * include/grub/parser.h (grub_parser_register): Document need
15318 of `name' parameter.
15319 * normal/main.c (grub_normal_read_line): Simplify prompt string.
15320 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
15321 "sh" to "grub".
15322
ea1dd8bf
RM
153232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15324
15325 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
15326 `$(XGETTEXT)'.
15327 * include/grub/i18n.h (N_): New macro.
15328 * util/mkisofs/mkisofs.h: Likewise.
15329 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
15330 around N_().
15331 (usage): Use gettext() to translate help strings when printing them.
15332
0c140626
RM
153332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
15334
15335 Based on patch from Bean
15336 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
15337
15338 * video/efi_fb.c: New file.
15339 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
15340 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
15341 variables.
15342 * conf/x86_64-efi.rmk: Likewise.
15343
87d58298
RM
153442009-11-22 Robert Millan <rmh.grub@aybabtu.com>
15345
15346 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
15347 * util/i386/pc/grub-setup.c: Likewise.
15348
994cc3a3
ST
153492009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
15350
15351 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
15352 <hurd/fs.h>
15353 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
15354 file_get_storage_info to implement grub_guess_root_device.
15355
26a61d6a
FZ
153562009-11-21 Felix Zielcke <fzielcke@z-51.de>
15357
15358 * Makefile.in (target): Use make's builtin $(shell) function
15359 instead of calling directly $(SHELL) to create the locale directories,
15360 inside the $(foreach) function.
15361
74ff1dd5
FZ
153622009-11-21 Felix Zielcke <fzielcke@z-51.de>
15363
15364 * util/grub-mkrescue.in: Print an error and usage if output option
15365 has not been given.
15366
0b787d0e
FZ
153672009-11-21 Felix Zielcke <fzielcke@z-51.de>
15368
15369 Patch from Loïc Minier <loic.minier@ubuntu.com>.
15370 * util/grub.d/30_os-prober.in: Cope with Linux entries where
15371 root and /boot are on different devices.
15372
1164b270
RM
153732009-11-21 Robert Millan <rmh.grub@aybabtu.com>
15374
15375 Fix build for srcdir != objdir.
15376
15377 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
15378 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
15379 $(srcdir).
15380 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
15381 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
15382 reference for input.
15383
13774a2f
RM
153842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
15385
15386 * util/grub-mkrescue.in: Use source directory direcly (without copiing
15387 or hardlinking it). Remove -J option, Joliet is not compatible with
15388 multiple source directories.
15389
efda854e
RM
153902009-11-21 Carles Pina i Estany <carles@pina.cat>
153912009-11-21 Robert Millan <rmh.grub@aybabtu.com>
15392
15393 * util/grub-mkrescue.in: Recognize `--override-directory' option.
15394 (process_input_dir): New function. Process an arbitrary input
15395 directory.
15396 Misc adjustments to support both "override mode" and system-wide mode.
15397
6c09890c
FZ
153982009-11-20 Felix Zielcke <fzielcke@z-51.de>
15399
15400 * configure.ac (UNIFONT_BDF): Rename to ...
15401 (FONT_SOURCE): ... this. Update all users.
15402
a797824f
FZ
154032009-11-20 Felix Zielcke <fzielcke@z-51.de>
15404
15405 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
15406 to the list of unifont files to look for.
15407
cd4f42b0
RM
154082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
15409
15410 Patch from Joe Auricchio <jauricchio@gmail.com>
15411 * commands/minicmd.c (grub_mini_cmd_clear): New function.
15412 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
15413 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
15414
393c783d
FZ
154152009-11-19 Felix Zielcke <fzielcke@z-51.de>
15416
15417 * Makefile.in (install-local): Add a missing backslash.
15418
b2f1e327
FZ
154192009-11-19 Felix Zielcke <fzielcke@z-51.de>
15420
15421 * include/grub/x86_64/io.h: New file.
15422
f577f7a0
RM
154232009-11-19 Robert Millan <rmh.grub@aybabtu.com>
15424
15425 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
15426 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
15427 Include `"progname.h"'.
15428 (main): Initialize gettext.
15429 * util/i386/pc/grub-setup.c: Gettexttize.
15430 * util/i386/pc/grub-mkimage.c: Likewise.
15431
15432 * Makefile.in (po/*.po): Redefine as ...
15433 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
15434
3bc7896c
RM
15435 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
15436
c37943b6
RM
154372009-11-19 Robert Millan <rmh.grub@aybabtu.com>
15438
15439 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
15440 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
15441 (program_name): Remove.
15442 (main): Initialize gettext support.
6323f705
RM
15443 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
15444 Include `<libintl.h>'.
15445 (_): New macro.
c37943b6
RM
15446
15447 * util/mkisofs/eltorito.c: Gettexttize.
15448 * util/mkisofs/joliet.c: Likewise.
15449 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
15450 * util/mkisofs/multi.c: Likewise.
15451 * util/mkisofs/rock.c: Likewise.
15452 * util/mkisofs/tree.c: Likewise.
15453 * util/mkisofs/write.c: Likewise.
15454
3bc7896c
RM
15455 * po/POTFILES: Update with new files.
15456
5ce77c6e
RM
154572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
15458
15459 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
15460 * util/mkisofs/iso9660.h: Likewise.
15461 * util/mkisofs/joliet.c: Likewise.
15462 * util/mkisofs/mkisofs.c: Likewise.
15463 * util/mkisofs/mkisofs.h: Likewise.
15464 * util/mkisofs/rock.c: Likewise.
15465 * util/mkisofs/tree.c: Likewise.
15466 * util/mkisofs/write.c: Likewise.
15467
15468 * util/mkisofs/eltorito.c (rcsid): Remove.
15469 * util/mkisofs/hash.c: Likewise.
15470 * util/mkisofs/joliet.c: Likewise.
15471 * util/mkisofs/name.c: Likewise.
15472 * util/mkisofs/rock.c: Likewise.
15473 * util/mkisofs/tree.c: Likewise.
15474 * util/mkisofs/write.c: Likewise.
15475
1dabbc77
RM
154762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
15477
15478 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
15479 instead of static allocation.
15480 * util/mkisofs/match.h: Likewise.
15481
633877cb
RM
154822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
15483
3bc7896c
RM
15484 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
15485 and `util/grub.d/10_linux.in'.
633877cb
RM
15486 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
15487 translatable Shell files.
15488
af1c0c85
RM
154892009-11-18 Robert Millan <rmh.grub@aybabtu.com>
15490
15491 * Makefile.in ($(srcdir)/aclocal.m4): New target.
15492
769ae37b
RM
154932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15494
15495 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 15496 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
15497 * util/grub.d/10_kfreebsd.in (bindir): New variable.
15498 Add gettext initialization.
15499 (kfreebsd_entry): Make menuentry output translatable.
15500
155012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15502
15503 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
15504 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
15505 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
15506 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
15507 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 15508 * po/LINGUAS: New file.
769ae37b
RM
15509
155102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15511
15512 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
15513 other things).
15514 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
15515 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
15516 bindtextdomain() calls for gettext initialization.
15517
155182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15519
15520 * gnulib/progname.c: New file (imported from Gnulib).
15521 * gnulib/progname.h: Likewise.
15522 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
15523 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
15524 (usage): Replace `progname' with `program_name'.
15525 (main): Use set_program_name() for program name initialization.
15526
155272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15528
15529 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
15530 from here ...
15531 * Makefile.in (CPPFLAGS): ... to here.
15532
155332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
15534
15535 * aclocal.m4: Move from here ...
15536 * acinclude.m4: ... to here.
15537 * autogen.sh: Add call to `aclocal'.
15538 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
15539
155402009-11-16 Robert Millan <rmh.grub@aybabtu.com>
15541
15542 * Makefile.in (CLEANFILES): Add `po/*.mo'.
15543 (LINGUAS): New variable.
15544 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
15545 (install-local): Install MO files.
15546 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
15547 * include/grub/i18n.h: New file.
3bc7896c
RM
15548 * po/POTFILES: New file.
15549 * po/ca.po: New file.
769ae37b
RM
15550 * util/grub.d/10_linux.in (bindir): New variable.
15551 Add gettext initialization.
15552 (linux_entry): Make menuentry output translatable.
15553 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
15554 (usage): Make --help output translatable.
15555 (main): Initialize gettext.
15556
02c0a6ad
RM
155572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15558
15559 * import_gcry.py: New file (written by Vladimir with minor
15560 adjustments).
15561 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
15562 ciphers.
15563 * INSTALL: Document that Python is required for bootstrap.
15564
155652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
15566
15567 Import ciphers from libgcrypt 1.4.4.
15568
15569 * lib/libgcrypt/cipher/ChangeLog
15570 * lib/libgcrypt/cipher/ac.c
15571 * lib/libgcrypt/cipher/arcfour.c
15572 * lib/libgcrypt/cipher/bithelp.h
15573 * lib/libgcrypt/cipher/blowfish.c
15574 * lib/libgcrypt/cipher/camellia-glue.c
15575 * lib/libgcrypt/cipher/camellia.c
15576 * lib/libgcrypt/cipher/camellia.h
15577 * lib/libgcrypt/cipher/cast5.c
15578 * lib/libgcrypt/cipher/cipher.c
15579 * lib/libgcrypt/cipher/crc.c
15580 * lib/libgcrypt/cipher/des.c
15581 * lib/libgcrypt/cipher/dsa.c
15582 * lib/libgcrypt/cipher/ecc.c
15583 * lib/libgcrypt/cipher/elgamal.c
15584 * lib/libgcrypt/cipher/hash-common.c
15585 * lib/libgcrypt/cipher/hash-common.h
15586 * lib/libgcrypt/cipher/hmac-tests.c
15587 * lib/libgcrypt/cipher/md.c
15588 * lib/libgcrypt/cipher/md4.c
15589 * lib/libgcrypt/cipher/md5.c
15590 * lib/libgcrypt/cipher/primegen.c
15591 * lib/libgcrypt/cipher/pubkey.c
15592 * lib/libgcrypt/cipher/rfc2268.c
15593 * lib/libgcrypt/cipher/rijndael-tables.h
15594 * lib/libgcrypt/cipher/rijndael.c
15595 * lib/libgcrypt/cipher/rmd.h
15596 * lib/libgcrypt/cipher/rmd160.c
15597 * lib/libgcrypt/cipher/rsa.c
15598 * lib/libgcrypt/cipher/seed.c
15599 * lib/libgcrypt/cipher/serpent.c
15600 * lib/libgcrypt/cipher/sha1.c
15601 * lib/libgcrypt/cipher/sha256.c
15602 * lib/libgcrypt/cipher/sha512.c
15603 * lib/libgcrypt/cipher/tiger.c
15604 * lib/libgcrypt/cipher/twofish.c
15605 * lib/libgcrypt/cipher/whirlpool.c
15606
af2f93ac
RM
156072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
15608
15609 Fix build for systems without error().
15610
15611 * gnulib/error.c: New file (imported from Gnulib).
15612 * gnulib/error.h: Likewise.
15613 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
15614 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
15615 (this variable is now used by error()).
15616
73fb3dd5
FZ
156172009-11-16 Felix Zielcke <fzielcke@z-51.de>
15618
814f5e96
FZ
15619 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
15620 instead of relying that char is signed.
73fb3dd5 15621
a691ca33
VS
156222009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
15625 blocksize different from specified.
15626 (grub_pxefs_read): Likewise.
15627
2af8f0f4
FZ
156282009-11-16 Felix Zielcke <fzielcke@z-51.de>
15629
15630 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
15631
15632 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
15633 (grub_ata_readwrite): Likewise. Update 2 format strings.
15634 (grub_atapi_read): Likewise.
15635
15636 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
15637 * conf/i386.rmk (pkglib_MODULES): ... to here ...
15638 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
15639 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
15640 (ata_mod_LDFLAGS): Move from here ...
15641 * conf/i386.rmk: ... to here ...
15642 * conf/x86_64-efi.rmk: ... and here.
15643 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
15644 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
15645
83bdecaf
RM
156462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
15647
15648 Relicense multiboot.h, with RMS' blessing.
15649
15650 * include/multiboot.h: Change to X11 license.
15651
fd6fd3d7
RM
156522009-11-15 Robert Millan <rmh.grub@aybabtu.com>
15653
15654 Support --version in grub-mkisofs.
15655
15656 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
15657 (OPTION_VERSION): New macro.
15658 (ld_options): Recognize --version.
15659 (usage): Move `program_name' from here ...
15660 (program_name): ... to here. Add `static' qualifier.
15661 (main): Recognize `OPTION_VERSION'.
15662
16a88c49
FZ
156632009-11-15 Felix Zielcke <fzielcke@z-51.de>
15664
15665 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
15666 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
15667
a4158476
RM
156682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
15669
15670 Fix help2man generation for mkisofs.
15671
15672 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
15673 (usage): Send output to stdout (rather than stderr).
15674
fc2208b0
RM
156752009-11-14 Robert Millan <rmh.grub@aybabtu.com>
15676
15677 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
15678 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
15679 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
15680 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
15681 (bin_SCRIPTS): Add `grub-mkfloppy'.
15682 (grub_mkfloppy_SOURCES): New variable.
15683
15684 * util/grub-mkrescue.in: New file.
15685 * util/i386/pc/grub-mkfloppy.in: New file.
15686
15687 * util/i386/coreboot/grub-mkrescue.in: Remove.
15688 * util/i386/pc/grub-mkrescue.in: Remove.
15689
8d0edf4a
RM
156902009-11-13 Robert Millan <rmh.grub@aybabtu.com>
15691
15692 * include/grub/multiboot.h (struct grub_multiboot_header): Move
15693 from here ...
15694 * include/multiboot.h (struct multiboot_header): ... to here. Update
15695 all users.
15696 * include/grub/multiboot.h (struct grub_multiboot_info): Move
15697 from here ...
15698 * include/multiboot.h (struct multiboot_info): ... to here. Update
15699 all users.
15700 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
15701 from here ...
15702 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
15703 Update all users.
15704 * include/grub/multiboot.h (struct grub_mod_list): Move
15705 from here ...
15706 * include/multiboot.h (struct multiboot_mod_list): ... to here.
15707 Update all users.
15708
a73f5969
RM
157092009-11-13 Robert Millan <rmh.grub@aybabtu.com>
15710
15711 * include/multiboot2.h (multiboot_word): Rename from this ...
15712 (multiboot2_word): ... to this. Update all users.
15713 (multiboot_header): Rename from this ...
15714 (multiboot2_header): ... to this. Update all users.
15715 (multiboot_tag_header): Rename from this ...
15716 (multiboot2_tag_header): ... to this. Update all users.
15717 (multiboot_tag_start): Rename from this ...
15718 (multiboot2_tag_start): ... to this. Update all users.
15719 (multiboot_tag_name): Rename from this ...
15720 (multiboot2_tag_name): ... to this. Update all users.
15721 (multiboot_tag_module): Rename from this ...
15722 (multiboot2_tag_module): ... to this. Update all users.
15723 (multiboot_tag_memory): Rename from this ...
15724 (multiboot2_tag_memory): ... to this. Update all users.
15725 (multiboot_tag_unused): Rename from this ...
15726 (multiboot2_tag_unused): ... to this. Update all users.
15727 (multiboot_tag_end): Rename from this ...
15728 (multiboot2_tag_end): ... to this. Update all users.
15729
1c8927f0
RM
157302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
15731
15732 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
15733 this platform we should support Multiboot1 first.
15734
15735 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15736 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
15737 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
15738
6e1e0d89
RM
157392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
15740
15741 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
15742 of write calls (converting them to fwrite() if they aren't already).
15743 (get_torito_desc): Likewise.
15744 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
15745
7f2b34d8
RM
157462009-11-12 Robert Millan <rmh.grub@aybabtu.com>
15747
15748 * util/i386/pc/grub-install.in: Move from here ...
15749 * util/grub-install.in: ... to here. Update all users.
15750
c0ef3311
CW
157512009-11-11 Colin Watson <cjwatson@ubuntu.com>
15752
15753 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
15754
e1f240ff
RM
157552009-11-11 Robert Millan <rmh.grub@aybabtu.com>
15756
15757 Support for El Torito without floppy emulation.
15758
15759 * util/mkisofs/eltorito.c: Include `<errno.h>'.
15760 (init_boot_catalog): Improve error handling.
15761 (get_torito_desc): Don't use floppy emulation unless requested by
15762 user. Patch boot information table when requested via
15763 `-boot-info-table'.
15764 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
15765 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
15766 (use_boot_info_table): New variables.
15767 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
15768 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
15769 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
15770 `--eltorito-emul-floppy'.
15771 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
15772 and `OPTION_ELTORITO_EMUL_FLOPPY'.
15773 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
15774 (use_boot_info_table, get_731): New prototypes.
15775 * util/mkisofs/write.c (get_731): New function.
15776
af7d4de5
FZ
157772009-11-11 Felix Zielcke <fzielcke@z-51.de>
15778
15779 Fix the generation of the man page.
15780
15781 * util/pc/i386/grub-install.in: Source
15782 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
15783
2c55dbc0
RM
157842009-11-11 Robert Millan <rmh.grub@aybabtu.com>
15785
15786 Large file support for grub-mkisofs.
15787
15788 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
15789 * util/mkisofs/mkisofs.c (next_extent, last_extent)
15790 (session_start): Upgrade type to `uint64_t'. Update all users.
15791 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
15792 (struct directory_entry): Upgrade type of `starting_block' and
15793 `size' to `uint64_t'. Update all users.
15794 (struct deferred): Remove unused structure.
15795 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
15796 Update all users.
15797 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
15798 file is larger than `UINT32_MAX'.
15799 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
15800 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
15801 return value.
15802 (struct deferred_write): Upgrade type of `extent' and `size' to
15803 `uint64_t'. Update all users.
15804 (last_extent_written): Upgrade type to `uint64_t'. Update all
15805 users.
15806 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
15807 Update all users. Upgrade type of `remain' to `int64_t' and
15808 `use' to `size_t'. Use error() to handle fread() errors.
15809 (write_files): Rely on write_one_file() rather than calling
15810 xfwrite() directly.
15811
6a9cead5
FZ
158122009-11-09 Felix Zielcke <fzielcke@z-51.de>
15813
15814 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
15815
4825d790
RM
158162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15817
15818 * util/mkisofs/fnmatch.c: Remove.
15819 * util/mkisofs/getopt1.c: Likewise.
15820 * util/mkisofs/getopt.c: Likewise.
15821 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
15822 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
15823 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
15824 `gnulib/getopt1.c' and `gnulib/getopt.c'.
15825 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
15826
15827 * configure.ac: Detect `mingw32msvc' host_os.
15828 Check for lstat(), getuid() and getgid().
15829
15830 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
15831 instances of `u_char' with `uint8_t'.
15832
15833 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
15834 [!HAVE_GETUID] (getuid): New function (stub).
15835 [!HAVE_GETGID] (getgid): Likewise.
15836 [!HAVE_LSTAT] (lstat): Likewise.
15837 [!S_IROTH] (S_IROTH): New macro (dummy).
15838 [!S_IRGRP] (S_IRGRP): Likewise.
15839
84b860d8
RM
158402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15841
15842 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
15843 conditional expression).
15844
66e9b712
RM
158452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15846
15847 Import from Gnulib.
15848
15849 * gnulib/fnmatch.c: New file.
15850 * gnulib/fnmatch.h: Likewise.
15851 * gnulib/fnmatch_loop.c: Likewise.
15852 * gnulib/getopt.c: Likewise.
15853 * gnulib/getopt.h: Likewise.
15854 * gnulib/getopt1.c: Likewise.
15855 * gnulib/getopt_int.h: Likewise.
15856 * gnulib/gettext.h: Likewise.
15857
34f4a5b0
RM
158582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15859
15860 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
15861 * normal/handler.c (read_handler_list): Likewise.
15862
ac451143
RM
158632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15864
15865 Misc cleanup.
15866
15867 * kern/command.c (grub_register_command_prio): Use
15868 grub_zalloc() instead of explicitly zeroing data.
15869 * kern/list.c: Include `<grub/mm.h>'.
15870 (grub_named_list_find): Replace `0' with `NULL'.
15871 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
15872 (fs_module_list): Change type to `grub_named_list_t'. Update all
15873 users.
15874 * normal/dyncmd.c (read_command_list): Add space between function
15875 call and parenthesis.
15876 * normal/handler.c (read_handler_list): Likewise.
15877
4089b167
RM
158782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15879
15880 * normal/auth.c (punishment_delay): Moved from here ...
15881 (grub_auth_strcmp): ... to here (inside function).
15882
325f5037
RM
158832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15884
15885 * include/grub/list.h (struct grub_named_list): Remove `const'
15886 qualifier from `name'.
15887 (struct grub_prio_list): Likewise.
15888
7aea29a3
RM
158892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15890
15891 * normal/auth.c: Include `<grub/time.h>'.
15892 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
15893
3fd6f044
RM
158942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15895
15896 * normal/auth.c (punishment_delay): New variable.
15897 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
15898 (grub_auth_check_authentication): Punish failed login attempts with
15899 an incremental (2^N) delay.
15900
a4cd68e4
RM
159012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15902
15903 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
15904 path with $(srcdir).
15905
7ad12f43
VS
159062009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
15909
c1129f03
RM
159102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
15911
15912 * util/i386/coreboot/grub-mkrescue.in: New file.
15913 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
15914 variables.
15915
15916 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
15917 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
15918 * configure.ac: Add header and function checks to satisfy grub-mkisofs
15919 requirements.
15920 * util/mkisofs/defaults.h: New file.
15921 * util/mkisofs/eltorito.c: Likewise.
15922 * util/mkisofs/exclude.h: Likewise.
15923 * util/mkisofs/fnmatch.c: Likewise.
15924 * util/mkisofs/getopt.c: Likewise.
15925 * util/mkisofs/getopt1.c: Likewise.
15926 * util/mkisofs/hash.c: Likewise.
15927 * util/mkisofs/include/fctldefs.h: Likewise.
15928 * util/mkisofs/include/mconfig.h: Likewise.
15929 * util/mkisofs/include/prototyp.h: Likewise.
15930 * util/mkisofs/include/statdefs.h: Likewise.
15931 * util/mkisofs/iso9660.h: Likewise.
15932 * util/mkisofs/joliet.c: Likewise.
15933 * util/mkisofs/match.c: Likewise.
15934 * util/mkisofs/match.h: Likewise.
15935 * util/mkisofs/mkisofs.c: Likewise.
15936 * util/mkisofs/mkisofs.h: Likewise.
15937 * util/mkisofs/multi.c: Likewise.
15938 * util/mkisofs/name.c: Likewise.
15939 * util/mkisofs/rock.c: Likewise.
15940 * util/mkisofs/tree.c: Likewise.
15941 * util/mkisofs/write.c: Likewise.
15942
ec8bb77d
VS
159432009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
15944
15945 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
15946 being insecure.
15947
3716b12c
RM
159482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15949
15950 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
15951 `grub-mkimage' (and use $0 when possible).
15952
b97b7b91
RM
159532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15954
15955 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
15956 error message for excessively large memory map.
15957
04114812
RM
159582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15959
15960 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
15961 executable bit.
15962
e4eb2373
RM
159632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
15964
15965 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
15966 message for coreboot users.
15967
c926e1d5 159682009-11-07 Robert Millan <rmh.grub@aybabtu.com>
15969
15970 Fix build with GNU gold.
15971
15972 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
15973 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
15974 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
15975 link addresses.
15976 * aclocal.m4: Likewise.
15977
86e5b1db 159782009-11-04 Felix Zielcke <fzielcke@z-51.de>
15979
15980 * configure.ac (AC_PREREQ): Bump to 2.59d.
15981 * INSTALL: Make it more clear when Autoconf and Ruby are
15982 needed and when to run `./autogen.sh'.
15983
246cd78f 159842009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
15985
15986 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
15987 OSes.
15988
4f9dfb37 159892009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15990
15991 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
15992
b82bd5e1 159932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15994
15995 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
15996 giving it to GNU Mach.
15997
ff1a9bca 159982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
15999
16000 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
16001 GNU partition number to get internal GRUB partition number.
16002
61697d9c 160032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
16004
16005 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
16006 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
16007
a50569e1 160082009-11-01 Robert Millan <rmh.grub@aybabtu.com>
16009
16010 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
16011 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
16012 case.
16013
5b153867 160142009-11-01 Felix Zielcke <fzielcke@z-51.de>
16015
16016 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
16017
d9e2cd70 160182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
16019
16020 Fix build problem.
16021
16022 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
16023 `-isystem=$(srcdir)/include'.
16024
805111a4 160252009-10-30 Robert Millan <rmh.grub@aybabtu.com>
16026
16027 * util/i386/pc/grub-install.in: Remove hint that device.map should be
16028 checked (grub-install doesn't currently rely on it).
16029
fa6e945f 160302009-10-29 Robert Millan <rmh.grub@aybabtu.com>
16031
16032 Revert SVN r2660.
16033
16034 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
16035 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
16036 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
16037 * conf/i386-ieee1275.rmk: Likewise.
16038 * conf/i386-pc.rmk: Likewise.
16039 * conf/powerpc-ieee1275.rmk: Likewise.
16040 * conf/sparc64-ieee1275.rmk: Likewise.
16041 * conf/x86_64-efi.rmk: Likewise.
16042
cee15086 160432009-10-28 Robert Millan <rmh.grub@aybabtu.com>
16044
16045 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
16046
95b9239e 160472009-10-28 Robert Millan <rmh.grub@aybabtu.com>
16048
16049 * include/grub/misc.h: Stop checking for APPLE_CC.
16050
2ed19dfd 160512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
16052
16053 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
16054 doesn't cause an infinite call loop.
16055
fdcdde19 160562009-10-28 Felix Zielcke <fzielcke@z-51.de>
16057
16058 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
16059 strings.
16060
cefabfe1 160612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16062
16063 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
16064 variable.
16065 * Makefile.in: Likewise.
16066
ed96ab6d 160672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16068
16069 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
16070
0579b753 160712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16072
16073 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
16074
478df409 160752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16076
16077 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
16078
083d1679 160792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16080
16081 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
16082 from here ...
16083 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
16084
5947ae32 160852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16086
16087 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
16088 in $(MAKEINFO) invocation. This makes it clear in output that
16089 errors are being ignored.
16090
94180ff6 160912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16092
16093 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
16094 from here ...
16095 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
16096 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
16097 * conf/i386-ieee1275.rmk: Likewise.
16098 * conf/i386-pc.rmk: Likewise.
16099 * conf/powerpc-ieee1275.rmk: Likewise.
16100 * conf/sparc64-ieee1275.rmk: Likewise.
16101 * conf/x86_64-efi.rmk: Likewise.
16102
9031b03a 161032009-10-26 Colin Watson <cjwatson@ubuntu.com>
16104
16105 * util/grub-editenv.c (main): If only a command is given, use
16106 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
16107 (usage): FILENAME is now optional and has a default.
16108
e4f6809b 161092009-10-26 Colin Watson <cjwatson@ubuntu.com>
16110
16111 Improve grub-mkconfig performance when there are several menu
16112 entries on a single filesystem.
16113
16114 * util/grub.d/10_linux.in (linux_entry): Cache the output of
16115 prepare_grub_to_access_device.
16116 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16117 * util/grub.d/30_os-prober.in: Likewise.
16118
67937d4d 161192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16120
16121 * util/grub.d/10_freebsd.in: Remove.
16122 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
16123 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
16124
ee3756cc 161252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
16126
5c35048e 16127 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 16128
4dea1c6f 161292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16130
16131 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
16132 grub_util_error() call.
16133
042484d7 161342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16135
16136 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
16137 `reserved_first_sector' member.
16138 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
16139 `reserved_first_sector' to 1.
16140 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
16141 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
16142 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
16143 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
16144 filesystems which begin at first sector.
16145 (options): New option --skip-fs-probe.
16146 (main): Handle --skip-fs-probe and pass it to setup().
16147
d64448a7 161482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16149
16150 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
16151 (memset): Fix function prototype.
16152
508d42ec 161532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
161542009-10-25 Vasily Averin <vvs@parallels.com>
16155
16156 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
16157 `dirent.direntlen == 0'.
16158
b240e30c 161592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16160
16161 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
16162 `cpio'.
16163 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
16164
346e7fbe 161652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16166
16167 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
16168 `__trampoline_setup' and `__ucmpdi2'.
16169 * include/grub/powerpc/libgcc.h: Only export symbols for functions
16170 that libgcc provides.
16171
cdb308b0 161722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16173
16174 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
16175 * include/grub/sparc64/libgcc.h (memset): Likewise.
16176 * include/grub/misc.h (memset, memcmp): New function prototypes.
16177
fb26abc2 161782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16179
16180 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
16181 `cpio'.
16182 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
16183
f6693890 161842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
16185
16186 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
16187 * docs/grub.cfg: Compensate for recent change in multiboot
16188 loader (since 2009-08-14 it won't pass filename to payload).
16189 * util/grub.d/10_hurd.in: Likewise.
16190
0933cdc0 161912009-10-21 Felix Zielcke <fzielcke@z-51.de>
16192
16193 * config.guess: Update to latest version from config git
16194 repository.
16195 * config.sub: Likewise.
16196
3b2fe8c2 161972009-10-20 Robert Millan <rmh.grub@aybabtu.com>
16198
16199 Fix build on sparc64.
16200
16201 * configure.ac: Perform checks for libgcc symbols before
16202 adding `-nostdlib' to LDFLAGS.
16203
46695a62 162042009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 Let user specify OpenBSD root device.
16207
16208 * loader/i386/bsd.c (openbsd_root): New variable.
16209 (openbsd_opts): New option 'root'.
16210 (OPENBSD_ROOT_ARG): New macro.
16211 (grub_openbsd_boot): Use 'openbsd_root'.
16212 (grub_cmd_openbsd): Fill 'openbsd_root'.
16213
d2b6b7fc 162142009-10-16 Robert Millan <rmh.grub@aybabtu.com>
16215
16216 * NEWS: Misc adjustments.
16217
421bd7ac 162182009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
16221
f1d29d87 162222009-10-16 Robert Millan <rmh.grub@aybabtu.com>
16223
16224 * configure.ac: Bump version to 1.97.
16225
6f3cd880 162262009-10-16 Colin Watson <cjwatson@ubuntu.com>
16227
16228 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
16229 -mno-3dnow on x86 architectures. Some toolchains enable these
16230 features by default, but they rely on registers that aren't enabled
16231 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
16232
035f7122 162332009-10-15 Robert Millan <rmh.grub@aybabtu.com>
16234
16235 Make entry text a bit more readable.
16236
16237 * util/grub.d/10_linux.in: Add `with' before `Linux'.
16238
44998e58 162392009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
16240
16241 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
16242
cd2851b3 162432009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
16246 operations.
16247
c6f3b249 162482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 * configure.ac: Add missing dollar.
16251
6b5886ba 162522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
16255
16256 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
16257 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
16258 exports.
16259 * include/grub/sparc64/libgcc.h: Likewise. Use
16260 preprocessor conditionals.
16261
e9d66f6d 162622009-10-14 Robert Millan <rmh.grub@aybabtu.com>
16263
16264 * conf/common.rmk (grub-dumpbios): Remove rule.
16265 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
16266 * util/grub-dumpbios.in: Remove file.
16267
9155bc17 162682009-10-14 Robert Millan <rmh.grub@aybabtu.com>
16269
16270 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
16271 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
16272
16273 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
16274 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
16275 users.
16276
16277 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
16278 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
16279 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
16280 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
16281 users.
16282
bf7f7a18 162832009-10-12 Robert Millan <rmh.grub@aybabtu.com>
16284
16285 * term/tparm.c: Switch to GPLv3.
16286
86564c26 162872009-10-09 Robert Millan <rmh.grub@aybabtu.com>
16288
16289 * include/grub/i386/cpuid.h: Add header protection.
16290
5c936493 162912009-10-09 Robert Millan <rmh.grub@aybabtu.com>
16292
16293 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
16294
16295 * include/grub/i386/cpuid.h: New file.
16296 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
16297 (has_longmode): Rename to ...
16298 (grub_cpuid_has_longmode): ... this. Update all users. Remove
16299 `static' attribute.
16300 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
16301 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
16302 on a CPU that doesn't implement AMD64 instruction set.
16303
186e7cf2 163042009-10-06 Colin Watson <cjwatson@ubuntu.com>
16305
16306 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
16307 that version.texi is rebuilt on version number changes.
16308
83b65c4a 163092009-10-06 Colin Watson <cjwatson@ubuntu.com>
16310
16311 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
16312 Fixes bug #27602.
16313
d244281c 163142009-10-06 Colin Watson <cjwatson@ubuntu.com>
16315
16316 * util/i386/pc/grub-install.in: Source
16317 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
16318 that the --grub-probe option will work.
16319 * util/sparc64/ieee1275/grub-install.in: Likewise.
16320
da25306d 163212009-10-05 Robert Millan <rmh.grub@aybabtu.com>
16322
16323 * configure.ac: Bump version to 1.97~beta4.
16324
e8ee83c0 163252009-10-03 Robert Millan <rmh.grub@aybabtu.com>
16326
16327 Resync grub-mkdevicemap in x86_64-efi.
16328
16329 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
16330 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
16331 `util/devicemap.c'.
16332
50dcabcf 163332009-10-01 Colin Watson <cjwatson@ubuntu.com>
16334
16335 * util/grub-editenv.c (create_envblk_file): Write new block with a
16336 .new suffix and then rename it into place, to ensure atomic
16337 creation.
16338
0e51c3a7 163392009-09-28 Robert Millan <rmh.grub@aybabtu.com>
16340
16341 Do not automatically install headers.
16342
16343 * Makefile.in (include_DATA): Remove. Update all users.
16344
31299a95 163452009-09-26 Robert Millan <rmh.grub@aybabtu.com>
16346
16347 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
16348 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
16349
16350 * util/osdetect.lua: Remove.
16351 * script/lua/lauxlib.c: Likewise.
16352 * script/lua/ldebug.c: Likewise.
16353 * script/lua/grub_main.c: Likewise.
16354 * script/lua/lauxlib.h: Likewise.
16355 * script/lua/ldebug.h: Likewise.
16356 * script/lua/ltablib.c: Likewise.
16357 * script/lua/liolib.c: Likewise.
16358 * script/lua/lstrlib.c: Likewise.
16359 * script/lua/lualib.h: Likewise.
16360 * script/lua/ldo.c: Likewise.
16361 * script/lua/ldump.c: Likewise.
16362 * script/lua/ldo.h: Likewise.
16363 * script/lua/loslib.c: Likewise.
16364 * script/lua/lundump.c: Likewise.
16365 * script/lua/grub_lib.c: Likewise.
16366 * script/lua/ldblib.c: Likewise.
16367 * script/lua/lundump.h: Likewise.
16368 * script/lua/lmem.c: Likewise.
16369 * script/lua/grub_lib.h: Likewise.
16370 * script/lua/lmathlib.c: Likewise.
16371 * script/lua/lstate.c: Likewise.
16372 * script/lua/ltm.c: Likewise.
16373 * script/lua/lvm.c: Likewise.
16374 * script/lua/lmem.h: Likewise.
16375 * script/lua/lstate.h: Likewise.
16376 * script/lua/ltm.h: Likewise.
16377 * script/lua/ltable.c: Likewise.
16378 * script/lua/lvm.h: Likewise.
16379 * script/lua/llex.c: Likewise.
16380 * script/lua/lgc.c: Likewise.
16381 * script/lua/grub_lua.h: Likewise.
16382 * script/lua/loadlib.c: Likewise.
16383 * script/lua/lfunc.c: Likewise.
16384 * script/lua/lopcodes.c: Likewise.
16385 * script/lua/lparser.c: Likewise.
16386 * script/lua/ltable.h: Likewise.
16387 * script/lua/llex.h: Likewise.
16388 * script/lua/lgc.h: Likewise.
16389 * script/lua/lfunc.h: Likewise.
16390 * script/lua/lbaselib.c: Likewise.
16391 * script/lua/lopcodes.h: Likewise.
16392 * script/lua/lparser.h: Likewise.
16393 * script/lua/lzio.c: Likewise.
16394 * script/lua/linit.c: Likewise.
16395 * script/lua/lobject.c: Likewise.
16396 * script/lua/llimits.h: Likewise.
16397 * script/lua/lstring.c: Likewise.
16398 * script/lua/lzio.h: Likewise.
16399 * script/lua/lapi.c: Likewise.
16400 * script/lua/lcode.c: Likewise.
16401 * script/lua/lua.h: Likewise.
16402 * script/lua/lobject.h: Likewise.
16403 * script/lua/lstring.h: Likewise.
16404 * script/lua/lapi.h: Likewise.
16405 * script/lua/lcode.h: Likewise.
16406 * script/lua/luaconf.h: Likewise.
16407
cb8a2c38 164082009-09-26 Colin Watson <cjwatson@ubuntu.com>
16409
16410 * docs/grub.texi (Command-line and menu entry commands): Document
16411 date and echo commands.
16412
6b9b6276 164132009-09-24 Pavel Roskin <proski@gnu.org>
16414
16415 * include/grub/kernel.h (struct grub_module_header): Remove
16416 `grub_module_header_types'. Make `type' unsigned. Make `size'
16417 32-bit on all platforms.
16418 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
16419 8-bit field. Use grub_host_to_target32() for `size'.
16420 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
16421 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
16422 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
16423
4e5a02a7 164242009-09-24 Robert Millan <rmh.grub@aybabtu.com>
16425
16426 Fix "lost keypress" bug in at_keyboard.
16427
16428 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
16429 Checks for readyness of input buffer (without flushing it).
16430 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
16431 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
16432
c6dcedf6 164332009-09-24 Robert Millan <rmh.grub@aybabtu.com>
16434
16435 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
16436 size check within GRUB_MACHINE_PCBIOS section.
16437
74c958b1 164382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
16439
16440 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
16441 return value.
16442 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
16443 KEYBOARD_ISREADY check.
16444 (grub_at_keyboard_checkkey): Rename to ...
16445 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
16446 Remove gratuitous cast.
16447
ff420223 164482009-09-23 Colin Watson <cjwatson@ubuntu.com>
16449
16450 * configure.ac: Call AC_PROG_MKDIR_P.
16451 * Makefile.in (docs/stamp-vti): Create docs directory. Create
16452 version.texi in $(builddir) rather than $(srcdir).
16453 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
16454 to makeinfo's @include search path.
16455
d96875df 164562009-09-23 Felix Zielcke <fzielcke@z-51.de>
16457
16458 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
16459
9b3f8365 164602009-09-23 Felix Zielcke <fzielcke@z-51.de>
16461
16462 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
16463 for `*.dpkg-new'.
16464
c44c90db 164652009-09-21 Colin Watson <cjwatson@ubuntu.com>
16466
16467 Build info documentation. Some code borrowed from Automake.
16468
16469 * configure.ac: Check for makeinfo.
16470 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
16471 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
16472 docs/version.texi.
16473 (MOSTLYCLEANFILES): Add vti.tmp.
16474 (docs/version.texi, docs/stamp-vti): Update automatically.
16475 (docs/grub.info): Build info documentation. Use --force and ignore
16476 errors for now.
16477 (all-local): Add $(INFOS).
16478 (install-local): Install info files.
16479 (uninstall): Uninstall info files.
16480 * docs/version.texi: Remove from revision control. This file is
16481 automatically generated on build now.
16482 * gendistlist.sh: Add `*.info'.
16483
e0b37bb5 164842009-09-21 Felix Zielcke <fzielcke@z-51.de>
16485
16486 * kern/term.c: Fix indentation.
16487
5a78865b 164882009-09-21 Felix Zielcke <fzielcke@z-51.de>
16489
16490 * util/hostdisk.c: Fix a comment.
16491
dace7e8a 164922009-09-20 Robert Millan <rmh.grub@aybabtu.com>
16493
16494 Fix regression introduced in r2539.
16495
16496 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
16497 to 0xA1.
16498
a83d079b 164992009-09-19 Colin Watson <cjwatson@ubuntu.com>
16500
16501 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 16502 os-prober. Under normal operation, it does not print anything to
16503 stderr; if it does, we need to debug it, and throwing away stderr
16504 makes that excessively difficult.
a83d079b 16505
be94a509 165062009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
16507
16508 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
16509
63f745e8 165102009-09-16 Robert Millan <rmh.grub@aybabtu.com>
16511
16512 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
16513 AC_LANG_PROGRAM from autoconf.
16514 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
16515 prototypes (fixes warning).
16516
16517 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
16518 `--disable-werror' was used.
16519
bbb2a70f 165202009-09-16 Robert Millan <rmh.grub@aybabtu.com>
16521
16522 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
16523 uninitialized `lastaddr'.
16524
77c24f1d 165252009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
16526
0f0b8c87 16527 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 16528
07197f23 165292009-09-14 Colin Watson <cjwatson@ubuntu.com>
16530
16531 * commands/test.c (get_fileinfo): Return immediately if
16532 grub_fs_probe fails.
16533
dabf1798 165342009-09-14 José Martínez <xosemp@gmail.com>
16535
16536 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
16537
d52109a7 165382009-09-14 Colin Watson <cjwatson@ubuntu.com>
16539
16540 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
16541 output.
16542
56532179 165432009-09-13 Robert Millan <rmh.grub@aybabtu.com>
16544
16545 * configure.ac: Remove --enable-grub-pe2elf. Only build
16546 grub-pe2elf when needed by the build system itself.
16547 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
16548
8ef070f5 165492009-09-12 Robert Millan <rmh.grub@aybabtu.com>
16550
16551 * configure.ac: Bump version to 1.97~beta3.
16552 * docs/version.texi: Likewise.
16553
61229557 165542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
16555
16556 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
16557 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
16558 from here ...
16559 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
16560 (grub_linux_setup_video): ... to here (with some adjustments).
16561
5c9f8d84 165622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
16563
16564 Fix memory corruption issue (spotted by Colin Watson).
16565
16566 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
16567 causing returned size to be stored in an incorrect memory location.
16568 Fix use of uninitialized value when storing the returned size.
16569
e8f5d6e9 165702009-09-12 Yves Blusseau <blusseau@zetam.org>
16571
16572 Change clean rules to properly remove files
16573
16574 * genmk.rb: add new clean rules
16575 * Makefile.in (clean): add the new targets
16576 (mostlyclean): likewise
16577
cda2a409 165782009-09-11 Colin Watson <cjwatson@ubuntu.com>
16579
16580 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
16581 to grub_uint64_t.
16582 * fs/ntfs.c (init_file): Understand 64-bit sizes for
16583 non-resident files.
16584
86695375 165852009-09-11 Colin Watson <cjwatson@ubuntu.com>
16586
16587 * configure.ac: Don't look for help2man when cross-compiling. Fixes
16588 part of bug #27349.
16589
8aa1541a 165902009-09-10 Felix Zielcke <fzielcke@z-51.de>
16591
16592 * util/grub-mkconfig.in: Make the created config mode 400 and
16593 print a warning if it fails.
16594
48d9bb0a 165952009-09-10 Robert Millan <rmh.grub@aybabtu.com>
16596
16597 * util/grub.d/40_custom.in: Ask user to type custom entries below
16598 comment, rather than below 'exec tail' line.
16599
3b0521be 166002009-09-10 Colin Watson <cjwatson@ubuntu.com>
16601
16602 * util/grub.d/40_custom.in: Make sure that the explanatory text is
16603 visible in grub.cfg.
16604
50051d55 166052009-09-10 Colin Watson <cjwatson@ubuntu.com>
16606
16607 * util/grub.d/40_custom.in: Make it a little clearer how to use this
16608 file.
16609
c0d34387 166102009-09-10 Felix Zielcke <fzielcke@z-51.de>
16611
16612 * docs/grub.cfg: Add an example menu entry for memtest86+.
16613
80a608f3 166142009-09-09 Felix Zielcke <fzielcke@z-51.de>
16615
a2094832 16616 * config.guess: Update to latest version from config git.
80a608f3 16617 * config.sub: Likewise.
16618
99423078 166192009-09-08 Colin Watson <cjwatson@ubuntu.com>
16620
16621 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
16622 unknown-command case. Fixes bug #27320.
16623
44454e4c 166242009-09-08 Felix Zielcke <fzielcke@z-51.de>
16625
16626 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
16627 `help' if the command exists.
16628
e30d87ad 166292009-09-06 Robert Millan <rmh.grub@aybabtu.com>
16630
16631 * INSTALL: Require GCC 4.1.3 or later.
16632
9a86f1ec 166332009-09-06 Yves Blusseau <blusseau@zetam.org>
16634
16635 * Makefile.in (RMKFILES): add i386-qemu.rmk
16636 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
16637 $(srcdir)/stamp-h.in
16638
7f26d466 166392009-09-05 Robert Millan <rmh.grub@aybabtu.com>
16640
16641 * util/grub-probe.c (probe): Comment out buggy codepath, which
16642 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
16643 should be re-enabled after 1.97.
16644
3a613259 166452009-09-05 Felix Zielcke <fzielcke@z-51.de>
16646
16647 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
16648 find searches for.
16649
197f76c7 166502009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
16653 unnecessary calls to grub_error.
16654
70ba68ce 166552009-09-04 Colin Watson <cjwatson@ubuntu.com>
16656
16657 * NEWS: Mention `keystatus' and Unicode fonts.
16658
4ff0d7a4 166592009-09-04 Robert Millan <rmh.grub@aybabtu.com>
16660
16661 * configure.ac: Bump version to 1.97~beta2.
16662 * docs/version.texi: Likewise.
16663
77c55a87 166642009-09-03 Colin Watson <cjwatson@ubuntu.com>
16665
16666 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
16667 containing unwind information in some cases where it previously did
16668 not. Use -fno-dwarf2-cfi-asm if available to restore the old
16669 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
16670 discussion.
16671
f79572cd 166722009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
16673
16674 Embedding loadenv module into grub-emu
16675
16676 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
16677 commands/loadenv.c
16678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
16679 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
16680 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
16681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
16682 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
16683 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
16684
93a81088 166852009-09-03 Magnus Granberg <zorry@ume.nu>
16686
16687 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
16688 include -fPIE in the default specs.
16689 * configure.ac: Check if pie_possible is yes and add -fno-PIE
16690 to TARGET_CFLAGS.
16691
160034b2 166922009-09-03 Felix Zielcke <fzielcke@z-51.de>
16693
16694 * INSTALL: Note that GNU Bison 2.3 or later is required.
16695
087c07c4 166962009-09-03 Colin Watson <cjwatson@ubuntu.com>
16697
16698 * kern/i386/pc/startup.S: Fix typo.
16699
cbf978c0 167002009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16701
16702 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
16703 according to GCS.
16704
167052009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 16706
16707 * docs/grub.texi (Naming convention): Describe one-based partition
16708 numbering.
16709 (Device syntax): Likewise.
16710 (File name syntax): Likewise.
16711 (Block list syntax): Likewise.
16712 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
16713 menu.lst.
16714 (File name syntax): Likewise.
16715 (Command-line and menu entry commands): Document acpi, blocklist,
16716 crc, export, insmod, keystatus, ls, set, and unset commands.
16717
f3e8cdfd 167182009-09-02 Colin Watson <cjwatson@ubuntu.com>
16719
16720 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
16721 to avoid implying that only one of --shift, --ctrl, or --alt may be
16722 used.
16723
c0bc232b 167242009-09-02 Colin Watson <cjwatson@ubuntu.com>
16725
16726 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
16727 rather than comparing against S_IFREG, which will almost never work.
16728
aa0f752d 167292009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16730
16731 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
16732 (write_blocklists): Likewise.
16733
ecb3166a 167342009-09-01 Colin Watson <cjwatson@ubuntu.com>
16735
16736 * script/lua/grub_lua.h (fputs): Supply a format string as the first
16737 argument to grub_printf.
16738
c403a125 167392009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 16740
16741 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 16742 non GNU test.
31aba781 16743
b5e7312c 167442009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16745
16746 * kern/file.c (grub_file_read): Spelling fix
16747
fe00f472 167482009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16749
16750 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
16751 loading of headers in some cases.
16752
cc55302e 167532009-08-30 Robert Millan <rmh.grub@aybabtu.com>
16754
16755 * configure.ac: Bump version to 1.97~beta1.
16756 * docs/version.texi: Likewise.
16757
5c90cdd2 167582009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 16759
16760 * include/grub/i386/xnu.h: Add license header.
16761 include grub/err.h explicitly.
16762
c90edae4 167632009-08-29 Robert Millan <rmh.grub@aybabtu.com>
16764
16765 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
16766 to `ufs' in the vfs.root.mountfrom kernel parameter.
16767
d8888b5c 167682009-08-29 Robert Millan <rmh.grub@aybabtu.com>
16769
16770 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
16771
16772 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
16773 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
16774
16775 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
16776 `ARRAY_SIZE' macro.
16777
6f07b921 167782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16779
16780 * kern/file.c (grub_file_read): Check offset.
16781 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
16782 * fs/jfs.c (grub_jfs_read_file): Likewise.
16783 * fs/ntfs.c (grub_ntfs_read): Likewise.
16784 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
16785 * fs/minix.c (grub_minix_read_file): Correct offset check.
16786 * fs/ufs.c (grub_ufs_read_file): Likewise.
16787
b4f34077 167882009-08-28 Colin Watson <cjwatson@ubuntu.com>
16789
16790 * term/i386/pc/console.c (bios_data_area): Cast
16791 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
16792
e7c69859 167932009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 1-bit optimised blitters.
16796
16797 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
16798 prototype.
16799 (grub_video_fbblit_replace_24bit_1bit): Likewise.
16800 (grub_video_fbblit_replace_16bit_1bit): Likewise.
16801 (grub_video_fbblit_replace_8bit_1bit): Likewise.
16802 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
16803 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
16804 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
16805 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
16806 function.
16807 (grub_video_fbblit_replace_24bit_1bit): Likewise.
16808 (grub_video_fbblit_replace_16bit_1bit): Likewise.
16809 (grub_video_fbblit_replace_8bit_1bit): Likewise.
16810 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
16811 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
16812 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
16813 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
16814 when possible.
16815 * video/video.c (grub_video_get_blit_format): Return
16816 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
16817
a57da43f 168182009-08-28 Colin Watson <cjwatson@ubuntu.com>
16819
16820 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
16821 the first argument to grub_printf.
16822
4cbe67e5 168232009-08-28 Colin Watson <cjwatson@ubuntu.com>
168242009-08-28 Robert Millan <rmh.grub@aybabtu.com>
16825
16826 Add `getkeystatus' terminal method. Add a new `keystatus' command
16827 to query it.
16828
16829 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
16830 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
16831 modifier key bitmasks.
16832 (struct grub_term_input): Add `getkeystatus' member.
16833 (grub_getkeystatus): Add prototype.
16834 * kern/term.c (grub_getkeystatus): New function.
16835
16836 * include/grub/i386/pc/memory.h
16837 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
16838 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
16839 Data Area layout.
16840 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
16841 (grub_console_term_input): Set `getkeystatus' member.
16842 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
16843 constants.
16844 (grub_usb_keyboard_getreport): Likewise.
16845 (grub_usb_keyboard_checkkey): Likewise.
16846 (grub_usb_keyboard_getkeystatus): New function.
16847 (grub_usb_keyboard_term): Set `getkeystatus' member.
16848
16849 * commands/keystatus.c: New file.
16850 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
16851 (keystatus_mod_SOURCES): New variable.
16852 (keystatus_mod_CFLAGS): Likewise.
16853 (keystatus_mod_LDFLAGS): Likewise.
16854 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
16855 commands/keystatus.c.
16856 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16857 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16858 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16860 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16861 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 16862
6e2a9085 168632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 Split befs.mod and afs.mod into *_be.mod and *.mod
16866
16867 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
16868 (grub_fstest_SOURCES): Likewise.
16869 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
16870 (afs_be_mod_SOURCES): New variable.
16871 (afs_be_mod_CFLAGS): Likewise.
16872 (afs_be_mod_LDFLAGS): Likewise.
16873 (befs_be_mod_SOURCES): Likewise.
16874 (befs_be_mod_CFLAGS): Likewise.
16875 (befs_be_mod_LDFLAGS): Likewise.
16876 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
16877 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16878 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16879 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16880 (grub_emu_SOURCES): Likewise.
16881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16882 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16883 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16884 * fs/afs_be.c: New file.
16885 * fs/befs_be.c: New file.
16886 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
16887 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
16888 (U16): Replaced with ...
16889 (grub_afs_to_cpu16): ...this. All users updated.
16890 (U32): Replaced with ...
16891 (grub_afs_to_cpu32): ...this. All users updated.
16892 (U64): Replaced with ...
16893 (grub_afs_to_cpu64): ...this. All users updated.
16894 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
16895 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 16896 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 16897 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
16898 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
16899 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
16900 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
16901 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
16902 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
16903 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
16904 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
16905
32a71655 169062009-08-26 Bean <bean123ch@gmail.com>
16907
16908 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
16909 64-bit number.
16910 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
16911 (grub_xfs_inode_block): Change return type to grub_uint64_t.
16912 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
16913
552bf6c5 169142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16915
16916 NetBSD memory map support.
16917
16918 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
16919 (grub_netbsd_btinfo_mmap_header): New structure.
16920 (grub_netbsd_btinfo_mmap_entry): Likewise.
16921 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
16922
1ae2078c 169232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 Enable bsd.mod on coreboot.
16926
16927 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
16928 (bsd_mod_SOURCES): New variable.
16929 (bsd_mod_CFLAGS): Likewise.
16930 (bsd_mod_LDFLAGS): Likewise.
16931 (bsd_mod_ASFLAGS): Likewise.
16932 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
16933 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
16934
beefc598 169352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 Cleanup NetBSD root support.
16938
16939 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
16940 grub_bsd_get_device.
16941 Fix typo.
16942
3b76e68b 169432009-08-25 Felix Zielcke <fzielcke@z-51.de>
16944
16945 * util/grub.d/00_header.in: Move check for the video backend of
16946 gfxterm from here ...
16947 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
16948 a suitable video backend.
16949
aea664ea 169502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16951
16952 Fix breakage in grub-setup.
16953
16954 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
16955 "msdos_partition_map".
16956
ff747d50 169572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 Fix breakage in normal/auth.c.
16960
16961 * normal/auth.c (grub_iswordseparator): New function.
16962
e7e1f93f 169632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
16964
16965 Authentication support.
16966
16967 * commands/password.c: New file.
16968 * conf/common.rmk (pkglib_MODULES): Add password.mod.
16969 (password_mod_SOURCES): New variable.
16970 (password_mod_CFLAGS): Likewise.
16971 (password_mod_LDFLAGS): Likewise.
16972 (normal_mod_SOURCES): Add normal/auth.c.
16973 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
16974 normal/auth.c.
16975 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16976 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16977 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16979 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16980 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16981 * include/grub/auth.h: New file.
16982 * include/grub/err.h (grub_err_t): New enum value
16983 GRUB_ERR_ACCESS_DENIED.
16984 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
16985 'users'.
16986 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
16987 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
16988 users updated.
16989 * normal/auth.c: New file.
16990 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
16991 (grub_cmdline_run): Don't allow to go to command line without
16992 authentication.
16993 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
16994 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
16995 menuentry without superuser rights.
16996 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
16997 user isn't a superuser.
16998
70f1161d 169992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 Save space by inlining misc.c functions.
17002
17003 * kern/misc.c (grub_iswordseparator): Made static.
17004 * kern/misc.c (grub_strcat): Moved from here ...
17005 * include/grub/misc.h (grub_strcat): ... here. Inlined.
17006 * kern/misc.c (grub_strncat): Moved from here ...
17007 * include/grub/misc.h (grub_strncat): ... here. Inlined.
17008 * kern/misc.c (grub_strcasecmp): Moved from here ...
17009 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
17010 * kern/misc.c (grub_strncasecmp): Moved from here ...
17011 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
17012 * kern/misc.c (grub_isalpha): Moved from here ...
17013 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
17014 * kern/misc.c (grub_isdigit): Moved from here ...
17015 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
17016 * kern/misc.c (grub_isgraph): Moved from here ...
17017 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
17018 * kern/misc.c (grub_tolower): Moved from here ...
17019 * include/grub/misc.h (grub_tolower): ... here. Inlined.
17020
48e40bff 170212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17022
17023 * script/sh/function.c (grub_script_function_find): Cut error message
17024 not to flood terminal.
17025 * script/sh/lexer.c (grub_script_yylex): Remove command line length
17026 limit.
17027 * script/sh/script.c (grub_script_arg_add): Duplicate string.
17028
c385bfc3 170292009-08-24 Colin Watson <cjwatson@ubuntu.com>
17030
17031 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
17032 `report' grub_uint8_t *.
17033 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
17034 Use a 50-millisecond timeout rather than just repeating
17035 grub_usb_keyboard_getreport 50 times.
17036 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
17037
2d21e3e8 170382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 Rename *_partition_map to part_*
17041
17042 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
17043 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
17044 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
17045 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
17046 All users updated.
17047 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
17048 All users updated.
17049 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
17050 * util/grub-probe.c (probe_partmap): Don't transform partition name
17051 to get module name.
17052
dd103c4e 170532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17054
17055 Fix OpenBSD and NetBSD support.
17056
17057 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
17058 memory address conflict.
17059 (OPENBSD_MMAP_ACPI): New definition.
17060 (OPENBSD_MMAP_NVS): Likewise.
17061 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
17062 and OPENBSD_MMAP_NVS.
17063 Add memory map terminator
17064 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 17065 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 17066
16c84d74 170672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 Let user specify NetBSD root device.
17070
17071 * loader/i386/bsd.c (netbsd_root): New variable.
17072 (netbsd_opts): New option 'root'.
17073 (NETBSD_ROOT_ARG): New macro.
17074 (grub_netbsd_boot): Use 'netbsd_root'.
17075 (grub_bsd_unload): Free 'netbsd_root'.
17076 (grub_cmd_netbsd): Fill 'netbsd_root'.
17077
adb29902 170782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17079
17080 Support for 64-bit NetBSD.
17081
17082 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
17083 point when booting non-FreeBSD.
17084
f5ae9f74 170852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 Support --no-smp and --no-acpi for NetBSD.
17088
17089 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
17090 (NETBSD_AB_NOACPI): Likewise.
17091 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
17092 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
17093
de74f136 170942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17095
17096 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
17097 errors.
17098 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
17099 errors. Call grub_error when needed.
17100
e9a925da 171012009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * commands/search.c (search_fs): Try searching without autoload first.
17104 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
17105 filesystem module explicitly for faster booting.
17106
5174302b 171072009-08-23 Colin Watson <cjwatson@ubuntu.com>
17108
17109 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
17110
c8c80635 171112009-08-23 Colin Watson <cjwatson@ubuntu.com>
17112
17113 * util/grub.d/30_os-prober.in: Disable os-prober if
17114 `GRUB_DISABLE_OS_PROBER' was set to true.
17115
71acf5e5 171162009-08-23 Robert Millan <rmh.grub@aybabtu.com>
17117
17118 * partmap/pc.c: Rename to ...
17119 * partmap/msdos.c: ... this. Update all users.
17120 (grub_pc_partition_map): Rename to ...
17121 (grub_msdos_partition_map): ... this. Update all users.
17122
17123 * parttool/pcpart.c: Rename to ...
17124 * parttool/msdospart.c: ... this. Update all users.
17125
17126 * include/grub/pc_partition.h: Rename to ...
17127 * include/grub/msdos_partition.h: ... this. Update all users.
17128 (grub_pc_partition_bsd_entry): Rename to ...
17129 (grub_msdos_partition_bsd_entry): ... this. Update all users.
17130 (grub_pc_partition_disk_label): Rename to ...
17131 (grub_msdos_partition_disk_label): ... this. Update all users.
17132 (grub_pc_partition_entry): Rename to ...
17133 (grub_msdos_partition_entry): ... this. Update all users.
17134 (grub_pc_partition_mbr): Rename to ...
17135 (grub_msdos_partition_mbr): ... this. Update all users.
17136 (grub_pc_partition): Rename to ...
17137 (grub_msdos_partition): ... this. Update all users.
17138 (grub_pc_partition_is_empty): Rename to ...
17139 (grub_msdos_partition_is_empty): ... this. Update all users.
17140 (grub_pc_partition_is_extended): Rename to ...
17141 (grub_msdos_partition_is_extended): ... this. Update all users.
17142 (grub_pc_partition_is_bsd): Rename to ...
17143 (grub_msdos_partition_is_bsd): ... this. Update all users.
17144
17145 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
17146 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
17147 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
17148 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
17149 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
17150 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
17151 (gpt_mod_LDFLAGS): Rename to ...
17152 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
17153 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
17154 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
17155 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
17156 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
17157 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
17158 (part_gpt_mod_LDFLAGS): ... this.
17159 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
17160 `pcpart.mod' to `msdospart.mod'.
17161 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
17162 to ...
17163 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
17164 (msdospart_mod_LDFLAGS): ... this.
17165
c11fded5 171662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
17169 (openbsd_opts): Likewise.
17170 (netbsd_opts): Likewise.
17171 (freebsd_flags): Added 0 terminator.
17172 (openbsd_flags): Likewise.
17173 (netbsd_flags): Likewise.
17174 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
17175 (grub_cmd_freebsd): Transformed into extended command.
17176 (grub_cmd_openbsd): Likewise.
17177 (grub_cmd_netbsd): Likewise.
17178 (cmd_freebsd): Changed type to grub_extcmd_t.
17179 (cmd_openbsd): Likewise.
17180 (cmd_netbsd): Likewise.
17181 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
17182 grub_cmd_openbsd as extended commands.
17183 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
17184 cmd_netbsd and cmd_openbsd
17185
11d1c769 171862009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17187
17188 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
17189
7a9094e5 171902009-08-21 Pavel Roskin <proski@gnu.org>
17191
5496c37e 17192 * Makefile.in (install-local): When checking if a file is in the
17193 build directory, use "test -e" to detect symlinks.
17194
7a9094e5 17195 * Makefile.in (install-local): Remove all files in
17196 $(DESTDIR)$(pkglibdir) before installing new files there.
17197
e53cea11 171982009-08-18 Felix Zielcke <fzielcke@z-51.de>
17199
17200 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
17201 grub-mkelfimage.
17202
9aced544 172032009-08-18 Felix Zielcke <fzielcke@z-51.de>
17204
17205 * util/grub-mkconfig.in: Don't use gfxterm by default if not
17206 explicitly specified by the user.
17207
b7da6bab 172082009-08-18 Pavel Roskin <proski@gnu.org>
17209
17210 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
17211 grub_uint8_t pointer for data.
17212 * include/grub/fbutil.h (struct grub_video_fbblit_info):
17213 Likewise.
17214 * video/fb/fbutil.c: Remove unnecessary casts.
17215
19f1b335 172162009-08-17 Michal Suchanek <hramrach@centrum.cz>
17217
17218 VBE cleanup.
17219
17220 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
17221 (grub_vbe_set_video_mode): Save active mode info
17222 only after setting the mode.
17223 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
17224 second argument.
17225
2f467aa9 172262009-08-17 Michal Suchanek <hramrach@centrum.cz>
17227
17228 Rename variables for clarity.
17229
17230 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
17231 (active_vbe_mode_info): ... this. All users updated.
17232 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
17233 All users updated.
17234 (initial_mode): Rename to ...
17235 (initial_vbe_mode): ... this. All users updated.
17236 (mode_in_use): Rename to ..
17237 (vbe_mode_in_use): ... this. All users updated.
17238 (mode_list): Rename to ..
17239 (vbe_mode_list): ... this. All users updated.
17240 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
17241 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
17242 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
17243 'mode_list_size' to 'vbe_mode_list_size'.
17244 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
17245 'best_mode_info' to 'best_vbe_mode_info' and
17246 'best_mode' to 'best_vbe_mode'
17247
6025fcd7 172482009-08-17 Michal Suchanek <hramrach@centrum.cz>
17249
17250 Remove duplicate grub_video_fb_get_video_ptr.
17251
17252 * include/grub/fbutil.h (get_data_ptr): Rename to ...
17253 (grub_video_fb_get_video_ptr): ... this.
17254 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
17255 * video/fb/fbutil.c: Add comment about addressing.
17256 (get_data_ptr): Rename to ...
17257 (grub_video_fb_get_video_ptr): ... this. All users updated.
17258 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
17259
cc8c6faf 172602009-08-17 Robert Millan <rmh.grub@aybabtu.com>
17261
17262 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
17263 grub_dprintf() that was just added.
17264
08aa61f0 172652009-08-17 Robert Millan <rmh.grub@aybabtu.com>
17266
17267 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
17268 (DEFAULT_VIDEO_MODE): Remove macros.
17269 (grub_linux_boot): Remove assumption that Linux has FB support,
17270 and use "text" as default video mode.
17271
7cef4f75 172722009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
17275 grub_dprintf.
17276 * fs/fat.c (grub_fat_read_data): Likewise.
17277
e1f39873 172782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17279
17280 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
17281 payload.
17282 (grub_module): Likewise.
17283
c166d79e 172842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
17287 mbi->cmdline but free playground.
17288
c60cee8e 172892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17290
17291 Handle group offset on UFS1.
17292
17293 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
17294 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
17295
c0d8b5d4 172962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17297
17298 Split ufs.mod into ufs1.mod and ufs2.mod.
17299
17300 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
17301 (grub_fstest_SOURCES): Likewise.
17302 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
17303 (ufs_mod_SOURCES): Remove.
17304 (ufs_mod_CFLAGS): Likewise.
17305 (ufs_mod_LDFLAGS): Likewise.
17306 (ufs1_mod_SOURCES): New variable.
17307 (ufs1_mod_CFLAGS): Likewise.
17308 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 17309 (ufs2_mod_SOURCES): New variable.
17310 (ufs2_mod_CFLAGS): Likewise.
17311 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 17312 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
17313 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
17314 Likewise.
17315 (grub_emu_SOURCES): Likewise.
17316 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17317 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17318 (grub_setup_SOURCES): Likewise.
17319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17320 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
17321 (grub_setup_SOURCES): Likewise.
17322 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
17323 Likewise.
17324 * fs/ufs2.c: New file.
17325 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
17326
d3539132 173272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
17328
17329 Framebuffer split.
17330
17331 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
17332 subsystem at the end.
17333 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
17334 (video_fb_mod_SOURCES): New variable.
17335 (video_fb_mod_CFLAGS): Likewise.
17336 (video_fb_mod_LDFLAGS): Likewise.
17337 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
17338 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
17339 * video/i386/pc/vbeblit.c: Moved from here ...
17340 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
17341 * video/i386/pc/vbefill.c: Moved from here ...
17342 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
17343 * video/i386/pc/vbeutil.c: Moved from here ...
17344 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
17345 * include/grub/i386/pc/vbeblit.h: Moved from here ...
17346 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
17347 * include/grub/i386/pc/vbefill.h: Moved from here ...
17348 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
17349 * include/grub/i386/pc/vbeutil.h: Moved from here ...
17350 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
17351 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
17352 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
17353 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
17354 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
17355 (grub_video_adapter): Added 'get_info_and_fini'.
17356 (grub_video_get_info_and_fini): New prototype.
17357 (grub_video_set_mode): make modestring const char *.
17358 * loader/i386/linux.c (grub_linux_setup_video): Use
17359 grub_video_get_info_and_fini.
17360 (grub_linux_boot): Move modesetting just before booting.
17361 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
17362 grub_video_get_info_and_fini.
17363 * video/i386/pc/vbe.c: Moved framebuffer part ...
17364 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
17365 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
17366 grub_video_fbstd_colors and grub_video_fb_set_palette.
17367 (grub_video_vbe_init): Clear 'framebuffer' variable and use
17368 grub_video_fb_init.
17369 (grub_video_vbe_fini): Use grub_video_fb_fini.
17370 (grub_video_vbe_setup): Use framebuffer.render_target instead of
17371 render_target and use grub_video_fb_set_active_render_target and
17372 grub_video_fb_set_palette.
17373 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
17374 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
17375 (grub_video_vbe_adapter): Use framebuffer.
17376 * video/video.c (grub_video_get_info_and_fini): New function.
17377 (grub_video_set_mode): Make modestring const char *.
17378 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
17379 values are already initialised.
17380
d404ee56 173812009-08-14 Pavel Roskin <proski@gnu.org>
17382
17383 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
17384 ABS and APPLE_CC.
17385 * boot/i386/pc/diskboot.S: Likewise.
17386 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
17387 sectors allow compilation on MacOSX.
17388 * conf/i386-pc.rmk: Enable unconditional compilation of
17389 lnxboot.img.
17390
9a10df16 173912009-08-13 Colin Watson <cjwatson@ubuntu.com>
17392
17393 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
17394 * util/grub.d/00_header.in: Enter interruptible sleep if
17395 GRUB_HIDDEN_TIMEOUT is set.
17396
be3c9ca7 173972009-08-13 Yves Blusseau <blusseau@zetam.org>
17398
17399 * include/grub/symbol.h: Add the LOCAL macro.
17400 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
17401 starting with "L_".
17402
1f9e557e 174032009-08-13 Pavel Roskin <proski@gnu.org>
17404
9ca62843 17405 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
17406 any modern compilers we support.
17407
1f9e557e 17408 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
17409 Use local labels starting with "L_" so that Apple assembler
17410 knows they are local.
17411
81623db6 174122009-08-10 Robert Millan <rmh.grub@aybabtu.com>
17413
17414 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
17415 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
17416 (bsd_kernel_types): ... this enum.
17417
17418 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
17419 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
17420 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
17421
17422 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
17423 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
17424 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
17425 messages.
17426
f5d35e7a 174272009-08-08 Robert Millan <rmh.grub@aybabtu.com>
17428
17429 * util/grub-dumpdevtree: Moved from here ...
17430 * util/i386/efi/grub-dumpdevtree: ... to here.
17431 (hexify): New function. Converts a string to its hex version.
17432 Generate hex versions of "efi" and "device-properties" by calling
17433 hexify() on the ASCII strings rather than by hardcoding numbers.
17434
d1e1d527 174352009-08-08 Robert Millan <rmh.grub@aybabtu.com>
17436
17437 * fs/jfs.c: Update copyright year.
17438
1ebbe064 174392009-08-08 Felix Zielcke <fzielcke@z-51.de>
17440
17441 * util/grub.d/00_header.in: Fix a comment.
17442 * util/grub.d/10_linux.in: Likewise.
17443 * util/grub.d/10_windows.in: Likewise.
17444 * util/grub.d/10_hurd.in: Likewise.
17445
a78c8d24 174462009-08-08 Felix Zielcke <fzielcke@z-51.de>
17447
17448 * util/grub-mkconfig.in: Allow the user to specify the used font
17449 with GRUB_FONT.
17450
29a6b9e8 174512009-08-08 Pavel Roskin <proski@gnu.org>
17452
b5f16cc4 17453 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
17454 available, xfs.mod needs it now.
17455
2f5cb827 17456 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
17457 the "g" modifier in sed when the intention is to strip something
17458 once. This fixes comparison of kernels with multiple dashes.
17459
29a6b9e8 17460 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
17461 on it. Add missing space before closing bracket. Fix
17462 misleading formatting.
17463
892a3d98 174642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17465
17466 * docs/grub.texi: Major overhaul. Remove all sections that are
17467 specific to GRUB Legacy, or mostly composed of Legacy-specific
17468 information.
17469
ed94253f 174702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17471
17472 * docs/version.texi: New file. Provides version information for
17473 grub.texi.
17474
126d6628 174752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17476
17477 * docs/grub.texi: Update CVS information to SVN.
17478 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
17479
998b5aa9 174802009-08-07 Felix Zielcke <fzielcke@z-51.de>
17481
17482 * util/grub-mkconfig.in: Remove a wrong `fi'.
17483
818e094a 174842009-08-07 Felix Zielcke <fzielcke@z-51.de>
17485
17486 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
17487 (grub_jfs_uuid): New function.
17488 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
17489
b969c52f 174902009-08-07 Felix Zielcke <fzielcke@z-51.de>
17491
17492 * util/grub-mkconfig_lib.in (font_path): Move the functionality
17493 of it to ...
17494 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
17495 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
17496
7a4894cc 174972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17498
17499 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
17500 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
17501 Update all users.
17502
17503 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
17504 not just "vmlinu[zx]".
17505 Moved from here ...
17506 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
17507 all users.
17508
17509 * util/grub.d/10_linux.in (find_latest): Moved from here ...
17510 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
17511 all users.
17512
4e2171f8 175132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
17514
17515 * util/grub.d/10_freebsd.in: Use an absolute device path for
17516 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
17517
6dcfcb32 175182009-08-06 Felix Zielcke <fzielcke@z-51.de>
17519
17520 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
17521 handling of multiple abstraction modules.
17522
f56a8756 175232009-08-04 Robert Millan <rmh.grub@aybabtu.com>
17524
17525 Fix a bug resulting in black screen when loading Linux using a
17526 packed video mode.
17527
17528 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
17529 function.
17530
17531 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
17532 (grub_vbe_bios_getset_dac_palette_width): New function.
17533 (grub_vbe_bios_get_dac_palette_width)
17534 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
17535 grub_vbe_bios_getset_dac_palette_width()).
17536
17537 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
17538 check for return status.
17539 (grub_vbe_get_video_mode_info): When getting information for a packed
17540 mode (<= 8 bpp), obtain DAC palette width using
17541 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
17542 {red,green,blue}_mark_size.
17543
222671b2 175442009-08-04 Felix Zielcke <fzielcke@z-51.de>
17545
ecb1a6d9 17546 * commands/search.c (options): Fix help output to match actual code.
222671b2 17547
f84114f5 175482009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
17551 of homegrown code.
17552
bd288a20 175532009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 17554
17555 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
17556 on XFS or ReiserFS.
17557
8aab5e25 175582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17559
17560 Support Apple partition map with sector size different from 512 bytes.
17561
17562 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
17563 (apple_partition_map_iterate): Respect 'aheader.blocksize'
17564 and 'apart.partmap_size'.
17565
6ad6258a 175662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
175672009-08-01 Robert Millan <rmh.grub@aybabtu.com>
17568
17569 Fix cpuid command.
17570
17571 * commands/i386/cpuid.c (options): New variable.
17572 (grub_cmd_cpuid): Return real error.
17573 (GRUB_MOD_INIT(cpuid)): Declare options.
17574
67459bc6 175752009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
17576
17577 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
17578 valid.
17579
fbc6ab54 175802009-07-31 Bean <bean123ch@gmail.com>
17581
17582 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
17583 log2_inode.
17584 (grub_fshelp_node): Move inode field to the end.
17585 (grub_xfs_data): Remove inode field.
17586 (grub_xfs_inode_block): Calculate inode size using sblock.
17587 (grub_xfs_inode_offset): Likewise.
17588 (grub_xfs_read_inode): Calculate inode size using sblock.
17589 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
17590 (grub_xfs_iterate_dir): Calculate inode size using sblock.
17591 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
17592 to match inode size.
17593 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
17594 not accessible when data is null.
17595 (grub_xfs_open): Likewise.
17596
f45d6cfc 175972009-07-31 Bean <bean123ch@gmail.com>
17598
17599 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
17600 Don't change pv->disk if it's already set.
17601
17602 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
17603 (grub_raid_register): ... here.
17604 (grub_raid_rescan): Removed.
17605
17606 * include/grub/raid.h (grub_raid_rescan): Removed.
17607
17608 * util/grub-fstest.c: Remove include file <grub/raid.h>.
17609 (fstest): Replace grub_raid_rescan with module fini function followed
17610 by init function.
17611
17612 * util/grub-probe.c: Add include file <grub/raid.h>.
17613 (probe_raid_level): New function.
17614 (probe): Detect abstraction by walking the disk device, support two
17615 level of abstraction (LVM on RAID) when detecting partition map.
17616
24443b5a 176172009-07-31 Pavel Roskin <proski@gnu.org>
17618
17619 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
17620 to grub_zalloc(), it was erroneous.
17621 Reported by Bean <bean123ch@gmail.com>
17622
a275d9e7 176232009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
17624
17625 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 17626 embedding zone, not only the first one.
a275d9e7 17627
56c5a47f 176282009-07-29 Joe Auricchio <jauricchio@gmail.com>
17629
17630 * term/gfxterm.c (clear_char): New function.
17631 (grub_virtual_screen_setup): Use clear_char.
17632 (scroll_up): Likewise.
17633 (grub_virtual_screen_cls): Likewise.
17634
67bb323a 176352009-07-29 Felix Zielcke <fzielcke@z-51.de>
17636
17637 * util/deviceiter.c (get_acceleraid_disk_name): New static
17638 function.
17639 (grub_util_iterate_devices): Handle Accelraid devices.
17640 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
17641
388a7c75 176422009-07-28 Robert Millan <rmh.grub@aybabtu.com>
17643
17644 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
17645 separator for the suggested gfxpayload string (';' collides with the
17646 parser and needs escaping).
17647
3bb7abcf 176482009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17649
17650 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
17651 Clear direction flag before jumping to OS.
17652 (grub_multiboot2_real_boot): Likewise.
17653
2ddd36d7 176542009-07-28 Felix Zielcke <fzielcke@z-51.de>
17655
17656 * util/i386/pc/grub-install: Fix parsing of --disk-module
17657 option.
17658
c521b62b 176592009-07-28 Felix Zielcke <fzielcke@z-51.de>
17660
17661 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
17662 when embedding.
17663
880e0a0c 176642009-07-26 Felix Zielcke <fzielcke@z-51.de>
17665
17666 * util/grub-mkconfig.in (package_version): New variable.
17667 Use it do display the version.
17668
2366e356 176692009-07-25 Felix Zielcke <fzielcke@z-51.de>
17670
17671 * kern/file.c (grub_file_open): Revert to previous check with
17672 grub_errno.
17673
7ad8c80e 176742009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17675
17676 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
17677 from help line. It's out of sync with code.
17678
72b9658b 176792009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
17682 entries on failed boot.
17683
77435277 176842009-07-25 Felix Zielcke <fzielcke@z-51.de>
17685
17686 * kern/file.c (grub_file_open): Fix an error check.
17687
fcaa8b21 176882009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
17689
35d16c74 17690 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
17691 partition map couldn't be identified.
fcaa8b21 17692
48904cd1 176932009-07-23 Pavel Roskin <proski@gnu.org>
17694
ef3c317f 17695 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
17696 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
17697 case of little endian words becomes just an optimization.
17698 Respect const modifier.
ad8ea1f4 17699 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 17700
48904cd1 17701 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
17702 to avoid loss of upper bits if align is unsigned and shorter
17703 than addr.
17704
260c9a89 177052009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 UUID support for UFS
17708
17709 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
17710 (grub_ufs_uuid): New function.
17711 (grub_ufs_fs): add .uuid
17712
f76ce889 177132009-07-21 Pavel Roskin <proski@gnu.org>
17714
17715 * kern/dl.c (grub_dl_check_header): Make static.
17716
6a6cbcaf 177172009-07-21 Felix Zielcke <fzielcke@z-51.de>
17718
17719 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
17720 add drivemap for Vista. It breaks Windows 7.
17721
cffcddb2 177222009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
17723
17724 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
17725 128 bytes
17726
1ef44b80 177272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17728
17729 Add BFS support
17730
17731 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
17732 (grub_fstest_SOURCES): Likewise.
17733 (pkglib_MODULES): Add befs.mod.
17734 (befs_mod_SOURCES): New variable.
17735 (befs_mod_CFLAGS): Likewise.
17736 (befs_mod_LDFLAGS): Likewise.
17737 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17738 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17739 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17740 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
17741 (grub_setup_SOURCES): Likewise.
17742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17743 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17744 (grub_setup_SOURCES): Likewise.
17745 * fs/befs.c: New file.
17746 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
17747 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
17748 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
17749 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
17750 (B_KEY_INDEX_ALIGN): New declaration.
17751 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
17752 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
17753 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
17754 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
17755 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
17756 (grub_afs_mount) [MODE_BFS]: Likewise.
17757 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
17758 (grub_afs_fs): Use GRUB_AFS_FSNAME
17759 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
17760 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
17761 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
17762 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
17763
4f253044 177642009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
17765
17766 * util/getroot.c (find_root_device): Add support for MacOSX.
17767 * util/hostdisk.c: Likewise.
17768
57a55913 177692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 * font/font.c (find_glyph): Check whether a font is present to avoid
17772 segmentation fault.
75421ca9 17773
177742009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 17775
17776 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
17777
e98cd0c2 177782009-07-20 Pavel Roskin <proski@gnu.org>
17779
17780 * configure.ac: Trim excessively wordy excuses.
17781
1d2d169a 177822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17783
17784 Add symlink, mtime and label support to AtheFS.
17785
17786 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
17787 (grub_afs_iterate_dir): Handle symlinks.
17788 (grub_afs_open): Use grub_afs_read_symlink.
17789 (grub_afs_dir): Likewise.
17790 Pass mtime.
17791 (grub_afs_label): New function.
17792 (grub_afs_fs): Add grub_afs_label.
17793 (grub_afs_read_symlink): New function.
17794
186f3189 177952009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 Fix AtheFS support.
17798
17799 * fs/afs.c: Fix comments style.
17800 (grub_afs_blockrun): Declare as packed.
17801 (grub_afs_datastream): Likewise.
17802 (grub_afs_bnode): Likewise.
17803 (grub_afs_btree): Likewise.
17804 (grub_afs_sblock): Likewise.
17805 Declare `name' as char.
17806 (grub_afs_inode): Declare as packed.
17807 Change void *vnode to grub_uint32_t unused.
17808 (grub_afs_iterate_dir): Check that key_size is positive.
17809 (grub_afs_mount): Don't read superblock twice.
75421ca9 17810 (grub_afs_dir): Don't free node in case of error,
186f3189 17811 grub_fshelp_find_file already handles this.
17812 (grub_afs_open): Likewise.
17813
5680109e 178142009-07-19 Pavel Roskin <proski@gnu.org>
17815
17816 * Makefile.in: Remove LIBLZO and enable_lzo.
17817 * conf/i386-pc.rmk: Remove lzo support.
17818 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
17819 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
17820 support.
17821 * kern/i386/pc/lzo1x.S: Remove.
17822 * kern/i386/pc/startup.S: Remove lzo support.
17823 * util/i386/pc/grub-mkimage.c: Likewise.
17824
ac70fa32 178252009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
17826
17827 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
17828 * fs/xfs.c (grub_xfs_dir): Likewise.
17829 * fs/afs.c (grub_afs_dir): Likewise.
17830 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
17831 (grub_iso9660_open): Likewise.
17832 * fs/jfs.c (grub_jfs_open): Likewise.
17833 * fs/ext2.c (grub_ext2_dir): Likewise.
17834 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
17835 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 17836
eab58da2 178372009-07-16 Pavel Roskin <proski@gnu.org>
17838
d2838156 17839 * configure.ac: Never add "-c" to CFLAGS.
17840
55c70904 17841 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
17842
43e6200c 17843 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
17844 grub_cv_cc_efiemu should be used.
17845
ce7a733d 17846 * configure.ac: Typo fixes.
17847
eab58da2 17848 * kern/mm.c (grub_zalloc): New function.
17849 (grub_debug_zalloc): Likewise.
17850 * include/grub/mm.h: Declare grub_zalloc() and
17851 grub_debug_zalloc().
17852 * util/misc.c (grub_zalloc): New function.
17853 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
17854 instead of grub_malloc(), remove unneeded initializations.
17855 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
17856 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
17857 * commands/parttool.c (grub_cmd_parttool): Likewise.
17858 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17859 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
17860 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
17861 * disk/usbms.c (grub_usbms_finddevs): Likewise.
17862 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
17863 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
17864 (grub_cmd_efiemu_pnvram): Likewise.
17865 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
17866 * fs/iso9660.c (grub_iso9660_mount): Likewise.
17867 (grub_iso9660_iterate_dir): Likewise.
17868 * fs/jfs.c (grub_jfs_opendir): Likewise.
17869 * fs/ntfs.c (list_file): Likewise.
17870 (grub_ntfs_mount): Likewise.
17871 * kern/disk.c (grub_disk_open): Likewise.
17872 * kern/dl.c (grub_dl_load_core): Likewise.
17873 * kern/elf.c (grub_elf_file): Likewise.
17874 * kern/env.c (grub_env_context_open): Likewise.
17875 (grub_env_set): Likewise.
17876 (grub_env_set_data_slot): Likewise.
17877 * kern/file.c (grub_file_open): Likewise.
17878 * kern/fs.c (grub_fs_blocklist_open): Likewise.
17879 * loader/i386/multiboot.c (grub_module): Likewise.
17880 * loader/xnu.c (grub_xnu_create_key): Likewise.
17881 (grub_xnu_create_value): Likewise.
17882 * normal/main.c (grub_normal_add_menu_entry): Likewise.
17883 (read_config_file): Likewise.
17884 * normal/menu_entry.c (make_screen): Likewise.
17885 * partmap/sun.c (sun_partition_map_iterate): Likewise.
17886 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
17887 * script/sh/script.c (grub_script_parse): Likewise.
17888 * video/bitmap.c (grub_video_bitmap_create): Likewise.
17889 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
17890 * video/readers/png.c (grub_png_output_byte): Likewise.
17891 (grub_video_reader_png): Likewise.
17892
830afef7 178932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 17894
17895 Enable all targets that can be built by default
17896
830afef7 17897 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 17898 grub-mkfont and grub-fstest if they can be built
17899
ee293aee 179002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 Fix hang and segmentation fault in grub-emu-usb
17903
17904 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
17905 * util/usb.c (grub_libusb_devices): likewise
17906 (grub_libusb_init): rename to ...
17907 (GRUB_MOD_INIT (libusb)):...this
17908 (grub_libusb_fini): rename to ..
17909 (GRUB_MOD_FINI (libusb)):...this
17910 * disk/usbms.c (grub_usbms_transfer): fix retry logic
17911 * include/grub/disk.h (grub_raid_init): removed, it's useless
17912 (grub_raid_fini): likewise
17913 (grub_lvm_init): likewise
17914 (grub_lvm_fini): likewise
17915 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
17916 by grub_init_all
17917
94414221 179182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17919
17920 Fix libusb
17921
17922 * Makefile.in (LIBUSB): new macro
17923 * genmk.rb (Utility/print_tail): new method
17924 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
17925 (top level): call util.print_tail at the end.
17926
59ade63d 179272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 Make FreeBSD accept zpool.cache
17930
17931 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
17932 type is /boot/zfs/zpool.cache
17933
a58da8c7 179342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 Fix 64-bit efiemu
17937
17938 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
17939 correct wrong typedef
17940 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
17941
20591577 179422009-07-15 Pavel Roskin <proski@gnu.org>
17943
560ca572 17944 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
17945 * kern/disk.c (struct grub_disk_cache): Likewise.
17946
e8e8e4fd 17947 * commands/probe.c (options): Typo fix.
17948
fde24e10 17949 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
17950 Increase to 0x5a to accommodate FAT32. Adjust other offsets
17951 accordingly.
17952 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
17953
379c54c1 17954 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
17955 the end of "Error" to make the message more readable.
17956
7bd8f5bf 17957 * boot/i386/pc/boot.S (kernel_segment): Remove.
17958 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
17959 for destination.
17960
40b132c5 17961 * boot/i386/pc/boot.S (boot_version): Remove.
17962 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
17963 Remove.
17964
20591577 17965 * include/grub/i386/pc/boot.h: Sort all offsets.
17966 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
17967 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
17968 * boot/i386/pc/boot.S: Assert location of every offset listed in
17969 include/grub/i386/pc/boot.h.
17970
2df32b2c 179712009-07-13 Pavel Roskin <proski@gnu.org>
17972
44b5d879 17973 * include/grub/i386/coreboot/machine.h: Rename
17974 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
17975 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
17976 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
17977
17dc3751 17978 * kern/dl.c: Force native word size to suppress warnings when
17979 compiling grub-emu.
17980
2df32b2c 17981 * kern/device.c (grub_device_iterate): Change struct part_ent to
17982 hold the name, not a pointer to it. Use one grub_malloc() per
17983 partition, not two. Free partition_name if grub_malloc() fails.
17984 Set ents to NULL only before grub_partition_iterate() is called.
17985
75c59f59 179862009-07-11 Bean <bean123ch@gmail.com>
17987
17988 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
17989 childname.
17990
0ae1bf88 179912009-07-10 Bean <bean123ch@gmail.com>
179922009-07-10 Robert Millan <rmh.grub@aybabtu.com>
17993
17994 * kern/ieee1275/openfw.c (grub_children_iterate)
17995 (grub_devalias_iterate): Fix size evaluation for property or path
17996 strings, which was broken since r2132.
17997
8279cade 179982009-07-07 Pavel Roskin <proski@gnu.org>
17999
7d8a52d3 18000 * commands/search.c (search_file): Merge into ...
18001 (search_fs): ... this. Accept search type as argument.
18002 (grub_cmd_search): Pass search type to search_fs().
18003
25f9a05a 18004 * include/grub/util/console.h: New file.
18005 * util/console.c: Use it instead of grub/machine/console.h.
18006 * util/grub-emu.c: Likewise.
18007
8279cade 18008 * lib/arg.c (find_long_option): Remove.
18009 (find_long): Add `len' argument, make `s' const char *.
18010 (grub_arg_parse): Parse long options in place, not in a
18011 temporary buffer.
18012
4a11b60f 180132009-07-06 Pavel Roskin <proski@gnu.org>
18014
99f68041 18015 * commands/search.c (search_fs): Fix potential NULL pointer
18016 dereference.
18017
4a11b60f 18018 * commands/search.c (search_fs): Replace QUID macro with quid_fn
18019 function pointer.
18020
e110f4de 180212009-07-06 Daniel Mierswa <impulze@impulze.org>
18022
18023 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
18024 comparison.
18025
46eeb6a2 180262009-07-05 Pavel Roskin <proski@gnu.org>
18027
bab74958 18028 * include/grub/i386/linux.h (struct linux_kernel_params):
18029 Restore padding3, it's still needed.
18030
46eeb6a2 18031 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
18032 FreeBSD.
18033 * util/osdetect.lua: Likewise.
18034
b4a1dc79 180352009-07-05 Bean <bean123ch@gmail.com>
18036
18037 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
18038
18039 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
18040 (grub_lua_getenv): Likewise.
18041 (grub_lua_setenv): Likewise.
18042 (save_errno): New function.
18043 (push_result): Likewise.
18044 (grub_lua_enum_device): Likewise.
18045 (grub_lua_enum_file): Likewise.
18046 (grub_lua_file_open): Likewise.
18047 (grub_lua_file_close): Likewise.
18048 (grub_lua_file_seek): Likewise.
18049 (grub_lua_file_read): Likewise.
18050 (grub_lua_file_getline): Likewise.
18051 (grub_lua_file_getsize): Likewise.
18052 (grub_lua_file_getpos): Likewise.
18053 (grub_lua_file_eof): Likewise.
18054 (grub_lua_file_exist): Likewise.
18055 (grub_lua_add_menu): Likewise.
18056
18057 * script/lua/grub_lua.h (isupper): New inline function.
18058 (islower): Likewise.
18059 (ispunct): Likewise.
18060 (isxdigit): Likewise.
18061 (strcspn): Change to normal function.
18062 (strpbkr): New function declaration.
18063 (memchr): Likewise.
18064
18065 * script/lua/grub_main.c (scan_str): New function.
18066 (strcspn): Likewise.
18067 (strpbrk): Likewise.
18068 (memchr): Likewise.
18069
18070 * script/lua/linit.c (lualibs): Enable the string library.
18071
18072 * util/osdetect.lua: New file.
18073
2da92295 180742009-07-04 Robert Millan <rmh.grub@aybabtu.com>
18075
18076 * include/grub/i386/linux.h (struct linux_kernel_params): Add
18077 `capabilities' member.
18078
b2582ec9 180792009-07-02 Pavel Roskin <proski@gnu.org>
18080
18081 * genparttoollist.sh: Add missing newline at the end.
18082
32622956 180832009-07-01 Pavel Roskin <proski@gnu.org>
18084
87a7339e 18085 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
18086
d23af54e 18087 * util/hostdisk.c (open_device): Remove `const' from
18088 `sysctl_size', as sysctlbyname() can change it (in this case it
18089 doesn't actually happen).
18090
c94b18a9 18091 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
18092 using signed long int constants.
18093
c6cd3ef0 18094 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
18095 constant to avoid a warning on FreeBSD.
18096
0df63420 18097 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
18098 where it's needed.
18099
999577f1 18100 * Makefile.in: Install include/grub/machine symlink.
18101
6f41557f 18102 * Makefile.in: When installing symlinks, use "cp -fR", which
18103 works on FreeBSD and MacOSX.
18104 From Yves Blusseau <cl7m42e02@sneakemail.com>
18105
c8d22988 18106 * kern/dl.c (grub_dl_resolve_symbol): Make static.
18107 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
18108
1b96e952 18109 * util/misc.c: Move grub_reboot() and grub_halt() ...
18110 * util/grub-emu.c: ... here. Make main_env static.
18111 * include/grub/util/misc.h: Remove main_env.
18112
2ef0084d 18113 * kern/mm.c: Use correct format to print size_t.
18114
32622956 18115 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
18116 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
18117 * kern/powerpc/dl.c: Likewise.
18118 * kern/sparc64/dl.c: Likewise.
18119 * kern/x86_64/dl.c: Likewise.
18120
3f7f0cd0 181212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
18122
18123 Fix grub-emu build on sparc64-ieee1275.
18124
75421ca9 18125 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 18126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
18127
211d06b5 181282009-07-01 Robert Millan <rmh.grub@aybabtu.com>
18129
18130 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
18131 (grub_reboot, grub_halt): New functions.
18132
18133 * util/i386/pc/misc.c: Delete. Update all users.
18134 * util/sparc64/ieee1275/misc.c: Likewise.
18135 * util/powerpc/ieee1275/misc.c: Likewise.
18136
aaf53e3c 181372009-07-01 Robert Millan <rmh.grub@aybabtu.com>
18138
18139 * conf/i386.rmk (setjmp_mod_SOURCES)
18140 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
18141 * conf/common.rmk (setjmp_mod_SOURCES)
18142 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
18143 to use $(target_cpu).
18144 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
18145 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
18146 * conf/powerpc-ieee1275.rmk: Likewise.
18147 * conf/sparc64-ieee1275.rmk: Likewise.
18148
18149 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
18150 $(target_cpu) for kern/$(target_cpu)/dl.c.
18151 * conf/i386-efi.rmk: Likewise.
18152 * conf/i386-ieee1275.rmk: Likewise.
18153 * conf/x86_64-efi.rmk: Likewise.
18154 * conf/i386-coreboot.rmk: Likewise.
18155 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
18156 $(target_cpu) for kern/$(target_cpu)/dl.c and for
18157 kern/$(target_cpu)/cache.S.
18158 * conf/sparc64-ieee1275.rmk: Likewise.
18159
a337130b 181602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
18161
18162 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
18163 type to `grub_uint8_t', and adjust `padding9' accordingly.
18164
c6fe4d53 181652009-06-29 Robert Millan <rmh.grub@aybabtu.com>
18166
b09db61d 18167 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
18168
c6fe4d53 18169 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
18170 assembly in final jump, using register constraints.
18171
b09db61d 18172 (grub_linux_boot): For text mode, initialize `have_vga' using
18173 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
18174
18175 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
18176 right before the final jump.
18177
18178 Set `video_mode' to 0x3.
18179
18180 Document initialization of `video_page', `video_mode' and
18181 `video_ega_bx'.
18182
28333ad0 181832009-06-29 Robert Millan <rmh.grub@aybabtu.com>
18184
18185 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
18186 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 18187 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 18188
02164e1b 181892009-06-29 Robert Millan <rmh.grub@aybabtu.com>
18190
18191 Fix build on Debian / sparc.
18192
18193 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
18194
18b6c557 181952009-06-28 Pavel Roskin <proski@gnu.org>
18196
85f2aab6 18197 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
18198 fix a warning.
18199
18b6c557 18200 * util/grub.d/10_linux.in: Match SUSE style initrd names.
18201
ad760f81 182022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
18203
18204 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
18205 `err'.
18206
87a4623b 182072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
18208
18209 Revert r2338.
18210
18211 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
18212 file can't be opened. grub_file_open() is already supposed to set
75421ca9 18213 grub_errno / grub_errmsg appropriately.
87a4623b 18214 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18215
8231fb77 182162009-06-27 Pavel Roskin <proski@gnu.org>
182172009-06-27 Robert Millan <rmh.grub@aybabtu.com>
18218
18219 * include/grub/dl.h: Include grub/elf.h.
18220 (struct grub_dl): Add symtab field.
18221 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
18222 GRUB_MODULES_MACHINE_READONLY.
18223 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
18224 of the header for read-only modules.
18225 (grub_dl_unload): Free mod->symtab for read-only modules.
18226 * kern/i386/dl.c: Use mod->symtab.
18227 * kern/powerpc/dl.c: Likewise.
18228 * kern/sparc64/dl.c: Likewise.
18229 * kern/x86_64/dl.c: Likewise.
18230
18231 * conf/i386-qemu.rmk: New file.
18232 * kern/i386/qemu/startup.S: Likewise.
18233 * kern/i386/qemu/mmap.c: Likewise.
18234 * boot/i386/qemu/boot.S: Likewise.
18235 * include/grub/i386/qemu/time.h: Likewise.
18236 * include/grub/i386/qemu/serial.h: Likewise.
18237 * include/grub/i386/qemu/kernel.h: Likewise.
18238 * include/grub/i386/qemu/console.h: Likewise.
18239 * include/grub/i386/qemu/boot.h: Likewise.
18240 * include/grub/i386/qemu/init.h: Likewise.
18241 * include/grub/i386/qemu/machine.h: Likewise.
18242 * include/grub/i386/qemu/loader.h: Likewise.
18243 * include/grub/i386/qemu/memory.h: Likewise.
18244
18245 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
18246 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
18247 [qemu] (pkglib_IMAGES): Add `boot.img'.
18248 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
18249 [qemu] (boot_img_FORMAT): New variables.
18250 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
18251 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
18252 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
18253 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18254 [qemu] (kernel_img_FORMAT): New variables.
18255
18256 * configure.ac: Recognise `i386-qemu'.
18257
18258 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
18259 (for no compression).
18260 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
18261 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
18262 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
18263 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
18264 ifdefs).
18265
97fe384e 182662009-06-27 Pavel Roskin <proski@gnu.org>
18267
18268 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
18269 read.
18270 * efiemu/prepare32.c: Likewise.
18271 * efiemu/prepare64.c: Likewise.
18272
c402ab17 182732009-06-26 Pavel Roskin <proski@gnu.org>
18274
18275 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
18276 * include/grub/elf.h: Define symbols without "32" or "64" based
18277 on GRUB_TARGET_WORDSIZE.
18278 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
18279 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
18280 ELF definitions.
18281 * efiemu/loadcore64.c: Likewise.
18282 * loader/i386/bsd32.c: Likewise.
18283 * loader/i386/bsd64.c: Likewise.
18284 * kern/dl.c: Remove own ELF definitions.
18285 * util/i386/efi/grub-mkimage.c: Likewise.
18286
9bbdfd4d 182872009-06-23 Robert Millan <rmh.grub@aybabtu.com>
18288
18289 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
18290 segment 0x0 unconditionally, because the reference generated by
18291 GAS is an absolute address.
18292
a42ce6e9 182932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18294
18295 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
18296 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
18297
c952cf92 182982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18299
18300 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
18301 indexes. Check for -f explicitly.
cc3752ad 18302 (search_file): Improve error message.
18303 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 18304
132a0a59 183052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18306
18307 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
18308 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
18309
387a140c 183102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18311
18312 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
18313 * conf/i386-ieee1275.rmk: Likewise.
18314 * conf/i386-coreboot.rmk: Likewise.
18315
18316 * kern/i386/pc/startup.S (grub_stop): Remove function.
18317 * kern/i386/ieee1275/startup.S: Likewise.
18318 * kern/i386/coreboot/startup.S: Likewise.
18319 * kern/i386/misc.S (grub_stop): New function.
18320
41da9665 183212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18322
18323 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
18324 * kern/i386/realmode.S (real_to_prot): ... to here.
18325
bf337234 183262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
18327
18328 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
18329 with `kernel.img'.
18330 (kernel_elf_SOURCES): Rename to ...
18331 (kernel_img_SOURCES): ... this.
18332 (kernel_elf_HEADERS): Rename to ...
18333 (kernel_img_HEADERS): ... this. Update all users.
18334 (kernel_elf_ASFLAGS): Rename to ...
18335 (kernel_img_ASFLAGS): ... this.
18336 (kernel_elf_CFLAGS): Rename to ...
18337 (kernel_img_CFLAGS): ... this.
18338 (kernel_elf_LDFLAGS): Rename to ...
18339 (kernel_img_LDFLAGS): ... this.
18340 * conf/i386-coreboot.rmk: Likewise.
18341 * conf/powerpc-ieee1275.rmk: Likewise.
18342
18343 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
18344 with "kernel.img".
18345
f52196ff 183462009-06-21 Pavel Roskin <proski@gnu.org>
18347
c3cee413 18348 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
18349 to match nested functions.
18350 * loader/sparc64/ieee1275/linux.c: Likewise.
18351
f52196ff 18352 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
18353
58750afc 183542009-06-21 Robert Millan <rmh.grub@aybabtu.com>
18355
18356 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
18357 all i386 platforms.
18358
15355c7d 183592009-06-21 Robert Millan <rmh.grub@aybabtu.com>
18360
18361 Fix asm file handling on ELF, and remove workarounds.
18362
18363 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 18364 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 18365 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
18366 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
18367
3f3ec72b 183682009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
18369
18370 Load BSD ELF modules
18371
18372 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
18373 and loader/i386/bsd64.c
18374 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
18375 (FREEBSD_MODTYPE_ELF_MODULE): New definition
18376 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
18377 (grub_freebsd_load_elfmodule32): New declaration
18378 (grub_freebsd_load_elfmoduleobj64): Likewise
18379 (grub_freebsd_load_elf_meta32): Likewise
18380 (grub_freebsd_load_elf_meta64): Likewise
18381 (grub_freebsd_add_meta): Likewise
18382 (grub_freebsd_add_meta_module): Likewise
18383 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
18384 (grub_freebsd_add_meta_module): Likewise and move module-specific
18385 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
18386 (grub_cmd_freebsd): Add elf-kernel specific parts
18387 based on grub_freebsd_add_meta_module
18388 (grub_cmd_freebsd_module): Add type parsing moved from
18389 grub_freebsd_add_meta_module
18390 (grub_cmd_freebsd_module_elf): New function
18391 (cmd_freebsd_module_elf): New variable
18392 (GRUB_MOD_INIT): Register freebsd_module_elf
18393 * loader/i386/bsd32.c: New file
18394 * loader/i386/bsd64.c: Likewise
18395 * loader/i386/bsdXX.c: Likewise
18396 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
18397 (grub_elf64_load): Likewise
18398 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
18399 All users updated
18400 (grub_elf64_load_hook_t): Likewise
18401
0db15301 184022009-06-21 Colin Watson <cjwatson@ubuntu.com>
18403
18404 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
18405 variable.
18406 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
18407 don't write a menu entry for recovery mode.
18408
546796c1 184092009-06-20 Robert Millan <rmh.grub@aybabtu.com>
18410
18411 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
18412 after it's no longer needed.
18413
cd7310d5 184142009-06-20 Robert Millan <rmh.grub@aybabtu.com>
18415
18416 * include/grub/i386/loader.h (grub_linux_prot_size)
18417 (grub_linux_tmp_addr, grub_linux_real_addr)
18418 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
18419 GRUB_MACHINE_PCBIOS.
18420 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
18421 common grub_util_info() call to ...
18422 (generate_image): ... here.
18423 Fix use of uninitialized memory, comparison of signed with
18424 unsigned integers and memory leak.
18425 Remove bogus module address message.
18426
ab32d3b5 184272009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18428
18429 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
18430 grub_raid_register
18431 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
18432
024ef597 184332009-06-19 Pavel Roskin <proski@gnu.org>
18434
18435 * configure.ac: Remove stray AC_MSG_CHECKING.
18436
3ac72b51 184372009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
18438
18439 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 18440
e14cd814 184412009-06-18 Pavel Roskin <proski@gnu.org>
18442
18443 * conf/common.rmk: Add fs_file.mod.
18444 * disk/fs_file.c: New file.
18445 * include/grub/disk.h (enum grub_disk_dev_id): Add
18446 GRUB_DISK_DEVICE_FILE_ID.
18447
26586d98 184482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
18449
18450 Fix build with Apple's toolchain. Part 2
18451
18452 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
18453 a fake start
18454
26de2bcd 184552009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
18456
18457 Fix build with Apple's toolchain. Part 1
18458
18459 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
18460 for long calls
18461 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 18462 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 18463 Apple's toolchain
18464
09b3490b 184652009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
18466
18467 Fix warnings
18468
18469 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
18470 (decomp_block): initialize ch
18471 use grub_memcpy instead of memcpy
18472
c22a006a 184732009-06-17 Pavel Roskin <proski@gnu.org>
18474
d3638678 18475 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
18476 version, use declarations needed to use vga_text as the startup
18477 console.
18478
c22a006a 18479 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
18480 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
18481 the kernel.
18482 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
18483 and grub_at_keyboard_fini(), it's done on module load and
18484 unload.
18485
05b129e0 184862009-06-17 Felix Zielcke <fzielcke@z-51.de>
18487
18488 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
18489 file can't be found.
18490 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18491
cf24ed9e 184922009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
18493
18494 Fix newline handling
18495
18496 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 18497 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 18498 (grub_script_yylex): don't segfault on unterminated script
18499 newline terminates command and variable
18500
74aa8e4b 185012009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 avoid double grub_adjust_range call. Bug reported by David Simner
18504
18505 * kern/disk.c (grub_disk_write): change to raw disk access before
18506 calling disk_read
18507
1bd265f3 185082009-06-17 Colin Watson <cjwatson@ubuntu.com>
18509
18510 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
18511 spaces, for the benefit of help2man.
18512 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18513
a2d08c06 185142009-06-16 Pavel Roskin <proski@gnu.org>
18515
18516 * kern/i386/halt.c: Include grub/machine/init.h.
18517 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
18518
b97bcb19 185192009-06-16 Felix Zielcke <fzielcke@z-51.de>
18520
18521 * util/grub.d/30_os-prober.in: Use ${root} in the generated
18522 drivemap menuentry.
18523
0644f96c 185242009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
18525
18526 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
18527 `echo' command.
18528
3ef17a2e 185292009-06-16 Pavel Roskin <proski@gnu.org>
18530
18531 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
18532 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
18533 save %dx, we only need %dl and we never change it.
18534 * boot/i386/pc/cdboot.S: Don't set the root drive.
18535 * boot/i386/pc/pxeboot.S: Likewise.
18536 * include/grub/i386/pc/boot.h: Remove
18537 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
18538 GRUB_BOOT_MACHINE_DRIVE_CHECK.
18539 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
18540 * kern/i386/pc/init.c (make_install_device): Remove references
18541 to grub_root_drive.
18542 * kern/i386/pc/startup.S: Likewise.
18543 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
18544
693fe637 185452009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
18546
18547 xnu_uuid command
18548
18549 * commands/xnu_uuid.c: new file
18550 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
18551 (xnu_uuid_mod_SOURCES): new variable
18552 (xnu_uuid_mod_CFLAGS): likewise
18553 (xnu_uuid_mod_LDFLAGS): likewise
18554 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
18555 * conf/i386-ieee1275.rmk: likewise
18556 * conf/i386-pc.rmk: likewise
18557 * conf/powerpc-ieee1275.rmk: likewise
18558 * conf/sparc64-ieee1275.rmk: likewise
18559 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
18560
c9da87d0 185612009-06-16 Pavel Roskin <proski@gnu.org>
18562
18563 * configure.ac: Avoid '==' in test command, it's not portable.
18564
9c6f4596 185652009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
18566
18567 Probe command
18568
18569 * commands/probe.c: new file
18570 * conf/common.rmk (pkglib_MODULES): add probe.mod
18571 (probe_mod_SOURCES): new variable
18572 (probe_mod_CFLAGS): likewise
18573 (probe_mod_LDFLAGS): likewise
18574 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
18575 * conf/i386-ieee1275.rmk: likewise
18576 * conf/i386-pc.rmk: likewise
18577 * conf/powerpc-ieee1275.rmk: likewise
18578 * conf/sparc64-ieee1275.rmk: likewise
18579
70b7f9fd 185802009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
18581
18582 Fix handling of string like \"hello\" and "a
18583 b"
18584
18585 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
18586 (grub_script_yylex): fix parsing of quoting, escaping and newline
18587
71c79a6b 185882009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
18589
dd74360c 18590 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 18591 handling
dd74360c 18592
0644f96c 185932009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 18594
18595 * util/grub-mkconfig.in: Fix parsing of --output option.
18596
e40893c3 185972009-06-12 Pavel Roskin <proski@gnu.org>
18598
18599 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
18600 genmk.rb don't need to be generated or installed.
18601
3a1acfe2 186022009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
18603
18604 * commands/i386/pc/drivemap_int13h.S: add more comments
18605
3a4575d4 186062009-06-11 Pavel Roskin <proski@gnu.org>
18607
0658e928 18608 * Makefile.in (uninstall): Uninstall manuals.
18609
ca0388f0 18610 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
18611 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
18612 and update-grub_lib in two places.
18613 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
18614
e3b27c39 18615 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
18616 a compiler warning.
18617
3a4575d4 18618 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
18619 `entry_lo' to fix variable shadowing.
18620
af1f4f55 186212009-06-11 Christian Franke <franke@computer.org>
18622
18623 * kern/misc.c (__enable_execute_stack): Add missing return type
18624 to prevent gcc warning.
18625
5225e649 186262009-06-11 Felix Zielcke <fzielcke@z-51.de>
18627
18628 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
18629
7d83bd47 186302009-06-11 Pavel Roskin <proski@gnu.org>
18631
c1cb63ba 18632 * Makefile.in: Don't rely on any scripts being executable.
18633 Always use $(SHELL) to run shell scripts.
18634
7d83bd47 18635 * configure.ac: Always define ___main if using -nostdlib. This
18636 fixes tests on Cygwin.
18637
948f48e7 186382009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
18639
18640 UDF fix
18641
7d83bd47 18642 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 18643 is in bytes and not in blocks
7d83bd47 18644
8ada9bc1 186452009-06-11 Pavel Roskin <proski@gnu.org>
18646
18647 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
18648 warning.
18649
25ad2323 186502009-06-11 Felix Zielcke <fzielcke@z-51.de>
18651
18652 * util/grub.d/30_os-prober.in: Fix a comment. Source
18653 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
18654 to set the root device. Place drivemap command in the generated
18655 chain entry.
18656
e65acb0c 186572009-06-11 Pavel Roskin <proski@gnu.org>
18658
18659 * configure.ac: Remove host_m32. Issues with 64-bit utilities
18660 have long been resolved.
18661
f285fe2d 186622009-06-11 Colin Watson <cjwatson@ubuntu.com>
18663
bd47b0b5 18664 * util/grub.d/10_linux.in: Capitalise "Linux".
18665
f285fe2d 18666 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
18667
a0c62e4e 186682009-06-11 Pavel Roskin <proski@gnu.org>
18669
b6783cb2 18670 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
18671 fix a gcc warning and ensure that the function won't ever exit.
18672
dde032e8 18673 * kern/i386/ieee1275/init.c: Add missing prototype for
18674 grub_stop_floppy().
18675
22cd079d 18676 * loader/ieee1275/multiboot2.c [__i386__]: Include
18677 grub/cpu/multiboot.h.
18678
a0c62e4e 18679 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
18680 casts to short - they are not portable and cause warnings. Fix
18681 use of uninitialized values in input_buf. Use ARRAY_SIZE.
18682
63963d17 186832009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
18684
18685 Drivemap fixes
18686
18687 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
18688 new function
18689 (grub_get_root_biosnumber_saved): new variable
18690 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
18691 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 18692 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 18693 %dx after the call if necessary
18694 * conf/common.rmk (pkglib_MODULES): remove boot.mod
18695 (boot_mod_SOURCES): remove
18696 (boot_mod_CFLAGS): remove
18697 (boot_mod_LDFLAGS): remove
18698 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
18699 (boot_mod_SOURCES): new variable
18700 (boot_mod_CFLAGS): likewise
18701 (boot_mod_LDFLAGS): likewise
18702 * conf/i386-efi.rmk: likewise
18703 * conf/i386-ieee1275.rmk: likewise
18704 * conf/i386-pc.rmk: likewise
18705 * conf/powerpc-ieee1275.rmk: likewise
18706 * conf/sparc64-ieee1275.rmk: likewise
18707 * conf/x86_64-efi.rmk: likewise
18708 * include/grub/i386/pc/biosnum.h: new file
18709 * lib/i386/pc/biosnum.c: likewise
18710 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
18711 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
18712 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 18713
33abf7ae 187142009-06-10 Pavel Roskin <proski@gnu.org>
18715
5ac35b35 18716 * io/gzio.c (test_header): Don't reuse one buffer for all data.
18717 Use separate variables. Read only the file size at the end, but
18718 not the checksum that we don't use.
18719
5c5215d5 18720 * kern/file.c (grub_file_read): Use void pointer for the buffer.
18721 Adjust all callers.
18722
27d5fef7 18723 * kern/ieee1275/openfw.c: Remove libc includes.
18724 * kern/ieee1275/cmain.c: Likewise.
18725 * include/grub/ieee1275/ieee1275.h: Likewise.
18726
33abf7ae 18727 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
18728 compiler warnings.
18729
19d50c2b 187302009-06-10 Felix Zielcke <fzielcke@z-51.de>
18731
18732 * Makefile.in: Remove all trailing whitespace.
18733 * conf/i386-pc.rmk: Likewise.
18734 * conf/powerpc-ieee1275.rmk: Likewise.
18735 * conf/sparc64-ieee1275.rmk: Likewise.
18736 * docs/grub.texi: Likewise.
18737 * docs/texinfo.tex: Likewise.
18738 * disk/fs_uuid.c: Likewise.
18739 * disk/lvm.c: Likewise.
18740 * disk/scsi.c: Likewise.
18741 * disk/ata.c: Likewise.
18742 * disk/ieee1275/ofdisk.c: Likewise.
18743 * disk/i386/pc/biosdisk.c: Likewise.
18744 * disk/host.c: Likewise.
18745 * disk/raid.c: Likewise.
18746 * disk/efi/efidisk.c: Likewise.
18747 * disk/usbms.c: Likewise.
18748 * disk/memdisk.c: Likewise.
18749 * disk/loopback.c: Likewise.
18750 * kern/powerpc/dl.c: Likewise.
18751 * kern/device.c: Likewise.
18752 * kern/dl.c: Likewise.
18753 * kern/sparc64/dl.c: Likewise.
18754 * kern/ieee1275/ieee1275.c: Likewise.
18755 * kern/term.c: Likewise.
18756 * kern/fs.c: Likewise.
18757 * kern/i386/dl.c: Likewise.
18758 * kern/i386/pc/startup.S: Likewise.
18759 * kern/i386/pc/init.c: Likewise.
18760 * kern/i386/pc/mmap.c: Likewise.
18761 * kern/i386/pc/lzo1x.S: Likewise.
18762 * kern/i386/ieee1275/init.c: Likewise.
18763 * kern/i386/realmode.S: Likewise.
18764 * kern/i386/tsc.c: Likewise.
18765 * kern/partition.c: Likewise.
18766 * kern/corecmd.c: Likewise.
18767 * kern/file.c: Likewise.
18768 * kern/efi/efi.c: Likewise.
18769 * kern/efi/init.c: Likewise.
18770 * kern/efi/mm.c: Likewise.
18771 * kern/main.c: Likewise.
18772 * kern/err.c: Likewise.
18773 * kern/env.c: Likewise.
18774 * kern/disk.c: Likewise.
18775 * kern/generic/millisleep.c: Likewise.
18776 * kern/generic/rtc_get_time_ms.c: Likewise.
18777 * kern/misc.c: Likewise.
18778 * kern/parser.c: Likewise.
18779 * genmk.rb: Likewise.
18780 * configure.ac: Likewise.
18781 * boot/i386/pc/diskboot.S: Likewise.
18782 * boot/i386/pc/pxeboot.S: Likewise.
18783 * boot/i386/pc/boot.S: Likewise.
18784 * boot/i386/pc/lnxboot.S: Likewise.
18785 * boot/i386/pc/cdboot.S: Likewise.
18786 * parttool/pcpart.c: Likewise.
18787 * video/readers/tga.c: Likewise.
18788 * video/video.c: Likewise.
18789 * video/bitmap.c: Likewise.
18790 * lib/envblk.c: Likewise.
18791 * lib/i386/setjmp.S: Likewise.
18792 * fs/xfs.c: Likewise.
18793 * fs/afs.c: Likewise.
18794 * fs/fat.c: Likewise.
18795 * fs/ntfs.c: Likewise.
18796 * fs/udf.c: Likewise.
18797 * fs/affs.c: Likewise.
18798 * fs/iso9660.c: Likewise.
18799 * fs/hfs.c: Likewise.
18800 * fs/fshelp.c: Likewise.
18801 * fs/ext2.c: Likewise.
18802 * fs/jfs.c: Likewise.
18803 * fs/reiserfs.c: Likewise.
18804 * fs/hfsplus.c: Likewise.
18805 * fs/minix.c: Likewise.
18806 * fs/cpio.c: Likewise.
18807 * fs/sfs.c: Likewise.
18808 * fs/ufs.c: Likewise.
18809 * efiemu/prepare.c: Likewise.
18810 * efiemu/loadcore_common.c: Likewise.
18811 * efiemu/runtime/efiemu.sh: Likewise.
18812 * efiemu/runtime/efiemu.S: Likewise.
18813 * efiemu/runtime/efiemu.c: Likewise.
18814 * efiemu/pnvram.c: Likewise.
18815 * efiemu/main.c: Likewise.
18816 * efiemu/i386/pc/cfgtables.c: Likewise.
18817 * efiemu/i386/loadcore64.c: Likewise.
18818 * efiemu/i386/loadcore32.c: Likewise.
18819 * efiemu/loadcore.c: Likewise.
18820 * efiemu/symbols.c: Likewise.
18821 * efiemu/mm.c: Likewise.
18822 * include/grub/autoefi.h: Likewise.
18823 * include/grub/datetime.h: Likewise.
18824 * include/grub/term.h: Likewise.
18825 * include/grub/hfs.h: Likewise.
18826 * include/grub/lvm.h: Likewise.
18827 * include/grub/i386/tsc.h: Likewise.
18828 * include/grub/i386/linux.h: Likewise.
18829 * include/grub/i386/xnu.h: Likewise.
18830 * include/grub/i386/efiemu.h: Likewise.
18831 * include/grub/i386/pc/biosdisk.h: Likewise.
18832 * include/grub/i386/pc/memory.h: Likewise.
18833 * include/grub/i386/pc/vbe.h: Likewise.
18834 * include/grub/parttool.h: Likewise.
18835 * include/grub/video.h: Likewise.
18836 * include/grub/memory.h: Likewise.
18837 * include/grub/fs.h: Likewise.
18838 * include/grub/partition.h: Likewise.
18839 * include/grub/xnu.h: Likewise.
18840 * include/grub/efi/api.h: Likewise.
18841 * include/grub/efi/pe32.h: Likewise.
18842 * include/grub/efi/memory.h: Likewise.
18843 * include/grub/multiboot.h: Likewise.
18844 * include/grub/usbdesc.h: Likewise.
18845 * include/grub/multiboot2.h: Likewise.
18846 * include/grub/acpi.h: Likewise.
18847 * include/grub/efiemu/efiemu.h: Likewise.
18848 * include/grub/disk.h: Likewise.
18849 * include/grub/ieee1275/ieee1275.h: Likewise.
18850 * include/grub/net.h: Likewise.
18851 * include/grub/machoload.h: Likewise.
18852 * include/grub/macho.h: Likewise.
18853 * include/multiboot.h: Likewise.
18854 * genmoddep.awk: Likewise.
18855 * normal/main.c: Likewise.
18856 * normal/menu_entry.c: Likewise.
18857 * normal/menu_viewer.c: Likewise.
18858 * normal/completion.c: Likewise.
18859 * normal/cmdline.c: Likewise.
18860 * normal/misc.c: Likewise.
18861 * normal/datetime.c: Likewise.
18862 * bus/usb/usbtrans.c: Likewise.
18863 * bus/usb/ohci.c: Likewise.
18864 * bus/usb/uhci.c: Likewise.
18865 * bus/usb/usb.c: Likewise.
18866 * mmap/efi/mmap.c: Likewise.
18867 * mmap/i386/pc/mmap_helper.S: Likewise.
18868 * mmap/i386/pc/mmap.c: Likewise.
18869 * mmap/i386/mmap.c: Likewise.
18870 * mmap/i386/uppermem.c: Likewise.
18871 * mmap/mmap.c: Likewise.
18872 * commands/acpi.c: Likewise.
18873 * commands/echo.c: Likewise.
18874 * commands/blocklist.c: Likewise.
18875 * commands/loadenv.c: Likewise.
18876 * commands/usbtest.c: Likewise.
18877 * commands/boot.c: Likewise.
18878 * commands/parttool.c: Likewise.
18879 * commands/search.c: Likewise.
18880 * commands/cat.c: Likewise.
18881 * commands/i386/pc/play.c: Likewise.
18882 * commands/i386/pc/drivemap.c: Likewise.
18883 * commands/i386/pc/vbeinfo.c: Likewise.
18884 * commands/i386/pc/acpi.c: Likewise.
18885 * commands/i386/pc/vbetest.c: Likewise.
18886 * commands/ls.c: Likewise.
18887 * commands/cmp.c: Likewise.
18888 * commands/test.c: Likewise.
18889 * commands/efi/acpi.c: Likewise.
18890 * commands/gptsync.c: Likewise.
18891 * commands/help.c: Likewise.
18892 * partmap/amiga.c: Likewise.
18893 * partmap/apple.c: Likewise.
18894 * partmap/acorn.c: Likewise.
18895 * partmap/pc.c: Likewise.
18896 * partmap/sun.c: Likewise.
18897 * partmap/gpt.c: Likewise.
18898 * script/sh/lexer.c: Likewise.
18899 * script/sh/function.c: Likewise.
18900 * font/font.c: Likewise.
18901 * font/font_cmd.c: Likewise.
18902 * loader/powerpc/ieee1275/linux.c: Likewise.
18903 * loader/efi/chainloader.c: Likewise.
18904 * loader/multiboot_loader.c: Likewise.
18905 * loader/macho.c: Likewise.
18906 * loader/i386/multiboot.c: Likewise.
18907 * loader/i386/linux.c: Likewise.
18908 * loader/i386/pc/linux.c: Likewise.
18909 * loader/i386/pc/multiboot2.c: Likewise.
18910 * loader/i386/pc/chainloader.c: Likewise.
18911 * loader/i386/pc/xnu.c: Likewise.
18912 * loader/i386/bsd_trampoline.S: Likewise.
18913 * loader/i386/efi/linux.c: Likewise.
18914 * loader/i386/multiboot_elfxx.c: Likewise.
18915 * loader/i386/bsd_helper.S: Likewise.
18916 * loader/i386/bsd.c: Likewise.
18917 * loader/i386/linux_trampoline.S: Likewise.
18918 * loader/i386/xnu_helper.S: Likewise.
18919 * loader/i386/xnu.c: Likewise.
18920 * loader/i386/bsd_pagetable.c: Likewise.
18921 * loader/i386/multiboot_helper.S: Likewise.
18922 * loader/xnu.c: Likewise.
18923 * loader/xnu_resume.c: Likewise.
18924 * io/gzio.c: Likewise.
18925 * term/efi/console.c: Likewise.
18926 * term/terminfo.c: Likewise.
18927 * term/ieee1275/ofconsole.c: Likewise.
18928 * term/i386/pc/serial.c: Likewise.
18929 * term/i386/pc/vesafb.c: Likewise.
18930 * term/i386/pc/vga.c: Likewise.
18931 * term/usb_keyboard.c: Likewise.
18932 * term/gfxterm.c: Likewise.
18933 * aclocal.m4: Likewise.
18934 * util/lvm.c: Likewise.
18935 * util/grub.d/30_os-prober.in: Likewise.
18936 * util/grub.d/10_hurd.in: Likewise.
18937 * util/console.c: Likewise.
18938 * util/grub-macho2img.c: Likewise.
18939 * util/grub-probe.c: Likewise.
18940 * util/hostfs.c: Likewise.
18941 * util/i386/pc/grub-mkimage.c: Likewise.
18942 * util/i386/pc/grub-setup.c: Likewise.
18943 * util/i386/efi/grub-mkimage.c: Likewise.
18944 * util/grub-mkconfig.in: Likewise.
18945 * util/raid.c: Likewise.
18946 * util/resolve.c: Likewise.
18947 * util/grub-mkdevicemap.c: Likewise.
18948 * util/grub-emu.c: Likewise.
18949 * util/getroot.c: Likewise.
18950 * util/hostdisk.c: Likewise.
18951 * util/usb.c: Likewise.
18952 * util/grub-editenv.c: Likewise.
18953 * util/misc.c: Likewise.
18954
d2d49665 189552009-06-10 Felix Zielcke <fzielcke@z-51.de>
18956
18957 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
18958 `genparttoollist.sh'.
18959 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
18960 Add `*.sh' to the list find searches for and change `mdate.sh'
18961 to `mdate-sh'.
18962
fe052e37 189632009-06-10 Pavel Roskin <proski@gnu.org>
18964
2763ac18 18965 * include/grub/multiboot2.h: Provide compatibility defines for
18966 multiboot2.h.
18967 * include/multiboot2.h: Include stdint.h only if needed, using
18968 angle brackets.
18969 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
18970 grub/multiboot2.h.
18971 * loader/ieee1275/multiboot2.c: Likewise.
18972 * loader/multiboot2.c: Likewise.
18973 * loader/multiboot_loader.c: Likewise.
18974
437e6adc 18975 * configure.ac: Use -nostdlib when probing for the target. It
18976 should not be required to have libc for the target.
18977
06a6836c 18978 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
18979 they fail without libc headers for the target.
18980 * include/grub/powerpc/libgcc.h: Use weak attribute for all
18981 exports.
18982 * include/grub/sparc64/libgcc.h: Likewise. Don't use
18983 preprocessor conditionals.
18984
fe052e37 18985 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
18986 build system doesn't need to be aware of the tar.c internals.
18987
afd22553 189882009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 18989
afd22553 18990 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 18991
6b787c4f 189922009-06-09 Robert Millan <rmh.grub@aybabtu.com>
18993
18994 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
18995 disk limit to 26 for IDE, Virtio, Xen and SCSI.
18996
189972009-06-09 Felix Zielcke <fzielcke@z-51.de>
18998
18999 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 19000 aren't available if ata.mod gets used.
6b787c4f 19001
473d1e45 190022009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 19003
473d1e45 19004 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 19005 initialising controller.
473d1e45 19006 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 19007
255a27d4 190082009-06-08 Felix Zielcke <fzielcke@z-51.de>
19009
19010 * util/i386/pc/grub-install.in: Add a parameter --disk-module
19011 to choose between ata and biosdisk module on i386-pc.
19012
473d1e45 190132009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 19014
d55842d8 19015 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
19016 Subclass and Programming Interface fields in terms of the 3 byte
19017 Class Code register.
19018 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19019
fa5db0b1 19020 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
19021 interface is OHCI. Add grub_dprintf for symmetry with
19022 bus/usb/uhci.c.
19023 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
19024 interface is UHCI. Add interf variable for programming
19025 interface. Print interface with class/subclass.
19026
c0947beb 19027 * bus/usb/ohci.c: Set interf with correct field.
19028
69da8877 19029 * bus/usb/uhci.c: Remove unneeded doubled lines.
19030 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
19031 Remove whitespace inside comment.
19032
9e172e30 190332009-06-08 Robert Millan <rmh.grub@aybabtu.com>
19034
19035 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
19036 as fallback an equivalent option without depth.
19037
de65ee2b 190382009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 Not fail if unable to retrieve C/H/S on LBA disks
19041
473d1e45 19042 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 19043 if unable to retrieve C/H/S on LBA disks
19044
b57ea2c9 190452009-06-08 Pavel Roskin <proski@gnu.org>
19046
19047 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
19048 about aliasing.
19049
af361263 190502009-06-08 Felix Zielcke <fzielcke@z-51.de>
19051
19052 * Makefile.in (uninstall): Remove all $lib_DATA files.
19053
4c9ec6b3 190542009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 Bugfix: install on partitionless device
19057
19058 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
19059 is a whole disk
19060
e76fc924 190612009-06-08 Felix Zielcke <fzielcke@z-51.de>
19062
19063 * Makefile.in (uninstall): Remove all $include_DATA files.
19064
ba5a0d05 190652009-06-08 Felix Zielcke <fzielcke@z-51.de>
19066
19067 * commands/true.c: New file. Implement the true and false commands.
19068 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
19069 (true_mod_SOURCES): New variable.
19070 (true_mod_CFLAGS): Likewise.
19071 (true_mod_LDFLAGS): Likewise.
19072
c8048e32 190732009-06-05 Colin D Bennett <colin@gibibit.com>
19074
19075 Optimized font character lookup using binary search instead of linear
19076 search. Fonts now are required to have the character index ordered by
19077 code point.
19078
19079 * font/font.c (load_font_index): Verify that fonts have ordered
19080 character indices.
19081 (find_glyph): Use binary search instead of linear search to find a
19082 character in a font.
19083
408305be 190842009-06-05 Michael Scherer <misc@mandriva.org>
19085
19086 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
19087 uses case sensitive btree.
19088 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
19089 only for case insensitive filesystems.
19090
8ee1e0d9 190912009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
19092
19093 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
19094 * conf/common.rmk (search_mod_CFLAGS): likewise
19095
a9966eb1 190962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19097
473d1e45 19098 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 19099 compensate a compiler bug
19100
9e7100fb 191012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19102
473d1e45 19103 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 19104 instead of '\b'
473d1e45 19105
ede21d71 191062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 Definitions for creating asm symbols with Apple's CC
19109
19110 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
19111 [APPLE_CC] (VARIABLE): likewise
19112
9dbf7653 191132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 Disable lnxboot.img when compiled
19116 with Apple's CC
19117
19118 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
19119 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
19120 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
19121 [! APPLE_CC] (CODE_LENG): skip
19122 [! APPLE_CC] (setup_sects): likewise
19123 [! APPLE_CC]: skip filling
473d1e45 19124
e93cdc3d 191252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 Address in trampolines based on 32-bit registers when compiled
19128 with Apple's CC
19129
473d1e45 19130 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 19131 for addresses
19132 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
19133
6c688477 191342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19135
19136 Avoid aliases when compiling with Apple's CC for PCBIOS machine
19137
19138 * kern/misc.c [APPLE_CC] (memcpy): new function
19139 [APPLE_CC] (memmove): likewise
19140 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 19141 (memcpy): define alias conditionally on !APPLE_CC
6c688477 19142 (memset): likewise
19143 (abort): likewise
19144 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
19145 APPLE_CC are defined
19146 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
19147 (grub_assert_fail): make prototype conditional
19148
e37ffc5c 191492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
19152
473d1e45 19153 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
19154 grub-macho2img
e37ffc5c 19155 (CLEANFILES): add grub-macho2img
19156 (grub_macho2img_SOURCES): new variable
19157 * kern/i386/pc/startup.S (bss_start): new variable
19158 (bss_end): likewise
19159 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
19160 * util/grub-macho2img.c: new file
19161
cf00df31 191622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 Use objconv when compiling with Apple's CC
19165
19166 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
19167 (efiemu64.o): likewise
19168 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
19169 when compiling with Apple's CC
19170 (efiemu64_s.o): likewise
19171 * configure.ac: check for objconv when compiling with Apple's CC
19172 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 19173
d119a20c 191742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19175
19176 Define segment as well as section when compiling with
19177 Apple's CC
19178
19179 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
19180 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
19181 (efiemu_convert_pointer): likewise
19182 (efiemu_set_virtual_address_map): likewise
19183 (efiemu_convert_pointer): likewise
19184 (efiemu_getcrc32): likewise
19185 (init_crc32_table): likewise
19186 (reflect): likewise
19187 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
19188 (GRUB_MOD_DEP): likewise
473d1e45 19189
c8600122 191902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 Allow a compilation without -mcmodel=large
19193
19194 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
19195 when compiled without -mcmodel=large
473d1e45 19196 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 19197 without -mcmodel=large
473d1e45 19198 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 19199 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 19200
e8df1d4e 192012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19202
19203 Remove nested functions in efiemu core
19204
19205 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 19206
cc6c3ac1 192072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
19210
19211 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
19212 temporary storage
473d1e45 19213 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
19214 using Apple's CC
cc6c3ac1 19215 (grub_cpu_is_tsc_supported): likewise
19216 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 19217
3e325901 192182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19219
19220 Absolute addressing through constant with Apple's cc
19221
19222 * kern/i386/pc/startup.S: Define necessary constants
19223 and address through it when using ABS with Apple's CC
19224 * boot/i386/pc/diskboot.S: likewise
19225 * boot/i386/pc/boot.S: likewise
19226 * boot/i386/pc/lnxboot.S: likewise
19227 * boot/i386/pc/cdboot.S: likewise
19228 * mmap/i386/pc/mmap_helper.S: likewise
19229 * commands/i386/pc/drivemap_int13h.S: likewise
19230
2b167a72 192312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19232
19233 Check if compiler is apple cc
19234
19235 * Makefile.in (ASFLAGS): new variable
19236 (TARGET_ASFLAGS): likewise
19237 (TARGET_MODULE_FORMAT): likewise
19238 (TARGET_APPLE_CC): likewise
19239 (OBJCONV): likewise
19240 (TARGET_IMG_CFLAGS): likewise
19241 (TARGET_CPPFLAGS): add includedir
19242 * configure.ac: call grub_apple_cc and grub_apple_target_cc
19243 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
19244 Check for linker script only if compiler isn't Apple's CC
19245 (TARGET_MODULE_FORMAT): set
19246 (TARGET_APPLE_CC): likewise
19247 (TARGET_ASFLAGS): likewise
19248 (ASFLAGS): likewise
19249 Check for objcopy only if compiler isn't Apple's CC
19250 Check for BSS symbol only if compiler isn't Apple's CC
19251 * genmk.rb: adapt nm options if we use Apple's utils
19252 * aclocal.m4 (grub_apple_cc): new test
19253 (grub_apple_target_cc): likewise
473d1e45 19254
fb14123e 192552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 Simplify sed expressions and improve awk
19258
19259 * Makefile.in (install-local): simplify sed expression
19260 * gencmdlist.sh: likewise
19261 * genmoddep.awk: avoid adding module as a dependency of itself
19262
5b889789 192632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 Add missing start symbols
19266
19267 * boot/i386/pc/boot.S: add start
fb14123e 19268 * boot/i386/pc/pxeboot.S: likewise
473d1e45 19269
fd2bf2e3 192702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19271
19272 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 19273
19274 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 19275 (relocate_addresses): consider both r_addend and value at offset
19276 (make_mods_section): zerofill modinfo and header
19277 (convert_elf): write prefix here
473d1e45 19278
5389763d 192792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19280
19281 Use .asciz instead of .string
19282
19283 * i386/pc/diskboot.S: use .asciz instead of .string
19284 * i386/pc/boot.S: likewise
19285 * include/grub/dl.h (GRUB_MOD_DEP): likewise
19286 (GRUB_MOD_NAME): likewise
473d1e45 19287
3eb5ed4e 192882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19289
19290 gfxpayload support
19291
19292 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
19293 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
19294 (grub_video_setup): remove
19295 (grub_video_set_mode): new prototype
19296 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
19297 (vid_mode): remove
19298 (linux_vesafb_res): compile only on PCBIOS
19299 (grub_linux_boot): support gfxpayload
19300 * loader/i386/pc/xnu.c (video_hook): new function
19301 (grub_xnu_set_video): support gfxpayload
19302 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
19303 (DEFAULT_VIDEO_HEIGHT): likewise
19304 (DEFAULT_VIDEO_FLAGS): likewise
19305 (DEFAULT_VIDEO_MODE): new definition
19306 (video_hook): new function
19307 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 19308 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 19309 loading xnu
19310 * video/video.c (grub_video_setup): removed
473d1e45 19311 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 19312 grub_video_setup
19313
4b0e1143 193142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19315
19316 Avoid calling biosdisk in drivemap
19317
19318 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
19319 (revparse_biosdisk): likewise
19320 (list_mappings): derive name from id directly
19321 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 19322
fda6cb98 193232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
19324
19325 Script fixes
19326
19327 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
19328 (grub_lexer_param): add tokenonhold
19329 (grub_script_create_cmdline): remove cmdline. All callers updated
19330 (grub_script_function_create): make functionname
19331 grub_script_arg. All callers updated
19332 (grub_script_execute_argument_to_string): new prototype
19333 * kern/parser.c (state_transitions): reorder
19334 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 19335 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 19336 make global
19337 (grub_script_execute_cmdline): use new format
19338 * script/sh/function.c (grub_script_function_create): make functionname
19339 grub_script_arg. All callers updated
473d1e45 19340 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 19341 (grub_script_yylex): remove
19342 (grub_script_yylex2): renamed to ...
19343 (grub_script_yylex): ...renamed
19344 parse the expressions like a${b}c
19345 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
19346 (GRUB_PARSER_TOKEN_VAR): remove
19347 (GRUB_PARSER_TOKEN_NAME): likewise
19348 ("if"): declare as typeless
19349 ("while"): likewise
19350 ("function"): likewise
19351 ("else"): likewise
19352 ("then"): likewise
19353 ("fi"): likewise
19354 (text): remove
19355 (argument): likewise
19356 (script): accept empty scripts and make exit on error
19357 (arguments): use GRUB_PARSER_TOKEN_ARG
19358 (function): likewise
19359 (command): move error handling to script
19360 (menuentry): move grub_script_lexer_ref before
473d1e45 19361 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 19362 argument. All callers updated
19363
f4448a07 193642009-06-04 Robert Millan <rmh.grub@aybabtu.com>
19365
19366 Prevent GRUB from probing floppies during boot.
19367
19368 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
19369 * commands/search.c (options): Add --no-floppy.
19370 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
19371 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
19372 --no-floppy when searching for UUIDs.
19373
2bf5885a 193742009-06-04 Robert Millan <rmh.grub@aybabtu.com>
19375
19376 Simplify the code duplication in commands/search.c.
19377
19378 * commands/search.c (search_label, search_fs_uuid): Merge into ...
19379 (search_fs): ... this. Update all users.
19380
f6fd460a 193812009-06-03 Felix Zielcke <fzielcke@z-51.de>
19382
19383 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
19384
cbb3c83e 193852009-05-28 Pavel Roskin <proski@gnu.org>
19386
57788cfd 19387 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
19388 Remove the original symlink explicitly.
19389
cbb3c83e 19390 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
19391 just one slash. That's how grub_fshelp_find_file() does it.
19392
cd0d5e30 193932009-05-26 Pavel Roskin <proski@gnu.org>
19394
f0f8bbe2 19395 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
19396 to `str'.
19397
cd0d5e30 19398 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
19399 possibly unused.
19400
8c2cab51 194012009-05-25 Christian Franke <franke@computer.org>
19402
19403 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
19404 register.
19405 (grub_atapi_identify): Add wait after drive select.
19406 (grub_ata_identify): Do more strict status register check before
19407 calling grub_atapi_identify (). Suppress error message if status
19408 register is 0x00 after command failure. Add status register
19409 check after PIO read to avoid bogus identify due to stuck DRQ.
19410 Thanks to Pavel Roskin for testing.
19411 (grub_device_initialize): Remove unsafe status register check.
19412 Thanks to 'phcoder' for problem report and patch.
19413 Prevent sign extension in debug message.
19414
230c0ad6 194152009-05-23 Colin D Bennett <colin@gibibit.com>
19416
19417 Cleaned up `include/grub/normal.h'. Grouped prototypes by
19418 definition file, and functions defined in `normal/menu.c' have had
19419 their prototypes moved to `include/grub/menu.h' for consistency.
19420
19421 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
19422 from normal.h.
19423 (grub_menu_get_entry): Likewise.
19424 (grub_menu_get_timeout): Likewise.
19425 (grub_menu_set_timeout): Likewise.
19426 (grub_menu_execute_entry): Likewise.
19427 (grub_menu_execute_with_fallback): Likewise.
19428 (grub_menu_entry_run): Likewise.
19429
19430 * include/grub/normal.h: Re-ordered and grouped function
19431 prototypes by file that the function is defined in.
19432 (grub_menu_execute_callback): Removed; moved to menu.h.
19433 (grub_menu_get_entry): Likewise.
19434 (grub_menu_get_timeout): Likewise.
19435 (grub_menu_set_timeout): Likewise.
19436 (grub_menu_execute_entry): Likewise.
19437 (grub_menu_execute_with_fallback): Likewise.
19438 (grub_menu_entry_run): Likewise.
19439 (grub_menu_addentry): Renamed from this ...
19440 (grub_normal_add_menu_entry): ... to this.
19441
19442 * normal/main.c (grub_menu_addentry): Renamed from this ...
19443 (grub_normal_add_menu_entry): ... to this.
19444
19445 * script/sh/execute.c (grub_script_execute_menuentry): Update
19446 reference to renamed grub_menu_addentry function.
19447
861f03a5 194482009-05-23 Felix Zielcke <fzielcke@z-51.de>
19449
19450 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
19451
96b1619a 194522009-05-22 Pavel Roskin <proski@gnu.org>
19453
bf6a5fb2 19454 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
19455 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
19456 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
19457 compiling for the i386 targets, but not for the utilities.
19458
96b1619a 19459 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
19460 to grub_uint8_t.
19461 (grub_root_drive): Likewise.
19462 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
19463 remove alignment.
19464 (grub_root_drive): Change size to byte.
19465 (grub_start_addr): Remove.
19466 (grub_end_addr): Likewise.
19467 (grub_apm_bios_info): Likewise.
19468
b729776b 194692009-05-21 Felix Zielcke <fzielcke@z-51.de>
19470
19471 * normal/i386: Remove.
19472 * normal/powerpc: Likewise.
19473 * normal/sparc64: Likewise.
19474 * normal/x86_64: Likewise.
19475
0a15ce80 194762009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
19477
19478 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 19479 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 19480 * loader/i386/xnu_helper.S: Likewise
d6da58e6 19481
33db9015 194822009-05-18 Colin D Bennett <colin@gibibit.com>
19483
d6da58e6 19484 Display error messages when parsing a Lua statement fails.
19485 Previously, executing a syntactically invalid statement like
19486 ")foo" or "bar;" would silently fail.
33db9015 19487
19488 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 19489 (grub_lua_parse_line): Improved reporting of Lua parser and
19490 execution errors.
33db9015 19491
46422c89 194922009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 Remove -Werror which causes build to fail on some systems
19495
19496 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
19497 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
19498 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 19499
22f53a96 195002009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19501
19502 trampoline for linux on 64-bit platform
19503
18f547ad 19504 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
19505 loader/i386/efi/linux_trampoline.S
19506 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 19507 declaration
d6da58e6 19508 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
19509 here
22f53a96 19510 * loader/i386/linux_trampoline.S: moved here
d6da58e6 19511 * loader/i386/efi/linux.c (allocate_pages): reserve space for
19512 trampoline
22f53a96 19513 (jumpvector): removed
19514 (grub_linux_trampoline_start): new declaration
19515 (grub_linux_trampoline_end): likewise
19516 (grub_linux_boot): use trampoline when on 64-bit platform
19517 * loader/i386/linux.c: likewise
19518
cb5a0f40 195192009-05-16 Pavel Roskin <proski@gnu.org>
19520
19521 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
19522 const to avoid a warning.
19523 (grub_lua_setenv): Likewise.
19524 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
19525 lmsg to fix a warning.
19526
334f2c28 195272009-05-16 Felix Zielcke <fzielcke@z-51.de>
19528
19529 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 19530 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
19531 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
19532 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
19533 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
19534 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
19535 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
19536 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 19537
59e5d3ec 195382009-05-16 Felix Zielcke <fzielcke@z-51.de>
19539
19540 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
19541
9d87a1ba 195422009-05-16 Bean <bean123ch@gmail.com>
19543
19544 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
19545 (lua_mod_SOURCES): New variable.
19546 (lua_mod_CFLAGS): Likewise.
19547 (lua_mod_LDFLAGS): Likewise.
19548
19549 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
19550 (setjmp_mod_SOURCES): New variable.
19551 (setjmp_mod_CFLAGS): Likewise.
19552 (setjmp_LDFLAGS): Likewise.
19553
19554 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
19555 (setjmp_mod_SOURCES): New variable.
19556 (setjmp_mod_CFLAGS): Likewise.
19557 (setjmp_LDFLAGS): Likewise.
19558
19559 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
19560 (setjmp_mod_SOURCES): New variable.
19561 (setjmp_mod_CFLAGS): Likewise.
19562 (setjmp_LDFLAGS): Likewise.
19563
19564 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
19565 (setjmp_mod_SOURCES): New variable.
19566 (setjmp_mod_CFLAGS): Likewise.
19567 (setjmp_LDFLAGS): Likewise.
19568
19569 * normal/i386/setjmp.S: Moved from here ...
19570 * lib/i386/setjmp.S: ... Moved here
19571 * normal/x86_64/setjmp.S: Moved from here ...
19572 * lib/x86_64/setjmp.S: ... Moved here
19573 * normal/powerpc/setjmp.S: Moved from here ...
19574 * lib/powerpc/setjmp.S: ... Moved here
19575 * normal/sparc64/setjmp.S: Moved from here ...
19576 * lib/sparc64/setjmp.S: ... Moved here
19577
19578 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
19579 returns_twice in mingw.
19580
19581 * script/lua/grub_lib.c: New file.
19582 * script/lua/grub_lib.h: Likewise.
19583 * script/lua/grub_lua.h: Likewise.
19584 * script/lua/grub_main.c: Likewise.
19585 * script/lua/lapi.c: Likewise.
19586 * script/lua/lapi.h: Likewise.
19587 * script/lua/lauxlib.c: Likewise.
19588 * script/lua/lauxlib.h: Likewise.
19589 * script/lua/lbaselib.c: Likewise.
19590 * script/lua/lcode.c: Likewise.
19591 * script/lua/lcode.h: Likewise.
19592 * script/lua/ldblib.c: Likewise.
19593 * script/lua/ldebug.c: Likewise.
19594 * script/lua/ldebug.h: Likewise.
19595 * script/lua/ldo.c: Likewise.
19596 * script/lua/ldo.h: Likewise.
19597 * script/lua/ldump.c: Likewise.
19598 * script/lua/lfunc.c: Likewise.
19599 * script/lua/lfunc.h: Likewise.
19600 * script/lua/lgc.c: Likewise.
19601 * script/lua/lgc.h: Likewise.
19602 * script/lua/linit.c: Likewise.
19603 * script/lua/liolib.c: Likewise.
19604 * script/lua/llex.c: Likewise.
19605 * script/lua/llex.h: Likewise.
19606 * script/lua/llimits.h: Likewise.
19607 * script/lua/lmathlib.c: Likewise.
19608 * script/lua/lmem.c: Likewise.
19609 * script/lua/lmem.h: Likewise.
19610 * script/lua/loadlib.c: Likewise.
19611 * script/lua/lobject.c: Likewise.
19612 * script/lua/lobject.h: Likewise.
19613 * script/lua/lopcodes.c: Likewise.
19614 * script/lua/lopcodes.h: Likewise.
19615 * script/lua/loslib.c: Likewise.
19616 * script/lua/lparser.c: Likewise.
19617 * script/lua/lparser.h: Likewise.
19618 * script/lua/lstate.c: Likewise.
19619 * script/lua/lstate.h: Likewise.
19620 * script/lua/lstring.c: Likewise.
19621 * script/lua/lstring.h: Likewise.
19622 * script/lua/lstrlib.c: Likewise.
19623 * script/lua/ltable.c: Likewise.
19624 * script/lua/ltable.h: Likewise.
19625 * script/lua/ltablib.c: Likewise.
19626 * script/lua/ltm.c: Likewise.
19627 * script/lua/ltm.h: Likewise.
19628 * script/lua/lua.h: Likewise.
19629 * script/lua/luaconf.h: Likewise.
19630 * script/lua/lualib.h: Likewise.
19631 * script/lua/lundump.c: Likewise.
19632 * script/lua/lundump.h: Likewise.
19633 * script/lua/lvm.c: Likewise.
19634 * script/lua/lvm.h: Likewise.
19635 * script/lua/lzio.c: Likewise.
19636 * script/lua/lzio.h: Likewise.
19637
5e898c9d 196382009-05-16 Bean <bean123ch@gmail.com>
19639
19640 * include/grub/kernel.h (grub_module_header_types): Add type
19641 OBJ_TYPE_CONFIG.
19642
19643 * kern/main.c (grub_load_config): New function.
19644 (grub_main): Call grub_load_config to read boot config.
19645
19646 * grub-mkimage (generate_image): New parameter config_path.
19647 (options): New option --config.
19648 (main): Parse --config option, and pass it to generate_image.
19649
cf353a47 196502009-05-14 Christian Franke <franke@computer.org>
19651
19652 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
19653 This fixes build on Cygwin.
19654
3834887f 196552009-05-14 Pavel Roskin <proski@gnu.org>
19656
19657 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
19658 jump. This saves two bytes, so the typical case of 2 swapped
19659 drives would fit 32 bytes.
19660
8090fc01 196612009-05-13 Pavel Roskin <proski@gnu.org>
19662
ac963883 19663 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
19664 grub_uint32_t to avoid a warning.
19665
8090fc01 19666 * loader/i386/linux.c (allocate_pages): When assigning
19667 real_mode_mem, cast through grub_size_t to fix a warning. The
19668 code already makes sure that the value would fit a pointer.
19669 (grub_linux_setup_video): Cast render_target->data to
19670 grub_size_t to fix a warning.
19671
18f547ad 196722009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 19673
19674 * commands/i386/pc/drivemap.c: New file - implement drivemap
19675 command.
19676 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
19677 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
19678
6f6a8b28 196792009-05-13 Pavel Roskin <proski@gnu.org>
19680
19681 * util/i386/pc/grub-setup.c (setup): Remove unused variable
19682 embedding_area_exists.
19683
15fbf4c4 196842009-05-13 Robert Millan <rmh.grub@aybabtu.com>
19685
19686 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
19687 it easier to understand / work with.
59978c8a 19688 Improve warning messages for cases where there's no embedding area,
19689 or when it is too small (or core.img too large).
15fbf4c4 19690
238e871f 196912009-05-13 Pavel Roskin <proski@gnu.org>
19692
0ab3a9a4 19693 * loader/i386/pc/multiboot2.c: Add necessary includes for
19694 grub_multiboot2_real_boot().
19695
a2c8c5f8 19696 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
19697 PX record is always little-endian. We only need the lower 2
19698 bytes of the mode.
19699
faec96af 19700 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
19701 facilitate code reuse.
19702 (grub_cpio_mount): Use "struct head", not a char buffer. This
19703 fixes a warning reported by gcc 4.4.
19704
238e871f 19705 * kernel/disk.c (grub_disk_read): Use void pointer for the
19706 buffer.
19707 (grub_disk_write): Use const void pointer for the buffer.
19708 Adjust all callers. Remove unnecessary casts.
19709
901d2f0c 197102009-05-10 Robert Millan <rmh.grub@aybabtu.com>
19711
19712 * util/i386/pc/grub-install.in: Update copyright year.
19713
18f547ad 197142009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 19715
19716 gptsync
19717
19718 * commands/gptsync.c: new file
19719 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
19720 (gptsync_mod_SOURCES): new variable
19721 (gptsync_mod_CFLAGS): likewise
19722 (gptsync_mod_LDFLAGS): likewise
18f547ad 19723 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 19724 new definition
19725 (GRUB_PC_PARTITION_TYPE_HFS): likewise
19726 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
19727 * conf/i386-ieee1275.rmk: likewise
19728 * conf/i386-pc.rmk: likewise
19729 * conf/powerpc-ieee1275.rmk: likewise
19730
b4ba690a 197312009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
19732
19733 Fixed grub-emu
19734
19735 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
19736 (grub_dl_ref): likewise
19737
317e1a44 197382009-05-08 Robert Millan <rmh.grub@aybabtu.com>
19739
19740 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
19741 split in two functions (one for msdos and one for gpt).
19742
041b8094 197432009-05-08 Pavel Roskin <proski@gnu.org>
19744
752473c2 19745 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
19746 not modified.
19747
041b8094 19748 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
19749 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
19750 Initialize them with -1. Add sanity check for bad1. Eliminate
19751 nerr variable.
19752
172800ce 197532009-05-08 David S. Miller <davem@davemloft.net>
19754
19755 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
19756
29aa5e81 197572009-05-06 Robert Millan <rmh.grub@aybabtu.com>
19758
19759 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 19760 existence.
29aa5e81 19761
96613b62 197622009-05-05 Felix Zielcke <fzielcke@z-51.de>
19763
19764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 19765 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 19766
eef73c8a 197672009-05-05 David S. Miller <davem@davemloft.net>
19768
19769 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
19770
119494b5 197712009-05-05 Pavel Roskin <proski@gnu.org>
19772
19773 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
19774 of grub_dl_ref() and grub_dl_unref().
19775 * commands/parttool.c: Remove preprocessor conditionals around
19776 grub_dl_ref() and grub_dl_unref().
19777 * fs/affs.c: Likewise.
19778 * fs/afs.c: Likewise.
19779 * fs/cpio.c: Likewise.
19780 * fs/ext2.c: Likewise.
19781 * fs/fat.c: Likewise.
19782 * fs/hfs.c: Likewise.
19783 * fs/hfsplus.c: Likewise.
19784 * fs/iso9660.c: Likewise.
19785 * fs/jfs.c: Likewise.
19786 * fs/minix.c: Likewise.
19787 * fs/ntfs.c: Likewise.
19788 * fs/reiserfs.c: Likewise.
19789 * fs/sfs.c: Likewise.
19790 * fs/udf.c: Likewise.
19791 * fs/ufs.c: Likewise.
19792 * fs/xfs.c: Likewise.
19793 * include/grub/dl.h: Likewise.
19794 * loader/xnu.c: Likewise.
19795
de5fd76e 197962009-05-04 Pavel Roskin <proski@gnu.org>
19797
19798 * commands/acpi.c: Remove unused variable my_mod.
19799 * partmap/amiga.c: Likewise.
19800 * partmap/apple.c: Likewise.
19801 * partmap/gpt.c: Likewise.
19802 * partmap/pc.c: Likewise.
19803 * partmap/sun.c: Likewise.
19804 * term/gfxterm.c: Likewise.
19805 * term/i386/pc/vesafb.c: Likewise.
19806 * term/i386/pc/vga.c: Likewise.
19807
983598ad 198082009-05-04 David S. Miller <davem@davemloft.net>
19809
19810 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
19811 pointer args to grub_ieee1275_get_property().
19812
8aadec43 19813 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
19814
9554b15e 19815 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
19816 devices, and do not traverse down under controller nodes.
19817
67e23c90 19818 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
19819 (grub_ofdisk_open): Use it to un-escape "," characters.
19820 * kern/disk.c (find_part_sep): New.
19821 (grub_disk_open): Use it to find the first non-escaped ','
19822 character in the disk name.
19823 * util/ieee1275/devicemap.c (escape_of_path): New.
19824 (grub_util_emit_devicemap_entry): Use it.
19825 * util/sparc64/ieee1275/grub-install.in: Update script to
19826 strip partition specifiers properly by not triggering on
19827 '\' escaped ',' characters.
19828
74bfdd2f 198292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19830
19831 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
19832 to 0x300.
19833 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
19834 resolutions.
19835 (linux_vesafb_modes): Add a lot of additional modes to the list (based
19836 on documentation from Wikipedia).
19837
4241d2b1 198382009-05-04 Pavel Roskin <proski@gnu.org>
19839
19840 * disk/ata.c: Spelling fixes.
19841 * disk/raid.c: Likewise.
19842 * disk/usbms.c: Likewise.
19843 * disk/dmraid_nvidia.c: Likewise.
19844 * kern/ieee1275/openfw.c: Likewise.
19845 * kern/ieee1275/init.c: Likewise.
19846 * kern/ieee1275/cmain.c: Likewise.
19847 * boot/i386/pc/cdboot.S: Likewise.
19848 * video/readers/png.c: Likewise.
19849 * video/i386/pc/vbe.c: Likewise.
19850 * fs/udf.c: Likewise.
19851 * fs/hfs.c: Likewise.
19852 * fs/reiserfs.c: Likewise.
19853 * efiemu/runtime/efiemu.c: Likewise.
19854 * efiemu/main.c: Likewise.
19855 * efiemu/mm.c: Likewise.
19856 * include/grub/elf.h: Likewise.
19857 * include/grub/xnu.h: Likewise.
19858 * include/grub/usbdesc.h: Likewise.
19859 * include/grub/usb.h: Likewise.
19860 * include/grub/script_sh.h: Likewise.
19861 * include/grub/lib/LzmaEnc.h: Likewise.
19862 * include/grub/efiemu/efiemu.h: Likewise.
19863 * include/grub/command.h: Likewise.
19864 * normal/menu.c: Likewise.
19865 * normal/main.c: Likewise.
19866 * normal/datetime.c: Likewise.
19867 * bus/usb/uhci.c: Likewise.
19868 * mmap/i386/uppermem.c: Likewise.
19869 * mmap/mmap.c: Likewise.
19870 * commands/acpi.c: Likewise.
19871 * commands/test.c: Likewise.
19872 * partmap/apple.c: Likewise.
19873 * font/font.c: Likewise.
19874 * loader/sparc64/ieee1275/linux.c: Likewise.
19875 * loader/macho.c: Likewise.
19876 * loader/i386/bsd_trampoline.S: Likewise.
19877 * loader/i386/bsd.c: Likewise.
19878 * loader/xnu.c: Likewise.
19879 * term/i386/pc/vesafb.c: Likewise.
19880 * term/usb_keyboard.c: Likewise.
19881 * util/resolve.c: Likewise.
19882 * util/getroot.c: Likewise.
19883
0cfc0083 198842009-05-04 Felix Zielcke <fzielcke@z-51.de>
19885
19886 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
19887
7c1d00cd 198882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19889
19890 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
19891 build error.
19892
b01f0548 198932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19894
19895 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
19896 parameter only available on BIOS.
19897
ecc3eb22 198982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19899
19900 Removed wrong semicolon in declaration
19901
19902 * grub/misc.h (grub_dprintf): remove semicolon
19903
112972a9 199042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19905
19906 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
19907 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
19908 is done by grub_cmd_linux() now).
19909 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
19910 restore video to text mode.
19911 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
19912 indicates lack of "vga=" parameter. "vga=0" is mapped to
19913 `GRUB_LINUX_VID_MODE_NORMAL'.
19914
afd5c115 199152009-05-04 Felix Zielcke <fzielcke@z-51.de>
19916
19917 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
19918 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
19919 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 19920 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 19921 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
19922 `grub_script.tab.c'.
19923
19924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19925 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19927 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19928 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19929
faa517ce 19930 * Makefile.in: Remove duplicated 2008 in Copyright line.
19931
ae0c0bdc 199322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
19933
473d1e45 19934 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 19935 unconditionally.
19936 * include/grub/util/misc.h (grub_util_warn): New declaration.
19937
19938 * util/i386/pc/grub-install.in: Understand --force and pass it down
19939 to grub-setup.
19940
19941 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
19942 down to setup().
19943 (setup): Improve error messages and add warnings when requested to
19944 install in odd layouts. Refuse to install using blocklists unless
19945 --force was set.
19946
18f547ad 199472009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 19948
19949 * disk/raid.c (grub_raid_scan_device): Improve debug message.
19950
6d260daa 199512009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19952
19953 Updated copyright year
19954
19955 * fs/hfsplus.c: updated copyright year
18f547ad 19956
69f853f8 199572009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
19958
19959 HFS+ UUID
19960
18f547ad 19961 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 19962 in the space previously used by unused3
19963 (grub_hfsplus_uuid): new function
19964 (grub_hfsplus_fs): added uuid field
19965
4c402e73 199662009-05-03 Pavel Roskin <proski@gnu.org>
19967
19968 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
19969 suppress warnings. It's no longer needed.
19970 * disk/host.c: Likewise.
19971 * disk/ata_pthru.c: Likewise.
19972 * disk/loopback.c: Likewise.
19973 * hook/datehook.c: Likewise.
19974 * parttool/pcpart.c: Likewise.
19975 * fs/i386/pc/pxe.c: Likewise.
19976 * fs/ntfscomp.c: Likewise.
19977 * efiemu/main.c: Likewise.
19978 * mmap/mmap.c: Likewise.
19979 * commands/crc.c: Likewise.
19980 * commands/hexdump.c: Likewise.
19981 * commands/hdparm.c: Likewise.
19982 * commands/acpi.c: Likewise.
19983 * commands/echo.c: Likewise.
19984 * commands/minicmd.c: Likewise.
19985 * commands/blocklist.c: Likewise.
19986 * commands/memrw.c: Likewise.
19987 * commands/loadenv.c: Likewise.
19988 * commands/usbtest.c: Likewise.
19989 * commands/lsmmap.c: Likewise.
19990 * commands/boot.c: Likewise.
19991 * commands/parttool.c: Likewise.
19992 * commands/configfile.c: Likewise.
19993 * commands/search.c: Likewise.
19994 * commands/ieee1275/suspend.c: Likewise.
19995 * commands/cat.c: Likewise.
19996 * commands/i386/pc/pxecmd.c: Likewise.
19997 * commands/i386/pc/play.c: Likewise.
19998 * commands/i386/pc/halt.c: Likewise.
19999 * commands/i386/pc/vbeinfo.c: Likewise.
20000 * commands/i386/pc/vbetest.c: Likewise.
20001 * commands/lspci.c: Likewise.
20002 * commands/date.c: Likewise.
20003 * commands/handler.c: Likewise.
20004 * commands/ls.c: Likewise.
20005 * commands/test.c: Likewise.
20006 * commands/cmp.c: Likewise.
20007 * commands/efi/loadbios.c: Likewise.
20008 * commands/efi/fixvideo.c: Likewise.
20009 * commands/halt.c: Likewise.
20010 * commands/help.c: Likewise.
20011 * commands/reboot.c: Likewise.
20012 * hello/hello.c: Likewise.
20013 * script/sh/main.c: Likewise.
20014 * loader/xnu.c: Likewise.
20015 * term/terminfo.c: Likewise.
20016 * term/i386/pc/serial.c: Likewise.
20017 * term/usb_keyboard.c: Likewise.
20018
515b5079 200192009-05-03 David S. Miller <davem@davemloft.net>
20020
20021 * normal/menu.c: Include grub/parser.h
20022
dfc31a22 200232009-05-03 Pavel Roskin <proski@gnu.org>
20024
2fee74f1 20025 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
20026 not char*.
20027 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
20028 Suggested by Javier Martín <lordhabbit@gmail.com>
20029
dfc31a22 20030 * util/i386/pc/grub-mkrescue.in: Allow for the case when
20031 efiemu??.o doesn't exist.
20032 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
20033 copying.
20034
18f547ad 200352009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 20036
20037 FreeBSD 64-bit support
20038
18f547ad 20039 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 20040 and loader/i386/bsd_trampoline.S
20041 (bsd_mod_ASFLAGS): new variable
20042 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
20043 (FREEBSD_MODTYPE_KERNEL64): likewise
20044 (grub_bsd64_trampoline_start): likewise
20045 (grub_bsd64_trampoline_end): likewise
20046 (grub_bsd64_trampoline_selfjump): likewise
20047 (grub_bsd64_trampoline_gdt): likewise
20048 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
20049 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
20050 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
20051 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 20052 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 20053 of "attrib" member
20054 * loader/i386/bsd_pagetable.c: new file
20055 * loader/i386/bsd_trampoline.S: likewise
20056 * loader/i386/bsd.c (ALIGN_QWORD): new macro
20057 (ALIGN_VAR): likewise
20058 (entry_hi): new variable
20059 (kern_end_mdofs): likewise
20060 (is_64bit): likewise
20061 (grub_freebsd_add_meta): use ALIGN_VAR
20062 (grub_e820_mmap): new declaration
20063 (grub_freebsd_add_mmap): new function
20064 (grub_freebsd_add_meta_module): support 64 bit kernels
20065 (grub_freebsd_list_modules): use ALIGN_VAR
20066 (gdt_descriptor): new declaration
20067 (grub_freebsd_boot): support 64 bit kernels
20068 (grub_bsd_elf64_hook): new function
20069 (grub_bsd_load_elf): support elf64
20070
038c5720 200712009-05-03 Bean <bean123ch@gmail.com>
20072
20073 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
20074 after we get the result of if statement.
20075
fc45fb58 200762009-05-03 Bean <bean123ch@gmail.com>
20077
20078 * Makefile.in (enable_efiemu): New variable.
20079
20080 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
20081 set.
20082 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
20083 path.
20084 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
20085 path, add -mno-red-zone option.
20086 (efiemu64_s.o): Likewise.
20087 (efiemu64.o): Use macro $^ for source file.
20088
20089 * configure.ac (--enable-efiemu): New option.
20090
bbee0f2b 200912009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20092
20093 xnu support
20094
20095 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
20096 (pkglib_MODULES): add xnu.mod
20097 (xnu_mod_SOURCES): new variable
20098 (xnu_mod_CFLAGS): likewise
20099 (xnu_mod_LDFLAGS): likewise
20100 (xnu_mod_ASFLAGS): likewise
20101 * conf/i386-pc.rmk: likewise
20102 * conf/x86_64-efi.rmk: likewise
7dd4a573 20103 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 20104 new declaration
20105 * include/grub/i386/macho.h: new file
20106 * include/grub/i386/xnu.h: likewise
20107 * include/grub/macho.h: likewise
20108 * include/grub/machoload.h: likewise
20109 * include/grub/x86_64/macho.h: likewise
20110 * include/grub/x86_64/xnu.h: likewise
20111 * include/grub/xnu.h: likewise
20112 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
20113 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
20114 * loader/i386/efi/xnu.c: new file
20115 * loader/i386/pc/xnu.c: likewise
20116 * loader/i386/xnu.c: likewise
20117 * loader/i386/xnu_helper.S: likewise
20118 * loader/macho.c: likewise
20119 * loader/xnu.c: likewise
20120 * loader/xnu_resume.c: likewise
20121 * util/grub-dumpdevtree: likewise
20122 * include/grub/i386/pit.h: include grub/err.h
20123 (grub_pit_wait): export
20124 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 20125
5caf964d 201262009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
20127
20128 Efiemu
7dd4a573 20129
5caf964d 20130 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 20131 _linux_efi, linux_efi.
20132 new files in grub-emu
5caf964d 20133 new targets efiemu32.o and efiemu64.o
20134 * loader/linux_normal_efiemu.c: likewise
20135 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 20136 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 20137 files to copy
20138 * include/grub/autoefi.h: new file
7dd4a573 20139 * include/grub/i386/efiemu.h: likewise
5caf964d 20140 * include/grub/i386/pc/efiemu.h: likewise
20141 * include/grub/efi/api.h: add LL suffix when necessary
20142 new definitions relating to tables
20143 * include/grub/efiemu/efiemu.h: new file
20144 * include/grub/efiemu/runtime.h: likewise
20145 * efiemu/prepare.c: likewise
20146 * efiemu/loadcore_common.c: likewise
20147 * efiemu/loadcore64.c: likewise
20148 * efiemu/runtime/efiemu.sh: likewise
20149 * efiemu/runtime/efiemu.S: likewise
20150 * efiemu/runtime/efiemu.c: likewise
20151 * efiemu/runtime/config.h: likewise
20152 * efiemu/prepare32.c: likewise
20153 * efiemu/main.c: likewise
20154 * efiemu/modules/pnvram.c: likewise
20155 * efiemu/modules/i386: likewise
20156 * efiemu/modules/i386/pc: likewise
20157 * efiemu/modules/acpi.c: likewise
20158 * efiemu/i386/pc/cfgtables.c: likewise
20159 * efiemu/i386/loadcore64.c: likewise
20160 * efiemu/i386/loadcore32.c: likewise
20161 * efiemu/prepare64.c: likewise
20162 * efiemu/loadcore.c: likewise
20163 * efiemu/symbols.c: likewise
20164 * efiemu/mm.c: likewise
20165 * efiemu/loadcore32.c: likewise
7dd4a573 20166
201672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 20168
20169 ACPI spoofing
20170
20171 * commands/acpi.c: new file
20172 * commands/i386/pc/acpi.c: likewise
20173 * commands/efi/acpi.c: likewise
20174 * include/grub/acpi.h: likewise
20175 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
20176 (acpi_mod_SOURCES): new variable
20177 (acpi_mod_CFLAGS): likewise
20178 (acpi_mod_LDFLAGS): likewise
20179 * conf/i386-efi.rmk: likewise
20180 * conf/x86_64-efi.rmk: likewise
20181
7dd4a573 201822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 20183
20184 Missing part from mmap patch
20185
20186 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
20187 (grub_mmap_unregister)
20188 (grub_mmap_free_and_unregister): use grub_mmap_register
20189
7dd4a573 201902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 20191
20192 Mmap services
20193
20194 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
20195 * loader/i386/linux.c (find_mmap_size): likewise
20196 (allocate_pages): likewise
20197 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
20198 (grub_fill_multiboot_mmap): likewise
20199 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
20200 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
20201 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
20202 (OPENBSD_MMAP_RESERVED): likewise
20203 * include/grub/i386/pc/memory.h: include grub/memory.h
20204 (grub_lower_mem): removed
20205 (grub_upper_mem): likewise
20206 (GRUB_MACHINE_MEMORY_ACPI): new definition
20207 (GRUB_MACHINE_MEMORY_NVS): likewise
20208 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
20209 (GRUB_MACHINE_MEMORY_HOLE): likewise
20210 (grub_machine_mmap_register): likewise
20211 (grub_machine_mmap_unregister): likewise
20212 (grub_machine_get_upper): likewise
20213 (grub_machine_get_lower): likewise
20214 (grub_machine_get_post64): likewise
20215 * include/grub/i386/efi/memory.h: new file
20216 * include/grub/x86_64/efi/memory.h: likewise
20217 * include/grub/efi/memory.h: likewise
20218 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
20219 (mmap_mod_SOURCES): new variable
20220 (mmap_mod_LDFLAGS): likewise
20221 (mmap_mod_ASFLAGS): likewise
20222 * conf/i386-coreboot.rmk: likewise
20223 * conf/i386-ieee1275.rmk: likewise
20224 * conf/i386-efi.rmk: likewise
20225 * conf/x86_64-efi.rmk: likewise
20226 * include/grub/types.h (UINT_TO_PTR): new macro
20227 (PTR_TO_UINT32): likewise
20228 (PTR_TO_UINT64): likewise
20229 * include/grub/memory.h: new file
20230 * mmap/i386/pc/mmap.c: likewise
20231 * mmap/i386/pc/mmap_helper.S: likewise
20232 * mmap/i386/uppermem.c: likewise
20233 * mmap/mmap.c: likewise
20234 * mmap/efi/mmap.c: likewise
7dd4a573 20235 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 20236 grub_upper_mem
20237 * kern/i386/pc/init.c (grub_lower_mem): removed variable
20238 (grub_upper_mem): likewise
20239 (grub_machine_init): don't use grub_upper_mem,
20240 make grub_lower_mem local
20241 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
20242 grub_mmap_iterate and grub_mmap_get_upper
20243 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
20244
d558e6b5 202452009-05-02 Bean <bean123ch@gmail.com>
20246
20247 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
20248 script/sh/parser.y.
20249 (pkglib_MODULES): Add normal.mod and sh.mod.
20250 (normal_SOURCES): New variable.
20251 (normal_mod_CFLAGS): Likewise.
20252 (normal_mod_LDFLAGS): Likewise.
20253 (sh_mod_SOURCES): Likewise.
20254 (sh_mod_CFLAGS): Likewise.
20255 (sh_mod_LDFLAGS): Likewise.
20256
20257 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
20258 script/sh/lexer.c_DEPENDENCIES.
20259 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
20260 kern/rescue_reader.c and kern/rescue_parser.c.
20261 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
20262 (grub_emu_SOURCES): Change source files.
20263 (pkglib_MODULES): Remove normal.mod.
20264 (normal_SOURCES): Removed.
20265 (normal_mod_CFLAGS): Likewise.
20266 (normal_mod_LDFLAGS): Likewise.
20267 * conf/i386-coreboot.rmk: Likewise.
20268 * conf/i386-efi.rmk: Likewise.
20269 * conf/i386-ieee1276.rmk: Likewise.
20270 * conf/powerpc-ieee1275.rmk: Likewise.
20271 * conf/sparc64-ieee1275.rmk: Likewise.
20272 * conf/x86_64-efi.rmk: Likewise.
20273
20274 * include/grub/command.h (grub_command_execute): New inline function.
20275
20276 * include/grub/menu.h (grub_menu_entry): Removed commands field.
20277
20278 * include/grub/normal.h: Remove <grub/setjmp.h>.
20279 (grub_fs_module_list): Moved to normal/autofs.c.
20280 (grub_exit_env): Removed.
20281 (grub_command_execute): Likewise.
20282 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
20283 parameter script.
20284 (read_command_list): New function declaration.
20285 (read_fs_list): Likewise.
20286
20287 * include/parser.h: Include <grub/reader.h>.
20288 (grub_parser_split_cmdline): Change type of getline parameter.
20289 (grub_parser): New structure.
20290 (grub_parser_class): New variable.
20291 (grub_parser_execute): New function declaration.
20292 (grub_register_rescue_parser): Likewise.
20293 (grub_parser_register): New inline function.
20294 (grub_parser_unregister): Likewise.
20295 (grub_parser_get_current): Likewise.
20296 (grub_parser_set_current): Likewise.
20297
20298 * include/grub/reader.h: New file.
20299 * kern/reader.c: Likewise.
20300 * kern/rescue_parser.c: Likewise.
20301 * kern/rescue_reader.c: Likewise.
20302 * normal/autofs.c: Likewise.
20303 * normal/dyncmd.c: Likewise.
20304
20305 * include/grub/rescue.h: Removed.
20306 * normal/command.h: Likewise.
20307
20308 * include/grub/script.h: Moved to ...
20309 * include/grub/script_sh.h: ... Moved here.
20310 * normal/execute.c: Moved to ...
20311 * script/sh/execute.c: ... Moved here.
20312 * normal/function.c: Moved to ...
20313 * script/sh/function.c: ... Moved here.
20314 * normal/lexer.c: Moved to ...
20315 * script/sh/lexer.c: ... Moved here.
20316 * normal/parser.y: Moved to ...
20317 * script/sh/parser.y: ... Moved here.
20318 * normal/script.c: Moved to ...
20319 * script/sh/script.c: ... Moved here.
20320
20321 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
20322 <grub/reader.h>.
20323 (grub_exit_env): Removed.
20324 (fs_module_list): Moved to normal/autofs.c.
20325 (grub_file_getline): Don't handle comment here.
20326 (free_menu): Skip removed field entry->commands.
20327 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
20328 script parameter.
20329 (read_config_file): Removed nested parameter, change getline function.
20330 (grub_enter_normal_mode): Removed.
20331 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
20332 (read_command_list): Likewise.
20333 (autoload_fs_module): Moved to normal/autofs.c.
20334 (read_fs_list): Likewise.
20335 (reader_nested): New variable.
20336 (grub_normal_execute): Run parser.sh to switch to sh parser.
20337 (grub_cmd_rescue): Removed.
20338 (cmd_normal): Removed.
20339 (grub_cmd_normal): Unregister itself at the beginning. Don't register
20340 rescue command.
20341 (grub_cmdline_run): New function.
20342 (grub_normal_reader_init): Likewise.
20343 (grub_normal_read_line): Likewise.
20344 (grub_env_write_pager): Likewise.
20345 (cmdline): New variable.
20346 (grub_normal_reader): Likewise.
20347 (GRUB_MOD_INIT): Register normal reader and set as current, register
20348 pager hook, register normal command with grub_register_command_prio,
20349 so that it won't show up in command.lst.
20350 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
20351 grub_fs_autoload_hook.
20352
20353 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
20354 (grub_menu_execute_entry): Replace grub_script_execute with
20355 grub_parser_execute, change parameter to grub_command_execute.
20356
20357 * normal/menu_text.c: Remove <grub/script.h>.
20358
20359 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
20360 and <grub/parser.h>.
20361 (run): Change editor_getline to use new parser interface. Change
20362 parameter to grub_command_execute.
20363
20364 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
20365 <grub/reader.h> and <grub/parser.h>.
20366 (grub_load_normal_mode): Execute normal command.
20367 (grub_main): Call grub_register_core_commands,
20368 grub_register_rescue_parser and grub_register_rescue_reader, use
20369 grub_reader_loop to enter input loop.
20370
7dd4a573 20371 * kern/parser.c (grub_parser_split_cmdline): Change type of
20372 getline parameter.
d558e6b5 20373 (grub_parser_class): New variable.
20374 (grub_parser_execute): New function.
20375
20376 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
20377 * loader/multiboot2.c: Likewise.
20378 * loader/sparc64/ieee1275/linux.c: Likewise.
20379
20380 * util/grub-emu.c (read_command_list): New dummy function.
20381
18db813d 203822009-05-02 Robert Millan <rmh.grub@aybabtu.com>
20383
20384 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
20385 count to 16 for CCISS and IDA.
20386
6c67de15 203872009-05-02 Robert Millan <rmh.grub@aybabtu.com>
20388
20389 * normal/menu_text.c (grub_wait_after_message): Print a newline
20390 after waiting for user input.
20391
20392 * loader/i386/linux.c: Include `<grub/normal.h>'.
20393 (grub_cmd_linux): Improve the error message about `ask' mode, by
20394 waiting for user input so it's not missed (we can do this, since
20395 user requested interaction).
20396
d9dc87b0 203972009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 Added missing lst to grub-mkrescue
20400
20401 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
20402 and ${input_dir}/parttool.lst
20403
ac8a2baa 204042009-04-30 David S. Miller <davem@davemloft.net>
20405
ad22a610 20406 * util/hostdisk.c (device_is_wholedisk): New function.
20407 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
20408 zero only if device_is_wholedisk() returns true.
20409
6966215d 20410 * util/hostdisk.c (convert_system_partition_to_system_disk):
20411 Handle virtual disk devices named /dev/vdiskX as found on sparc
20412 and powerpc.
20413
ac8a2baa 20414 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
20415 lettered partition specifier is found, convert to numbered.
20416
979b4fb4 204172009-04-29 David S. Miller <davem@davemloft.net>
20418
e2bf39b2 20419 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
20420 * include/grub/sparc64/ieee1275/memory.h: Likewise.
20421
3c64e104 20422 * normal/command.c: Add missing newline at end of file.
20423
979b4fb4 20424 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
20425 warnings.
20426 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
20427 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
20428 grub_ofdisk_read): Likewise, and deal similarly with the fact that
20429 ihandles have a 32-bit type but need to be stored in a "void *".
20430
136d9f82 204312009-04-28 Pavel Roskin <proski@gnu.org>
20432
9459c306 20433 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
20434 not disk. Adjust all dependencies.
2e08a26a 20435 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 20436 grub_disk_close().
20437
136d9f82 20438 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
20439 parent's partition, don't copy it by reference, as it gets freed
20440 on close.
20441
7dd4a573 204422009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 20443
20444 Preboot hooks support
20445
20446 * commands/boot.c (struct grub_preboot_t): new declaration
20447 (preboots_head): new variable
20448 (preboots_tail): likewise
20449 (grub_loader_register_preboot_hook): new function
20450 (grub_loader_unregister_preboot_hook): likewise
20451 (grub_loader_set): launch preboot hooks
20452 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
20453 (grub_loader_register_preboot_hook): new declaration
20454 (grub_loader_unregister_preboot_hook): likewise
20455
5af922b5 204562009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 Warning fix
20459
7dd4a573 20460 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 20461 calling grub_dprintf
20462
a5562c30 204632009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
20464
20465 Bug and warning fixes
20466
7dd4a573 20467 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 20468 declaration
20469 * commands/test.c (test_parse): fixed bug with file tests and corrected
20470 declaration of find_file
20471
4006f85c 204722009-04-26 Pavel Roskin <proski@gnu.org>
20473
20474 * Makefile.in: Don't install empty manual pages if help2man is
20475 missing. Use help2man option for output, not shell redirection.
20476
5c77c3de 204772009-04-26 David S. Miller <davem@davemloft.net>
20478
20479 * util/grub-mkdevicemap.c (make_device_map): Add missing
20480 NESTED_FUNC_ATTR to process_device().
20481
033b10a8 204822009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20483
20484 Test command
20485
20486 * commands/test.c: rewritten to use bash-like test
20487
e4343593 204882009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
20489
20490 Parttool autoloading and improvements
20491
7dd4a573 20492 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 20493 (parttool.lst): new target
20494 * genmk.rb: generate parttool-*
20495 (CLEANFILES): add #{parttool}
20496 (PARTTOOLFILES): new variable
20497 * genparttoollist.sh: new file
7dd4a573 20498 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 20499 (grub_pcpart_type): likewise
20500 * commands/parttool.c (helpmsg): new variable
20501 (grub_cmd_parttool): output help if not enough arguments are supplied
20502 autoload modules
20503 (GRUB_MOD_INIT(parttool)): use helpmsg
20504
0d312500 205052009-04-24 David S. Miller <davem@davemloft.net>
20506
7dd4a573 20507 Avoiding opening same device multiple times in device iterator.
0d312500 20508
20509 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 20510 and use it to build a list of partitions in iterate_disk() and
0d312500 20511 iterate_partition().
20512
ac20caff 20513 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
20514 on disk->data.
20515
0dcf7495 20516 * disk/ieee1275/nand.c (grub_nand_iterate): Return
20517 grub_devalias_iterate() result instead of unconditional 0.
20518 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
20519 Also, capture hook return value, either directly or via
20520 grub_children_iterate(), and propagate to caller.
20521 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
20522 grub_children_iterate): Return value is now 'int' instead of
20523 'grub_err_t'.
20524 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
20525 like a proper iterator, stopping when hooks return non-zero.
20526 (grub_devalias_iterate): Likewise.
20527
c8c08833 205282009-04-23 David S. Miller <davem@davemloft.net>
20529
20530 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
20531
f01005a8 205322009-04-22 David S. Miller <davem@davemloft.net>
20533
20534 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
20535 is larger than address_cells, use that value for address_cells too.
20536
4e8269da 20537 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
20538 IEEE1275_MAX_PATH_LEN): Define.
20539 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
20540 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
20541 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
20542 'devtype'. Explicitly NULL terminate devalias expansion.
20543
a1447506 20544 * util/sparc64/ieee1275/misc.c: New file.
20545 * util/sparc64/ieee1275/grub-setup.c: New file.
20546 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
20547 * util/sparc64/ieee1275/grub-mkimage.c: New file.
20548 * util/sparc64/ieee1275/grub-install.in: New file.
20549 * util/ieee1275/ofpath.c: New file.
20550 * util/ieee1275/devicemap.c: New file.
20551 * util/devicemap.c: New file.
20552 * util/deviceiter.c: New file.
20553 * kern/sparc64/ieee1275/init.c: New file.
20554 * include/grub/util/ofpath.h: New file.
20555 * include/grub/util/deviceiter.h: New file.
20556 * util/grub-mkdevicemap.c: Include deviceiter.h.
20557 Implement using grub_util_emit_devicemap_entry and
20558 grub_util_iterate_devices.
20559 * conf/i386-corebook.rmk: Build util/deviceiter.c and
20560 util/devicemap.c into grub-mkdevicemap
20561 * conf/i386-efi.rmk: Likewise.
20562 * conf/i386-ieee1275.rmk: Likewise.
20563 * conf/i386-pc.rmk: Likewise.
20564 * conf/powerpc-ieee1275.rmk: Likewise.
20565 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
20566 images and installation utilities. Build kernel as image
20567 instead of as elf binary. Use common rules as much as possible.
20568
7dd4a573 205692009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 20570
20571 Correct GPT definition
20572
7dd4a573 20573 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 20574 of "attrib" member
20575
c6c5219f 205762009-04-19 Felix Zielcke <fzielcke@z-51.de>
20577
20578 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
20579
0552ff9f 205802009-04-19 David S. Miller <davem@davemloft.net>
20581
20582 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
20583 (grub_rescue_cmd_linux): Rename to...
20584 (grub_cmd_linux): and fix prototype.
20585 (grub_rescue_cmd_initrd): Rename to...
20586 (grub_cmd_initrd): and fix prototype.
20587 (cmd_linux, cmd_initrd): New.
20588 (GRUB_MOD_INIT(linux)): Use grub_register_command().
20589 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
20590
d1a282fc 205912009-04-17 Pavel Roskin <proski@gnu.org>
20592
07c5039f 20593 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
20594 format.
20595 (grub_ohci_transfer): Likewise.
20596
b012002d 20597 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
20598
1bc09c35 20599 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
20600 return without a value. Fix inconsistent indentation.
20601
e0ff9126 20602 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
20603 match struct grub_fs.
20604
d1a282fc 20605 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
20606 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
20607 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20608 * commands/lspci.c (grub_lspci_iter): Likewise.
20609
a96df3f2 206102009-04-16 Bean <bean123ch@gmail.com>
20611
20612 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
20613 value.
20614
41bb0fe9 206152009-04-15 Pavel Roskin <proski@gnu.org>
20616
20617 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
20618 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
20619 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
20620 definitions.
20621
596c6970 206222009-04-15 Felix Zielcke <fzielcke@z-51.de>
20623
20624 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 20625 that no multiple data or metadata areas are supported and `Unknown
596c6970 20626 metadata header'.
20627
7dd4a573 206282009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 20629
20630 Move loader out of the kernel
20631
20632 * kern/loader.c: moved to ...
20633 * commands/boot.c: ... moved here
20634 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
20635 * commands/boot.c (grub_cmd_boot): moved here. All users updated
20636 * include/grub/kernel.h (grub_machine_fini): export
20637 * include/grub/loader.h (grub_loader_is_loaded): update declaration
20638 (grub_loader_set): likewise
20639 (grub_loader_unset): likewise
20640 (grub_loader_boot): likewise
20641 * conf/common.rmk: new module boot.mod
20642 (pkglib_MODULES): add boot.mod
20643 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
20644 (grub_emu_SOURCES): likewise
20645 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
20646 (grub_emu_SOURCES): likewise
20647 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
20648 (grub_emu_SOURCES): likewise
20649 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
20650 (grub_emu_SOURCES): likewise
20651 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
20652 (grub_emu_SOURCES): likewise
7dd4a573 20653 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
20654 (grub_emu_SOURCES): likewise
0d5d5653 20655 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 20656 (grub_emu_SOURCES): likewise
0d5d5653 20657
7dd4a573 206582009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 20659
20660 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 20661
5999d619 20662 * kern/misc.c (grub_itoa): Removed function
20663 (grub_ltoa): likewise
20664 (grub_vsprintf): use grub_lltoa
20665
7dd4a573 206662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 20667
20668 Restore grub-emu
20669
20670 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
20671 * conf/i386-coreboot.rmk: likewise
20672 * conf/i386-ieee1275.rmk: likewise
20673 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 20674
20318222 206752009-04-15 Felix Zielcke <fzielcke@z-51.de>
20676
20677 * INSTALL: Add that `./autogen.sh' needs to be run before
20678 `./configure.'.
20679
d05f0df3 206802009-04-14 Bean <bean123ch@gmail.com>
20681
20682 * Makefile.in (pkglib_DATA): Add handler.lst.
20683 (handler.lst): New rule.
20684
20685 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
20686 * conf/i386-coreboot.rmk: Likewise.
20687 * conf/i386-ieee1275.rmk: Likewise.
20688 * conf/i386-efi.rmk: Likewise.
20689 * conf/x86_64-efi.rmk: Likewise.
20690 * conf/powerpc-ieee1275.rmk: Likewise.
20691 * conf/sparc64-ieee1275.rmk: Likewise.
20692
20693 * genhandlerlist.sh: New file.
20694
20695 * genmk.rb: Add rules to generate handler.lst.
20696
20697 * include/grub/normal.h (grub_file_getline): New function definition.
20698 (read_handler_list): Likewise.
20699 (free_handler_list): Likewise.
20700
20701 * include/grub/term.h (grub_term_register_input): Add name parameter
20702 for auto generation of handler.lst.
20703 (grub_term_register_output): Likewise.
20704
20705 * normal/handler.c: New file.
20706
20707 * normal/main.c (get_line): Renamed to grub_file_getline.
20708 (read_config_file): Use the newly renamed grub_file_getline.
20709 (read_command_list): Likewise.
20710 (read_fs_list): Likewise.
20711 (grub_normal_execute): Call read_handler_list to parse handler.lst.
20712 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
20713
20714 * term/efi/console.c (grub_console_init): Add name parameter for auto
20715 generation of handler.lst.
20716 * term/gfxterm.c: Likewise.
20717 * term/i386/pc/at_keyboard.c: Likewise.
20718 * term/i386/pc/console.c: Likewise.
20719 * term/i386/pc/serial.c: Likewise.
20720 * term/i386/pc/vesafb.c: Likewise.
20721 * term/i386/pc/vga.c: Likewise.
20722 * term/i386/pc/vga_text.c: Likewise.
20723 * term/ieee1275/ofconsole.c: Likewise.
20724 * term/usb_keyboard.c: Likewise.
20725
33c846be 207262009-04-14 Bean <bean123ch@gmail.com>
20727
20728 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
20729 properly with null character.
20730
4484e01e 207312009-04-14 Felix Zielcke <fzielcke@z-51.de>
20732
20733 * configure: Remove.
20734 * config.h.in: Likewise.
f93d668e 20735 * stamp-h.in: Likewise.
4484e01e 20736 * DISTLIST: Likewise.
20737 * conf/common.mk: Likewise.
20738 * conf/i386-coreboot.mk: Likewise.
20739 * conf/i386-efi.mk: Likewise.
20740 * conf/i386-ieee1275.mk: Likewise.
20741 * conf/i386.mk: Likewise.
20742 * conf/i386-pc.mk: Likewise.
20743 * conf/powerpc-ieee1275.mk: Likewise.
20744 * conf/sparc64-ieee1275.mk: Likewise.
20745 * conf/x86_64-efi.mk: Likewise.
20746
20747 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
20748 develop on GRUB.
20749
7dd4a573 207502009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 20751 David S. Miller <davem@davemloft.net>
20752
20753 * util/hostdisk.c (make_device_name): Fix buffer length
20754 calculations.
20755
e25b5a8c 207562009-04-14 Felix Zielcke <fzielcke@z-51.de>
20757
20758 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
20759 <sys/param.h> and <sys/sysctl.h>.
20760 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
20761 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
20762 opening the device and reset them afterwards.
20763
1f1f580c 207642009-04-13 Pavel Roskin <proski@gnu.org>
20765
20766 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
20767 Reported by John Stanley <jpsinthemix@verizon.net>
20768
7ebc2d6b 207692009-04-13 Robert Millan <rmh@aybabtu.com>
20770
20771 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 20772 that name for menuentries when appropriate.
7ebc2d6b 20773
d8ba3667 207742009-04-13 Felix Zielcke <fzielcke@z-51.de>
20775
20776 * util/grub.d/10_freebsd.in: Add a missing `fi'.
20777
cba416eb 207782009-04-13 Robert Millan <rmh@aybabtu.com>
20779
20780 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
20781 to Linux, simply abort telling the user it's no longer supported.
20782
a547a745 207832009-04-13 Felix Zielcke <fzielcke@z-51.de>
20784
20785 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 20786 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 20787 `freebsd_loadenv' only when devices.hints exist.
20788
232a769c 207892009-04-13 Pavel Roskin <proski@gnu.org>
20790
20791 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
20792
c3012039 207932009-04-13 Felix Zielcke <fzielcke@z-51.de>
20794
20795 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
20796 partition number.
20797 (grub_drive): Likewise.
20798
234022fe 207992009-04-13 David S. Miller <davem@davemloft.net>
20800
20801 * kern/sparc64/ieee1275/ieee1275.c: New file.
20802 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
20803 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
20804 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
20805 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
20806 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
20807 grub_ieee1275_alloc_physmem): Declare new exported functions.
20808
d8e1836c 20809 * include/grub/sparc64/ieee1275/loader.h: New file.
20810 * include/grub/sparc64/ieee1275/memory.h: Likewise.
20811 * include/grub/sparc64/kernel.h: Likewise.
20812 * loader/sparc64/ieee1275/linux.c: Likewise.
20813
96bd81ec 20814 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
20815 (grub_fstest_SOURCES): Likewise.
20816
6a4737e5 20817 * util/hostdisk.c (make_device_name): Do not make any assumptions
20818 about the length of drive names.
20819
1d7a72fd 20820 * kern/dl.c (grub_dl_load_file): Close file immediately when
20821 we are done using it.
20822
56bc2471 208232009-04-12 David S. Miller <davem@davemloft.net>
20824
20825 * kern/misc.c (grub_ltoa): Fix cast when handling negative
20826 values. Noticed by Pavel Roskin.
20827
df38d0bb 20828 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
20829 target compiler.
7dd4a573 20830
e382e93a 20831 * genmk.rb: Add more flexible image type specification, also
20832 pass --strip-unneeded to objcopy.
20833 * conf/i386-pc.rmk: Use *_FORMAT.
20834 * conf/i386-pc.mk: Rebuilt.
20835
f5dbbca9 20836 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
20837 (OFDISK_HASH_SZ): Define.
20838 (ofdisk_hash): New hash table.
20839 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
20840 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
20841 instead of device phandle which is not unique.
20842
91c88b12 20843 * kern/sparc64/ieee1275/init.c: Delete, replace with...
20844 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
20845 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
20846 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
20847 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
20848 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
20849 GRUB_KERNEL_MACHINE_DATA_END): Define.
20850 (grub_kernel_image_size, grub_total_module_size): Declare.
20851
5b5d4aa5 208522009-04-12 Pavel Roskin <proski@gnu.org>
20853
7dd4a573 20854 * configure.ac: Change the logic when we check for target tools.
20855 Do it when the target is specified and it's different from the
20856 specified value of the host.
5b5d4aa5 20857
c91e1793 208582009-04-11 Felix Zielcke <fzielcke@z-51.de>
20859
20860 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
20861 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
20862 GNU/kFreeBSD. Check if a device is a character device. Use
20863 DIOCGMEDIASIZE to get the size.
20864 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
20865 support for GNU/kFreeBSD.
20866 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
20867 is a character device instead of a block device. Add support for
20868 FreeBSD device names.
20869
20870 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
20871 is a character device instead of a block device.
20872
20873 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
20874 is a character device instead of a block device.
20875
b1ac8644 208762009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
20877
20878 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
20879 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
20880 FreeBSD. Check if a device is a character device. Use
20881 DIOCGMEDIASIZE to get the size.
20882 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
20883 support for FreeBSD.
20884 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
20885 is a character device instead of a block device. Add support for
20886 FreeBSD device names.
20887
20888 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
20889 a character device instead of a block device.
20890 (grub_util_check_char_device): New function.
20891
20892 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
20893 a character device instead of a block device.
20894
20895 * include/grub/util/getroot.h (grub_util_check_char_device): New
20896 prototype.
20897
a3f7515a 208982009-04-11 David S. Miller <davem@davemloft.net>
20899
20900 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
20901 static libgcc.
20902 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
20903 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
20904 function, if present.
20905 (__bswapdi2): Likewise.
20906
0d44993d 20907 * include/grub/sparc64/ieee1275/boot.h: New file.
20908 * boot/sparc64/ieee1275/boot.S: Likewise.
20909 * boot/sparc64/ieee1275/diskboot.S: Likewise.
20910
ed3d2bc2 20911 * kern/misc.c (grub_ltoa): New function.
20912 (grub_vsprintf): Use it to format 'long' integers.
20913
d3bfb59c 209142009-04-10 David S. Miller <davem@davemloft.net>
20915
20916 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
20917 slots are of type grub_ieee1275_cell_t.
20918 (grub_nand_read): Likewise.
20919 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
20920 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
20921 macros are used to compare values in arg/ret block of the call.
20922 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
20923 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
20924 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
20925 grub_ieee1275_instance_to_path, grub_ieee1275_write,
20926 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
20927 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
20928 grub_ieee1275_close, grub_ieee1275_set_property,
20929 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
20930 grub_ieee1275_cell_t.
20931 * kern/ieee1275/openfw.c (grub_map): Likewise.
20932 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
20933 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
20934
450e2238 20935 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
20936 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
20937 (grub_devalias_iterate): Likewise.
20938
7dd4a573 209392009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 20940
20941 UFS improvements
20942
20943 * fs/ufs.c (INODE_NBLOCKS): new definition
20944 (struct grub_ufs_dirent): added fields for non-BSD dirents
20945 (grub_ufs_get_file_block): fixed double indirect handling
20946 (grub_ufs_lookup_symlink): use more robust way to determine whether
20947 symlink is inline
20948 (grub_ufs_find_file): support for non-BSD dirents
20949 (grub_ufs_dir): support for non-BSD dirents
20950
e7e6862a 209512009-04-10 Bean <bean123ch@gnail.com>
20952
20953 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
20954 attribute, otherwise the size would be wrong for i386 platform.
20955
20956 * include/grub/pci.h (grub_pci_read_word): New inline function.
20957 (grub_pci_read_byte): Likewise.
20958 (grub_pci_write): Likewise.
20959 (grub_pci_write_word): Likewise.
20960 (grub_pci_write_byte): Likewise.
20961
20962 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
20963
20964 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
20965 (find_framebuf): Scan pci to locate the frame buffer address.
20966
20967 * commands/efi/fixvideo.c: New file.
20968
20969 * commands/efi/loadbios.c: Likewise.
20970
20971 * commands/memrw.c: Likewise.
20972
20973 * util/grub-dumpbios.in: Likewise.
20974
20975 * conf/common.rmk (grub-dumpbios): New utility.
20976 (pkglib_MODULES): New module memrw.mod.
20977 (memrw_mod_SOURCE): New macro.
20978 (memrw_mod_CFLAGS): Likewise.
20979 (memrw_mod_LDFLAGS): Likewise.
20980
7dd4a573 20981 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 20982 fixvideo.mod.
20983 (loadbios_mod_SOURCE): New macro.
20984 (loadbios_mod_CFLAGS): Likewise.
20985 (loadbios_mod_LDFLAGS): Likewise.
20986 (fixvideo_mod_SOURCE): Likewise.
20987 (fixvideo_mod_CFLAGS): Likewise.
20988 (fixvideo_mod_LDFLAGS): Likewise.
20989
7dd4a573 20990 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 20991 fixvideo.mod.
20992 (loadbios_mod_SOURCE): New macro.
20993 (loadbios_mod_CFLAGS): Likewise.
20994 (loadbios_mod_LDFLAGS): Likewise.
20995 (fixvideo_mod_SOURCE): Likewise.
20996 (fixvideo_mod_CFLAGS): Likewise.
20997 (fixvideo_mod_LDFLAGS): Likewise.
20998
af63ada2 209992009-04-08 Felix Zielcke <fzielcke@z-51.de>
21000
21001 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
21002
c2cdde70 210032009-04-07 David S. Miller <davem@davemloft.net>
21004
21005 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
21006 support for R_SPARC_OLO10 relocations. Fix compile warning for
21007 R_SPARC_WDISP30 case.
ea3f72cf 21008 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 21009
761319cf 210102009-04-06 Pavel Roskin <proski@gnu.org>
21011
1007d1f5 21012 * include/grub/misc.h (ARRAY_SIZE): New macro.
21013 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
21014 New macro.
21015 * loader/i386/linux.c (allocate_pages): Use free_pages().
21016 (grub_linux_unload): Don't use free_pages().
21017 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
21018 wrong index. Treat all other modes as text modes.
21019 (grub_cmd_linux): Initialize vid_mode unconditionally to
21020 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
21021
761319cf 21022 * commands/help.c (print_command_help): Use cmd->prio, not
21023 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
21024
ea761d40 210252009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 21026
ea761d40 21027 Parttool
21028
21029 * parttool/pcpart.c: new file
21030 * commands/parttool.c: likewise
21031 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
21032 (parttool_mod_SOURCES): new variable
21033 (parttool_mod_CFLAGS): likewise
21034 (parttool_mod_LDFLAGS): likewise
21035 (pcpart_mod_SOURCES): likewise
21036 (pcpart_mod_CFLAGS): likewise
21037 (pcpart_mod_LDFLAGS): likewise
7dd4a573 21038 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 21039 and parttool/pcpart.c
21040 * conf/i386-efi.rmk: likewise
21041 * conf/i386-ieee1275.rmk: likewise
21042 * conf/i386-pc.rmk: likewise
21043 * conf/powerpc-ieee1275.rmk: likewise
21044 * conf/sparc64-ieee1275.rmk: likewise
21045 * conf/x86_64-ieee1275.rmk: likewise
21046
05aaebfb 210472009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21048
21049 Support for mtime and further expandability of dir command
21050
21051 * include/grub/lib/datetime.h: moved to ...
7dd4a573 21052 * include/grub/datetime.h: ... moved here and added
05aaebfb 21053 declaration of grub_unixtime2datetime. All users updated
7dd4a573 21054 * include/grub/fs.h: new syntax for dir and mtime functions in
21055 struct grub_fs
05aaebfb 21056 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
21057 and GRUB_FSHELP_FLAGS_MASK
21058 * commands/ls.c (grub_ls_list_files): Write mtime in long format
21059 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
21060 (grub_ext2_mtime): new function
21061 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
21062 (grub_hfsplus_mtime): new function
21063 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
21064 (GRUB_UFS_ATTR_FILE): likewise
21065 (GRUB_UFS_ATTR_LNK): likewise
21066 (struct grub_ufs_sblock): new fields mtime
21067 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
21068 all users updated
21069 (grub_ufs_dir): mtime support
21070 (grub_ufs_mtime): new function
21071 * fs/affs.c (grub_affs_dir): use new dir syntax
21072 * fs/afs.c (grub_afs_dir): likewise
21073 * fs/cpio.c (grub_cpio_dir): likewise
21074 * fs/fat.c (grub_fat_find_dir): likewise
21075 * fs/hfs.c (grub_hfs_dir): likewise
21076 * fs/iso9660.c (grub_iso9660_dir): likewise
21077 * fs/jfs.c (grub_jfs_dir): likewise
21078 * fs/minix.c (grub_minix_dir): likewise
21079 * fs/ntfs.c (grub_ntfs_dir): likewise
21080 * fs/reiserfs.c (grub_reiserfs_dir): likewise
21081 * fs/sfs.c (grub_sfs_dir): likewise
21082 * fs/xfs.c (grub_xfs_dir): likewise
21083 * util/hostfs.c (grub_hostfs_dir): likewise
21084 * lib/datetime.c: moved to ...
21085 * normal/datetime.c: ... moved here
21086 (grub_unixtime2datetime): new function
21087 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 21088 * normal/completion.c (iterate_dir): use new dir syntax
21089 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 21090 last modification time of a volume
7dd4a573 21091 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 21092 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 21093 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 21094 (normal_mod_SOURCES): likewise
21095 (datetime_mod_SOURCES): Removed lib/datetime.c
21096 * conf/i386-efi.rmk: likewise
7dd4a573 21097 * conf/i386-ieee1275.rmk: likewise
05aaebfb 21098 * conf/i386-pc.rmk: likewise
21099 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 21100 * conf/sparc64-ieee1275.rmk: likewise
21101 * conf/x86_64-efi.rmk: likewise
05aaebfb 21102
8a7e1a14 211032009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 21106
21107 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 21108 on grub_fat_find_dir
21109 (grub_fat_find_dir): use grub_fat_iterate_dir
21110 (grub_fat_label): likewise
21111
04186a9c 211122009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21113
7dd4a573 21114 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 21115 and command.h
21116 remove extraneous kernel_elf_HEADERS
21117
da4c0bb6 211182009-04-04 Bean <bean123ch@gnail.com>
21119
21120 * include/grub/util/misc.h: Add dummy function fsync for mingw.
21121
21122 * util/misc.c: Likewise.
21123
54ad9555 211242009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
21125
21126 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
21127 instead of grub_printf.
21128
7a6bf9f2 211292009-04-03 Robert Millan <rmh@aybabtu.com>
21130
21131 * loader/i386/linux.c (grub_linux_setup_video): Fill
21132 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
21133 values from `mode info' structure instead of hardcoded
21134 values.
21135
3fcc2083 211362009-04-01 Pavel Roskin <proski@gnu.org>
21137
21138 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
21139 unused now.
21140 * genmk.rb: Likewise.
21141 * configure.ac: Likewise.
21142
5ec9740b 211432009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
21144
21145 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
21146 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
21147
5270cec8 211482009-04-01 David S. Miller <davem@davemloft.net>
21149
21150 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 21151 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 21152 (grub_setjmp): Mark with 'returns_twice' attribute.
21153 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
21154 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
21155 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
21156
9c3dd854 211572009-04-01 Robert Millan <rmh@aybabtu.com>
21158
21159 Reapply fix from 2008-07-28 which was accidentally reverted; also
21160 perform the same fix to a similar check in same function.
21161
21162 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21163 with the same number are found, just use issue a warning with
21164 grub_dprintf(), as this error has been reported to be non-fatal.
21165
0d818b7e 211662009-03-31 Pavel Roskin <proski@gnu.org>
21167
21168 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
21169 for cross-compilation.
21170
95646d92 211712009-03-30 Robert Millan <rmh@aybabtu.com>
21172
21173 Fix i386-ieee1275 build.
21174
21175 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
21176 Remove declaration.
21177
6a003ed1 211782009-03-30 Pavel Roskin <proski@gnu.org>
21179
21180 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
21181 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
21182 zero-terminated, rely only on the strlen value. Fix comparison
21183 of strings differing in length.
21184
92f33540 211852009-03-30 Robert Millan <rmh@aybabtu.com>
21186
21187 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
21188 checking for abi version. Improve error messages on BIOS to notify
21189 user about `linux16' command.
21190
a8c48fd5 211912009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
21192
f968172e 21193 Leak fixes
a8c48fd5 21194
f968172e 21195 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
21196 in case of collision
21197 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 21198
9c323f09 211992009-03-29 Robert Millan <rmh@aybabtu.com>
21200
21201 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
21202 set `vid_mode' accordingly.
21203 (grub_linux_boot): Process `vid_mode' and set video mode.
21204
ae68f423 212052009-03-29 Robert Millan <rmh@aybabtu.com>
21206
21207 * util/grub.d/10_linux.in (linux_entry): New function.
21208 Factorize generation of Linux boot entries.
21209
5709cfc4 212102009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
21211
21212 Make the format of Environment Block plain text. The boot loader
21213 part is not tested well yet.
7dd4a573 21214
5709cfc4 21215 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
21216 (buffer): Removed.
21217 (envblk): Likewise.
21218 (usage): Remove "info" and "clear". Add "unset". Update the
21219 description of "set", as this does not delete variables any
21220 longer.
21221 (create_envblk_file): Complete rewrite.
21222 (open_envblk_file): Likewise.
21223 (cmd_info): Removed.
21224 (cmd_list): Likewise.
21225 (cmd_set): Likewise.
21226 (cmd_clear): Likewise.
21227 (list_variables): New function.
21228 (write_envblk): Likewise.
21229 (set_variables): Likewise.
21230 (unset_variables): Likewise.
21231 (main): Complete rewrite.
21232
21233 * commands/loadenv.c (buffer): Removed.
21234 (envblk): Likewise.
21235 (open_envblk_file): New function.
21236 (read_envblk_file): Complete rewrite.
21237 (grub_cmd_load_env): Likewise.
21238 (grub_cmd_list_env): Likewise.
21239 (struct blocklist): New struct.
21240 (free_blocklists): New function.
21241 (check_blocklists): Likewise.
21242 (write_blocklists): Likewise.
21243 (grub_cmd_save_env): Complete rewrite.
21244
21245 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
21246 a plain text signature.
21247 (GRUB_ENVBLK_MAXLEN): Removed.
21248 (struct grub_envblk): Complete rewrite.
21249 (grub_envblk_find): Removed.
21250 (grub_envblk_insert): Likewise.
21251 (grub_envblk_open): New prototype.
21252 (grub_envblk_set): Likewise.
21253 (grub_envblk_delete): Put const to VALUE.
21254 (grub_envblk_iterate): Put const to NAME and VALUE.
21255 (grub_envblk_close): New prototype.
21256 (grub_envblk_buffer): New inline function.
21257 (grub_envblk_size): Likewise.
21258
21259 * lib/envblk.c: Include grub/mm.h.
21260 (grub_env_find): Removed.
21261 (grub_envblk_open): New function.
21262 (grub_envblk_close): Likewise.
21263 (escaped_value_len): Likewise.
21264 (find_next_line): Likewise.
21265 (grub_envblk_insert): Removed.
21266 (grub_envblk_set): New function.
21267 (grub_envblk_delete): Complete rewrite.
21268 (grub_envblk_iterate): Likewise.
21269
a9368fd3 212702009-03-28 Robert Millan <rmh@aybabtu.com>
21271
21272 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
21273 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
21274 variables. Use 16-bit loader.
21275 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
21276 loader.
21277 * kern/i386/loader.S (grub_linux_boot): Rename to ...
21278 (grub_linux16_boot): ... this. Update all users.
21279 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
21280 (grub_linux_boot): ... this. Update all users.
21281
21282 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
21283 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
21284 commands to `linux16' and `initrd16'.
21285 (GRUB_MOD_FINI(linux)): Rename to ...
21286 (GRUB_MOD_FINI(linux16)): ... this.
21287
e4dd5a7e 212882009-03-24 Pavel Roskin <proski@gnu.org>
21289
21290 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
21291 not just for compilation.
21292
c04d6e05 212932009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
21294
21295 Move multiboot helper out of kernel
21296
21297 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
21298 `loader/i386/multiboot_helper.S'.
21299 * conf/i386-coreboot.rmk: Likewise
21300 * conf/i386-ieee1275.rmk: Likewise
21301
21302 * kern/i386/loader.S: Move multiboot helpers from here...
21303 * loader/i386/multiboot_helper.S: ...moved here
21304 * include/grub/i386/loader.h: Move declarations of multiboot
21305 helpers from here...
21306 * include/grub/i386/multiboot.h: ...moved here
21307 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
21308
42a5b3fc 213092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
21310
21311 * kern/env.c (grub_env_context_open): Added an argument to specify
21312 whether a new context inherits exported variables from current
21313 one. This is useful when making a sandbox to interpret a config
21314 file.
21315 All callers updated.
21316
21317 * include/grub/env.h (grub_env_context_open): Updated the prototype.
21318
b28bbc4e 213192009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
21320
21321 * kern/env.c (grub_env_context_close): Fix memory leaks.
21322
f04f02e4 213232009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
21324
21325 * normal/main.c (grub_normal_execute): Added an argument
21326 BATCH to specify if an interactive interface should be provided
21327 after reading a config file.
21328 All callers updated.
21329 (read_command_list): Prevent being executed twice.
21330 (read_fs_list): Likewise.
21331
42a5b3fc 21332 * include/grub/normal.h (grub_normal_execute): Updated the
21333 prototype.
f04f02e4 21334
41473ac2 213352009-03-22 Pavel Roskin <proski@gno.org>
21336
fbc00b0c 21337 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
21338 _start.
21339 * kern/i386/pc/startup.S: Likewise.
21340 * kern/i386/efi/startup.S: Likewise.
21341 * kern/i386/ieee1275/startup.S: Likewise.
21342 * kern/i386/coreboot/startup.S: Likewise.
21343 * kern/x86_64/efi/startup.S: Likewise.
21344
41473ac2 21345 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
21346 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
21347 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
21348
2274cc8f 213492009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
21350
21351 Bugfixes in multiboot for bugs uncovered by solaris kernel.
21352
21353 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
21354 limit detection.
21355 Use vaddr of correct segment for entry_point.
21356
b1b797cb 213572009-03-21 Bean <bean123ch@gmail.com>
21358
21359 * commands/blocklist.c: Add include file <grub/command.h>, remove
21360 <grub/normal.h> and <grub/arg.h>.
21361 (grub_cmd_blocklist): Use the new command interface.
21362 (GRUB_MOD_INIT): Likewise.
21363 (GRUB_MOD_FINI): Likewise.
21364 * commands/boot.c: Likewise.
21365 * commands/cat.c: Likewise.
21366 * commands/cmp.c: Likewise.
21367 * commands/configfile.c: Likewise.
21368 * commands/crc.c: Likewise.
21369 * commands/echo.c: Likewise.
21370 * commands/halt.c: Likewise.
21371 * commands/handler.c: Likewise.
21372 * commands/hdparm.c: Likewise.
21373 * commands/help.c: Likewise.
21374 * commands/hexdump.c: Likewise.
21375 * commands/loadenv.c: Likewise.
21376 * commands/ls.c: Likewise.
21377 * commands/lsmmap.c: Likewise.
21378 * commands/lspci.c: Likewise.
21379 * commands/loadenv.c: Likewise.
21380 * commands/read.c: Likewise.
21381 * commands/reboot.c: Likewise.
21382 * commands/search.c: Likewise.
21383 * commands/sleep.c: Likewise.
21384 * commands/test.c: Likewise.
21385 * commands/usbtest.c: Likewise.
21386 * commands/videotest.c: Likewise.
21387 * commands/i386/cpuid.c: Likewise.
21388 * commands/i386/pc/halt.c: Likewise.
21389 * commands/i386/pc/play.c: Likewise.
21390 * commands/i386/pc/pxecmd.c: Likewise.
21391 * commands/i386/pc/vbeinfo.c: Likewise.
21392 * commands/i386/pc/vbetest.c: Likewise.
21393 * commands/ieee1275/suspend.c: Likewise.
21394 * disk/loopback.c: Likewise.
21395 * font/font_cmd.c: Likewise.
21396 * hello/hello.c: Likewise.
21397 * loader/efi/appleloader.c: Likewise.
21398 * loader/efi/chainloader.c: Likewise.
21399 * loader/i386/bsd.c: Likewise.
21400 * loader/i386/efi/linux.c: Likewise.
21401 * loader/i386/ieee1275/linux.c: Likewise.
21402 * loader/i386/linux.c: Likewise.
21403 * loader/i386/pc/chainloader.c: Likewise.
21404 * loader/i386/pc/linux.c: Likewise.
21405 * loader/powerpc/ieee1275/linux.c: Likewise.
21406 * loader/multiboot_loader.c: Likewise.
21407 * term/gfxterm.c: Likewise.
21408 * term/i386/pc/serial.c: Likewise.
21409 * term/terminfo.c: Likewise.
21410
21411 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
21412 * term/i386/pc/vga.c: Likewise.
21413 * video/readers/jpeg.c: Likewise.
21414 * video/readers/png.c: Likewise.
21415 * video/readers/tga.c: Likewise.
21416
21417 * util/grub-fstest (cmd_loopback): Removed.
21418 (cmd_blocklist): Likewise.
21419 (cmd_ls): Likewise.
21420 (grub_register_command): Likewise.
21421 (grub_unregister_command): Likewise.
21422 (execute_command): Use grub_command_find to locate command and execute
21423 it.
21424
21425 * include/grub/efi/chainloader.h: Removed.
21426 * loader/efi/chainloader_normal.c: Likewise.
21427 * loader/i386/bsd_normal.c: Likewise.
21428 * loader/i386/pc/chainloader_normal.c: Likewise.
21429 * loader/i386/pc/multiboot_normal.c: Likewise.
21430 * loader/linux_normal.c: Likewise.
21431 * loader/multiboot_loader_normal.c: Likewise.
21432 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
21433
21434 * gencmdlist.sh: Scan new registration command grub_register_extcmd
21435 and grub_register_command_p1.
21436
21437 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
21438 kern/command.c, lib/arg.c and commands/extcmd.c.
21439 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
21440 (minicmd_mod_SOURCES): New variable.
21441 (minicmd_mod_CFLAGS): Likewise.
21442 (minicmd_mod_LDFLAGS): Likewise.
21443 (extcmd_mod_SOURCES): Likewise.
21444 (extcmd_mod_CFLAGS): Likewise.
21445 (extcmd_mod_LDFLAGS): Likewise.
21446 (boot_mod_SOURCES): Removed.
21447 (boot_mod_CFLAGS): Likewise.
21448 (boot_mod_LDFLAGS): Likewise.
21449
21450 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
21451 kern/corecmd.c.
21452 (kernel_img_HEADERS): Add command.h.
21453 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
21454 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
21455 and lib/arg.c.
21456 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
21457 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
21458 remove the corresponding normal mode command.
21459 (normal_mod_SOURCES): Remove normal/arg.c.
21460 * conf/i386-coreboot.rmk: Likewise.
21461 * conf/i386-efi.rmk: Likewise.
21462 * conf/i386-ieee1275.rmk: Likewise.
21463 * conf/powerpc-ieee1275.rmk: Likewise.
21464 * conf/x86_64-efi.rmk: Likewise.
21465
21466 * include/grub/arg.h: Move from here ...
21467 * include/grub/lib/arg.h: ... to here.
21468
21469 * normal/arg.c: Move from here ...
21470 * lib/arg.c: ... to here.
21471
21472 * commands/extcmd.c: New file.
21473 * commands/minicmd.c: Likewise.
21474 * include/grub/command.h: Likewise.
21475 * include/grub/extcmd.h: Likewise.
21476 * kern/command.c: Likewise.
21477 * kern/corecmd.c: Likewise.
21478
21479 * kern/list.c (grub_list_iterate): Return int instead of void.
21480 (grub_list_insert): New function.
21481 (grub_prio_list_insert): Likewise.
21482
21483 * kern/rescue.c (grub_rescue_command): Removed.
21484 (grub_rescue_command_list): Likewise.
21485 (grub_rescue_register_command): Likewise.
21486 (grub_rescue_unregister_command): Likewise.
21487 (grub_rescue_cmd_boot): Move to minicmd.c
21488 (grub_rescue_cmd_help): Likewise.
21489 (grub_rescue_cmd_info): Likewise.
21490 (grub_rescue_cmd_boot): Likewise.
21491 (grub_rescue_cmd_testload): Likewise.
21492 (grub_rescue_cmd_dump): Likewise.
21493 (grub_rescue_cmd_rmmod): Likewise.
21494 (grub_rescue_cmd_lsmod): Likewise.
21495 (grub_rescue_cmd_exit): Likewise.
21496 (grub_rescue_print_devices): Moved to corecmd.c.
21497 (grub_rescue_print_files): Likewise.
21498 (grub_rescue_cmd_ls): Likewise.
21499 (grub_rescue_cmd_insmod): Likewise.
21500 (grub_rescue_cmd_set): Likewise.
21501 (grub_rescue_cmd_unset): Likewise.
7d074e3c 21502 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 21503 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 21504 commands, remove grub_rescue_register_command calls.
b1b797cb 21505
7d074e3c 21506 * normal/command.c (grub_register_command): Removed.
b1b797cb 21507 (grub_unregister_command): Likewise.
21508 (grub_command_find): Likewise.
21509 (grub_iterate_commands): Likewise.
21510 (rescue_command): Likewise.
21511 (export_command): Moved to corecmd.c.
21512 (set_command): Removed.
21513 (unset_command): Likewise.
21514 (insmod_command): Likewise.
21515 (rmmod_command): Likewise.
21516 (lsmod_command): Likewise.
21517 (grub_command_init): Likewise.
21518
21519 * normal/completion.c (iterate_command): Use cmd->prio to check for
21520 active command.
21521 (complete_arguments): Use grub_extcmd_t structure to find options.
21522 (grub_normal_do_completion): Change function grub_iterate_commands to
21523 grub_command_iterate.
21524
21525 * normal/execute.c (grub_script_execute_cmd): No need to parse
21526 argument here.
21527
21528 * normal/main.c (grub_dyncmd_dispatcher): New function.
21529 (read_command_list): Register unload commands as dyncmd.
21530 (grub_cmd_normal): Use new command interface, register rescue,
21531 unregister normal at entry, register normal, unregister rescue at exit.
21532
21533 * include/grub/list.h (grub_list_test_t): New type.
21534 (grub_list_iterate): Return int instead of void.
21535 (grub_list_insert): New function.
21536 (GRUB_AS_NAMED_LIST_P): New macro.
21537 (GRUB_AS_PRIO_LIST): Likewise.
21538 (GRUB_AS_PRIO_LIST_P): Likewise.
21539 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
21540 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
21541 (grub_prio_list): New structure.
21542 (grub_prio_list_insert): New function.
21543 (grub_prio_list_remove): New inline function.
21544
21545 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
21546 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
21547 (GRUB_COMMAND_FLAG_MENU): Likewise.
21548 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21549 (GRUB_COMMAND_FLAG_TITLE): Likewise.
21550 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21551 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
21552 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
21553 (grub_command): Likewise.
21554 (grub_register_command): Likewise.
21555 (grub_command_find): Likewise.
21556 (grub_iterate_commands): Likewise.
21557 (grub_command_init): Likewise.
21558 (grub_arg_parse): Likewise.
21559 (grub_arg_show_help): Likewise.
21560
21561 * include/grub/rescue.h (grub_rescue_register_command): Removed.
21562 (grub_rescue_unregister_command): Likewise.
21563
21564 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
21565 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
21566 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
21567
21568 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
21569 grub_rescue_cmd_initrd.
21570 * include/grub/i386/loader.h: Likewise.
21571 * include/grub/x86_64/loader.h: Likewise.
21572
21573 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
21574
1f4147aa 215752009-03-21 Bean <bean123ch@gmail.com>
21576
21577 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
21578 instead of stat in mingw environment.
21579
21580 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
21581
21582 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
21583
21584 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
21585 AC_CONFIG_LINKS.
21586
2156d5ba 215872009-03-21 Bean <bean123ch@gmail.com>
21588
21589 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
21590 out of range error.
21591
177b82ca 215922009-03-18 Michel Dänzer <michel@daenzer.net>
21593
21594 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
21595 checking inode flags for EXT4_EXTENTS_FLAG.
21596
14aad807 215972009-03-18 Robert Millan <rmh@aybabtu.com>
21598
21599 * loader/i386/linux.c: Include `<grub/video.h>' and
21600 `<grub/i386/pc/vbe.h>'..
21601 (grub_linux_setup_video): New function. Loosely based on the EFI one.
21602 (grub_linux32_boot): Attempt to configure video settings with
21603 grub_linux_setup_video().
21604 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
21605 to avoid grub_console_fini() which would step out of graphical mode
21606 unconditionally.
21607
8cf83a27 216082009-03-14 Robert Millan <rmh@aybabtu.com>
21609
21610 Fix build on powerpc.
21611 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
21612
40164e75 216132009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
21614
21615 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
21616 background image command.
21617
c58bc32a 216182009-03-12 Colin D Bennett <colin@gibibit.com>
21619
21620 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
21621 (grub_gfxterm_putchar): Extract pairs of identical calls to
21622 draw_cursor out of conditional blocks.
21623
5415144a 216242009-03-11 Pavel Roskin <proski@gnu.org>
21625
21626 * fs/hfs.c (grub_hfs_strncasecmp): New function.
21627 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
21628
6394042e 216292009-03-11 Robert Millan <rmh@aybabtu.com>
21630
21631 * loader/i386/multiboot_elfxx.c
21632 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
21633
b7b50e5f 216342009-03-11 Felix Zielcke <fzielcke@z-51.de>
21635
21636 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
21637 `kern/handler.c'.
21638
1ca7fc96 216392009-03-11 Robert Millan <rmh@aybabtu.com>
21640
21641 * loader/i386/multiboot.c (code_size): New variable.
21642 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 21643 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 21644 4-byte alignment to MBI and others by increasing
7d074e3c 21645 `boot_loader_name_length' appropriately.
1ca7fc96 21646
21647 * loader/i386/multiboot_elfxx.c
21648 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
21649
a83ea1d2 216502009-03-09 Felix Zielcke <fzielcke@z-51.de>
21651
21652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
21653 `fs/ext2.c'.
21654
aa9f3bff 216552009-03-08 Robert Millan <rmh@aybabtu.com>
21656
21657 Make loader/i386/linux.c usable on i386-pc again.
21658
21659 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
21660 memory to heap.
21661 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
21662 `#error' stanza.
21663
d8b3b60e 216642009-03-07 Bean <bean123ch@gmail.com>
21665
21666 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
21667 allocation.
21668
b362c9e9 216692009-03-06 Robert Millan <rmh@aybabtu.com>
21670
21671 Fix display issue on terminals with screen size other than 80x25
21672 (e.g. gfxterm with resolution higher than 640x480).
21673
21674 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 21675 position relative to the center of the terminal instead of relying
b362c9e9 21676 on a hardcoded offset.
21677
9304eef1 216782009-03-04 Robert Millan <rmh@aybabtu.com>
21679
21680 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
21681 installed.
21682
21683 * Makefile.in (host_kernel): New variable.
21684 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
21685 scripts instead of just the windows one.
21686 * configure.ac: Initialize and AC_SUBST `host_kernel'.
21687
eabc95fb 216882009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 21689
21690 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
21691 `kern/handler.c'.
21692 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21693 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21696 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21698
ceb1223c 216992009-03-04 Felix Zielcke <fzielcke@z-51.de>
21700
21701 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
21702 or if there's no space for the disk label and print the partition number on a
21703 invalid magic.
21704
4910684a 217052009-03-04 Felix Zielcke <fzielcke@z-51.de>
21706
21707 * util/misc.c: Include <time.h>.
21708 (grub_millisleep): New function.
21709
7e9ca17a 217102009-03-04 Bean <bean123ch@gmail.com>
21711
21712 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
21713 another option -mno-red-zone.
21714
21715 * commands/handler.c: Change module description.
21716
21717 * kern/handler.c: Add missing space at the end of description line.
21718
21719 * kern/list.c: Likewise.
21720
f501677c 217212009-03-03 Robert Millan <rmh@aybabtu.com>
21722
21723 Move more components to the relocation area, and fix mbi pointer
21724 handling to use the destination rather than the origin (thanks to
21725 Vladimir Serbinenko for spotting).
21726
21727 * loader/i386/multiboot.c (mbi_dest): New variable.
21728 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
21729 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
21730 relocation area.
21731
9902d047 217322009-03-01 Bean <bean123ch@gmail.com>
21733
50fb7002 21734 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 21735 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
21736 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
21737 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
21738
21739 * loader/i386/efi/linux.c (acpi_guid): New variable.
21740 (acpi_guid): Likewise.
21741 (EBDA_SEG_ADDR): New constant.
21742 (LOW_MEM_ADDR): Likewise.
21743 (FAKE_EBDA_SEG): Likewise.
21744 (fake_bios_data): New function.
21745 (grub_linux_boot): Call fake_bios_data.
21746
71b9f361 217472009-03-01 Bean <bean123ch@gmail.com>
21748
21749 * commands/terminal.c: Removed.
21750
21751 * commands/handler.c: New file.
21752
21753 * include/grub/list.h: Likewise.
21754
21755 * include/grub/handler.h: Likewise.
21756
21757 * kern/list.c: Likewise.
21758
21759 * kern/handler.c: Likewise.
21760
21761 * kern/term.h: Include header file <grub/handler.h>.
21762 (grub_term_input): Move next field to the beginning.
21763 (grub_term_output): Likewise.
21764 (grub_term_input_class): New variable.
21765 (grub_term_output_class): Likewise.
21766 (grub_term_register_input): Changed to inline function.
21767 (grub_term_register_output): Likewise.
21768 (grub_term_unregister_input): Likewise.
21769 (grub_term_unregister_output): Likewise.
21770 (grub_term_set_current_input): Likewise.
21771 (grub_term_set_current_output): Likewise.
21772 (grub_term_get_current_input): Likewise.
21773 (grub_term_get_current_output): Likewise.
21774 (grub_term_iterate_input): Removed.
21775 (grub_term_iterate_output): Likewise.
21776
21777 * kern/term.c (grub_term_list_input): Removed.
21778 (grub_term_list_output): Likewise.
21779 (grub_term_input_class): New variable.
21780 (grub_term_output_class): Likewise.
50fb7002 21781 (grub_cur_term_input): Change variable as macro.
71b9f361 21782 (grub_cur_term_output): Likewise.
21783 (grub_term_register_input): Removed.
21784 (grub_term_register_output): Likewise.
21785 (grub_term_unregister_input): Likewise.
21786 (grub_term_unregister_output): Likewise.
21787 (grub_term_set_current_input): Likewise.
21788 (grub_term_set_current_output): Likewise.
21789 (grub_term_iterate_input): Likewise.
21790 (grub_term_iterate_output): Likewise.
21791 (grub_term_get_current_input): Likewise.
21792 (grub_term_get_current_output): Likewise.
21793
21794 * util/grub-editenv.c: Include header file <grub/handler.h>.
21795 (grub_term_get_current_input): Removed.
21796 (grub_term_get_current_output): Likewise.
21797 (grub_term_input_class): New variable.
50fb7002 21798 (grub_term_output_class): Likewise.
71b9f361 21799
21800 * util/grub-fstest.c (grub_term_get_current_input): Removed.
21801 (grub_term_get_current_output): Likewise.
21802 (grub_term_input_class): New variable.
50fb7002 21803 (grub_term_output_class): Likewise.
71b9f361 21804
21805 * util/grub-probe.c (grub_term_get_current_input): Removed.
21806 (grub_term_get_current_output): Likewise.
21807 (grub_term_input_class): New variable.
50fb7002 21808 (grub_term_output_class): Likewise.
71b9f361 21809
21810 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
21811 (grub_term_get_current_output): Likewise.
21812 (grub_term_input_class): New variable.
50fb7002 21813 (grub_term_output_class): Likewise.
71b9f361 21814
21815 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
21816 (terminal_mod_SOURCES): Likewise.
21817 (terminal_mod_CFLAGS): Likewise.
21818 (terminal_mod_LDFLAGS): Likewise.
21819
21820 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
21821 handler.c.
21822 (kernel_img_SOURCES): Add list.c and handler.c.
21823 (kernel_img_HEADERS): Add list.h and handler.h.
21824
21825 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
21826 handler.c.
21827 (kernel_mod_SOURCES): Add list.c and handler.c.
21828 (kernel_mod_HEADERS): Add list.h and handler.h.
21829
21830 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
21831 handler.c.
21832 (kernel_elf_SOURCES): Add list.c and handler.c.
21833 (kernel_elf_HEADERS): Add list.h and handler.h.
21834
21835 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
21836 handler.c.
21837 (kernel_elf_SOURCES): Add list.c and handler.c.
21838 (kernel_elf_HEADERS): Add list.h and handler.h.
21839
21840 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
21841 handler.c.
21842 (kernel_mod_SOURCES): Add list.c and handler.c.
21843 (kernel_mod_HEADERS): Add list.h and handler.h.
21844
21845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
21846 handler.c.
21847 (kernel_elf_SOURCES): Add list.c and handler.c.
21848 (kernel_elf_HEADERS): Add list.h and handler.h.
21849
8a31787f 218502009-02-27 Robert Millan <rmh@aybabtu.com>
21851
21852 Factorize elf32 / elf64 code in Multiboot loader. This will
21853 prevent it from getting out of sync again.
21854
21855 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
21856 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
21857 grub_multiboot_load_elf64): Move from here ...
21858 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
21859 grub_multiboot_load_elf): ... to here (new file).
21860
51cd3dfc 218612009-02-27 Robert Millan <rmh@aybabtu.com>
21862
21863 * util/grub.d/10_linux.in: Rename "single-user mode" to
21864 "recovery mode".
21865
6e8c9c3a 218662009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
21867
21868 Don't leak in SCSI code.
21869 * disk/scsi.c (grub_scsi_close): free `scsi'.
21870
4b6bf4f9 218712009-02-27 Robert Millan <rmh@aybabtu.com>
21872
21873 * loader/i386/pc/multiboot.c: Move from here ...
21874 * loader/i386/multiboot.c: ... to here. Update all users.
21875
b9413424 218762009-02-27 Robert Millan <rmh@aybabtu.com>
21877
21878 Patch from Alexandre Bique <bique.alexandre@gmail.com>
21879 * util/i386/pc/grub-setup.c (setup): Fix directory path.
21880
50fb7002 218812009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 21882
21883 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
21884 b-tree.
21885
8cc50345 218862009-02-27 Robert Millan <rmh@aybabtu.com>
21887
21888 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
21889 `0x' qualifier as 0 when base is specified as parameter).
21890
6e09b8b7 218912009-02-24 Bean <bean123ch@gmail.com>
21892
21893 * configure.ac: Check for -mcmodel=large in x86_64 target.
21894
21895 * include/grub/efi/api.h (efi_call_10): New macro.
21896 (efi_wrap_10): New function.
21897
21898 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
21899 (GRUB_PE32_REL_BASED_HIGH): Likewise.
21900 (GRUB_PE32_REL_BASED_LOW): Likewise.
21901 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
21902 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
21903 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
21904 (GRUB_PE32_REL_BASED_SECTION): Likewise.
21905 (GRUB_PE32_REL_BASED_REL): Likewise.
21906 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
21907 (GRUB_PE32_REL_BASED_DIR64): Likewise.
21908 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
21909
21910 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
21911 issue.
21912
21913 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
21914 (efi_wrap_10): New function.
21915
21916 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
21917
21918 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
21919 MB/MBP model (NV chipset).
21920 (devdata_devs): Add devpath_5 to the list.
21921
21922 * load/i386/efi/linux.c (video_base): Remove variable.
21923 (RGB_MASK): New macro.
21924 (RGB_MAGIC): Likewise.
21925 (LINE_MIN): Likewise.
21926 (LINE_MAX): Likewise.
21927 (FBTEST_STEP): Likewise.
21928 (FBTEST_COUNT): Likewise.
21929 (fb_list): New variable.
21930 (grub_find_video_card): Remove function.
21931 (find_framebuf): New function.
21932 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
21933 line length.
21934
21935 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
21936 problem for x86_64.
21937
74b21bee 219382009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
21939
21940 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
21941
21942 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
21943 coding tool name.
21944
a455f472 219452009-02-22 Robert Millan <rmh@aybabtu.com>
21946
21947 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
21948 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
21949 in our relocation, instead of using it directly from heap. Also
21950 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
21951
6374daf3 219522009-02-21 Robert Millan <rmh@aybabtu.com>
21953
21954 Implement USB keyboard support (based on patch by Marco Gerards)
21955
21956 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
21957 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
21958 (usb_keyboard_mod_LDFLAGS): New variables.
21959
21960 * term/usb_keyboard.c: New file.
21961
8fa4ea70 219622009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21963
21964 Corrected wrong declaration
21965
21966 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
21967
353976ac 219682009-02-14 Christian Franke <franke@computer.org>
21969
21970 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
21971 (grub_lspci_iter): Print class code and programming interface byte.
21972
6aa1169b 219732009-02-14 Christian Franke <franke@computer.org>
21974
21975 * gendistlist.sh: Ignore `.svn' directories.
21976
265372ca 219772009-02-14 Felix Zielcke <fzielcke@z-51.de>
21978
21979 * fs/fat.c: Add 2009 to Copyright line.
21980
9ff516f3 219812009-02-14 Christian Franke <franke@computer.org>
21982
21983 * commands/hdparm.c: New file. Provides `hdparm' command
21984 which sends ATA commands via grub_disk_ata_pass_through ().
21985
21986 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
21987
21988 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
21989 and <grub/cpu/io.h> to include/grub/ata.h.
21990 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
21991 (GRUB_CDROM_SECTOR_SIZE): Remove.
21992 (GRUB_ATA_*): Move to include/grub/ata.h.
21993 (GRUB_ATAPI_*): Likewise.
21994 (enum grub_ata_commands): Likewise.
21995 (enum grub_ata_timeout_milliseconds): Likewise.
21996 (struct grub_ata_device): Likewise.
21997 (grub_ata_regset): Likewise.
21998 (grub_ata_regget): Likewise.
21999 (grub_ata_regset2): Likewise.
22000 (grub_ata_regget2): Likewise.
22001 (grub_ata_check_ready): Likewise.
22002 (grub_ata_wait_not_busy): Remove static, exported in
22003 include/grub/ata.h.
22004 (grub_ata_wait_drq): Likewise.
22005 (grub_ata_pio_read): Likewise.
22006
22007 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
22008 function for hdparm.mod.
22009
22010 * include/grub/ata.h: New file, contains declarations from
22011 disk/ata.c.
22012 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
22013
22014 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
22015 (grub_disk_ata_pass_through): New exported variable.
22016
22017 * kern/disk.c (grub_disk_ata_pass_through): New variable.
22018
772e23da 220192009-02-13 Colin D Bennett <colin@gibibit.com>
22020
22021 Support multiple fallback entries, and provide an API to support
22022 executing default+fallback menu entries. Renamed the `terminal' menu
22023 viewer to `text'.
22024
22025 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
22026 variable declaration.
22027 (grub_menu_execute_callback): New structure declaration.
22028 (grub_menu_execute_callback_t): New typedef.
22029 (grub_menu_execute_with_fallback): New function declaration.
22030 (grub_menu_get_entry): Likewise.
22031 (grub_menu_get_timeout): Likewise.
22032 (grub_menu_set_timeout): Likewise.
22033
22034 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
22035
22036 * normal/menu.c (grub_wait_after_message): Moved to
22037 `normal/menu_text.c'.
22038 (draw_border): Likewise.
22039 (print_message): Likewise.
22040 (print_entry): Likewise.
22041 (print_entries): Likewise.
22042 (grub_menu_init_page): Likewise.
22043 (get_entry_number): Likewise.
22044 (print_timeout): Likewise.
22045 (run_menu): Likewise.
22046 (grub_menu_execute_entry): Likewise.
22047 (show_text_menu): Likewise.
22048 (get_and_remove_first_entry_number): New function.
22049 (grub_menu_execute_with_fallback): Likewise.
22050 (get_entry): Renamed to ...
22051 (grub_menu_get_entry): .. this and made it global.
22052 (get_timeout): Renamed to ...
22053 (grub_menu_get_timeout): ... this and made it global.
22054 (set_timeout): Renamed to ...
22055 (grub_menu_set_timeout): ... this and made it global.
22056 (grub_normal_terminal_menu_viewer): Renamed to ...
22057 (grub_normal_text_menu_viewer): ... this.
22058
22059 * normal/menu_text.c: New file. Extracted text-menu-specific code
22060 from normal/menu.c.
22061
22062 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
22063 (normal_mod_SOURCES): Likewise.
22064
22065 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22066 (normal_mod_SOURCES): Likewise.
22067
22068 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22069 (normal_mod_SOURCES): Likewise.
22070
22071 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
22072 (normal_mod_SOURCES): Likewise.
22073
22074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22075 (normal_mod_SOURCES): Likewise.
22076
22077 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22078 (normal_mod_SOURCES): Likewise.
22079
22080 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22081 (normal_mod_SOURCES): Likewise.
22082
16ac430e 220832009-02-11 Robert Millan <rmh@aybabtu.com>
22084
22085 * util/grub.d/00_header.in: Update old reference to `font' command.
22086
06ff20fc 220872009-02-10 Felix Zielcke <fzielcke@z-51.de>
22088
22089 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
22090
22091 Based on patch from Javier Martín.
22092
96da9407 220932009-02-09 Felix Zielcke <fzielcke@z-51.de>
22094
22095 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 22096 to avoid false positives with FAT.
96da9407 22097 (grub_fstest_SOURCES): Likewise.
22098 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22099 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22102 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22103 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22104
6dca6fe4 221052009-02-09 Felix Zielcke <fzielcke@z-51.de>
22106
06ff20fc 22107 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 22108 bpb.version_specific.fat12_or_fat16.fstype and
22109 bpb.version_specific.fat32.fstype.
22110
2550c62f 221112009-02-08 Robert Millan <rmh@aybabtu.com>
22112
be110b30 22113 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 22114
56978920 221152009-02-08 Robert Millan <rmh@aybabtu.com>
22116
22117 * Makefile.in (host_os, host_cpu): New variables.
22118 (target_os): Remove. Update all users.
22119
d64399b5 221202009-02-08 Marco Gerards <marco@gnu.org>
22121
22122 * Makefile.in (enable_grub_emu_usb): New variable.
22123 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
22124 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
22125 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
22126 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
22127 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
22128 `usbtest.mod' and `usbms.mod'.
22129 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
22130 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
22131 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
22132 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
22133 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
22134 variables.
22135
22136 * disk/usbms.c: New file.
22137
22138 * include/grub/usb.h: Likewise.
22139
22140 * include/grub/usbtrans.h: Likewise.
22141
22142 * include/grub/usbdesc.h: Likewise.
22143
22144 * bus/usb/usbtrans.c: Likewise.
22145
22146 * bus/usb/ohci.c: Likewise.
22147
22148 * bus/usb/uhci.c: Likewise.
22149
22150 * bus/usb/usbhub.c: Likewise.
22151
22152 * bus/usb/usb.c: Likewise.
22153
22154 * commands/usbtest.c: Likewise.
22155
22156 * util/usb.c: Likewise.
50fb7002 22157
d64399b5 22158 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
22159
22160 * configure.ac: Test for libusb presence.
50fb7002 22161
d64399b5 22162 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
22163
2b40d6bb 221642009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
22165
22166 * kern/mm.c: Add more comments.
22167
73a4ce81 221682009-02-08 Robert Millan <rmh@aybabtu.com>
22169
22170 Patch from Javier Martín.
22171 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
22172 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
22173
f821ce59 221742009-02-08 Robert Millan <rmh@aybabtu.com>
22175
22176 * fs/cpio.c: Split tar functionality to ...
22177 * fs/tar.c: ... here (new file). Update all users.
22178
aebfc4b0 221792009-02-07 Robert Millan <rmh@aybabtu.com>
22180
22181 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
22182 backward-incompatible features.
22183
22184 Based on patch from Javier Martín, with some adjustments.
22185
50fb7002 221862009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 22187
22188 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
22189
0bb5115e 221902009-02-07 Robert Millan <rmh@aybabtu.com>
22191
22192 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
22193 position of `disk/lvm.c' to ensure grub_init_all() always picks it
22194 after the RAID stuff.
22195
38a0f8e7 221962009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
22197
50fb7002 22198 Fixes problem when running vbetest command as reported by
38a0f8e7 22199 Vladimir Serbinenko <phcoder@gmail.com>.
22200
22201 * (grub_vbe_set_video_mode): Fixed problem with text modes.
22202
3143cc1c 222032009-02-04 Felix Zielcke <fzielcke@z-51.de>
22204
22205 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
22206 /dev/md/NpN style mdraid devices.
22207
9cba6fce 222082009-02-03 Felix Zielcke <fzielcke@z-51.de>
22209
22210 * util/unifont2pff.rb: Remove.
22211
e507a2c1 222122009-02-03 Felix Zielcke <fzielcke@z-51.de>
22213
22214 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
22215 `#'.
22216
d2c2b4cd 222172009-02-03 Felix Zielcke <fzielcke@z-51.de>
22218
22219 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
22220 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22221 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22222 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22225 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22226
b4315fb0 222272009-02-02 Christian Franke <franke@computer.org>
22228
22229 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
22230
de3aa260 222312009-02-01 Felix Zielcke <fzielcke@z-51.de>
22232
7c3ff286 22233 * INSTALL: Note that we now require at least autoconf 2.59 and
22234 that LZO is optional.
de3aa260 22235
825a182b 222362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
22237
22238 Base on patch on bug #24154 created by Tomas Tintera
22239 <trosos@seznam.cz>.
22240
22241 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
22242
a69ef770 222432009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
22244
7c3ff286 22245 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 22246 <bero@arklinux.org>.
22247
22248 * normal/parser.y (script_init): Add missing semicolon.
22249
6fa42fa6 222502009-01-31 Colin D Bennett <colin@gibibit.com>
22251
7c3ff286 22252 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 22253 (free_menu_entry_classes): Added.
22254 (grub_normal_menu_addentry): Added class property handling.
22255 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
22256 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
22257
22258 * normal/menu_viewer.c: New file.
22259
22260 * normal/menu.c (run_menu_entry): Renamed to ...
22261 (grub_menu_execute_entry): ... this and made it as global.
22262 (grub_menu_run): Renamed to ...
22263 (show_text_menu): ... this and made it local.
22264 (show_text_menu): Adapt to new function names.
22265 (grub_normal_terminal_menu_viewer): New global variable.
22266
22267 * include/grub/menu.h: New file.
22268
22269 * include/grub/menu_viewer.h: New file.
22270
22271 * include/grub/normal.h: Added include to grub/menu.h.
22272 (grub_menu_entry): Moved to include/grub/menu.h.
22273 (grub_menu_entry_t): Likewise.
22274 (grub_menu): Likewise.
22275 (grub_menu_t): Likewise.
22276 (grub_normal_terminal_menu_viewer): Added.
22277 (grub_menu_execute_entry): Likewise.
22278 (grub_menu_run): Removed.
22279
22280 * DISTLIST: Added include/grub/menu.h.
22281 Added include/grub/menu_viewer.h.
22282 Added normal/menu_viewer.c.
22283
222842009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
22285
22286 * normal/execute.c (grub_script_execute_menuentry): Changed to use
22287 arglist for menutitle arguments.
22288
22289 * normal/main.c (grub_normal_menu_addentry): Likewise.
22290
22291 * normal/parser.y (menuentry): Likewise.
22292
22293 * normal/script.c (grub_script_create_cmdmenu): Likewise.
22294
22295 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
22296 (grub_script_create_cmdmenu): Likewise.
22297
22298 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
22299
22300 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
22301 changes.
22302
22303 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
22304
22305 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
22306
22307 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
22308
22309 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
22310
22311 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
22312
22313 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
22314
56192c23 223152009-01-30 Christian Franke <franke@computer.org>
22316
22317 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
22318 in option help text.
22319
d72521b3 223202009-01-27 Pavel Roskin <proski@gnu.org>
22321
22322 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
22323
994b5e84 223242009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
22325
22326 * commands/lsmmap.c: Add include to grub/machine/memory.h.
22327
22328 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
22329
22330 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
22331 unregister function.
22332
6a7eab2c 223332009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
22334
22335 * disk/scsi.c (grub_scsi_read): Fix sign problem.
22336
22337 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
22338
22339 * util/grub-mkfont.c (usage): Fix typo.
22340
22341 * util/elf/grub-mkimage.c (load_modules): Fix warning.
22342
1806b56e 223432009-01-26 Daniel Mierswa <impulze@impulze.org>
22344
3fb18f09 22345 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
22346
336e1fb9 22347 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
22348
1806b56e 22349 * kern/misc.c (grub_strcasecmp): New function.
22350 (grub_strcasecmp): Use grub_size_t instead of int for length.
22351 Fix return value.
22352 * include/grub/misc.h: Update function prototypes.
22353
580b2a0f 223542009-01-26 Robert Millan <rmh@aybabtu.com>
22355
22356 * configure.ac: Fix cross-compilation check.
ef257b36 22357
d31c24f1 223582009-01-22 Christian Franke <franke@computer.org>
22359
22360 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
22361 (precision) digit string. Allow `.format2' without `format1' (width).
22362 Limit input chars for `%s' output to `format2' if specified. This is
22363 compatible with standard printf ().
22364
3138b44c 223652009-01-22 Christian Franke <franke@computer.org>
22366
22367 * disk/ata.c (grub_ata_wait_status): Replace by ...
22368 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
22369 other status bits may be invalid while BSY is asserted.
22370 (grub_ata_check_ready): New function.
22371 (grub_ata_cmd): Removed.
22372 (grub_ata_wait_drq): New function.
22373 (grub_ata_strncpy): Remove inline.
22374 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
22375 and error check now done by grub_ata_wait_drq ().
22376 (grub_ata_pio_write): Likewise.
22377 (grub_atapi_identify): Set DEV before check for !BSY. Use
22378 grub_ata_wait_drq () to wait for data.
22379 (grub_ata_device_initialize): Add status register check to
22380 detect missing SATA slave devices. Add debug messages.
22381 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
22382 (grub_atapi_packet): Set DEV before check for !BSY. Replace
22383 transfer loop by grub_ata_pio_write ().
22384 (grub_ata_identify): Set DEV before check for !BSY. Use
22385 grub_ata_wait_drq () to wait for data.
ef257b36 22386 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 22387 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
22388 read/write in one loop. Fix invalid command on write. Fix incomplete
22389 command on (size % batch) == 0. Add missing error check after write of
22390 last block. Add debug messages.
22391 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
22392
59a64ef6 223932009-01-19 Christian Franke <franke@computer.org>
22394
22395 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
22396 (GRUB_ATAPI_IREASON_*): Likewise.
22397 (grub_ata_pio_write): Fix timeout error return.
22398 (grub_atapi_identify): Add grub_ata_wait () after cmd.
22399 (grub_atapi_wait_drq): New function.
22400 (grub_atapi_packet): New parameter `size'.
22401 Use grub_atapi_wait_drq () and direct write instead of
22402 grub_ata_pio_write ().
22403 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
22404 reads the number of bytes requested by the device for each DRQ
22405 assertion.
22406 (grub_atapi_write): Remove old implementation, return not
22407 implemented instead.
22408
1cfe20b3 224092009-01-19 Christian Franke <franke@computer.org>
22410
22411 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
22412 of 512 to calculate data size.
22413 (grub_scsi_read12): Likewise.
22414 (grub_scsi_write10): Likewise.
22415 (grub_scsi_write12): Likewise.
22416 (grub_scsi_read): Adjust size according to blocksize.
22417 Add checks for invalid blocksize and unaligned transfer.
22418
bee5fe5d 224192009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
22420
22421 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
22422
ef257b36 22423 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 22424 width glyphs.
22425
3e643f8c 224262009-01-19 Robert Millan <rmh@aybabtu.com>
22427
22428 * config.guess: Update to latest version from config git.
22429 * config.sub: Likewise.
22430
4fa80998 224312009-01-17 Felix Zielcke <fzielcke@z-51.de>
22432
22433 * Makefile.in: Change font compilation to use new grub-mkfont instead
22434 of java version.
22435
22436 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
22437 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
22438 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
22439 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
22440 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
22441 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
22442 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
22443 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
22444 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
22445
7086085b 224462009-01-16 Christian Franke <franke@computer.org>
22447
22448 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
22449 (enum grub_ata_timeout_milliseconds): New enum.
22450 (grub_ata_wait_status): Add parameter milliseconds.
22451 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
22452 recovery from timed-out commands.
22453 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
22454 return grub_errno instead of REG_ERROR.
22455 (grub_ata_pio_write): Add parameter milliseconds.
22456 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
22457 Pass milliseconds to grub_ata_wait_status () and
22458 grub_ata_pio_read ().
22459 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
22460 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
22461 grub_ata_wait_status (). Fix IDENTIFY timeout check.
22462 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
22463 It is not suitable for device detection, because DEV bit is ignored,
22464 the command may run too long, and not all devices set the signature
22465 properly.
22466 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
22467 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
22468 Fix device selection, DEV bit must be set first to address the registers
22469 of the correct device.
22470 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
22471 grub_ata_pio_read/write ().
22472 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
22473 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
22474
4a412913 224752009-01-13 Carles Pina i Estany <carles@pina.cat>
22476
22477 * util/grub-editenv.c (main): Use fseeko(), not fseek().
22478
7795c55e 224792009-01-13 Bean <bean123ch@gmail.com>
d913988c 22480
22481 * util/grub-mkfont.c (write_font): forget to remove some debug code.
22482
7795c55e 224832009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 22484
22485 * Makefile.in: (enable_grub_mkfont): New variable.
22486 (freetype_cflags): Likewise.
22487 (freetype_libs): Likewise.
22488
22489 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
22490 (grub_mkfont_SOURCES): New variable.
22491 (grub_mkfont_CFLAGS): Likewise.
22492 (grub_mkfont_LDFLAGS): Likewise.
22493
22494 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
22495 library if `--enable-grub-mkfont' is requested.
22496 (enable_grub_mkfont): New variable.
22497 (freetype_cflags): Likewise.
22498 (freetype_libs): Likewise.
22499
22500 * util/grub-mkfont.c: New file.
22501
093af1fe 225022009-01-12 Christian Franke <franke@computer.org>
22503
22504 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
22505 mode check. Fix setting of compat_use[].
22506
f36cc108 225072009-01-10 Robert Millan <rmh@aybabtu.com>
22508
22509 Update a few copyright years which we forgot to do in 2008 (only for
22510 files whose changes made in 2008 were copyright-significant)
22511
22512 * Makefile.in: Add 2008 to Copyright line.
22513 * disk/ieee1275/ofdisk.c: Likewise.
22514 * disk/efi/efidisk.c: Likewise.
22515 * kern/dl.c: Likewise.
22516 * kern/sparc64/ieee1275/init.c: Likewise.
22517 * kern/mm.c: Likewise.
22518 * kern/efi/mm.c: Likewise.
22519 * boot/i386/pc/boot.S: Likewise.
22520 * genfslist.sh: Likewise.
22521 * fs/iso9660.c: Likewise.
22522 * fs/hfs.c: Likewise.
22523 * fs/jfs.c: Likewise.
22524 * fs/minix.c: Likewise.
22525 * fs/ufs.c: Likewise.
22526 * gensymlist.sh.in: Likewise.
22527 * genkernsyms.sh.in: Likewise.
22528 * include/grub/misc.h: Likewise.
22529 * include/grub/types.h: Likewise.
22530 * include/grub/symbol.h: Likewise.
22531 * include/grub/elf.h: Likewise.
22532 * include/grub/kernel.h: Likewise.
22533 * include/grub/disk.h: Likewise.
22534 * include/grub/dl.h: Likewise.
22535 * include/grub/i386/linux.h: Likewise.
22536 * include/grub/i386/pc/biosdisk.h: Likewise.
22537 * include/grub/efi/api.h: Likewise.
22538 * include/grub/efi/pe32.h: Likewise.
22539 * include/grub/util/misc.h: Likewise.
22540 * normal/execute.c: Likewise.
22541 * normal/arg.c: Likewise.
22542 * normal/completion.c: Likewise.
22543 * normal/lexer.c: Likewise.
22544 * normal/parser.y: Likewise.
22545 * normal/misc.c: Likewise.
22546 * commands/i386/pc/vbeinfo.c: Likewise.
22547 * commands/hexdump.c: Likewise.
22548 * commands/terminal.c: Likewise.
22549 * commands/ls.c: Likewise.
22550 * commands/help.c: Likewise.
22551 * partmap/pc.c: Likewise.
22552 * loader/efi/chainloader.c: Likewise.
22553 * loader/multiboot_loader.c: Likewise.
22554 * loader/i386/pc/multiboot2.c: Likewise.
22555 * term/efi/console.c: Likewise.
22556 * term/i386/pc/serial.c: Likewise.
22557 * util/lvm.c: Likewise.
22558 * util/console.c: Likewise.
22559 * util/i386/efi/grub-mkimage.c: Likewise.
22560 * util/raid.c: Likewise.
22561
7f02114b 225622009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
22563
22564 * commands/videotest.c: Removed include to grub/machine/memory.h.
22565
22566 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
22567 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
22568 (video_mod_SOURCES): Removed.
22569 (video_mod_CFLAGS): Likewise.
22570 (video_mod_LDFLAGS): Likewise.
22571 (gfxterm_mod_SOURCES): Likewise.
22572 (gfxterm_mod_CFLAGS): Likewise.
22573 (gfxterm_mod_LDFLAGS): Likewise.
22574 (videotest_mod_SOURCES): Likewise.
22575 (videotest_mod_CFLAGS): Likewise.
22576 (videotest_mod_LDFLAGS): Likewise.
22577 (bitmap_mod_SOURCES): Likewise.
22578 (bitmap_mod_CFLAGS): Likewise.
22579 (bitmap_mod_LDFLAGS): Likewise.
22580 (tga_mod_SOURCES): Likewise.
22581 (tga_mod_CFLAGS): Likewise.
22582 (tga_mod_LDFLAGS): Likewise.
22583 (jpeg_mod_SOURCES): Likewise.
22584 (jpeg_mod_CFLAGS): Likewise.
22585 (jpeg_mod_LDFLAGS): Likewise.
22586 (png_mod_SOURCES): Likewise.
22587 (png_mod_CFLAGS): Likewise.
22588 (png_mod_LDFLAGS): Likewise.
22589
22590 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
22591 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
22592 (video_mod_SOURCES): Added.
22593 (video_mod_CFLAGS): Likewise.
22594 (video_mod_LDFLAGS): Likewise.
22595 (videotest_mod_SOURCES): Likewise.
22596 (videotest_mod_CFLAGS): Likewise.
22597 (videotest_mod_LDFLAGS): Likewise.
22598 (bitmap_mod_SOURCES): Likewise.
22599 (bitmap_mod_CFLAGS): Likewise.
22600 (bitmap_mod_LDFLAGS): Likewise.
22601 (tga_mod_SOURCES): Likewise.
22602 (tga_mod_CFLAGS): Likewise.
22603 (tga_mod_LDFLAGS): Likewise.
22604 (jpeg_mod_SOURCES): Likewise.
22605 (jpeg_mod_CFLAGS): Likewise.
22606 (jpeg_mod_LDFLAGS): Likewise.
22607 (png_mod_SOURCES): Likewise.
22608 (png_mod_CFLAGS): Likewise.
22609 (png_mod_LDFLAGS): Likewise.
22610 (gfxterm_mod_SOURCES): Likewise.
22611 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 22612 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 22613
22614 * term/gfxterm.c: Removed include to grub/machine/memory.h,
22615 grub/machine/console.h.
22616
644fff97 226172009-01-04 Jerone Young <jerone@gmail.com>
22618
22619 Make on screen instructions clearer
22620
22621 Based on patch created by Jidanni <jidanni@jidanni.org>
22622
22623 * normal/menu.c: print clearer instructions on the screen
22624
1e901a75 226252009-01-02 Colin D Bennett <colin@gibibit.com>
22626
22627 New font engine.
34c44600 22628
1e901a75 22629 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
22630 build system and fixed gfxterm.c to work with different sized fonts.
22631
22632 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 22633
1e901a75 22634 * configure: Re-generated.
34c44600 22635
1e901a75 22636 * DISTLIST: Removed font/manager.c.
22637 Added font/font.c.
22638 Added font/font_cmd.c.
34c44600 22639
1e901a75 22640 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
22641 compilation.
34c44600 22642
1e901a75 22643 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 22644
22645 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 22646
22647 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 22648
1e901a75 22649 * normal/menu.c: Likewise.
34c44600 22650
1e901a75 22651 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
22652 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 22653
1e901a75 22654 * include/grub/font.h: Replaced with new file.
34c44600 22655
1e901a75 22656 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
22657 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
22658 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
22659 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
22660 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 22661 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 22662 fg_red, fg_green, fg_blue, fg_alpha.
22663 (grub_video_adapter): Removed blit_glyph.
34c44600 22664 (grub_video_blit_glyph): Removed.
22665
1e901a75 22666 * font/manager.c: Removed file.
34c44600 22667
22668 * font/font.c: New file.
22669
1e901a75 22670 * font/font_cmd.c: Likewise.
34c44600 22671
1e901a75 22672 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 22673
1e901a75 22674 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
22675 (grub_video_vbe_map_rgba): Likewise.
22676 (grub_video_vbe_unmap_color_int): Likewise.
22677 (grub_video_vbe_blit_glyph): Removed.
22678 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 22679
1e901a75 22680 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
22681 (get_pixel): Likewise.
34c44600 22682 (set_pixel): Likewise.
22683
1e901a75 22684 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 22685
1e901a75 22686 * term/gfxterm.c: Adapted to new font engine.
34c44600 22687
1e901a75 22688 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 22689
1e901a75 22690 * term/i386/pc/vga.c: Likewise.
34c44600 22691
1e901a75 22692 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 22693
1e901a75 22694 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 22695
1e901a75 22696 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 22697
1e901a75 22698 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 22699
1e901a75 22700 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 22701
1e901a75 22702 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 22703
1e901a75 22704 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 22705
1e901a75 22706 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 22707
1e901a75 22708 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
22709
22710 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 22711
1e901a75 22712 * util/grub-mkconfig_lib.in: Changed font extension.
22713
278922e8 227142008-12-28 Felix Zielcke <fzielcke@z-51.de>
22715
22716 * util/getroot.c (grub_util_get_grub_dev): Add support for
22717 /dev/md/dNNpNN style partitionable mdraid devices.
22718
3ced05cf 227192008-12-12 Alex Smith <alex@alex-smith.me.uk>
22720
22721 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
22722 at a time limit of the PXE TFTP API correctly.
22723 (grub_pxefs_close): Likewise.
22724
7fd0ee30 227252008-11-29 Robert Millan <rmh@aybabtu.com>
22726
34c44600 22727 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 22728 grub_ata_device_initialize() calls.
22729
34c44600 227302008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 22731
22732 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
22733 iteration failed.
22734 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
22735
89313780 227362008-11-28 Robert Millan <rmh@aybabtu.com>
22737
22738 Fix build on powerpc-ieee1275. Based on patch created by
22739 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
22740 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22741 `kern/ieee1275/mmap.c'.
22742 * include/grub/powerpc/ieee1275/memory.h: New file.
22743
15257703 22744 Provide grub-install on coreboot.
22745 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
22746 (grub_install_SOURCES): New variable.
22747 * util/i386/pc/grub-install.in: Add a few condition checks to make it
22748 usable on coreboot.
22749
9fc5388a 227502008-11-25 Felix Zielcke <fzielcke@z-51.de>
22751
22752 * util/grub-fstest.c (grub_term_get_current_input): Change return type
22753 to `grub_term_input_t'.
22754 (grub_term_get_current_output): Change return type to
22755 `grub_term_output_t'.
22756
bc3a2f31 227572008-11-22 Robert Millan <rmh@aybabtu.com>
22758
34c44600 22759 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 22760 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
22761 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
22762 grub_vga_text_cls().
22763
80fc88f2 22764 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 22765 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 22766
cbf36fd3 22767 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
22768 to 0x200000 (avoids trouble with some OFW implementations, and matches
22769 with the one in Yaboot).
22770 Reported by Manoel Abranches
22771
73e8e268 227722008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 22773
22774 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
22775 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
22776
73e8e268 22777 * util/grub-mkconfig_lib.in (grub_warn): New function.
22778 (convert_system_path_to_grub_path): Use grub_warn() when issuing
22779 warnings, to obtain consistent formatting.
22780 * util/grub.d/00_header.in: Likewise.
22781 * util/update-grub_lib.in: Likewise.
22782
e94045a1 22783 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 22784 Move comment text to `#error' stanza.
e94045a1 22785
79d29fd7 22786 Harmonize ieee1275's grub_available_iterate() with the generic
22787 grub_machine_mmap_iterate() interface (fixes a recently-introduced
22788 build problem on i386-ieee1275):
22789 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
22790 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
22791 parameter `type'. Update all users of this function.
22792 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
22793 `kern/ieee1275/mmap.c'.
22794 * kern/ieee1275/init.c
22795 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
22796 with ...
22797 (grub_machine_mmap_iterate): ... this.
22798 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
22799 return type to `grub_err_t'. Update all implementations of this
22800 function prototype.
22801 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
22802 Likewise.
22803
60d6b16e 22804 Add `lsmmap' command (lists firmware-provided memory map):
22805 * commands/lsmmap.c: New file.
22806 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
22807 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
22808 variables.
22809 * conf/powerpc-ieee1275.rmk: Likewise.
22810 * conf/i386-coreboot.rmk: Likewise.
22811 * conf/i386-ieee1275.rmk: Likewise.
22812
ebaaf49b 228132008-11-19 Robert Millan <rmh@aybabtu.com>
22814
22815 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 22816 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
22817 constraints to initrd allocation (based on code from
22818 loader/i386/pc/linux.c). Without them, initrd was allocated too high
22819 for Linux to find it.
ebaaf49b 22820
dfab719f 228212008-11-14 Robert Millan <rmh@aybabtu.com>
22822
22823 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
22824 order to cope with duplicate slashes.
22825
10fc3eb9 228262008-11-14 Robert Millan <rmh@aybabtu.com>
22827
22828 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
22829 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
22830 don't want to mess with lower memory, because it is used in the Linux
22831 loader.
22832
22833 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 22834 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 22835 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
22836 is in our heap (probably as a result of it being corrupted during
2f2a3442 22837 decompression). Add #error instance with comment to explain why this
22838 loader isn't currently usable on PC/BIOS.
10fc3eb9 22839
e2e07847 228402008-11-14 Robert Millan <rmh@aybabtu.com>
22841
22842 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 22843 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 22844
fe8e8d69 228452008-11-12 Robert Millan <rmh@aybabtu.com>
22846
22847 Make loader/i386/linux.c buildable on i386-pc (although disabled).
22848
22849 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
22850 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
22851 from here ...
22852 * include/grub/i386/pc/memory.h: ... to here.
22853
976b07d0 228542008-11-12 Robert Millan <rmh@aybabtu.com>
22855
22856 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
22857 split).
22858
22859 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
22860 (grub_console_cur_color, grub_console_real_putchar)
22861 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
22862 (grub_console_setcolorstate, grub_console_setcolor)
22863 (grub_console_getcolor): Move from here ...
22864 * include/grub/i386/vga_common.h: ... to here (new file).
22865
22866 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
22867 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
22868 `<grub/i386/io.h>'.
22869 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
22870 `<grub/i386/vga_common.h>'.
22871
76679cd3 228722008-11-12 Robert Millan <rmh@aybabtu.com>
22873
22874 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
22875 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
22876 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
22877 variables.
22878 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
22879 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
22880
22881 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
22882 grub_console_init() with call to grub_vga_text_init().
22883 (grub_machine_fini): Replace call to
22884 grub_console_fini() with call to grub_vga_text_fini() and
22885 grub_at_keyboard_fini().
22886
22887 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
22888 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
22889 (grub_console_setcolorstate, grub_console_setcolor)
22890 (grub_console_getcolor): New function prototypes.
22891
22892 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
22893 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
22894 (grub_vga_text_setcursor): Static-ize.
22895 (grub_vga_text_term): New structure.
22896 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
22897
22898 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
22899 (grub_console_cur_color, grub_console_standard_color)
22900 (grub_console_normal_color, grub_console_highlight_color)
22901 (map_char, grub_console_putchar, grub_console_getcharwidth)
22902 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
22903 (grub_console_getcolor): Move from here ...
22904 * term/i386/vga_common.c: ... to here (same function names).
22905
95b841d3 229062008-11-12 Robert Millan <rmh@aybabtu.com>
22907
22908 Use newly-added Multiboot support in coreboot.
22909
22910 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
22911 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
22912
22913 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
22914 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
22915 (codestart): Store the MBI in `startup_multiboot_info' when we're
22916 being loaded using Multiboot.
22917
22918 * kern/i386/coreboot/init.c (grub_machine_init): Move
22919 grub_at_keyboard_init() call to beginning of function (useful for
22920 debugging). Call grub_machine_mmap_init() before attempting to use
22921 grub_machine_mmap_iterate().
22922 (grub_lower_mem, grub_upper_mem): Move from here ...
22923 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
22924 here (new file).
22925
22926 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
22927 function prototype.
22928
761ca975 229292008-11-12 Robert Millan <rmh@aybabtu.com>
22930
22931 Fix a regression introduced by the at_keyboard.mod split. Because
22932 some terminals are default on some platforms and non-default on
22933 others, the first terminal being registered determines which is
22934 going to be default.
22935
22936 * kern/term.c (grub_term_register_input): If this is the first
22937 terminal being registered, set it as the current one.
22938 (grub_term_register_output): Likewise.
22939
22940 * term/efi/console.c (grub_console_init): Do not call
22941 grub_term_set_current_output() or grub_term_set_current_input().
22942 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
22943 * term/i386/pc/console.c (grub_console_init): Likewise.
22944 (grub_console_fini): Do not call grub_term_set_current_input()
22945 (but leave grub_term_set_current_output() to restore text mode).
22946
6c529df7 229472008-11-10 Robert Millan <rmh@aybabtu.com>
22948
22949 * util/grub.d/00_header.in: Add backward compatibility check for
22950 versions of terminal.mod that don't understand `terminal_input' or
22951 `terminal_output'.
22952
132e4113 229532008-11-09 Robert Millan <rmh@aybabtu.com>
22954
22955 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
22956 `terminal_input' / `terminal_output', not `terminal'.
22957
ac293d50 229582008-11-08 Robert Millan <rmh@aybabtu.com>
22959
22960 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 22961 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 22962
0025933a 229632008-11-08 Robert Millan <rmh@aybabtu.com>
22964
22965 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 22966 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 22967 members. Update all users.
22968 * util/console.c (grub_ncurses_term): Split in ...
22969 (grub_ncurses_term_input): ... this, and ...
22970 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 22971 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 22972
37c86336 229732008-11-08 Robert Millan <rmh@aybabtu.com>
22974
22975 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
22976 (PKGDATA): Add $(pkgdata_SRCDIR).
22977 (pkglib_BUILDDIR): New variable.
22978 (pkgdata_SRCDIR): New variable.
22979 (build_env.mk): New target.
22980 (include_DATA): New variable.
22981 (install-local): Install $(include_DATA) files in $(includedir).
22982
b6c15a2d 229832008-11-07 Pavel Roskin <proski@gnu.org>
22984
d99d46f1 22985 * gendistlist.sh: Use C locale for sorting to ensure consistent
22986 output on all systems.
22987
b6c15a2d 22988 * util/grub.d/00_header.in: Remove incorrect space before
22989 "serial".
22990
c32ee8c9 229912008-11-07 Robert Millan <rmh@aybabtu.com>
22992
22993 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
22994 per specification.
22995 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
22996 * loader/multiboot_loader.c (find_multi_boot2_header): New function
22997 (based on find_multi_boot1_header).
22998 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
22999 using find_multi_boot2_header(), and abort if neither Multiboot or
23000 Multiboot headers were found.
23001
651c29b7 230022008-11-07 Robert Millan <rmh@aybabtu.com>
23003
23004 Modularize at_keyboard.mod:
23005
23006 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
23007 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23008 (at_keyboard_mod_LDFLAGS): New variables.
23009
23010 Actual terminal split:
23011
23012 * include/grub/term.h (struct grub_term): Split in ...
23013 (struct grub_term_input): ... this, and ...
23014 (struct grub_term_output): ... this. Update all users.
23015 (grub_term_set_current): Split in ...
23016 (grub_term_set_current_input): ... this, and ...
23017 (grub_term_set_current_output): ... this.
23018 (grub_term_get_current): Split in ...
23019 (grub_term_get_current_input): ... this, and ...
23020 (grub_term_get_current_output): ... this.
23021 (grub_term_register): Split in ...
23022 (grub_term_register_input): ... this, and ...
23023 (grub_term_register_output): ... this.
23024 (grub_term_unregister): Split in ...
23025 (grub_term_unregister_input): ... this, and ...
23026 (grub_term_unregister_output): ... this.
23027 (grub_term_iterate): Split in ...
23028 (grub_term_iterate_input): ... this, and ...
23029 (grub_term_iterate_output): ... this.
23030
23031 * kern/term.c (grub_term_list): Split in ...
23032 (grub_term_list_input): ... this, and ...
23033 (grub_term_list_output): ... this. Update all users.
23034 (grub_cur_term): Split in ...
23035 (grub_cur_term_input): ... this, and ...
23036 (grub_cur_term_output): ... this. Update all users.
23037 (grub_term_set_current): Split in ...
23038 (grub_term_set_current_input): ... this, and ...
23039 (grub_term_set_current_output): ... this.
23040 (grub_term_get_current): Split in ...
23041 (grub_term_get_current_input): ... this, and ...
23042 (grub_term_get_current_output): ... this.
23043 (grub_term_register): Split in ...
23044 (grub_term_register_input): ... this, and ...
23045 (grub_term_register_output): ... this.
23046 (grub_term_unregister): Split in ...
23047 (grub_term_unregister_input): ... this, and ...
23048 (grub_term_unregister_output): ... this.
23049 (grub_term_iterate): Split in ...
23050 (grub_term_iterate_input): ... this, and ...
23051 (grub_term_iterate_output): ... this.
23052
23053 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
23054 a check for input and one for output (and only attempt to get keys
23055 from user when input works).
23056
23057 * util/grub-probe.c (grub_term_get_current): Split in ...
23058 (grub_term_get_current_input): ... this, and ...
23059 (grub_term_get_current_output): ... this.
23060 * util/grub-fstest.c: Likewise.
23061 * util/i386/pc/grub-setup.c: Likewise.
23062 * util/grub-editenv.c: Likewise.
23063
23064 Portability adjustments:
23065
23066 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
23067 `term/i386/pc/at_keyboard.c'.
23068 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
23069 grub_keyboard_controller_init() (now handled by terminal .init).
23070 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
23071 grub_at_keyboard_init().
23072 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
23073 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
23074 at_keyboard.mod via input terminal interface).
23075 * include/grub/i386/coreboot/console.h: Convert into a stub for
23076 `<grub/i386/pc/console.h>'.
23077
23078 Migrate full terminals to new API:
23079
23080 * term/efi/console.c (grub_console_term): Split into ...
23081 (grub_console_term_input): ... this, and ...
23082 (grub_console_term_output): ... this. Update all users.
23083 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
23084 (grub_ofconsole_init): Split into ...
23085 (grub_ofconsole_init_input): ... this, and ...
23086 (grub_ofconsole_init_output): ... this.
23087 (grub_ofconsole_term): Split into ...
23088 (grub_ofconsole_term_input): ... this, and ...
23089 (grub_ofconsole_term_output): ... this. Update all users.
23090 * term/i386/pc/serial.c (grub_serial_term): Split into ...
23091 (grub_serial_term_input): ... this, and ...
23092 (grub_serial_term_output): ... this. Update all users.
23093 * term/i386/pc/console.c (grub_console_term): Split into ...
23094 (grub_console_term_input): ... this, and ...
23095 (grub_console_term_output): ... this. Update all users.
23096 (grub_console_term_input): Only enable it on PC/BIOS platform.
23097 (grub_console_init): Remove grub_keyboard_controller_init() call.
23098
23099 Migrate input terminals to new API:
23100
23101 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
23102 `i386' and `i386/pc' to enable build on x86_64 (this driver is
23103 i386-specific anyway).
23104 (grub_console_checkkey): Rename to ...
23105 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
23106 users.
23107 (grub_keyboard_controller_orig): New variable.
23108 (grub_console_getkey): Rename to ...
23109 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
23110 users.
23111 (grub_keyboard_controller_init): Static-ize. Save original
23112 controller value so that it can be restored ...
23113 (grub_keyboard_controller_fini): ... here (new function).
23114 (grub_at_keyboard_term): New structure.
23115 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
23116 functions.
23117
23118 Migrate output terminals to new API:
23119
23120 * term/i386/pc/vga.c (grub_vga_term): Change type to
23121 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
23122 members. Update all users.
23123 * term/gfxterm.c (grub_video_term): Change type to
23124 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
23125 members. Update all users.
23126 * include/grub/i386/pc/console.h (grub_console_checkkey)
23127 (grub_console_getkey): Do not export (no longer needed by gfxterm,
23128 etc).
23129
23130 Migrate `terminal' command and userland tools to new API:
23131
23132 * commands/terminal.c (grub_cmd_terminal): Split into ...
23133 (grub_cmd_terminal_input): ... this, and ...
23134 (grub_cmd_terminal_output): ... this.
23135 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
23136 `terminal_input' and `terminal_output'.
23137 * util/grub.d/00_header.in: Adjust `terminal' calls to new
23138 `terminal_input' / `terminal_output' API.
23139 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
23140 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
23141 provided ${GRUB_TERMINAL}, convert it).
23142
96e5d876 231432008-11-04 Robert Millan <rmh@aybabtu.com>
23144
23145 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
23146 for FreeBSD.
23147 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
23148
556f3775 231492008-11-03 Bean <bean123ch@gmail.com>
23150
23151 * kern/elf.c (grub_elf32_load): Revert to previous code.
23152 (grub_elf64_load): Likewise.
23153
23154 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
23155
926b9823 231562008-11-01 Robert Millan <rmh@aybabtu.com>
23157
23158 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
23159 (TARGET_CPPFLAGS): Likewise.
23160 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
23161
1432e958 231622008-11-01 Carles Pina i Estany <carles@pina.cat>
23163
23164 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
23165
dba3f844 231662008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 23167
23168 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
23169 addition of objects until the code is not going to be able to fail.
23170
dba3f844 231712008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 23172
23173 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
23174 (add a missing NULL check, and correct them by moving the pointer
23175 operations after the actual check).
23176
7ab28c21 231772008-10-29 Robert Millan <rmh@aybabtu.com>
23178
23179 * util/i386/pc/grub-install.in: Handle empty string as output from
23180 make_system_path_relative_to_its_root().
23181
1b7748eb 231822008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
23183
23184 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
23185 circular metadata worst case scenario. If the metadata is circular
23186 then copy the wrap in place.
23187 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
23188 project lib/format_text/layout.h
23189 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
23190
c9618ab2 231912008-10-03 Felix Zielcke <fzielcke@z-51.de>
23192
7a36edca 23193 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 23194
bf981c62 231952008-10-03 Felix Zielcke <fzielcke@z-51.de>
23196
23197 * util/update-grub_lib.in: Mention filename in warning message.
23198
6d994591 231992008-09-29 Felix Zielcke <fzielcke@z-51.de>
23200
23201 * NEWS: Update for rename of update-grub to grub-mkconfig.
23202
18ade780 232032008-09-29 Felix Zielcke <fzielcke@z-51.de>
23204
23205 * util/update-grub_lib.in: Copy to ...
23206 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 23207 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 23208 * util/update-grub.in: Rename to ...
23209 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
23210 option. Add `--output' option to allow users to specify the generated
23211 configuration file. Default to stdout.
23212 (update_grub_dir): Rename to ...
23213 (grub_mkconfig_dir): ... this.
23214 (grub_cfg): Default to an empty string.
23215 * conf/common.rmk (update-grub): Rename to ...
23216 (grub-mkconfig): ... this.
23217 (update-grub_lib): Copy to ...
23218 (grub-mkconfig_lib): ... this.
23219 (update-grub_SCRIPTS): Copy to ...
23220 (grub-mkconfig_SCRIPTS): ... this. Update all users.
23221 (update-grub_DATA): Rename to ...
23222 (grub-mkconfig_DATA): ... this.
23223
556ce6ac 232242008-09-28 Robert Millan <rmh@aybabtu.com>
23225
23226 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
23227 to `modified'. Add the real `created' field.
23228 (grub_iso9660_uuid): Use `modified' rather than `created' for
23229 constructing the UUID.
23230
232312008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 23232
23233 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
23234 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
23235
92274e85 232362008-09-28 Bean <bean123ch@gmail.com>
23237
23238 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
23239 Thanks to Christian Franke for finding this bug.
23240
add6f17a 232412008-09-25 Robert Millan <rmh@aybabtu.com>
23242
23243 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
23244 instances of grub_util_get_disk_name() (see previous commit).
23245
d2a367b8 232462008-09-25 Robert Millan <rmh@aybabtu.com>
23247
23248 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
23249 `util/i386/get_disk_name.c'.
23250 * conf/i386-efi.rmk: Likewise.
23251 * conf/x86_64-efi.rmk: Likewise.
23252 * conf/i386-coreboot.rmk: Likewise.
23253 * conf/i386-ieee1275.rmk: Likewise.
23254 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
23255 `util/ieee1275/get_disk_name.c'.
23256 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
23257 * util/ieee1275/get_disk_name.c: Remove file.
23258 * util/i386/get_disk_name.c: Remove file.
23259 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
23260 "hd%d" for device.map entries, rather than using
23261 grub_util_get_disk_name().
23262
81a06771 232632008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 23264
23265 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
23266 warning.
23267 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
23268
5a004279 232692008-09-24 Carles Pina i Estany <carles@pina.cat>
23270
23271 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
23272 Changed to 0x5100.
23273 (GRUB_TERM_PPAGE): Changed to 0x4900.
23274
397093d3 232752008-09-24 Robert Millan <rmh@aybabtu.com>
23276
23277 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
23278 macros (they were i386-pc specific).
23279 * include/grub/sparc64/ieee1275/console.h: Likewise.
23280 * include/grub/efi/console.h: Likewise.
23281
a91b6c7c 232822008-09-22 Bean <bean123ch@gmail.com>
23283
23284 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
23285 resident and in attribute list.
23286
23287 * include/grub/ntfs.h (BMP_LEN): Removed.
23288
c40fd116 232892008-09-22 Bean <bean123ch@gmail.com>
23290
81a06771 23291 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 23292 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
23293
23294 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
23295 error occurs, as grub_disk_open will call grub_disk_close, which will
23296 call p->close (scsi).
23297
81a06771 232982008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 23299
23300 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
23301 (AC_PREREQ): Bumped to 2.59.
23302 (AC_TRY_COMPILE): Replace obsolete macro with ...
23303 (AC_COMPILE_IFELSE): ... this.
23304 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
23305 (AC_LINK_IFELSE): ... this.
23306
5dc43410 233072008-09-21 Felix Zielcke <fzielcke@z-51.de>
23308
23309 * autogen.sh: Add a call to `gendistlist.sh'.
23310
9035dce4 233112008-09-19 Christian Franke <franke@computer.org>
23312
23313 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
23314 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
23315 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
23316 Export __enable_execute_stack() to modules.
23317 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
23318 New function.
23319
7fd75377 233202008-09-09 Felix Zielcke <fzielcke@z-51.de>
23321
040030b3 23322 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
23323 Sort the list.
23324
233252008-09-09 Felix Zielcke <fzielcke@z-51.de>
23326
23327 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 23328 #include <grub/util/hostdisk.h>.
23329
89d5ffcf 233302008-09-08 Robert Millan <rmh@aybabtu.com>
23331
23332 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
23333 segments when their filesz is zero (grub_file_read() interprets
81a06771 23334 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 23335 Use `lowest_segment' rather than 0 for calculating the current
23336 segment load address.
23337
40da438f 233382008-09-08 Robert Millan <rmh@aybabtu.com>
23339
23340 * util/hostdisk.c (open_device): Replace a grub_util_info() call
23341 with grub_dprintf("hostdisk", ...), as it was so verbose that it
23342 clobbered useful information.
23343
ddbf5556 233442008-09-08 Robert Millan <rmh@aybabtu.com>
23345
23346 * include/grub/util/biosdisk.h: Move to ...
23347 * include/grub/util/hostdisk.h: ... here. Update all users.
23348 * util/biosdisk.c: Move to ...
23349 * util/hostdisk.c: ... here. Update all users.
23350
783d0f48 233512008-09-07 Robert Millan <rmh@aybabtu.com>
23352
23353 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
23354 variables.
23355 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
23356 and length can be stored directly in the `mbi->mmap_addr' and
23357 `mbi->mmap_length' struct fields.
23358
548e2ea5 233592008-09-07 Robert Millan <rmh@aybabtu.com>
23360
23361 * conf/i386.rmk: New file. Provides declaration for building
23362 `cpuid.mod'.
23363 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
23364 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
23365 variables.
23366 Include `conf/i386.mk'.
23367 * conf/i386-efi.rmk: Likewise.
23368 * conf/x86_64-efi.rmk: Likewise.
23369 * conf/i386-coreboot.rmk: Likewise.
23370 * conf/i386-ieee1275.rmk: Likewise.
23371
0ea85a37 233722008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
23373
23374 Based on patch created by Colin D Bennett <colin@gibibit.com>.
23375 Adds optimization support for BGR based modes.
23376
23377 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
23378 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
23379 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
23380 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
23381 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
23382 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
23383 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
23384 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
23385 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
23386 (grub_video_i386_vbeblit_index_index): Likewise.
23387 (grub_video_i386_vbeblit_replace_directN): Added.
23388 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
23389 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
23390 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
23391 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
23392 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
23393 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 23394 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 23395 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
23396 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
23397 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
23398 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
23399 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
23400 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
23401
23402 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
23403 (grub_video_i386_vbefill_R8G8B8): Likewise.
23404 (grub_video_i386_vbefill_index): Likewise.
23405 (grub_video_i386_vbefill_direct32): Added.
23406 (grub_video_i386_vbefill_direct24): Likewise.
23407 (grub_video_i386_vbefill_direct16): Likewise.
23408 (grub_video_i386_vbefill_direct8): Likewise.
23409
81a06771 23410 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 23411 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
23412 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
23413 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
23414 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
23415 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 23416
0ea85a37 23417 * video/video.c (grub_video_get_blit_format): Updated to use new
23418 blit formats. Added handling for 16 bit color modes.
81a06771 23419
23420 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 23421 fillers.
23422 (common_blitter): Updated to use new blitters.
23423
23424 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
23425 Removed.
23426 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
23427 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
23428 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
23429 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
23430 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
23431 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
23432 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
23433 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
23434 (grub_video_i386_vbeblit_index_index): Likewise.
23435 (grub_video_i386_vbeblit_replace_directN): Added.
23436 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
23437 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
23438 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
23439 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
23440 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
23441 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
23442 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
23443 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
23444 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
23445 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
23446 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
23447 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
23448 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 23449
0ea85a37 23450 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
23451 (grub_video_i386_vbefill_R8G8B8): Likewise.
23452 (grub_video_i386_vbefill_index): Likewise.
23453 (grub_video_i386_vbefill_direct32): Added.
23454 (grub_video_i386_vbefill_direct24): Likewise.
23455 (grub_video_i386_vbefill_direct16): Likewise.
23456 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 23457
0ea85a37 23458 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
23459 types.
81a06771 23460
0ea85a37 23461 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
23462 types.
81a06771 23463
0ea85a37 23464 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
23465 blitter types.
81a06771 23466
0ea85a37 23467 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
23468 types.
23469
e8a83df6 234702008-09-06 Felix Zielcke <fzielcke@z-51.de>
23471
23472 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
23473 RAID level 1.
23474
6bcd8ee5 234752008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 23476
6bcd8ee5 23477 * fs/iso9660.c (grub_iso9660_date): New structure.
23478 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
23479 (grub_iso9660_uuid): New function.
c375ae58 23480
59261157 234812008-09-05 Bean <bean123ch@gmail.com>
23482
23483 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
23484
23485 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
23486 insensitive bit for names in Win32 and Win32 & DOS namespace.
23487
23488 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
23489
23490 * include/grub/types.h (LONG_MAX): Likewise.
23491
58b6645a 234922008-09-04 Felix Zielcke <fzielcke@z-51.de>
23493
4ee55921 23494 * util/getroot.c: Include <config.h>.
23495 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
23496 add support for /dev/md/N devices and handle LVM double dash escaping.
23497
234982008-09-04 Felix Zielcke <fzielcke@z-51.de>
23499
23500 * config.guess: Update to latest version from config git.
23501 * config.sub: Likewise.
58b6645a 23502
9124f65d 235032008-09-03 Robert Millan <rmh@aybabtu.com>
23504
23505 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
23506 `disk->total_sectors'.
23507
81a06771 235082008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 23509
23510 * include/grub/normal.h: Fixed incorrect comment for
23511 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
23512
81a06771 235132008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 23514
23515 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
23516 values with defines.
23517
23518 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
23519 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
23520 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
23521 (GRUB_VBE_MODEATTR_COLOR): Likewise.
23522 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
23523 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
23524 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
23525 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
23526 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
23527 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
23528 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
23529 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
23530 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
23531 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
23532 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
23533 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
23534 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
23535 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
23536 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
23537
93d5cbf8 235382008-08-31 Robert Millan <rmh@aybabtu.com>
23539
23540 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
23541 declaration.
23542 (grub_multiboot): Fix a few warnings.
23543
21751d50 235442008-08-31 Robert Millan <rmh@aybabtu.com>
23545
23546 * loader/i386/pc/multiboot.c: Update comment not to say that
23547 boot_device support is unimplemented.
23548
e27a75c5 235492008-08-31 Robert Millan <rmh@aybabtu.com>
23550
23551 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
23552 or memory map support are unimplemented.
23553
81a06771 235542008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 23555
23556 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
23557
81a06771 235582008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 23559
23560 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
23561 total video memory in 'vbeinfo' output; show color format details for
23562 each video mode.
23563
7c5d8d95 235642008-08-30 Pavel Roskin <proski@gnu.org>
23565
23566 * util/genmoddep.c: Remove for real this time.
23567 * DISTLIST: Remove util/genmoddep.c.
23568
4cebd25a 235692008-08-30 Robert Millan <rmh@aybabtu.com>
23570
23571 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
23572 as required by Multiboot spec (it was already 4-byte aligned, but
23573 only by chance).
23574
b497a269 235752008-08-29 Pavel Roskin <proski@gnu.org>
23576
e3925185 23577 * kern/powerpc/ieee1275/crt0.S: Rename to ...
23578 * kern/powerpc/ieee1275/startup.S: ... this.
23579 * conf/powerpc-ieee1275.rmk: Adjust for the above.
23580 * DISTLIST: Likewise.
23581
b497a269 23582 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
23583 grub/cpu/kernel.h. Add start label for consistency with other
23584 platforms. Add grub_prefix immediately after start. Add jump
23585 to the code after grub_prefix.
23586 * include/grub/powerpc/kernel.h: Provide valid values for
23587 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
23588
6e5a42fe 235892008-08-29 Bean <bean123ch@gmail.com>
23590
23591 * configure.ac: Change host_os to cygwin for mingw.
23592 (asprintf): New check for function.
23593
23594 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
23595 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
23596
23597 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 23598 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 23599 sync, sleep and grub_util_get_disk_size for mingw.
23600
23601 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
23602 to get size in mingw.
23603 (open_device): Use flag O_BINARY if it's defined.
23604 (find_root_device): Add dummy code for mingw.
23605
23606 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
23607 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
23608 (get_scsi_disk_name): Return 0 for mingw.
23609
23610 * util/hostfs.c: #include <grub/util/misc.h>.
23611 (grub_hostfs_open): Use "rb" flag to open file, use
23612 grub_util_get_disk_size to get disk size for mingw.
23613
23614 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
23615 (asprintf): New function if HAVE_ASPRINTF is not set.
23616 (sync): New function for mingw.
23617 (sleep): Likewise.
23618 (grub_util_get_disk_size): Likewise.
23619
ab3f2673 236202008-08-28 Pavel Roskin <proski@gnu.org>
23621
23622 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23623 kern/time.c.
23624
1c282483 236252008-08-28 Robert Millan <rmh@aybabtu.com>
23626
23627 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
23628
678e849c 236292008-08-28 Robert Millan <rmh@aybabtu.com>
23630
23631 Change find_grub_drive() syntax so it doesn't prevent it from
23632 detecting NULL names as errors.
23633
23634 * util/biosdisk.c (find_grub_drive): Move free slot search code
23635 from here ...
23636 (find_free_slot): ... to here.
23637 (read_device_map): Use find_free_slot() to search for free slots.
23638
965c75ca 236392008-08-27 Marco Gerards <marco@gnu.org>
23640
23641 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
23642 (scsi_mod_SOURCES): New variable.
23643 (scsi_mod_CFLAGS): Likewise
23644 (scsi_mod_LDFLAGS): Likewise.
23645
23646 * disk/scsi.c: New file.
23647
23648 * include/grub/scsi.h: Likewise.
23649
23650 * include/grub/scsicmd.h: Likewise.
23651
23652 * disk/ata.c: Include <grub/scsi.h>.
23653 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
23654 instead.
23655 (grub_ata_iterate): Skip ATAPI devices.
23656 (grub_ata_open): Only handle ATAPI devices.
23657 (struct grub_atapi_read): Removed.
23658 (grub_atapi_readsector): Likewise.
23659 (grub_ata_read): No longer handle ATAPI devices.
23660 (grub_ata_write): Likewise.
23661 (grub_atapi_iterate): New function.
23662 (grub_atapi_read): Likewise.
23663 (grub_atapi_write): Likewise.
23664 (grub_atapi_open): Likewise.
23665 (grub_atapi_close): Likewise.
23666 (grub_atapi_dev): New variable.
23667 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
23668 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
23669
23670 * include/grub/disk.h (enum grub_disk_dev_id): Add
23671 `GRUB_DISK_DEVICE_SCSI_ID'.
23672
c07ae501 236732008-08-26 Robert Millan <rmh@aybabtu.com>
23674
23675 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
23676 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
23677 descriptive.
23678
5ed20adc 236792008-08-23 Bean <bean123ch@gmail.com>
23680
23681 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
23682 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
23683 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
23684 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
23685 dm_nv.mod.
23686 (raid5rec_mod_SOURCES): New macro.
23687 (raid5rec_mod_CFLAGS): Likewise.
23688 (raid5rec_mod_LDFLAGS): Likewise.
23689 (raid6rec_mod_SOURCES): Likewise.
23690 (raid6rec_mod_CFLAGS): Likewise.
23691 (raid6rec_mod_LDFLAGS): Likewise.
23692 (mdraid_mod_SOURCES): Likewise.
23693 (mdraid_mod_CFLAGS): Likewise.
23694 (mdraid_mod_LDFLAGS): Likewise.
23695 (dm_nv_mod_SOURCES): Likewise.
23696 (dm_nv_mod_CFLAGS): Likewise.
23697 (dm_nv_mod_LDFLAGS): Likewise.
23698
23699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
23700 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
23701 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
23702
23703 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
23704 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
23705
23706 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23707
23708 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23709
23710 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23711
23712 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23713
23714 * disk/raid5_recover.c: New file.
23715
23716 * disk/raid6_recover.c: Likewise.
23717
23718 * disk/mdraid_linux.c: Likewise.
23719
23720 * disk/dmraid_nvidia.c: Likewise.
23721
23722 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
23723 ULONG_MAX.
23724
23725 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
23726 calculate the size of raid device.
23727 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
23728 different layout of raid5.
23729 (grub_raid_scan_device): Remove code specific to mdraid.
23730 (grub_raid_list): New variable.
23731 (free_array): New function.
23732 (grub_raid_register): Likewise.
23733 (grub_raid_unregister): Likewise.
23734 (grub_raid_rescan): Likewise.
23735 (GRUB_MOD_INIT): Don't iterate device here.
23736 (GRUB_MOD_FINI): Use free_array to release resource.
23737
23738 * include/grub/raid.h: Remove macro and structure specific to mdraid.
23739 (grub_raid5_recover_func_t): New function variable type.
23740 (grub_raid6_recover_func_t): Likewise.
23741 (grub_raid5_recover_func): New variable.
23742 (grub_raid6_recover_func): Likewise.
23743 (grub_raid_register): New function.
23744 (grub_raid_unregister): Likewise.
23745 (grub_raid_rescan): Likewise.
23746 (grub_raid_block_xor): Likewise.
23747
23748 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
23749 (CMD_CRC): New macro.
23750 (part): Removed.
23751 (read_file): Handle device as well as file.
23752 (cmd_crc): New function.
23753 (fstest): Handle multiple disks.
23754 (options): Remove part, raw and long, add root and diskcount.
23755 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 23756 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 23757 add handling for the new options, support multiple disks.
23758
23759 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
23760
29c18915 237612008-08-23 Bean <bean123ch@gmail.com>
23762
23763 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
23764
23765 * genfslist.sh: Ignore kernel.mod.
23766
23767 * genpartmaplist.sh: Likewise.
23768
8415f261 237692008-08-23 Robert Millan <rmh@aybabtu.com>
23770
23771 * util/getroot.c (find_root_device): Skip anything that starts with
23772 a dot, not just directories. This avoids things like /dev/.tmp.md0.
23773
d5a7dc5b 237742008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 23775
d5a7dc5b 23776 * util/update-grub.in (GRUB_GFXMODE): Export variable.
23777 * util/grub.d/00_header.in: Allow the administrator to change default
23778 gfxmode via ${GRUB_GFXMODE}.
23779
380cfbb4 237802008-08-21 Felix Zielcke <fzielcke@z-51.de>
23781
23782 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
23783
c9baafe7 237842008-08-21 Robert Millan <rmh@aybabtu.com>
23785
23786 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
23787 loader.
23788 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
23789 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
23790
e290bef2 237912008-08-20 Carles Pina i Estany <carles@pina.cat>
23792
23793 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
23794 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
23795
f9dbfc96 237962008-08-19 Robert Millan <rmh@aybabtu.com>
23797
23798 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
23799 (struct grub_virtual_screen): Remove `cursor_color'.
23800 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
23801 initialization.
23802 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
23803
dd6bd6ab 238042008-08-18 Robert Millan <rmh@aybabtu.com>
23805
23806 Unify (identical) linux_normal.c files.
23807 * loader/i386/efi/linux_normal.c: Move from here ...
23808 * loader/linux_normal.c: ... to here. Update all users.
23809 * loader/i386/pc/linux_normal.c: Delete. Update all users.
23810 * loader/i386/ieee1275/linux_normal.c: Likewise.
23811
7f42f83e 238122008-08-18 Robert Millan <rmh@aybabtu.com>
23813
23814 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
23815 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
23816 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
23817 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
23818 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
23819 New macros.
23820 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
23821 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
23822 (GRUB_LINUX_CL_END_OFFSET): ... to here.
23823 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
23824 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
23825 (GRUB_EFI_CL_END_OFFSET): Rename to ...
23826 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
23827 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
23828 Initialize `params->video_cursor_x' and `params->video_cursor_y'
23829 portably using grub_getxy().
23830 Replace `-EFI' with `-bzImage' in boot message.
23831
38487ddb 238322008-08-17 Robert Millan <rmh@aybabtu.com>
23833
23834 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
23835
deceb3ec 238362008-08-17 Robert Millan <rmh@aybabtu.com>
23837
23838 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
23839
23840 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
23841 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
23842 (grub_machine_mmap_iterate): New function declaration.
23843 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
23844 structure.
23845 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
23846 macros.
23847
23848 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
23849 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
23850 Move e820 parsing from here ...
23851 * kern/i386/pc/mmap.c: New file.
23852 (grub_machine_mmap_iterate): ... to here.
23853
23854 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
23855 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
23856 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
23857 (grub_available_iterate): Redeclare to return `void', and redeclare
23858 its hook to use grub_uint64_t as addr and size parameters, and rename
23859 to ...
23860 (grub_machine_mmap_iterate): ... this. Update all users.
23861
23862 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
23863 to make it more readable. Rename to ...
23864 (grub_machine_mmap_iterate): ... this.
23865
23866 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
23867 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
23868 (grub_multiboot): Allocate an extra region after the payload, and fill
23869 it with a Multiboot memory map. Adjust a.out loader to calculate size
23870 with the extra space.
23871 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
23872 with the extra space.
23873
f8aa0f43 238742008-08-17 Carles Pina i Estany <carles@pina.cat>
23875
9807deb9 23876 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 23877
605f5bb6 238782008-08-17 Felix Zielcke <fzielcke@z-51.de>
23879
23880 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
23881 mdate-sh to the list `find' searches for.
23882 * DISTLIST: Regenerated.
23883
210db6c6 238842008-08-16 Felix Zielcke <fzielcke@z-51.de>
23885
23886 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
23887 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 23888 genmoddep.awk, gensymlist.sh.in.
23889 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 23890 * DISTLIST: Regenerated.
48cdbfd4 23891 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 23892
1082b929 238932008-08-16 Robert Millan <rmh@aybabtu.com>
23894
23895 * disk/raid.c (grub_raid_init): Handle/report errors set by
23896 grub_device_iterate().
23897 * disk/lvm.c (grub_lvm_init): Likewise.
23898
42ce5170 238992008-08-15 Bean <bean123ch@gmail.com>
23900
23901 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23902 and datehook.mod.
23903 (datetime_mod_SOURCES): New macro.
23904 (datetime_mod_CFLAGS): Likewise.
23905 (datetime_mod_LDFLAGS): Likewise.
23906 (date_mod_SOURCES): Likewise.
23907 (date_mod_CFLAGS): Likewise.
23908 (date_mod_LDFLAGS): Likewise.
23909 (datehook_mod_SOURCES): Likewise.
23910 (datehook_mod_CFLAGS): Likewise.
23911 (datehook_mod_LDFLAGS): Likewise.
23912
23913 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23914 and datehook.mod.
23915 (datetime_mod_SOURCES): New macro.
23916 (datetime_mod_CFLAGS): Likewise.
23917 (datetime_mod_LDFLAGS): Likewise.
23918 (date_mod_SOURCES): Likewise.
23919 (date_mod_CFLAGS): Likewise.
23920 (date_mod_LDFLAGS): Likewise.
23921 (datehook_mod_SOURCES): Likewise.
23922 (datehook_mod_CFLAGS): Likewise.
23923 (datehook_mod_LDFLAGS): Likewise.
23924
23925 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23926 and datehook.mod.
23927 (datetime_mod_SOURCES): New macro.
23928 (datetime_mod_CFLAGS): Likewise.
23929 (datetime_mod_LDFLAGS): Likewise.
23930 (date_mod_SOURCES): Likewise.
23931 (date_mod_CFLAGS): Likewise.
23932 (date_mod_LDFLAGS): Likewise.
23933 (datehook_mod_SOURCES): Likewise.
23934 (datehook_mod_CFLAGS): Likewise.
23935 (datehook_mod_LDFLAGS): Likewise.
23936
23937 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23938 and datehook.mod.
23939 (datetime_mod_SOURCES): New macro.
23940 (datetime_mod_CFLAGS): Likewise.
23941 (datetime_mod_LDFLAGS): Likewise.
23942 (date_mod_SOURCES): Likewise.
23943 (date_mod_CFLAGS): Likewise.
23944 (date_mod_LDFLAGS): Likewise.
23945 (datehook_mod_SOURCES): Likewise.
23946 (datehook_mod_CFLAGS): Likewise.
23947 (datehook_mod_LDFLAGS): Likewise.
23948
23949 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
23950 and datehook.mod.
23951 (datetime_mod_SOURCES): New macro.
23952 (datetime_mod_CFLAGS): Likewise.
23953 (datetime_mod_LDFLAGS): Likewise.
23954 (date_mod_SOURCES): Likewise.
23955 (date_mod_CFLAGS): Likewise.
23956 (date_mod_LDFLAGS): Likewise.
23957 (datehook_mod_SOURCES): Likewise.
23958 (datehook_mod_CFLAGS): Likewise.
23959 (datehook_mod_LDFLAGS): Likewise.
23960
23961 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
23962
23963 * commands/date.c: New file.
23964
23965 * hook/datehook.c: Likewise.
23966
23967 * include/grub/lib/datetime.h: Likewise.
23968
23969 * include/grub/i386/cmos.h: Likewise.
23970
23971 * lib/datetime.c: Likewise.
23972
23973 * lib/i386/datetime.c: Likewise.
23974
23975 * lib/efi/datetime.c: Likewise.
23976
0e9242da 239772008-08-14 Robert Millan <rmh@aybabtu.com>
23978
23979 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
23980 (grub_mkelfimage_SOURCES): New variable.
23981 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
23982
23983 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
23984 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
23985 * conf/powerpc-ieee1275.rmk: Likewise.
23986 * conf/i386-ieee1275.rmk: Likewise.
23987
23988 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
23989 * kern/i386/coreboot/init.c: Likewise.
23990
23991 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
23992 with `<grub/cpu/kernel.h>'.
23993 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
23994 to ...
23995 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
23996 * kern/i386/coreboot/startup.S: Likewise.
23997
23998 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
23999 (GRUB_MOD_GAP): Remove.
24000 * include/grub/powerpc/kernel.h: New file.
24001 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
24002 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
24003 * include/grub/i386/kernel.h: New file.
24004 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
24005 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
24006 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
24007
24008 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
24009 `grub-mkelfimage'.
24010 Use --directory when invoking grub_mkimage.
24011
24012 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
24013 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
24014 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
24015 and GRUB_KERNEL_CPU_PREFIX.
24016
b86408f8 240172008-08-14 Felix Zielcke <fzielcke@z-51.de>
24018
d5e619ca 24019 * include/grub/err.h (grub_err_printf): New function prototype.
24020 * util/misc.c (grub_err_printf): New function.
24021 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
24022 grub_printf.
24023 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 24024
7161f0e0 240252008-08-13 Robert Millan <rmh@aybabtu.com>
24026
24027 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
24028
a1967522 240292008-08-13 Robert Millan <rmh@aybabtu.com>
24030
24031 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
24032 boot entry.
24033
371458b5 240342008-08-12 Robert Millan <rmh@aybabtu.com>
24035
24036 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
24037 of the relocation code from here ...
24038 (grub_multiboot): ... to here.
24039 (forward_relocator, backward_relocator): Move from here ...
24040 * kern/i386/loader.S (grub_multiboot_forward_relocator)
24041 (grub_multiboot_backward_relocator): ... to here.
24042 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
24043 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
24044 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
24045 (grub_multiboot_forward_relocator_end)
24046 (grub_multiboot_backward_relocator)
24047 (grub_multiboot_backward_relocator_end): New variables.
24048
05f9452b 240492008-08-12 Bean <bean123ch@gmail.com>
24050
24051 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
24052
20024ab0 240532008-08-11 Robert Millan <rmh@aybabtu.com>
24054
24055 * kern/i386/linuxbios/startup.S: Move from here ...
24056 * kern/i386/coreboot/startup.S: ... to here.
24057
24058 * kern/i386/linuxbios/init.c: Move from here ...
24059 * kern/i386/coreboot/init.c: ... to here.
24060
24061 * kern/i386/linuxbios/table.c: Move from here ...
24062 * kern/i386/coreboot/mmap.c: ... to here.
24063
24064 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
24065
e352e9cd 240662008-08-11 Robert Millan <rmh@aybabtu.com>
24067
24068 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
24069 errors. Leave it to the upper layer to handle them.
24070
2d05bc6a 240712008-08-09 Christian Franke <franke@computer.org>
24072
24073 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
24074 * conf/common.rmk: Install `grub-pe2elf' only if requested.
24075 Install `grub.d/10_windows' only on Cygwin.
24076 * configure.ac: Add subst of `target_os'.
24077 Check `target_os' also before setting TARGET_OBJ2ELF.
24078 Add `--enable-grub-pe2elf'.
24079
042bd419 240802008-08-08 Robert Millan <rmh@aybabtu.com>
24081
24082 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
24083 (grub_last_time): Change type to grub_uint64_t.
24084 (grub_disk_open): Migrate code from to using grub_get_time_ms().
24085 (grub_disk_close): Likewise.
24086
24087 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
24088 (run_menu): Migrate code from to using grub_get_time_ms().
24089
24090 * util/misc.c (grub_get_time_ms): New function.
24091
7f280db5 240922008-08-08 Marco Gerards <marco@gnu.org>
24093
24094 * disk/ata.c (grub_ata_regget): Change return type to
24095 `grub_uint8_t'.
24096 (grub_ata_regget2): Likewise.
24097 (grub_ata_wait_status): New function.
24098 (grub_ata_wait_busy): Removed function, updated all users to use
24099 `grub_ata_wait_status'.
24100 (grub_ata_wait_drq): Likewise.
24101 (grub_ata_cmd): New function.
24102 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
24103 error handling.
24104 (grub_ata_pio_write): Add error handling.
24105 (grub_atapi_identify): Likewise.
24106 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
24107 handling.
24108 (grub_ata_identify): Use `grub_ata_cmd' and improve error
24109 handling. Actually use the detected registers. Reorder the
24110 detection logic such that it is easier to read.
24111 (grub_ata_pciinit): Do not assign the same ID to each controller.
24112 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
24113 handling.
24114 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
24115
24116 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
24117
1fbc5e66 241182008-08-08 Marco Gerards <marco@gnu.org>
24119
24120 * NEWS: Update.
24121
819ce6c0 241222008-08-07 Bean <bean123ch@gmail.com>
24123
24124 * include/grub/x86_64/pci.h: New file.
24125
5c41d44d 241262008-08-07 Christian Franke <franke@computer.org>
24127
24128 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
24129 (TIMER2_GATE): Likewise.
24130 (grub_pit_wait): Add enable/disable of the timer2 gate
24131 bit of port 0x61. This fixes a possible infinite loop.
24132
5ebc275d 241332008-08-07 Bean <bean123ch@gmail.com>
24134
24135 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
24136 kern/i386/tsc.c and kern/i386/pit.c.
24137
24138 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
24139 x86_64 platform.
24140
24141 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
24142 <grub/i386/tsc.h>.
24143
24144 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
24145
e383b3d0 241462008-08-07 Bean <bean123ch@gmail.com>
24147
24148 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
24149
24150 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
24151
24152 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
24153 multiple inclusion. Add #include <grub/types.h>.
24154
1cbb58ac 241552008-08-06 Christian Franke <franke@computer.org>
24156
24157 * conf/common.rmk: Build and install `10_windows'.
24158 * util/grub.d/10_windows.in: New script.
24159
337f5a1e 241602008-08-06 Pavel Roskin <proski@gnu.org>
24161
24162 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
24163
057bc4ac 241642008-08-06 Robert Millan <rmh@aybabtu.com>
24165
24166 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
24167 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
24168
2b99f123 241692008-08-06 Bean <bean123ch@gmail.com>
24170
24171 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
24172 (grub_pxefs_fs_int): Remove dummy definition.
24173 (grub_pxefs_open): Use data->block_size to store the current block
24174 size setting.
24175 (grub_pxefs_read): Use block size stored in data->block_size. As the
24176 value of grub_pxe_blksize can be changed after the file is opened.
24177
9f0234cb 241782008-08-06 Bean <bean123ch@gmail.com>
24179
24180 * fs/i386/pc/pxe.c (curr_file): new variable.
24181 (grub_pxefs_open): Simply the handling of pxe file system. Don't
24182 require the dummy internal file system anymore.
24183 (grub_pxefs_read): Removed.
24184 (grub_pxefs_close): Likewise.
24185 (grub_pxefs_fs_int): Likewise.
24186 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
24187 connection when we switch file.
24188 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
24189
a55d42e0 241902008-08-06 Robert Millan <rmh@aybabtu.com>
24191
24192 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
24193 `halt.mod'.
24194 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
24195 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
24196
24197 * kern/i386/halt.c: New file.
24198 * kern/i386/reboot.c: Likewise.
24199 * include/grub/i386/reboot.h: Likewise.
24200 * include/grub/i386/halt.h: Likewise.
24201
24202 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
24203 Include `<grub/cpu/halt.h>'.
24204 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
24205 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
24206
24207 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
24208 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
24209 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
24210 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
24211 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
24212 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
24213 from here ...
24214 * include/grub/i386/at_keyboard.h: ... to here.
24215
24371d26 242162008-08-05 Robert Millan <rmh@aybabtu.com>
24217
24218 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
24219 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
24220 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
24221 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
24222 `kern/generic/millisleep.c'.
24223
24224 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
24225 instead of grub_get_rtc().
24226 (grub_tsc_init): Initialize `tsc_boot_time'.
24227
24228 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
24229 (grub_machine_init): Use grub_tsc_init() rather than
24230 installing an RTC-based handler via grub_install_get_time_ms().
24231
24232 * kern/i386/pit.c: New file.
24233 * include/grub/i386/pit.h: Likewise.
24234
9e7007b3 242352008-08-05 Bean <bean123ch@gmail.com>
24236
24237 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
24238
24239 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
24240 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
24241 (pxe_mod_SOURCES): New macro.
24242 (pxe_mod_CFLAGS): Likewise.
24243 (pxe_mod_LDFLAGS): Likewise.
24244 (pxecmd_mod_SOURCES): Likewise.
24245 (pxecmd_mod_CFLAGS): Likewise.
24246 (pxecmd_mod_LDFLAGS): Likewise.
24247
24248 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
24249 (grub_pxe_call): Likewise.
24250
24251 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
24252
24253 * commands/i386/pc/pxecmd.c: New file.
24254
9f0234cb 24255 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 24256
24257 * include/grub/i386/pc/pxe.h: Likewise.
24258
6977d49f 242592008-08-05 Bean <bean123ch@gmail.com>
24260
24261 * util/console.c (grub_console_cur_color): New variable.
24262 (grub_console_standard_color): Likewise.
24263 (grub_console_normal_color): Likewise.
24264 (grub_console_highlight_color): Likewise.
24265 (color_map): Likewise.
24266 (use_color): Likewise.
24267 (NUM_COLORS): New macro.
24268 (grub_ncurses_setcolorstate): Handle color properly.
24269 (grub_ncurses_setcolor): Don't change color here, just remember the
24270 settings, color will be set in grub_ncurses_setcolorstate.
24271 (grub_ncurses_getcolor): New function.
24272 (grub_ncurses_init): Initialize color pairs.
24273 (grub_ncurses_term): New member grub_ncurses_getcolor.
24274
9c2ff3ee 242752008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 24276
9c2ff3ee 24277 High resolution timer support. Implemented for x86 CPUs using TSC.
24278 Extracted generic grub_millisleep() so it's linked in only as needed.
24279 This requires a Pentium compatible CPU; if the RDTSC instruction is
24280 not supported, then it falls back on the generic grub_get_time_ms()
24281 implementation that uses the machine's RTC.
24282
24283 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
24284 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
24285 `kern/generic/millisleep.c'.
24286
24287 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
24288 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
24289
24290 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
24291 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
24292
24293 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24294
24295 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24296 `kern/generic/millisleep.c'.
24297
24298 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24299
24300 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
24301
24302 * kern/generic/rtc_get_time_ms.c: New file.
24303
24304 * kern/generic/millisleep.c: New file.
337f5a1e 24305
9c2ff3ee 24306 * kern/misc.c: Don't include
24307 <kern/time.h> anymore.
24308 (grub_millisleep_generic): Removed.
24309
24310 * commands/sleep.c (grub_interruptible_millisleep): Uses
24311 grub_get_time_ms() instead of grub_get_rtc().
24312
24313 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
24314 function.
24315 (grub_cpu_is_cpuid_supported): New inline function.
24316 (grub_cpu_is_tsc_supported): New inline function.
24317 (grub_tsc_init): New function prototype.
24318 (grub_tsc_get_time_ms): New function prototype.
24319
24320 * kern/i386/tsc.c (grub_get_time_ms): New file.
24321
24322 * include/grub/time.h: Include <grub/types.h.
24323 (grub_millisleep_generic): Removed.
24324 (grub_get_time_ms): New prototype.
24325 (grub_install_get_time_ms): New prototype.
24326 (grub_rtc_get_time_ms): New prototype.
24327
24328 * kern/time.c (grub_get_time_ms): New function.
24329 (grub_install_get_time_ms): New function.
24330
24331 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
24332 <grub/time.h> anymore.
24333 (grub_millisleep): Removed.
24334 (grub_machine_init): Call grub_tsc_init.
24335
24336 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
24337 get_time_ms() implementation.
24338
24339 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
24340 (ieee1275_get_time_ms): New function.
24341 (grub_machine_init): Install get_time_ms() implementation.
24342
24343 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
24344 (grub_machine_init): Call grub_tsc_init().
24345 (grub_millisleep): Removed.
bf06a93f 24346
9c2ff3ee 24347 * kern/ieee1275/init.c (grub_millisleep): Removed.
24348 (grub_machine_init): Install ieee1275_get_time_ms()
24349 implementation.
24350 (ieee1275_get_time_ms): New function.
24351 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
24352 real work.
24353
9ec92aaf 243542008-08-05 Marco Gerards <marco@gnu.org>
24355
24356 * disk/ata.c: Include <grub/pci.h>.
24357 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
24358 (grub_ata_initialize): Rewritten.
24359 (grub_ata_device_initialize): New function.
24360
8d23f507 243612008-08-04 Pavel Roskin <proski@gnu.org>
24362
24363 * kern/main.c: Include grub/mm.h.
24364
5e15ee3d 243652008-08-04 Robert Millan <rmh@aybabtu.com>
24366
24367 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
24368 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
24369 corruption problem).
24370
a9053f8f 243712008-08-04 Robert Millan <rmh@aybabtu.com>
24372
24373 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
24374 warnings introduced in my last commit.
24375
dd19c7d7 243762008-08-03 Robert Millan <rmh@aybabtu.com>
24377
24378 Make PCI available on all i386 architectures.
24379
24380 * include/grub/i386/pc/pci.h: Move from here ...
24381 * include/grub/i386/pci.h: ... to here.
24382
24383 * include/grub/i386/pc/pci.h: Remove.
24384 * include/grub/i386/efi/pci.h: Remove.
24385 * include/grub/x86_64/efi/pci.h: Remove.
24386
24387 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
24388 `<grub/cpu/pci.h>'.
24389
24390 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
24391 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
24392 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
24393
24394 * conf/i386-ieee1275.rmk: Likewise.
24395
e14a6184 243962008-08-03 Robert Millan <rmh@aybabtu.com>
24397
24398 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
24399 (grub_console_setcursor): Make it possible to set cursor off.
24400
52768e37 244012008-08-03 Robert Millan <rmh@aybabtu.com>
24402
24403 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
24404 of modules instead of assuming which platform provides what.
24405 * util/update-grub.in: Likewise.
24406
2d52f57f 244072008-08-03 Robert Millan <rmh@aybabtu.com>
24408
24409 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
24410 instead of `grub_install_dos_part' to determine whether a drive needs
24411 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 24412 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 24413
2a5cd121 244142008-08-02 Robert Millan <rmh@aybabtu.com>
24415
24416 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
24417
93808428 244182008-08-02 Robert Millan <rmh@aybabtu.com>
24419
24420 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
24421 of informational grub_dprintf() calls.
24422
3bd0a12a 244232008-08-02 Robert Millan <rmh@aybabtu.com>
24424
24425 * disk/memdisk.c (memdisk_size): Don't initialize.
24426 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
24427
24428 * include/grub/i386/pc/kernel.h
24429 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
24430 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
24431 (grub_memdisk_image_size, grub_arch_memdisk_addr)
24432 (grub_arch_memdisk_size): Remove.
24433
24434 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
24435 field (was only used to transfer a constant). Add `type' field to
24436 support multiple module types.
24437 (grub_module_iterate): New function.
24438
24439 * kern/device.c (grub_device_open): Do not hide error messages
24440 when grub_disk_open() fails. Use grub_print_error() instead.
24441
24442 * kern/i386/pc/init.c (grub_arch_modules_addr)
24443 (grub_arch_memdisk_size): Remove functions.
24444 (grub_arch_modules_addr): Return the module address in high memory
24445 (now that it isn't copied anymore).
24446
24447 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
24448 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
24449 decompression routine (grub_total_module_size already includes that
24450 now). Don't copy modules back to low memory.
24451
24452 * kern/main.c: Include `<grub/mm.h>'.
24453 (grub_load_modules): Split out (and use) ...
24454 (grub_module_iterate): ... this function, which iterates through
24455 module objects and runs a hook.
24456 Comment out grub_mm_init_region() call, as it would cause non-ELF
24457 modules to be overwritten.
24458
24459 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
24460 the memdisk image in its own region, make it part of the module list.
24461 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
24462 (main): Parse --memdisk|-m option, and pass user-provided path as
24463 parameter to generate_image().
24464 (add_segments): Pass `memdisk_path' down to load_modules().
24465 (load_modules): Embed memdisk image in module section when requested.
24466 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
24467 `header.type' instead of `header.offset'.
24468
24469 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
24470 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
24471 (memdisk_mod_LDFLAGS): New variables.
24472 * conf/i386-coreboot.rmk: Likewise.
24473 * conf/i386-ieee1275.rmk: Likewise.
24474
a927cc73 244752008-08-02 Robert Millan <rmh@aybabtu.com>
24476
24477 * loader/i386/pc/multiboot.c (playground, forward_relocator)
24478 (backward_relocator): New variables. Used to allocate and relocate
24479 the payload, respectively.
24480 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 24481 address, install the appropriate relocator code in each bound of
a927cc73 24482 the payload, and set the entry point such that
24483 grub_multiboot_real_boot() will jump to one of them.
24484
24485 * kern/i386/loader.S (grub_multiboot_payload_size)
24486 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
24487 (grub_multiboot_payload_entry_offset): New variables.
24488 (grub_multiboot_real_boot): Set cpu context to what the relocator
24489 expects, and jump to the relocator instead of the payload.
24490
24491 * include/grub/i386/loader.h (grub_multiboot_payload_size)
24492 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
24493 (grub_multiboot_payload_entry_offset): Export.
24494
b15d8a0c 244952008-08-01 Bean <bean123ch@gmail.com>
24496
24497 * normal/menu_entry.c (editor_getline): Don't return the original
24498 string as result, as it will be released by lexer once it has done
24499 using it.
24500
cdfb3d22 245012008-08-01 Robert Millan <rmh@aybabtu.com>
24502
24503 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
24504 within menuentries, not before them.
24505 util/grub.d/10_hurd.in: Likewise.
24506
9175e93d 245072008-08-01 Bean <bean123ch@gmail.com>
24508
24509 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
24510 (bufio_mod_SOURCES): New macro.
24511 (bufio_mod_CFLAGS): Likewise.
24512 (bufio_mod_LDFLAGS): Likewise.
24513
24514 * include/grub/bufio.h: New file.
24515
24516 * io/bufio.c: Likewise.
24517
24518 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
24519 (grub_video_reader_png): Use grub_buffile_open to open file.
24520
24521 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
24522 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
24523
24524 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
24525 (grub_video_reader_tga): Use grub_buffile_open to open file.
24526
24527 * font/manager.c: Include <grub/bufio.h>.
24528 (add_font): Use grub_buffile_open to open file.
24529
3d8383e7 245302008-07-31 Robert Millan <rmh@aybabtu.com>
24531
24532 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
24533 ELF segments, use a macro for arbitrarily accessing any of them instead
24534 of preparing a pointer that allows access to one at a time.
24535 (grub_multiboot_load_elf64): Likewise.
24536
16e641b6 245372008-07-31 Bean <bean123ch@gmail.com>
24538
24539 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
24540 GRUB_KERNEL_MACHINE_DATA_END.
24541
59198b72 245422008-07-30 Robert Millan <rmh@aybabtu.com>
24543
24544 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
24545 Increase from 0x50 to 0x60.
24546 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
24547 use UUIDs to identify the root drive for them. If that's not
24548 possible, abort.
24549 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
24550 check, for cross-disk installs.
24551
ae88bca3 245522008-07-30 Robert Millan <rmh@aybabtu.com>
24553
24554 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
24555 is non-empty, use it to set the `prefix' environment variable instead
24556 of the usual approach.
24557 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
24558 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
24559 environment variable instead of dummy make_install_device().
24560
24561 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
24562 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 24563 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 24564
24565 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
24566 New variable reference.
24567 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
24568 New macro. Defines offset of `grub_prefix' within startup.S (relative
24569 to `start').
24570 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
24571 section within startup.S (relative to `start').
24572 * include/grub/i386/coreboot/kernel.h: Likewise.
24573
24574 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
24575 Overwrite grub_prefix with its contents, at the beginning of the
24576 first segment.
24577 (main): Understand -p|--prefix.
24578
14f41dd1 245792008-07-30 Robert Millan <rmh@aybabtu.com>
24580
24581 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
24582
4ca049a3 245832008-07-30 Robert Millan <rmh@aybabtu.com>
24584
24585 * term/i386/pc/vga_text.c (grub_console_cls): Use
24586 grub_console_gotoxy() to go back to beginning of the screen.
24587 Found by Patrick Georgi <patrick.georgi@coresystems.de>
24588
2921d337 245892008-07-29 Christian Franke <franke@computer.org>
24590
24591 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24592 Add conversion of emulated mount points on Cygwin.
24593
b609876d 245942008-07-29 Christian Franke <franke@computer.org>
24595
24596 * util/update-grub.in: Add a check for admin
24597 group on Cygwin.
24598 Remove old `grub.cfg.new' before creation.
24599 Add `-f' to `mv' to handle the different filesystem
24600 semantics of Windows.
24601
e93e4679 246022008-07-29 Bean <bean123ch@gmail.com>
24603
24604 * normal/main.c (get_line): Fix buffer overflow bug.
24605
41694fd0 246062008-07-28 Robert Millan <rmh@aybabtu.com>
24607
24608 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
24609 (struct grub_apple_header): New struct. Describes the layout of
24610 the partmap header.
24611 (apple_partition_map_iterate): Check the header magic as well as the
24612 partition magic (which was already being checked).
24613
cfd0b4e6 246142008-07-28 Pavel Roskin <proski@gnu.org>
24615
24616 * genmk.rb: Add a warning to the beginning of the output that
24617 it's a generated file and should not be edited.
24618
93cce016 246192008-07-28 Robert Millan <rmh@aybabtu.com>
24620
24621 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
24622 with the same number are found, just use issue a warning with
24623 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 24624
cd1df915 246252008-07-27 Robert Millan <rmh@aybabtu.com>
24626
24627 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
24628 information.
24629
b70a8427 246302008-07-27 Bean <bean123ch@gmail.com>
24631
24632 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
24633 (grub_fat_find_dir): Ignore case when comparing filename.
24634
8f5e379f 246352008-07-27 Bean <bean123ch@gmail.com>
24636
24637 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
24638 smallino, as it's more descriptive, and i8count can be confused with
24639 the other field count.
24640 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
24641 inode type.
24642
a85cd5a0 246432008-07-27 Bean <bean123ch@gmail.com>
24644
24645 * commands/crc.c: New file.
24646
24647 * lib/crc.c: Likewise.
24648
24649 * include/grub/lib/crc.h: Likewise.
24650
24651 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
24652
24653 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
24654 (hexdump): Move this function to ...
24655
24656 * lib/hexdump.c: ... here.
24657
24658 * include/grub/hexdump.h: Renamed to ...
24659
24660 * include/grub/lib/hexdump.h: ... this.
24661
24662 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
24663
24664 * util/grub-editenv.c: Likewise.
24665
24666 * include/envblk.h: Renamed to ...
24667
24668 * include/lib/envblk.h: ... this.
24669
24670 * util/envblk.c: Renamed to ...
24671
24672 * lib/envblk.c: ... this.
24673
24674 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
24675 lib/hexdump.c.
24676 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
24677 (pkglib_MODULES): Add crc.mod.
24678 (hexdump_mod_SOURCES): Add lib/hexdump.c.
24679 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
24680 (crc_mod_SOURCES): New macro.
24681 (crc_mod_CFLAGS): Likewise.
24682 (crc_mod_LDFLAGS): Likewise.
24683
24684 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
24685
24686 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24687
24688 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24689
24690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24691
24692 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24693
c298def0 246942008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 24695
24696 * commands/help.c: Include <grub/term.h>.
24697 (TERM_WIDTH): Removed. Updated all users.
24698
cc349fb3 246992008-07-27 Pavel Roskin <proski@gnu.org>
24700
24701 * util/getroot.c (find_root_device): Rephrase a comment to avoid
24702 spurious warnings about a comment within a comment.
24703
9051607e 247042008-07-25 Robert Millan <rmh@aybabtu.com>
24705
24706 * util/getroot.c (find_root_device): Skip devices that match
24707 /dev/dm-[0-9]. This lets the real device be found for any type of
24708 abstraction (LVM, EVMS, RAID..).
24709 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
24710 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
24711 device is found first, find_root_device() will now skip it.
24712
01453bfc 247132008-07-24 Pavel Roskin <proski@gnu.org>
24714
24715 * include/grub/types.h: Use __builtin_bswap32() and
24716 __builtin_bswap64() with gcc 4.3 and newer.
24717
6af9849f 247182008-07-24 Christian Franke <franke@computer.org>
24719
3a0fa256 24720 * util/i386/pc/grub-install.in: If `--debug' is specified,
24721 pass `--verbose' to grub-setup.
24722 Abort script if make_system_path_relative_to_its_root() fails.
24723
7810e747 247242008-07-24 Bean <bean123ch@gmail.com>
24725
24726 * configure.ac: Fixed a bug caused by the previous cygwin patch,
24727 variable `target_platform' should be `platform'.
24728
42290e17 247292008-07-24 Bean <bean123ch@gmail.com>
24730
51cc5193 24731 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 24732 (grub_png_init_fixed_block): New function.
24733 (grub_png_decode_image_data): Handle fixed huffman code compression.
24734
2a8a80e4 247352008-07-24 Bean <bean123ch@gmail.com>
24736
24737 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
24738 (grub_pe2elf_SOURCES): New macro.
24739 (CLEANFILES): Add grub-pe2elf.
24740
24741 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
24742 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
24743 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
24744 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
24745 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
24746 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
24747 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
24748 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
24749 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
24750 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
24751 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
24752 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
24753 (GRUB_PE32_DT_FUNCTION): Likewise.
24754 (GRUB_PE32_REL_I386_DIR32): Likewise.
24755 (GRUB_PE32_REL_I386_REL32): Likewise.
24756 (grub_pe32_symbol): New structure.
24757 (grub_pe32_reloc): Likewise.
24758
24759 * util/grub-pe2elf.c: New file.
24760
24761 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
24762 start symbol in non pc platform.
24763
24764 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
24765
24766 The following patches are from Christian Franke.
24767
24768 * include/grub/dl.h: Remove .previous, gas supports this only
24769 for ELF format.
24770
24771 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
24772 Remove .type, gas supports this only for ELF format.
24773
24774 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
24775 nullbytes in symbol table. This fixes an infinite loop if table is
24776 zero filled.
24777
24778 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
24779 TARGET_IMG_LDFLAGS and EXEEXT.
24780
24781 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
24782 TARGET_IMG_LDFLAGS_AC.
24783 (grub_CHECK_STACK_ARG_PROBE): New function.
24784
24785 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
24786
24787 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
24788
24789 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
24790 to set TARGET_IMG_LD* accordingly.
24791 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
24792 Add call to grub_CHECK_STACK_ARG_PROBE.
24793 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
24794
24795 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
24796
24797 * genmk.rb: Add EXEEXT to CLEANFILES.
24798
12ccdb75 247992008-07-23 Robert Millan <rmh@aybabtu.com>
24800
24801 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
24802 define the codes for arrows and lines used for the menu).
24803 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
24804 as well.
24805
24806 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
24807 fonts, because the latter are too slow.
24808
18eeaf04 248092008-07-21 Bean <bean123ch@gmail.com>
24810
24811 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
24812 a20. Run keyboard test last, as it will cause macbook to halt.
24813
b095e2ad 248142008-07-18 Pavel Roskin <proski@gnu.org>
24815
24816 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
24817 load foreign architecture modules correctly anyway. Keep
24818 support for loading host architecture modules, whether we
24819 compile them or not.
24820
737feb35 248212008-07-17 Pavel Roskin <proski@gnu.org>
24822
3f4ce737 24823 * configure.ac: Use -m32 or -m64 regardless of whether we had to
24824 change target_cpu. The compiler default can mismatch target_cpu
24825 in any case.
24826
4ad2d049 24827 * disk/efi/efidisk.c: Fix format warnings on x86_64.
24828 * kern/efi/efi.c: Likewise.
24829
f6130a12 24830 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
24831 target compiler is functional.
24832 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
24833 are set up.
24834
58393a2d 24835 * configure.ac: Default to efi platform for x86_64-apple. Allow
24836 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
24837 adjustments from the rest, only do them if target is not
24838 explicitly given. Merge other adjustments with the final sanity
24839 check. Remove an extraneous check for supported CPU. Be
24840 specific which CPU and which platform is not supported.
24841
737feb35 24842 * configure.ac: Default to pc platform for x86_64.
24843
546f966a 248442008-07-17 Robert Millan <rmh@aybabtu.com>
24845
24846 Partial LinuxBIOS -> Coreboot rename.
24847
24848 * conf/i386-linuxbios.rmk: Renamed to ...
24849 * conf/i386-coreboot.rmk: ... this.
24850 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
24851 * configure.ac: Accept "coreboot" as input platform (but maintain
24852 compatibility with "linuxbios").
24853 * include/grub/i386/linuxbios: Renamed to ...
24854 * include/grub/i386/coreboot: ... this.
24855
20011694 248562008-07-17 Bean <bean123ch@gmail.com>
24857
24858 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 24859 (appleldr_mod_SOURCE): New variable.
20011694 24860 (appleldr_mod_CFLAGS): Likewise.
24861 (appleldr_mod_LDFLAGS): Likewise.
24862 (pci_mod_SOURCES): Likewise.
24863 (pci_mod_CFLAGS): Likewise.
24864 (pci_mod_LDFLAGS): Likewise.
24865 (lspci_mod_SOURCES): Likewise.
24866 (lspci_mod_CFLAGS): Likewise.
24867 (lspci_mod_LDFLAGS): Likewise.
24868
24869 * conf/x86_64-efi.rmk: New file.
24870
24871 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
24872 macro.
24873 (grub_efidisk_write): Likewise.
24874
24875 * include/efi/api.h (efi_call_0): New macro.
24876 (efi_call_1): Likewise.
24877 (efi_call_2): Likewise.
24878 (efi_call_3): Likewise.
24879 (efi_call_4): Likewise.
24880 (efi_call_5): Likewise.
24881 (efi_call_6): Likewise.
24882
24883 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
24884 grub_rescue_cmd_chainloader.
24885
24886 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
24887 (grub_pe32_optional_header): Change some fields based on i386 or
24888 x86_64 platform.
24889 (GRUB_PE32_PE32_MAGIC): Likewise.
24890
24891 * include/grub/efi/uga_draw.h: New file.
24892
24893 * include/grub/elf.h (STN_ABS): New constant.
24894 (R_X86_64_NONE): Relocation constant for x86_64.
24895 (R_X86_64_64): Likewise.
24896 (R_X86_64_PC32): Likewise.
24897 (R_X86_64_GOT32): Likewise.
24898 (R_X86_64_PLT32): Likewise.
24899 (R_X86_64_COPY): Likewise.
24900 (R_X86_64_GLOB_DAT): Likewise.
24901 (R_X86_64_JUMP_SLOT): Likewise.
24902 (R_X86_64_RELATIVE): Likewise.
24903 (R_X86_64_GOTPCREL): Likewise.
24904 (R_X86_64_32): Likewise.
24905 (R_X86_64_32S): Likewise.
24906 (R_X86_64_16): Likewise.
24907 (R_X86_64_PC16): Likewise.
24908 (R_X86_64_8): Likewise.
24909 (R_X86_64_PC8): Likewise.
24910
24911 * include/grub/i386/efi/pci.h: New file.
24912
24913 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
24914 Change it value based on platform.
24915 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
24916 (GRUB_E820_RAM): Likewise.
24917 (GRUB_E820_RESERVED): Likewise.
24918 (GRUB_E820_ACPI): Likewise.
24919 (GRUB_E820_NVS): Likewise.
24920 (GRUB_E820_EXEC_CODE): Likewise.
24921 (GRUB_E820_MAX_ENTRY): Likewise.
24922 (grub_e820_mmap): New structure.
24923 (linux_kernel_header): Change the efi field according to different
24924 kernel version, also field from linux_kernel_header.
24925
24926 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
24927
24928 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
24929 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
24930 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
24931 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
24932 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
24933 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
24934 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
24935 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
24936 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
24937 (GRUB_PCI_ADDR_IO_MASK): Likewise.
24938
24939 * include/grub/x86_64/efi/kernel.h: New file.
24940
24941 * include/grub/x86_64/efi/loader.h: Likewise.
24942
24943 * include/grub/x86_64/efi/machine.h: Likewise.
24944
24945 * include/grub/x86_64/efi/pci.h: Likewise.
24946
24947 * include/grub/x86_64/efi/time.h: Likewise.
24948
24949 * include/grub/x86_64/linux.h: Likewise.
24950
24951 * include/grub/x86_64/setjmp.h: Likewise.
24952
24953 * include/grub/x86_64/time.h: Likewise.
24954
24955 * include/grub/x86_64/types.h: Likewise.
24956
24957 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
24958 GRUB_TARGET_SIZEOF_VOID_P.
24959
24960 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
24961 (grub_efi_locate_handle): Likewise.
24962 (grub_efi_open_protocol): Likewise.
24963 (grub_efi_set_text_mode): Likewise.
24964 (grub_efi_stall): Likewise.
24965 (grub_exit): Likewise.
24966 (grub_reboot): Likewise.
24967 (grub_halt): Likewise.
24968 (grub_efi_exit_boot_services): Likewise.
24969 (grub_get_rtc): Likewise.
24970
24971 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
24972 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
24973 (grub_efi_allocate_pages): Wrap efi calls.
24974 (grub_efi_free_pages): Wrap efi calls.
24975 (grub_efi_get_memory_map): Wrap efi calls.
24976
24977 * kern/x86_64/dl.c: New file.
24978
24979 * kern/x86_64/efi/callwrap.S: Likewise.
24980
24981 * kern/x86_64/efi/startup.S: Likewise.
24982
24983 * loader/efi/appleloader.c: Likewise.
24984
24985 * loader/efi/chainloader.c (cmdline): New variable.
24986 (grub_chainloader_unload): Wrap efi calls.
24987 (grub_chainloader_boot): Likewise.
24988 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
24989 command line.
24990
24991 * loader/efi/chainloader_normal.c (chainloader_command):
24992 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
24993 command line.
24994
24995 * loader/i386/efi/linux.c (allocate_pages): Change allocation
24996 method.
24997 (grub_e820_add_region): New function.
24998 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
24999 booting.
25000 (grub_find_video_card): New function.
25001 (grub_linux_setup_video): New function.
25002 (grub_rescue_cmd_linux): Probe for video information.
25003
25004 * normal/x86_64/setjmp.S: New file.
25005
25006 * term/efi/console.c (map_char): New function.
25007 (grub_console_putchar): Map unicode char.
25008 (grub_console_checkkey): Wrap efi calls.
25009 (grub_console_getkey): Likewise.
25010 (grub_console_getwh): Likewise.
25011 (grub_console_gotoxy): Likewise.
25012 (grub_console_cls): Likewise.
25013 (grub_console_setcolorstate): Likewise.
25014 (grub_console_setcursor): Likewise.
25015
25016 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
25017
59652a20 250182008-07-16 Pavel Roskin <proski@gnu.org>
25019
ef294055 25020 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
25021 format strings.
25022
59652a20 25023 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
25024 pointer, not an integer. This fixes a warning and prevents
25025 precision loss on 64-bit systems.
25026 (relocate_addresses): Remove unneeded cast.
25027
afc3b5d7 250282008-07-15 Pavel Roskin <proski@gnu.org>
25029
506b2b3e 25030 * kern/i386/ieee1275/init.c: Include grub/cache.h.
25031
62ead89c 25032 * term/ieee1275/ofconsole.c: Disable code unused on i386.
25033
c4cd51d7 25034 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
25035 Fix comparison between signed and unsigned.
25036
0d3d8f28 25037 * include/grub/i386/ieee1275/console.h: Declare
25038 grub_console_init() and grub_console_fini().
25039
8804b286 25040 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
25041 It's empty and unused.
25042
ee01cf35 25043 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
25044 beginning to avoid warnings with some compilers.
25045
afc3b5d7 25046 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
25047 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
25048
e4e8eaa5 250492008-07-14 Pavel Roskin <proski@gnu.org>
25050
407aceb4 25051 * kern/env.c (grub_register_variable_hook): Don't copy empty
25052 string, it leaks memory. Pass "" to grub_env_set(), it should
25053 handle constant strings.
25054
e4e8eaa5 25055 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
25056 * commands/cmp.c (grub_cmd_cmp): Likewise.
25057 * kern/dl.c (grub_dl_flush_cache): Likewise.
25058 (grub_dl_load_core): Likewise.
25059 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
25060 (grub_elf64_load_phdrs): Likewise.
25061
d4e2dad3 250622008-07-13 Pavel Roskin <proski@gnu.org>
25063
25064 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
25065 between signed and unsigned.
25066 (LzmaEnc_Finish): Fix warning about an unused parameter.
25067
aa24b516 250682008-07-13 Bean <bean123ch@gmail.com>
25069
25070 * Makefile.in (enable_lzo): New rule.
25071
25072 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
25073
25074 * configure.ac (ENABLE_LZO): New option --enable-lzo.
25075
25076 * boot/i386/pc/lnxboot.S: #include <config.h>.
25077
25078 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 25079 its value according to the compression algorithm used, lzo or lzma.
aa24b516 25080
25081 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
25082 compression algorithm according to configure macro.
25083
25084 * kern/i386/pc/startup.S (codestart): Likewise.
25085
25086 * kern/i386/pc/lzma_decode.S: New file.
25087
25088 * include/grub/lib/LzFind.h: Likewise.
25089
25090 * include/grub/lib/LzHash.h: Likewise.
25091
25092 * include/grub/lib/LzmaDec.h: Likewise.
25093
25094 * include/grub/lib/LzmaEnc.h: Likewise.
25095
25096 * include/grub/lib/LzmaTypes.h: Likewise.
25097
25098 * lib/LzFind.c: Likewise.
25099
25100 * lib/LzmaDec.c: Likewise.
25101
25102 * lib/LzmaEnc.c: Likewise.
25103
4ae821ac 251042008-07-13 Bean <bean123ch@gmail.com>
25105
25106 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
25107 (grub_ext4_extent_header): New structure.
25108 (grub_ext4_extent): Likewise.
25109 (grub_ext4_extent_idx): Likewise.
25110 (grub_ext4_find_leaf): New function.
25111 (grub_ext2_read_block): Handle extents.
25112
9a745147 251132008-07-12 Robert Millan <rmh@aybabtu.com>
25114
25115 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
25116
d49a4cf6 251172008-07-11 Robert Millan <rmh@aybabtu.com>
25118
25119 * util/grub.d/40_custom.in: New file. Example on how to add custom
25120 entries to /etc/grub.d.
25121 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
25122 40_custom (implicitly, by merging all the grub.d rules).
25123
947414b4 251242008-07-11 Pavel Roskin <proski@gnu.org>
25125
0059cf6f 25126 * commands/read.c (grub_getline): Fix invalid memory access.
25127 Don't add newline to the variable value.
25128
947414b4 25129 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
25130 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
25131 (serial_hw_get_port): Check validity of the port number.
25132 (grub_cmd_serial): Check return value of serial_hw_get_port().
25133
62a02d00 251342008-07-07 Pavel Roskin <proski@gnu.org>
25135
25136 * boot/i386/pc/diskboot.S (notification_string): Replace
25137 "Loading kernel" with just "loading". This is shorter, less
25138 confusing and saves a few bytes for possible future changes.
25139
3e5581b0 251402008-07-05 Pavel Roskin <proski@gnu.org>
25141
ea387a48 25142 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
25143 size for ATAPI devices, they are undefined. Output sector
25144 number in decimal form.
25145
3e5581b0 25146 * disk/ata.c: Use named constants for status bits.
25147
fdecb8fd 251482008-07-04 Pavel Roskin <proski@gnu.org>
25149
bcd35b90 25150 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
25151 grub_addr_t before casting it to the void pointer to fix a
25152 warning. Non-addressable regions are discarded earlier.
25153 (grub_arch_modules_addr): Cast _end to grub_addr_t.
25154 * kern/i386/linuxbios/table.c: Include grub/misc.h.
25155 (check_signature): Don't shadow table_header.
25156 (grub_linuxbios_table_iterate): Cast numeric constants to
25157 grub_linuxbios_table_header_t.
25158 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
25159 grub_stop().
25160
af58ab3d 25161 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
25162 prevent warnings.
25163
1759aa57 25164 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
25165 pointer, which can cause warnings. Support 64-bit addresses.
25166
fdecb8fd 25167 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
25168 of sizeof(long). This fixes PowerPC image generation on x86_64.
25169
8516d2a8 251702008-07-04 Robert Millan <rmh@aybabtu.com>
25171
25172 This fixes a performance issue when pc & gpt partmap iterators
25173 didn't abort iteration even after our hook found what it was
fe987087 25174 looking for (often causing expensive probes of non-existent drives).
8516d2a8 25175
25176 Some callers relied on previous buggy behaviour, since they would
34c44600 25177 raise an error when their own hooks caused early abortion of its
8516d2a8 25178 iteration.
25179
25180 * kern/device.c (grub_device_open): Improve error message.
25181 * disk/lvm.c (grub_lvm_open): Likewise.
25182 * disk/raid.c (grub_raid_open): Likewise.
25183
25184 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
25185 when hook requests it, independently of grub_errno.
25186 (pc_partition_map_probe): Do not fail when find_func() caused
25187 early abortion of pc_partition_map_iterate().
25188
25189 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
25190 when hook requests it, independently of grub_errno.
25191 (gpt_partition_map_probe): Do not fail when find_func() caused
25192 early abortion of gpt_partition_map_iterate().
25193
25194 * kern/partition.c (grub_partition_iterate): Abort parent iteration
25195 when hook requests it, independently of grub_errno. Do not fail when
25196 part_map_iterate_hook() caused early abortion of p->iterate().
25197
25198 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
25199 when grub_partition_iterate() returned with non-zero.
25200
277d0de9 252012008-07-03 Pavel Roskin <proski@gnu.org>
25202
25203 * disk/ata.c (grub_ata_pio_write): Check status before writing,
25204 like we do in grub_ata_pio_read().
25205 (grub_ata_readwrite): Always write individual sectors. Fix the
25206 sector count for the remainder.
25207 (grub_ata_write): Enable writing to ATA devices. Correctly
25208 report error for ATAPI devices.
25209
d4c9b428 252102008-07-02 Pavel Roskin <proski@gnu.org>
25211
e43fc690 25212 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
25213 warning.
25214
f707af42 25215 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
25216 for every read sector, we already increment it for the whole
25217 batch. This fixes reading more than 256 sectors at once.
25218
11e16b15 25219 * util/grub-editenv.c (cmd_info): Cast argument to long
25220 explicitly. ptrdiff_t reduces to int on i386.
25221
cbabfdd4 25222 * util/grub-editenv.c (main): Be specific which parameter is
25223 missing.
25224
b8fbce0a 25225 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
25226 (memdisk): Make memdisk_orig_addr a pointer.
25227
c9c8e606 25228 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
25229 for file offsets, use grub_off_t instead. Fix printf format
25230 warnings.
25231
ca62e598 25232 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
25233 there. Real unexpected warnings should not drown in the noise
25234 about known problems.
25235
ce8d1766 25236 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
25237 grub_disk_addr_t for memory addresses.
25238
00c7a56a 25239 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
25240 explicitly to fix a warning.
25241
08d3ef09 25242 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
25243
cb71ba20 25244 * Makefile.in (MODULE_LDFLAGS): New variable.
25245 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
25246 the linker accepts --build-id=none.
25247 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
25248 MODULE_LDFLAGS.
25249 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
25250
d4c9b428 25251 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
25252 those in Linux XFS code. Provide a way to access 64-bit parent
25253 inode.
25254 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
25255 the end of struct grub_xfs_dir_header.
25256
d4156eee 252572008-07-02 Bean <bean123ch@gmail.com>
25258
25259 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
25260 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
25261 and GRUB_IEEE1275_FLAG_NO_ANSI.
25262
25263 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
25264 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
25265 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
25266
25267 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
25268 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
25269
25270 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
25271 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
25272
25273 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
25274 esc sequence on non ANSI terminal.
25275 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
25276
25277 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
25278 beginning of file.
25279
2270f77b 252802008-07-02 Bean <bean123ch@gmail.com>
25281
25282 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
25283 (grub_editenv_SOURCES): New variable.
25284 (pkglib_MODULES): Add loadenv.mod.
25285 (loadenv_mod_SOURCES): New variable.
25286 (loadenv_mod_CFLAGS): Likewise.
25287 (loadenv_mod_LDFLAGS): Likewise.
25288
25289 * include/grub/envblk.h: New file.
25290
25291 * util/envblk.c: New file.
25292
25293 * util/grub-editenv.c: New file.
25294
25295 * commands/loadenv.c: New file.
25296
0e9e51ec 252972008-07-01 Pavel Roskin <proski@gnu.org>
25298
d89b7634 25299 * include/multiboot2.h (struct multiboot_tag_module): Use char,
25300 not unsigned char. This fixes warnings and is consistent with
25301 other tags.
25302
bf1835b1 25303 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
25304
8222a04b 25305 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
25306
6a42d99d 25307 * term/tparm.c (analyze): Always set *popcount.
25308
10b159d1 25309 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
25310 cast to fix a warning.
25311
b8789f6c 25312 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
25313 cast to suppress a warning.
25314
29d7e38a 25315 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
25316 grub_fshelp_read_file() expects.
25317
f341f669 25318 * fs/fat.c: Fix UUID calculation on big-endian systems. We
25319 write uuid as a 32-bit value in CPU byte order, so declare and
25320 use it as such.
25321
0e9e51ec 25322 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
25323 long if the format specifier expects it.
25324 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
25325 * partmap/pc.c (pc_partition_map_iterate): Likewise.
25326 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
25327 long to fix a warning.
25328 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
25329 grub_dprintf() arguments to fix warnings.
25330
3aefa857 253312008-06-30 Pavel Roskin <proski@gnu.org>
25332
56c7668b 25333 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
25334 install_bsd_part immediately before core.img is embedded or
25335 modified on disk. This fixes core.img verification if core.img
25336 cannot be embedded.
25337
3aefa857 25338 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
25339 core_path to calculate the blocklist.
25340 Patch from Javier Martín <lordhabbit@gmail.com>
25341
5444088d 253422008-06-29 Robert Millan <rmh@aybabtu.com>
25343
25344 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
25345 block to disk block.
25346 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
25347 Patch from Niels Böhm <bitbucket@arcor.de>
25348
674835c8 253492008-06-29 Robert Millan <rmh@aybabtu.com>
25350
25351 * util/update-grub_lib.in (font_path): Search for fonts in
25352 /boot/grub first, which is more likely to be readable (we aren't
25353 deciding where fonts live, just looking for them).
25354
f527dbc8 253552008-06-26 Pavel Roskin <proski@gnu.org>
25356
6c2d8df6 25357 * util/biosdisk.c (read_device_map): Don't leave dead map
25358 entries for devices failing stat() check.
25359
f527dbc8 25360 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
25361 core_path_dev for the core.img path on the target device.
25362
aebe3d13 253632008-06-26 Robert Millan <rmh@aybabtu.com>
25364
25365 * disk/fs_uuid.c: New file.
25366 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
25367 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
25368 (fs_uuid_mod_LDFLAGS): New variables.
25369 * include/grub/disk.h (grub_disk_dev_id): Add
25370 `GRUB_DISK_DEVICE_UUID_ID'.
25371 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
25372 implement iterate().
25373
37aaf354 253742008-06-26 Robert Millan <rmh@aybabtu.com>
25375
25376 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
25377 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
25378 Linux image includes no initrd.
25379
25ff262a 253802008-06-21 Javier Martín <lordhabbit@gmail.com>
25381
25382 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
25383 call to resolve the core image location that effectively appended the
25384 name twice.
25385
76a2bd44 253862008-06-21 Robert Millan <rmh@aybabtu.com>
25387
25388 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
25389 call from here ...
25390
25391 * util/grub.d/10_hurd.in: ... to here ...
25392 * util/grub.d/10_linux.in: ... and here.
25393
650e1c79 253942008-06-19 Robert Millan <rmh@aybabtu.com>
25395
fe987087 25396 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 25397 after it has been set by grub_machine_set_prefix().
25398
6ce63911 253992008-06-19 Robert Millan <rmh@aybabtu.com>
25400
25401 * commands/search.c (search_label, search_fs_uuid, search_file): Print
25402 search result when not saving to variable, not the other way around.
25403 When saving to variable, abort iteration as soon as a match is found.
25404
73940cec 254052008-06-19 Robert Millan <rmh@aybabtu.com>
25406
25407 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
25408 check for partition that provides /boot/grub. Its logic is flawed,
25409 as it prevents prepare_grub_to_access_device() from being called
25410 multiple times.
25411
3c62a39d 254122008-06-19 Robert Millan <rmh@aybabtu.com>
25413
25414 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
25415 "insmod" command directly when abstraction modules are needed,
fe987087 25416 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 25417 since it had already been processed).
25418
47395a42 254192008-06-19 Pavel Roskin <proski@gnu.org>
25420
25421 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
25422 changed. This is needed in case GRUB_LIBDIR changes.
25423 * conf/i386-ieee1275.rmk: Likewise.
25424 * conf/i386-linuxbios.rmk: Likewise.
25425 * conf/i386-pc.rmk: Likewise.
25426 * conf/powerpc-ieee1275.rmk: Likewise.
25427
a145ac2d 254282008-06-18 Pavel Roskin <proski@gnu.org>
25429
25430 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
25431 kernel_elf_symlist.c to symlist.c for consistency with other
25432 architectures. Update all users.
25433 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25434
7847c51e 254352008-06-18 Robert Millan <rmh@aybabtu.com>
25436
25437 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
25438 it in prefix.
25439
25440 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
25441 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
25442 a RAID device, run setup() for all members independently on whether
25443 LVM abstraction is being used.
25444 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
25445 If grub-mkimage has set `*install_dos_part == -2', don't override this
25446 value.
25447 Perform *install_dos_part adjustments independently on whether
25448 we're embedding or not.
25449 Clarify error message when image is too big for embedding.
25450 Remove duplicate *install_dos_part stanza.
25451
b23e5644 254522008-06-17 Robert Millan <rmh@aybabtu.com>
25453
25454 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
25455 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
25456 variables.
25457 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
25458 values in grub_ofconsole_normal_color and
25459 grub_ofconsole_highlight_color (they're not directly related to
25460 background and foreground).
25461 (grub_ofconsole_setcolorstate): Extract background and foreground
25462 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
25463
0aac2f79 254642008-06-17 Robert Millan <rmh@aybabtu.com>
25465
25466 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
25467 /boot/grub for the check in last commit, not /boot (they could be
25468 different partitions).
25469
3cca7ef3 254702008-06-16 Robert Millan <rmh@aybabtu.com>
25471
25472 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
25473 asked to setup access for the same partition that provides /boot,
25474 don't bother using UUIDs since our root already has the value we
25475 want.
25476
347396d8 254772008-06-16 Robert Millan <rmh@aybabtu.com>
25478
25479 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
25480 I2O devices.
25481 Patch from Sven Mueller <sven@debian.org>.
25482
991477f8 254832008-06-16 Robert Millan <rmh@aybabtu.com>
25484
25485 * util/update-grub.in: Check for $EUID instead of $UID.
25486 Reported by Vincent Zweije.
25487
d31a32a1 254882008-06-16 Bean <bean123ch@gmail.com>
25489
fe987087 25490 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 25491 (grub_ext2_read_block): Likewise.
25492 (grub_ext2_read_inode): Likewise.
25493 (grub_ext2_mount): Likewise.
25494 (grub_ext2_close): Likewise.
25495 (grub_ext3_get_journal): Removed.
25496
fe987087 25497 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 25498 (grub_reiserfs_read_symlink): Likewise.
25499 (grub_reiserfs_mount): Likewise.
25500 (grub_reiserfs_open): Likewise.
25501 (grub_reiserfs_read): Likewise.
25502 (grub_reiserfs_close): Likewise.
25503 (grub_reiserfs_get_journal): Removed.
25504
25505 * fs/fshelp.c (grub_fshelp_read): Removed.
25506 (grub_fshelp_map_block): Likewise.
25507
25508 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
25509 (grub_fshelp_journal): Likewise.
25510 (grub_fshelp_read): Likewise.
25511 (grub_fshelp_map_block): Likewise.
25512
3540a760 255132008-06-16 Pavel Roskin <proski@gnu.org>
25514
25515 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
25516 floating point anymore.
25517 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
25518
95614c84 255192008-06-15 Pavel Roskin <proski@gnu.org>
25520
25521 * commands/ls.c (grub_ls_list_files): Use integer calculations
25522 for human readable format, avoid floating point use.
25523 * kern/misc.c (grub_ftoa): Remove.
25524 (grub_vsprintf): Remove floating point support.
25525
50465dd6 255262008-06-15 Robert Millan <rmh@aybabtu.com>
25527
fe6b695a 25528 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 25529 devices.
25530 Reported by Max Vozeler.
25531
a9207284 255322008-06-15 Robert Millan <rmh@aybabtu.com>
25533
25534 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
25535 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
25536 skipped later.
25537 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
25538 the beginning of the prefix.
25539
25540 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
25541 It is assumed that if we have a memdisk, grub-mkimage has set
25542 grub_prefix to include the "(memdisk)" drive in it.
25543
a7cbd45a 255442008-06-15 Robert Millan <rmh@aybabtu.com>
25545
25546 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
25547 Initialize keyboard controller after registering the terminal, so that
25548 grub_printf() can be called from grub_keyboard_controller_init().
25549
21cf716a 255502008-06-15 Robert Millan <rmh@aybabtu.com>
25551
25552 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
25553 extent-btree which is written as big endian on disk.
25554 Reported by Alain Greppin <al@chilibi.org>.
25555
23a64d8e 255562008-06-14 Robert Millan <rmh@aybabtu.com>
25557
25558 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
25559 * util/i386/pc/grub-install.in (modules): Likewise.
25560
d687651c 255612008-06-13 Pavel Roskin <proski@gnu.org>
25562
25563 * commands/ls.c (grub_ls_list_files): Fix format warnings.
25564
dfe9ddd4 255652008-06-13 Bean <bean123ch@gmail.com>
25566
25567 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
25568
25569 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
25570
25571 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
25572 to indicate sparse block.
25573
16ae7781 255742008-06-12 Pavel Roskin <proski@gnu.org>
25575
e6d1a308 25576 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
25577 number, grub_fshelp_read() does it for us.
25578
16ae7781 25579 * fs/fshelp.c (grub_fshelp_read): New function. Implement
25580 linear disk read with journal translation.
25581 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
25582 * include/grub/fshelp.h: Declare grub_fshelp_read().
25583
40fd3a2b 255842008-06-09 Pavel Roskin <proski@gnu.org>
25585
25586 * fs/minix.c (grub_minix_mount): Handle error reading
25587 superblock.
25588
f5679726 255892008-06-08 Robert Millan <rmh@aybabtu.com>
25590
25591 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
25592 don't append the RAID prefix afterwards.
25593 Reported by Clint Adams.
25594
ce525529 255952008-06-08 Robert Millan <rmh@aybabtu.com>
25596
25597 Based on description from Pavel:
25598 * kern/disk.c (grub_disk_check_range): Rename to ...
25599 (grub_disk_adjust_range): ... this. Add a comment explaining the
25600 tasks performed by this function.
25601
ad4936a0 256022008-06-08 Robert Millan <rmh@aybabtu.com>
25603
25604 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
25605 `num_serial' (for consistency with other variables).
25606 (struct grub_ntfs_data): Add `uuid' member.
25607 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
25608 (grub_ntfs_uuid): New function.
25609 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
25610
dc20b0f9 256112008-06-07 Pavel Roskin <proski@gnu.org>
25612
25613 * util/biosdisk.c (open_device): Revert last change to the
25614 function, it broke installation. The sector needs to be
25615 different dependent on which device is opened.
25616
c5e3cfba 256172008-06-06 Robert Millan <rmh@aybabtu.com>
25618
25619 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
25620 rest of GRUB, and breakage doesn't happen if its value were modified.
25621
25622 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25623 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
25624 a constant (same value).
25625 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
25626 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
25627
26a1f8c4 256282008-06-06 Robert Millan <rmh@aybabtu.com>
25629
25630 * util/biosdisk.c (open_device): Do not modify sector offset when
25631 accessing a partition. kern/disk.c already handles this for us.
25632
25d6b327 256332008-06-06 Robert Millan <rmh@aybabtu.com>
25634
25635 * util/grub-emu.c (grub_machine_init): Move code in this function from
25636 here ...
25637 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
25638 segfault in case grub_printf() is called).
25639
25640 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
25641 grub_probe. Update all users not to explicitly add it again.
25642 (grub_device): New variable; contains corresponding device for grubdir.
25643 (fs_module, partmap_module, devabstraction_module): Pass
25644 `--device ${grub_device}' to grub_probe to avoid traversing /dev
25645 every time.
25646
9ece62fb 256472008-06-05 Robert Millan <rmh@aybabtu.com>
25648
25649 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
25650 is found, print it (same layout as with labels).
25651
1ad36d37 256522008-06-04 Robert Millan <rmh@aybabtu.com>
25653
25654 * util/biosdisk.c (get_drive): Rename to ...
25655 (find_grub_drive): ... this. Update all users.
25656
25657 (get_os_disk): Rename to ...
25658 (convert_system_partition_to_system_disk): ... this. Update all users.
25659
25660 (find_drive): Rename to ...
25661 (find_system_device): ... this. Update all users.
25662
e6a30859 256632008-06-04 Robert Millan <rmh@aybabtu.com>
25664
25665 * util/biosdisk.c (get_os_disk): Handle IDA devices.
25666 * util/grub-mkdevicemap.c (get_mmc_disk_name)
25667 (make_device_map): Likewise.
25668
00c108a4 256692008-06-01 Robert Millan <rmh@aybabtu.com>
25670
25671 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
25672 before dereferencing it.
25673
25674 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
25675 union with fat12/fat16-specific ones. Add some new fields, including
25676 `num_serial' for both versions.
25677 (struct grub_fat_data): Add `uuid' member.
25678 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
25679 names. Initialize `data->uuid' using `num_serial'.
25680 (grub_fat_uuid): New function.
25681 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
25682
25683 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
25684 (grub_reiserfs_uuid): New function.
25685 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
25686 member.
25687
25688 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
25689 (grub_xfs_uuid): New function.
25690 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
25691
1385c5bb 256922008-06-01 Robert Millan <rmh@aybabtu.com>
25693
25694 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
25695 code that is backward compatible with pre-uuid search command.
25696
c682dfd7 256972008-05-31 Robert Millan <rmh@aybabtu.com>
25698
25699 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
25700 floppies after everything else, to ensure floppy drive isn't accessed
25701 unnecessarily (patch from Bean).
25702
b7db5d47 257032008-05-31 Robert Millan <rmh@aybabtu.com>
25704
25705 * commands/search.c (search_label, search_fs_uuid, search_file): Do
25706 not print device names when we were asked to set a variable.
25707
6e037aa9 257082008-05-31 Robert Millan <rmh@aybabtu.com>
25709
25710 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
25711 using "cursor-on" and "cursor-off" commands (understood at least by
25712 the Open Firmware flavour on OLPC).
25713
41305bc8 257142008-05-31 Michael Gorven <michael@gorven.za.net>
25715
25716 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
25717 on and off sequences.
25718
69ba137e 257192008-05-31 Robert Millan <rmh@aybabtu.com>
25720
25721 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
25722 * util/update-grub.in: Likewise.
25723
520ae21b 257242008-05-30 Pavel Roskin <proski@gnu.org>
25725
25726 * util/biosdisk.c (linux_find_partition): Simplify logic and
25727 make the code more universal. Keep special processing for
25728 devfs, but use a simple rule for all other devices. If the
25729 device ends with a number, append 'p' and the partition number.
25730 Otherwise, append only the partition number.
25731
5786569b 257322008-05-30 Robert Millan <rmh@aybabtu.com>
25733
25734 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
25735 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
25736 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
25737 the `root' parameter to Linux.
25738
51500452 257392008-05-30 Robert Millan <rmh@aybabtu.com>
25740
25741 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
25742 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
25743 --fs_uuid with --fs-uuid.
25744 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
25745 all filesystems support them).
25746
811d3878 257472008-05-30 Robert Millan <rmh@aybabtu.com>
25748
25749 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 25750 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 25751
cab63c95 257522008-05-30 Robert Millan <rmh@aybabtu.com>
25753
25754 * util/grub.d/00_header.in: Remove obsolete comment referencing
25755 convert_system_path_to_grub_path().
25756 * util/update-grub.in: Likewise.
25757 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
25758 (convert_system_path_to_grub_path): Add a warning message explaining
25759 that this function is deprecated. Rely on is_path_readable_by_grub()
25760 for the readability checks.
25761 (font_path): Use is_path_readable_by_grub() for the readability
25762 check rather than convert_system_path_to_grub_path().
25763
972e2f7a 257642008-05-30 Robert Millan <rmh@aybabtu.com>
25765
25766 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
25767 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
25768 converting it first.
25769 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
25770 grub.cfg for access to font file, and afterwards call it again to set
25771 the root device.
25772
62191274 257732008-05-30 Robert Millan <rmh@aybabtu.com>
25774
25775 * commands/search.c (options): Add --fs_uuid option.
25776 (search_fs_uuid): New function.
25777 (grub_cmd_search): Fix --set argument passing.
25778 Use search_fs_uuid() when requested via --fs_uuid.
25779 (grub_search_init): Update help message.
25780 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
25781 and redeclare it as an array of 16-bit words.
25782 (grub_ext2_uuid): New function.
25783 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
25784 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
25785 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
25786 (GRUB_DEVICE_BOOT_UUID): New variables.
25787 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
25788 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
25789 whenever possible.
25790 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
25791 just assume `root' variable has the right value.
25792 * util/grub.d/10_linux.in: Likewise.
25793 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
25794 via PRINT_FS_UUID.
25795 (main): Recognise `-t fs_uuid' argument.
25796
01b73ec8 257972008-05-30 Robert Millan <rmh@aybabtu.com>
25798
25799 * util/biosdisk.c (map): Redefine structure to hold information
25800 about GRUB drive name.
fe6b695a 25801 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 25802 drive names.
25803 (call_hook): Remove.
25804 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
25805 member. Assume drive has partitions.
25806 (grub_util_biosdisk_open): Access device names via `.device' struct
25807 member.
25808 (open_device): Likewise.
25809 (find_drive): Likewise.
25810 (read_device_map): Adjust map[] usage to match the new struct
25811 definition. Don't check for duplicates (still possible, but not cheap
25812 anymore).
25813 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
25814 (make_device_name): Remove assumption of BIOS-like drive names.
25815
22f16596 258162008-05-30 Pavel Roskin <proski@gnu.org>
25817
25818 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
25819 compiling execute.c doesn't need grub_script.tab.h anymore.
25820 (normal/command.c_DEPENDENCIES): Likewise.
25821 (normal/function.c_DEPENDENCIES): Likewise.
25822 * conf/i386-ieee1275.rmk: Likewise.
25823 * conf/i386-linuxbios.rmk: Likewise.
25824 * conf/i386-pc.rmk: Likewise.
25825 * conf/powerpc-ieee1275.rmk: Likewise.
25826 * conf/sparc64-ieee1275.rmk: Likewise.
25827
528ad8f2 258282008-05-29 Pavel Roskin <proski@gnu.org>
25829
d1dff95d 25830 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
25831 when scanning metadata for volume group name.
25832
528ad8f2 25833 * include/grub/script.h: Don't include grub_script.tab.h. It's
25834 a generated file, which may only be included from the files with
25835 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
25836 use union YYSTYPE, as the later allows forward declaration.
25837 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
25838
47248e08 258392008-05-29 Robert Millan <rmh@aybabtu.com>
25840
25841 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
25842 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
25843 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
25844 (grub_console_checkkey): Add grub_dprintf() call to report unknown
25845 scan codes.
25846
ee632529 258472008-05-29 Robert Millan <rmh@aybabtu.com>
25848
25849 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
25850 control key combinations.
25851
eee96e08 258522008-05-29 Robert Millan <rmh@aybabtu.com>
25853
25854 * util/powerpc/ieee1275/grub-install.in: Move from here ...
25855 * util/ieee1275/grub-install.in: ... to here.
25856 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
25857 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
25858 (grub_install_SOURCES): Likewise.
25859
da9a6a94 258602008-05-29 Robert Millan <rmh@aybabtu.com>
25861
25862 * fs/affs.c: Update copyright year.
25863 * fs/ext2.c: Likewise.
25864 * fs/fshelp.c: Likewise.
25865 * fs/hfsplus.c: Likewise.
25866 * fs/ntfs.c: Likewise.
25867 * fs/xfs.c: Likewise.
25868 * include/grub/fshelp.h: Likewise.
25869 * util/grub-mkdevicemap.c: Likewise.
25870
12e65f3a 258712008-05-28 Robert Millan <rmh@aybabtu.com>
25872
25873 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
25874 might need to be fatfs to support some firmware implementations
25875 (e.g. OFW or EFI).
25876
23023641 258772008-05-28 Robert Millan <rmh@aybabtu.com>
25878
25879 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
25880 devices.
25881 * util/grub-mkdevicemap.c (get_mmc_disk_name)
25882 (make_device_map): Likewise.
25883
887d2619 258842008-05-20 Bean <bean123ch@gmail.com>
25885
25886 * fs/fshelp.c (grub_fshelp_map_block): New function.
25887 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
25888 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
25889
25890 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
25891 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
25892 (grub_fshelp_journal): New structure.
25893 (grub_fshelp_map_block): New function prototype.
25894 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
25895 (grub_fshelp_map_block): Likewise.
25896
25897 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
25898 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
25899 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
25900 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
25901 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
25902 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
25903 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
25904 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
25905 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
25906 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
25907 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
25908 (grub_ext2_sblock): New members for journal support.
25909 (grub_ext3_journal_header): New structure.
25910 (grub_ext3_journal_revoke_header): Likewise.
25911 (grub_ext3_journal_block_tag): Likewise.
25912 (grub_ext3_journal_sblock): Likewise.
25913 (grub_fshelp_node): New members logfile and journal.
25914 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
25915 grub_fshelp_map_block to get real block number.
25916 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
25917 number.
25918 (grub_ext2_read_inode): Likewise.
25919 (grub_ext3_get_journal): New function.
25920 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
25921 (grub_ext2_close): Release memory used by journal.
25922
25923 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
25924 (REISERFS_MAGIC_DESC_BLOCK): New macro.
25925 (grub_reiserfs_transaction_header): Renamed to
25926 grub_reiserfs_description_block, replace field data with real_blocks.
25927 (grub_reiserfs_commit_block): New structure.
25928 (grub_reiserfs_data): New member journal.
25929 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
25930 number.
25931 (grub_reiserfs_read_symlink): Likewise.
25932 (grub_reiserfs_iterate_dir): Likewise.
25933 (grub_reiserfs_open): Likewise.
25934 (grub_reiserfs_read): Likewise.
25935 (grub_reiserfs_get_journal): New function.
25936 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
25937 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
25938 using grub_reiserfs_get_journal.
25939 (grub_reiserfs_close): Release memory used by journal.
25940
25941 * fs/affs.c (grub_affs_read_block): Change block type to
25942 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
25943
25944 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
25945
25946 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
25947
25948 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
25949
25950 * fs/udf.c (grub_udf_read_block): Change block type to
25951 grub_disk_addr_t. Use type cast to avoid warning.
25952
25953 * fs/xfs.c (grub_xfs_read_block): Likewise.
25954
b7c6bed5 259552008-05-16 Christian Franke <franke@computer.org>
25956
25957 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
25958 to ensure that break with ESC will always work.
25959 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
25960 Remove ESC from keyboard queue.
25961
eedf167f 259622008-05-16 Christian Franke <franke@computer.org>
25963
25964 * util/biosdisk.c: [__CYGWIN__] Add includes.
25965 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
25966 (get_os_disk): Move variable declarations to OS specific
25967 parts to avoid warning.
25968 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
25969 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
25970 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
25971 Cygwin.
25972 * util/getroot.c: [__CYGWIN__] Add includes.
25973 (strip_extra_slashes): Fix "/" case.
25974 [__CYGWIN__] (get_win32_path): New function.
25975 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
25976 [__CYGWIN__] (find_root_device): Disable.
25977 [__CYGWIN__] (get_bootsec_serial): New function.
25978 [__CYGWIN__] (find_cygwin_root_device): Likewise.
25979 [__linux__] (grub_guess_root_device): Add early returns to simplify
25980 structure.
25981 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
25982 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
25983 check for Linux only.
25984
a079699e 259852008-05-15 Bean <bean123ch@gmail.com>
25986
25987 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
25988 keyboard hang problem in apple's intel mac.
25989
1cf4059a 259902008-05-09 Robert Millan <rmh@aybabtu.com>
25991
25992 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
25993 devices.
25994 * util/grub-mkdevicemap.c (get_virtio_disk_name)
25995 (make_device_map): Likewise.
25996 Reported by Aurelien Jarno <aurel32@debian.org>
25997
ed759390 259982008-05-07 Ian Campbell <ijc@hellion.org.uk>
25999
26000 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
26001 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
26002 (make_device_map): Output entries for xvd type disks.
26003
b56c4eaa 260042008-05-07 Robert Millan <rmh@aybabtu.com>
26005
26006 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
26007 devices.
26008 * util/grub-mkdevicemap.c (get_cciss_disk_name)
26009 (make_device_map): Likewise.
26010 Reported by Roland Dreier <rdreier@cisco.com>
26011
7f8866ed 260122008-05-07 Robert Millan <rmh@aybabtu.com>
26013
26014 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
26015 grub_strstr() call. Correct a few mistakes in failure path handling.
26016
b0346e0f 260172008-05-06 Robert Millan <rmh@aybabtu.com>
26018
26019 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
26020 Do not print a trailing slash (therefore, the root directory is an
26021 empty string).
26022 (convert_system_path_to_grub_path): Do not remove trailing slash
26023 from make_system_path_relative_to_its_root() output.
26024
26025 * util/i386/pc/grub-install.in: Add trailing slash to output from
26026 make_system_path_relative_to_its_root().
26027
6cf12cbd 260282008-05-06 Robert Millan <rmh@aybabtu.com>
26029
26030 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
26031 ensures that output lines aren't intermangled with those sent to
26032 stderr (via grub_util_info()).
26033 * util/grub-probe.c (grub_refresh): Likewise.
26034 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
26035
0fbb3117 260362008-05-05 Christian Franke <franke@computer.org>
26037
26038 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
26039 Add Cygwin device names.
26040 (get_ide_disk_name) [__CYGWIN__]: Likewise.
26041 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
26042 (check_device): Return error instead of success on empty name.
26043 (make_device_map): Move label inside linux specific code to
26044 prevent compiler warning.
26045
8124cdb7 260462008-04-30 Robert Millan <rmh@aybabtu.com>
26047
26048 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
26049 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
26050 first boot option.
26051 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
26052
094c01d0 260532008-04-29 Robert Millan <rmh@aybabtu.com>
26054
26055 * docs/grub.cfg: New file (example GRUB configuration).
26056
f4b1fc02 260572008-04-26 Robert Millan <rmh@aybabtu.com>
26058
329ce2a5 26059 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
26060 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
26061 and `disk/ieee1275/nand.c'.
f4b1fc02 26062
25f16ec1 260632008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 26064
25f16ec1 26065 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
26066 i386-linuxbios.
26067
26068 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
26069 change the buffer size to 4096 for cdrom device.
26070
26071 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
26072 and nand.mod.
26073 (_linux_mod_SOURCES): New variable.
26074 (_linux_mod_CFLAGS): Likewise.
26075 (_linux_mod_LDFLAGS): Likewise.
26076 (linux_mod_SOURCES): Likewise.
26077 (linux_mod_CFLAGS): Likewise.
26078 (linux_mod_LDFLAGS): Likewise.
26079 (nand_mod_SOURCES): Likewise.
26080 (nand_mod_CFLAGS): Likewise.
26081 (nand_mod_LDFLAGS): Likewise.
26082
26083 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
26084 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
26085 type property. (nand device in olpc don't have this property)
26086
26087 * include/grub/disk.h (grub_disk_dev_id): New macro
26088 GRUB_DISK_DEVICE_NAND_ID.
26089
26090 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
26091 function prototype.
26092 (grub_rescue_cmd_initrd): Likewise.
26093
26094 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
26095 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
26096 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 26097
25f16ec1 26098 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
26099 GRUB_MACHINE_IEEE1275 is defined.
26100
26101 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
26102 Use NESTED_FUNC_ATTR attribute on the hook parameter.
26103
26104 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
26105 on nested function heap_init.
26106 (grub_upper_mem): New variable for i386-ieee1275.
26107 (grub_get_extended_memory): New function for i386-ieee1275.
26108 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
26109
26110 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
26111 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
26112 property.
f19dbdb7 26113
25f16ec1 26114 * loader/i386/ieee1275/linux.c: New file.
26115
26116 * loader/i386/ieee1275/linux_normal.c: New file.
26117
26118 * disk/ieee1275/nand.c: New file.
26119
e89d61e9 261202008-04-18 Thomas Schwinge <tschwinge@gnu.org>
26121
26122 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
26123 value.
26124 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
26125
602566f6 261262008-04-18 Robert Millan <rmh@aybabtu.com>
26127
26128 Restructures early code path on ieee1275 to unify grub_main() as
26129 the first C function that is executed in every platform.
26130
26131 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
26132 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
26133 cmain().
26134 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
26135 * kern/ieee1275/cmain.c (cmain): Rename to ...
26136 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
26137 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
26138 at the beginning.
26139
57490c2b 261402008-04-18 Robert Millan <rmh@aybabtu.com>
26141
26142 * util/update-grub.in: Fix syntax error when setting
26143 `GRUB_PRELOAD_MODULES'.
26144 Reported by Stephane Chazelas <stephane@artesyncp.com>
26145
1977517d 261462008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
26147
26148 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
26149 section into account, newer toolchains generate unique build ids
26150 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 26151 we want build ids to be preserved
1977517d 26152 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
26153 far from other sections don't cause the raw binary images grow
26154 size
26155
bfb1f1a2 261562008-04-15 Robert Millan <rmh@aybabtu.com>
26157
26158 * disk/lvm.c: Update copyright year.
26159 * kern/misc.c: Likewise.
26160
01979850 261612008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
26162
26163 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 26164 there is no memory left for physical volume name.
01979850 26165
0a1150e2 261662008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
26167
26168 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
26169 volume name mapping to support bigger than 9 character names properly.
26170
82ead3fe 261712008-04-13 Robert Millan <rmh@aybabtu.com>
26172
26173 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
26174 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
26175
e54a72f5 261762008-04-13 Christian Franke <franke@computer.org>
26177
26178 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
26179 to create a floppy emulation boot CD when non emulation mode
26180 does not work.
26181 Enable Joliet CD filesystem extension.
26182
9fe86034 261832008-04-13 Robert Millan <rmh@aybabtu.com>
26184
26185 * kern/misc.c (grub_strncat): Fix off-by-one error.
26186 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
26187
26188 * kern/env.c (grub_env_context_close): Clear current context, not
26189 previous one.
26190 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
26191
26192 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
26193
7ceeee39 261942008-04-13 Robert Millan <rmh@aybabtu.com>
26195
26196 Improve robustness when handling LVM.
26197
26198 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 26199 (and leave `*p' unmodified).
7ceeee39 26200 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
26201 through it.
26202 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
26203 iterating through it.
26204 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
26205 through it.
fe6b695a 26206 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 26207 when due) on each grub_lvm_getvalue() or grub_strstr() call.
26208 Don't assume `vg->pvs != NULL' when iterating through it.
26209
58cd3d85 262102008-04-13 Robert Millan <rmh@aybabtu.com>
26211
26212 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
26213 * genmk.rb (partmap): New variable.
26214 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
26215 (#{partmap}): New target rule.
26216 * genpartmaplist.sh: New file.
26217 * Makefile.in (pkglib_DATA): Add partmap.lst.
26218 (partmap.lst): New target rule.
26219 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
26220 modules (including all partition maps), instead of preloading them.
26221
78b51059 262222007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
26223
26224 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
26225 `linux-boot-prober' (if installed) to detect other operating
26226 systems which are installed on the computer and add them to
26227 the boot menu.
26228 * conf/common.rmk: Build and install 30_os-prober.
26229
a91627b4 262302008-04-12 Robert Millan <rmh@aybabtu.com>
26231
26232 * kern/powerpc/ieee1275/init.c: Move from here ...
26233 * kern/ieee1275/init.c: ... to here. Update all users.
26234
26235 * kern/powerpc/ieee1275/cmain.c: Move from here ...
26236 * kern/ieee1275/cmain.c: ... to here. Update all users.
26237
26238 * kern/powerpc/ieee1275/openfw.c: Move from here ...
26239 * kern/ieee1275/openfw.c: ... to here. Update all users.
26240
26241 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
26242 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
26243
322562ea 262442008-04-10 Pavel Roskin <proski@gnu.org>
26245
26246 * configure.ac: Always use "_cv_" in cache variables for
26247 compatibility with Autoconf 2.62.
26248
a02a73c5 262492008-04-07 Robert Millan <rmh@aybabtu.com>
26250
26251 Revert grub/machine/init.h addition by Pavel (since it breaks on
26252 i386-ieee1275 and others):
26253 * util/i386/pc/misc.c: Remove grub/machine/init.h.
26254 * util/powerpc/ieee1275/misc.c: Likewise.
26255
25c024b1 262562008-04-07 Robert Millan <rmh@aybabtu.com>
26257
26258 * util/grub-probe.c (probe): Improve error message.
26259
3cbd2f98 262602008-04-07 Robert Millan <rmh@aybabtu.com>
26261
26262 * util/biosdisk.c (read_device_map): Skip devices that don't exist
26263 (this prevents the presence of a bogus entry from ruining the whole
26264 thing).
26265
87a297bf 262662008-04-06 Pavel Roskin <proski@gnu.org>
26267
36747a62 26268 * util/biosdisk.c: Include grub/util/biosdisk.h.
26269 * util/grub-fstest.c (execute_command): Make static.
26270 * util/grub-mkdevicemap.c (check_device): Likewise.
26271 * util/i386/pc/misc.c: Include grub/machine/init.h.
26272 * util/powerpc/ieee1275/misc.c: Likewise.
26273 * util/lvm.c: Include grub/util/lvm.h.
26274 * util/misc.c: Include grub/kernel.h, grub/misc.h and
26275 grub/cache.h.
26276 * util/raid.c: Include grub/util/raid.h.
26277 (grub_util_getdiskname): Make static.
26278
87a297bf 26279 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
26280 grub_hostfs_fini(), as they are called from grub_init_all() and
26281 grub_fini_all() respectively. This fixes an infinite loop in
26282 grub-fstest due to double registration of hostfs.
26283 Reported by Christian Franke <Christian.Franke@t-online.de>
26284
f6ce7629 262852008-04-05 Pavel Roskin <proski@gnu.org>
26286
26287 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
26288 all 8 functions. Otherwise, probe function 0 only.
26289
070e49e4 262902008-04-04 Pavel Roskin <proski@gnu.org>
26291
8b088a4c 26292 * commands/lspci.c (grub_lspci_iter): Print the bus number
26293 correctly.
26294
4f657021 26295 * commands/lspci.c (grub_pci_classes): Fix typos.
26296 (grub_lspci_iter): Don't print func twice. Print vendor ID
26297 before device ID, as it's normally done.
26298
070e49e4 26299 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26300 Fix signedness warnings.
26301 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
26302 Likewise.
26303 * util/ieee1275/get_disk_name.c: Include config.h so that
26304 _GNU_SOURCE is defined and getline() is declared. Mark an
26305 unused argument as such. Fix a signedness warning.
26306
ba7328dc 263072008-04-02 Pavel Roskin <proski@gnu.org>
26308
26887f22 26309 * genkernsyms.sh.in: Use more robust assignments for CC and
26310 srcdir. Quote srcdir.
26311 * gensymlist.sh.in: Likewise. Assert at the compile time that
26312 the symbol table is not empty.
26313
ba7328dc 26314 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
26315 * fs/cpio.c (grub_cpio_read): Likewise.
26316
0f582c6b 263172008-04-01 Pavel Roskin <proski@gnu.org>
26318
4b6e1995 26319 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
26320 * disk/host.c (grub_host_open): Likewise.
26321 * disk/loopback.c (grub_loopback_open): Likewise.
26322 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
26323 disk->id as in disk/host.c, not a multi-character constant.
26324
828a2768 26325 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
26326 later is obsolete, potentially dangerous and sets a bad example.
26327 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
26328 * util/misc.c (grub_util_get_image_size): Likewise.
26329
2bb4fb47 26330 * disk/loopback.c (options): Improve help for "--partitions".
26331
0f582c6b 26332 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
26333 options to align them with the short options, e.g. "echo -e".
26334
a33224e0 263352008-03-31 Bean <bean123ch@gmail.com>
26336
26337 * video/reader/png.c (grub_png_data): New member is_16bit and
26338 image_data.
26339 (grub_png_decode_image_header): Detect 16 bit png image.
26340 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
26341 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
26342 (grub_video_reader_png): Release memory occupied by image_data.
26343
26344 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
26345 4096 bytes.
26346 (grub_nfs_mount): Skip the test for sector per cluster.
26347
26348 * include/grub/ntfs.h (MAX_SPC): Removed.
26349
86cb4f54 263502008-03-31 Bean <bean123ch@gmail.com>
26351
26352 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
26353 (grub_probe_SOURCES): Add fs/afs.c.
26354 (grub_fstest_SOURCES): Likewise.
26355 (afs_mod_SOURCES): New variable.
26356 (afs_mod_CFLAGS): Likewise.
26357 (afs_mod_LDFLAGS): Likewise.
26358
26359 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
26360 (grub_emu_SOURCES): Likewise.
26361
26362 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26363
26364 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26365
26366 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26367
26368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26369
26370 * fs/afs.c: New file.
26371
17c74c21 263722008-03-30 Pavel Roskin <proski@gnu.org>
26373
4cb68e89 26374 * disk/host.c: Include grub/misc.h to fix a warning.
26375 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
26376 warnings about implicit declarations.
26377
8790bb04 26378 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
26379 variable.
26380 * include/grub/i386/loader.h: Change declaration of
26381 grub_linux_boot() to match what grub_loader_set() expects.
26382 * util/getroot.c (grub_guess_root_device): Return const char* to
26383 fix a warning.
26384 * util/grub-probe.c (probe): Fix a warning about uninitialized
26385 abstraction_name variable.
26386 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
26387 second argument as unused to fix a warning.
26388
9a3f3296 26389 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
26390 missing grub_error() call.
26391
0ecef90d 26392 * util/update-grub_lib.in: Define datarootdir, since Autoconf
26393 2.60 and newer uses it to define datadir.
26394
0bf6d401 26395 * commands/sleep.c: Fix warning about implicit declaration.
26396 * disk/memdisk.c: Likewise.
26397 * loader/aout.c: Likewise.
26398 * loader/i386/bsd_normal.c: Likewise.
26399 * util/grub-probe.c: Likewise.
26400
7cdacf97 26401 * commands/i386/cpuid.c (has_longmode): Make static.
26402 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
26403 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
26404
17c74c21 26405 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
26406 GDT. This is more robust, as %ds can change.
26407 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
26408 calling real_to_prot().
26409 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
26410
80a3e68b 264112008-03-28 Pavel Roskin <proski@gnu.org>
26412
26413 * kern/i386/pc/startup.S: Assert that uncompressed functions
26414 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
26415 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
26416 code, as they push parts of the code (error handlers) beyond
26417 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
26418 code as correctness and size.
26419
77bcd272 264202008-03-28 Pavel Roskin <proski@gnu.org>
26421
26422 * kern/i386/pc/startup.S
26423 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
26424 data block address to the real mode, keep offset minimal. This
26425 works around a bug in AWARD BIOS on old Athlon systems, which
26426 makes CD detection hang.
26427
c5dfd43b 264282008-03-26 Pavel Roskin <proski@gnu.org>
26429
26430 * normal/color.c (grub_parse_color_name_pair): Make `name' a
26431 const.
26432 * include/grub/normal.h: Add grub_parse_color_name_pair()
26433 declaration.
26434
bf962df2 264352008-03-24 Bean <bean123ch@gmail.com>
26436
26437 * disk/i386/pc/biosdisk.c (cd_start): Removed.
26438 (cd_count): Removed.
26439 (cd_drive): New variable.
26440 (grub_biosdisk_get_drive): Don't check for (cdN) device.
26441 (grub_biosdisk_call_hook): Likewise.
26442 (grub_biosdisk_iterate): Change cdrom detection method.
26443 (grub_biosdisk_open): Replace cd_start with cd_drive.
26444 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
26445 detect cdrom device.
26446
26447 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
26448 Removed.
26449 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
26450 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
26451 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
26452 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
26453 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
26454 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
26455 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
26456 (grub_biosdisk_cdrp): New structure.
26457 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
26458
26459 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
26460
26461 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
26462 device.
26463
26464 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
26465 New function.
26466
68e7fc7a 264672008-03-20 Robert Millan <rmh@aybabtu.com>
26468
26469 Remove 2 TiB limit in ata.mod.
26470 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
26471 (grub_ata_dumpinfo): Print sector count with 0x%llx.
26472 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
26473 grub_uint64_t instead of grub_uint32_t.
26474
38ad2cf5 264752008-03-05 Bean <bean123ch@gmail.com>
26476
26477 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
26478 (grub_multiboot): Set boot device.
26479
26480 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
26481
2b89344e 264822008-03-02 Bean <bean123ch@gmail.com>
26483
26484 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
26485 symlink_buffer.
26486
87a95d1f 264872008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
26488
26489 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
26490 texinfo.tex.
26491
26492 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
26493 modified.
26494
26495 * docs/fdl.texi: New file.
f19dbdb7 26496
87a95d1f 26497 * docs/mdate-sh: New file. Copied from gnulib.
26498 * docs/texinfo.tex: Likewise.
26499
26500 * config.guess: Updated from gnulib.
26501 * install-sh: Likewise.
26502
7dc15d8e 265032008-02-28 Robert Millan <rmh@aybabtu.com>
26504
26505 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
26506 (aout_mod_SOURCES): New variable.
26507 (aout_mod_CFLAGS): Likewise.
26508 (aout_mod_LDFLAGS): Likewise.
26509
26510 * conf/i386-ieee1275.rmk: Likewise.
26511
b00ab696 265122008-02-28 Robert Millan <rmh@aybabtu.com>
26513
26514 * util/update-grub.in: Reorganise terminal validity check. Accept
26515 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
26516 Based on suggestion by Franklin PIAT.
26517
79ca2d78 265182008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
26519
26520 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
26521 function.
26522 * util/getroot.c (grub_util_check_block_device): New function that
26523 returns the given argument if it is a block device and returns NULL else.
26524 * util/grub-probe.c (argument_is_device): New variable.
26525 (probe): Promote device_name from a variable to an argument. Receive
26526 device_name from grub_util_check_block_device() if path is NULL and from
26527 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 26528 (options): Introduce new parameter '-d, --device'.
79ca2d78 26529 (main): Add description of the new parameter to the help screen.
26530 Rename path variable to argument. Set argument_is_device if the '-d'
26531 option is given. Pass argument to probe() depending on
26532 argument_is_device.
26533
0d16e571 265342008-02-24 Bean <bean123ch@gmail.com>
26535
26536 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
26537 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
26538 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
26539 (GRUB_ISO9660_VOLDESC_PART): Likewise.
26540 (GRUB_ISO9660_VOLDESC_END): Likewise.
26541 (grub_iso9660_primary_voldesc): New member escape.
26542 (grub_iso9660_data): New member joliet.
26543 (grub_iso9660_convert_string): New function.
26544 (grub_iso9660_mount): Detect joliet extension.
26545 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
26546 (grub_iso9660_iso9660_label): Likewise.
26547
26548 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
26549 (grub_setup_SOURCES): Add fs/udf.c.
26550 (grub_fstest_SOURCES): Likewise.
26551 (udf_mod_SOURCES): New variable.
26552 (udf_mod_CFLAGS): Likewise.
26553 (udf_mod_LDFLAGS): Likewise.
26554
26555 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
26556 (grub_emu_SOURCES): Likewise.
26557
26558 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26559
26560 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26561
26562 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26563
26564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26565
26566 * fs/udf.c: New file.
26567
8a594a17 265682008-02-24 Robert Millan <rmh@aybabtu.com>
26569
26570 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
26571 (normal/lexer.c_DEPENDENCIES): New variables.
26572 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
26573 (normal/lexer.c_DEPENDENCIES): Likewise.
26574 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
26575 (normal/lexer.c_DEPENDENCIES): Likewise.
26576 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
26577 (normal/lexer.c_DEPENDENCIES): Likewise.
26578 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
26579 (normal/lexer.c_DEPENDENCIES): Likewise.
26580 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
26581 (normal/lexer.c_DEPENDENCIES): Likewise.
26582
2dc33c03 265832008-02-23 Robert Millan <rmh@aybabtu.com>
26584
26585 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
26586 since they were intended to be in hex. This didn't break previously
26587 because of a bug in gpt_partition_map_iterate() (see below).
26588
26589 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
26590 when checking the validity of GPT header.
26591 Remove `partno', since it always provides the same information as `i'.
26592
f6f4cfb0 265932008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
26594
26595 * include/grub/efi/time.h: Fix a wrong comment.
26596
79ff665f 265972008-02-19 Pavel Roskin <proski@gnu.org>
26598
26599 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
26600 message.
26601
d38e24c2 266022008-02-19 Bean <bean123ch@gmail.com>
26603
26604 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
26605 (aout_mod_SOURCES): New variable.
26606 (aout_mod_CFLAGS): Likewise.
26607 (aout_mod_LDFLAGS): Likewise.
26608 (_bsd_mod_SOURCES): New variable.
26609 (_bsd_mod_CFLAGS): Likewise.
26610 (_bsd_mod_LDFLAGS): Likewise.
26611 (bsd_mod_SOURCES): New variable.
26612 (bsd_mod_CFLAGS): Likewise.
26613 (bsd_mod_LDFLAGS): Likewise.
26614
26615 * include/grub/aout.h: New file.
26616
26617 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
26618
26619 * include/grub/i386/bsd.h: New file.
26620
26621 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
26622 to make it public.
26623
26624 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
26625 function is called, so that it's possible to change it inside the hook.
26626 (grub_elf64_load): Likewise.
26627 (grub_elf_file): Don't close the file if elf header is not found.
26628 (grub_elf_close): Close the file if grub_elf_file fails (The new
26629 grub_elf_file won't close it).
26630 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
26631 (grub_elf64_size): Likewise.
26632
26633 * kern/i386/loader.S (grub_unix_real_boot): New function.
26634
26635 * loader/aout.c: New file.
26636
26637 * loader/i386/bsd.c: New file.
26638
26639 * loader/i386/bsd_normal.c: New file.
26640
26641 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
26642
26643 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 26644 can test other formats.
d38e24c2 26645
b93bdb0f 266462008-02-19 Robert Millan <rmh@aybabtu.com>
26647
26648 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
26649 (grub_gpt_partition_type_empty): Redefine with macro from
26650 `<grub/gpt_partition.h>'.
26651 (gpt_partition_map_iterate): Adjust partition type comparison.
26652
26653 Export `entry' as partmap-specific `part.data' struct.
26654 (grub_gpt_header, grub_gpt_partentry): Move from here ...
26655
26656 * include/grub/gpt_partition.h (grub_gpt_header)
26657 (grub_gpt_partentry): ... to here (new file).
26658
26659 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
26660
26661 (grub_gpt_partition_type_bios_boot): New const variable, defined
26662 with macro from `<grub/gpt_partition.h>'.
26663
26664 (setup): Replace `first_start' with `embed_region', which keeps
26665 track of the embed region (and is partmap-agnostic).
26666
26667 Replace find_first_partition_start() with find_usable_region(),
26668 which finds a usable region for embedding using partmap-specific
26669 knowledge (supports PC/MSDOS and GPT).
26670
26671 Fix all assumptions that the embed region start at sector 1, using
26672 `embed_region.start' from now on. Similarly, use `embed_region.end'
26673 rather than `first_start' to calculate available size.
26674
26675 In grub_util_info() message, replace "into after the MBR" with an
26676 indication of the specific sector our embed region starts at.
26677
66cb40f6 266782008-02-19 Robert Millan <rmh@aybabtu.com>
26679
26680 * DISTLIST: Replace `commands/ieee1275/halt.c' and
26681 `commands/ieee1275/reboot.c' with `commands/halt.c' and
26682 `commands/reboot.c'.
26683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
26684 (halt_mod_SOURCES): Likewise.
26685 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
26686 (halt_mod_SOURCES): Likewise.
26687
b7202015 266882008-02-17 Christian Franke <franke@computer.org>
26689
26690 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
26691
32b0fc49 266922008-02-17 Robert Millan <rmh@aybabtu.com>
26693
26694 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
26695 set `first_start' to 0 for non-PC/MSDOS partition maps.
26696
aca63502 266972008-02-16 Robert Millan <rmh@aybabtu.com>
26698
26699 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
26700 do not assume partition map is PC/MSDOS before performing checks that
26701 are specific to that layout.
26702
0de8be86 267032008-02-13 Robert Millan <rmh@aybabtu.com>
26704
26705 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
26706 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
26707 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
26708
c3db8364 267092008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
26710
26711 * configure.ac: Only a cosmetic change on the handling of
26712 -fno-stack-protector.
26713
f714229e 267142008-02-12 Alexandre Boeglin <alex@boeglin.org>
26715
c3db8364 26716 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
26717 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
26718 reboot.c.
f714229e 26719 (grub_install_SOURCES): Add halt.mod and reboot.mod.
26720 (halt_mod_SOURCES): New variable.
26721 (halt_mod_CFLAGS): Likewise.
26722 (halt_mod_LDFLAGS): Likewise.
26723 (reboot_mod_SOURCES): Likewise.
26724 (reboot_mod_CFLAGS): Likewise.
26725 (reboot_mod_LDFLAGS): Likewise.
26726
c3db8364 26727 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
26728 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
26729 reboot.c.
f714229e 26730 (halt_mod_SOURCES): Likewise.
26731 (reboot_mod_SOURCES): Likewise.
26732
c3db8364 26733 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
26734 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 26735 (reboot_mod_SOURCES): Likewise.
26736
26737 * commands/i386/pc/reboot.c: merge this file ...
26738
26739 * commands/ieee1275/reboot.c: ... and this file ...
26740
26741 * commands/reboot.c: ... to this file.
c3db8364 26742 Add some precompiler directive to include the correct header for
26743 each machine.
f714229e 26744
26745 * commands/ieee1275/halt.c: move this file ...
26746
26747 * commands/halt.c: ... to here.
c3db8364 26748 Add some precompiler directive to include the correct header for
26749 each machine.
f714229e 26750
26751 * include/grub/efi/efi.h (grub_reboot): New function declaration.
26752 (grub_halt): Likewise.
26753
26754 * kern/efi/efi.c (grub_reboot): New function.
26755 (grub_halt): Likewise.
26756
c74493e0 267572008-02-12 Robert Millan <rmh@aybabtu.com>
26758
26759 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
26760 /dev (like it is done for /dev/mapper). This doesn't provide support
26761 for EVMS, but at least it is now easy to identify the problem when it
26762 arises.
26763
d0db4b04 267642008-02-11 Robert Millan <rmh@aybabtu.com>
26765
26766 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
26767 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
26768 comparing it with -1, not 0.
26769
bf748642 267702008-02-10 Robert Millan <rmh@aybabtu.com>
26771
26772 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
26773 `disk/lvm.c'.
26774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26775 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
26776
26777 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
26778 `disk/lvm.c' to the end of the list.
26779 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26780 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26781
b5db202a 267822008-02-10 Robert Millan <rmh@aybabtu.com>
26783
26784 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
26785 grub_print_error() instead. This will let user know why we're entering
26786 rescue mode.
26787 Based on suggestions from Sam Morris.
26788
83abee31 267892008-02-10 Alexandre Boeglin <alex@boeglin.org>
26790
26791 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
26792 on remaining N args, instead of "--" arg N times.
26793
78d5a08b 267942008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
26795
26796 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
26797 (fill_with_default_glyph): Changed to use unknown_glyph for fill
26798 pattern for unknown glyphs.
26799
68807e5f 268002008-02-09 Robert Millan <rmh@aybabtu.com>
26801
26802 * configure.ac: Probe for `help2man'.
26803 * Makefile.in (builddir): New variable.
26804 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
26805 or otherwise add a few flags/options to it.
26806 (install-local): For every executable utility or script that is
26807 installed, invoke $(HELP2MAN) to install a manpage based on --help
26808 output.
26809
26810 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
26811 that it doesn't prevent --help from working in build tree.
26812
26813 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
26814 with `bug-grub@gnu.org'.
26815 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
26816 * util/update-grub.in (usage): New function.
26817 Implement proper argument check, with support for --help and --version
26818 (as well as existing -y).
26819
268202008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 26821
26822 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
26823 avoid overwriting previous output.
26824 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
26825
c1962162 268262008-02-09 Robert Millan <rmh@aybabtu.com>
26827
26828 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
26829 drawing the menu.
26830
3dac2e3f 268312008-02-09 Robert Millan <rmh@aybabtu.com>
26832
26833 * commands/sleep.c: New file.
26834 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
26835 (sleep_mod_SOURCES): New variable.
26836 (sleep_mod_CFLAGS): Likewise.
26837 (sleep_mod_LDFLAGS): Likewise.
26838
7a634e08 268392008-02-09 Robert Millan <rmh@aybabtu.com>
26840
26841 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
26842 situations in which we can deduce the RAID size and the superblock
26843 doesn't match it.
26844
b92f0c18 268452008-02-09 Robert Millan <rmh@aybabtu.com>
26846
26847 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
26848 and return a grub_diskmemberlist_t composed of LVM physical volumes.
26849 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
26850
26851 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
26852 and return a grub_diskmemberlist_t composed of physical array members.
26853 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
26854
26855 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
26856 prototype.
26857 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
26858 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
26859 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
26860
26861 * util/grub-probe.c (probe): Move partmap probing code from here ...
26862 (probe_partmap): ... to here.
26863 (probe): Use probe_partmap() once for the disk we're probing, and
26864 additionally, when such disk contains a memberlist() struct member,
26865 once for each disk that is contained in the structure returned by
26866 memberlist().
26867
91a4bf68 268682008-02-09 Robert Millan <rmh@aybabtu.com>
26869
26870 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
26871 environment variable to 'all' in order to obtain debug output from
26872 non-util/ code.
26873 * util/i386/pc/grub-setup.c (main): Likewise.
26874
a96f9caa 268752008-02-08 Robert Millan <rmh@aybabtu.com>
26876
26877 * disk/raid.c (grub_raid_scan_device): Check for
26878 `array->device[sb.this_disk.number]' rather than for
26879 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 26880 guaranteed to be accessible.
a96f9caa 26881
b37a9222 268822008-02-08 Robert Millan <rmh@aybabtu.com>
26883
26884 * disk/raid.c: Update copyright.
26885 * fs/cpio.c: Likewise.
26886 * include/grub/raid.h: Likewise.
26887 * loader/i386/pc/multiboot.c: Likewise.
26888 * util/hostfs.c: Likewise.
26889
5626aee1 268902008-02-08 Robert Millan <rmh@aybabtu.com>
26891
26892 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
26893 to a grub_disk_t array.
26894 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
26895 `device[x]'.
26896 (grub_raid_scan_device): Replace `device[x].name' accesses with
26897 `device[x]->name'. Simplify initialization of `array->device[x]'.
26898
554f0187 268992008-02-08 Robert Millan <rmh@aybabtu.com>
26900
26901 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
26902 grub_dprintf() calls.
26903 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
26904 error message.
26905
1ec8425d 269062008-02-07 Christian Franke <franke@computer.org>
26907
26908 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
26909 instead of fseek and ftell to support large files.
26910 (grub_hostfs_read): Likewise.
26911
f2156fda 269122008-02-07 Robert Millan <rmh@aybabtu.com>
26913
26914 Patch from Jeroen Dekkers.
26915 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 26916 failure, since successfully reading all array members might not be
f2156fda 26917 required.
26918
9216e0e7 269192008-02-06 Robert Millan <rmh@aybabtu.com>
26920
26921 * util/grub-probe.c (probe): Simplify partmap probing (with the
26922 assumption that the first word up to the underscore equals to
26923 the module name).
26924
b0dfd29a 269252008-02-06 Christian Franke <franke@computer.org>
26926
26927 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
26928 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
26929 last block of a cpio or tar stream.
26930 Check for "TRAILER!!!" instead of any empty data
26931 block to detect last block of a cpio stream.
26932 (grub_cpio_dir): Fix constness of variable np.
26933 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
26934 cpio or tar trailer is detected. This fixes a crash
26935 on open of a non existing file.
26936
c32865bf 269372008-02-05 Bean <bean123ch@gmail.com>
26938
26939 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
26940 address of entry.
26941 (grub_multiboot_load_elf64): Likewise.
26942 (grub_multiboot): Initialize mbi structure.
26943
26944 * util/grub-fstest.c: Don't include unused header file script.h.
26945
fe6b695a 26946 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 26947 of file.
26948 (grub_fstest_SOURCES): Likewise.
26949
409480b7 269502008-02-05 Robert Millan <rmh@aybabtu.com>
26951
26952 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
26953 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
26954 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
26955 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
26956
26957 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
26958 (translation_table): Replace hardcoded values with macros
26959 provided by `<grub/term.h>'.
26960
26961 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
26962 (keyboard_map): Correct/add a few values, with macros provided
26963 by `<grub/term.h>'.
26964 (keyboard_map_shift): Zero values that don't differ from their
26965 `keyboard_map' equivalents.
26966 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
26967 Discard the second scan code that is always sent by Caps lock.
26968 Only use `keyboard_map_shift' when it provides a non-zero value,
26969 otherwise fallback to `keyboard_map'.
26970
99fadbaa 269712008-02-04 Bean <bean123ch@gmail.com>
26972
26973 * Makefile.in (enable_grub_fstest): New variable.
26974
26975 * conf/common.rmk (grub_fstest_init.lst): New rule.
26976 (grub_fstest_init.h): Likewise.
26977 (grub_fstest_init.c): Likewise.
26978 (util/grub-fstest.c_DEPENDENCIES): New variable.
26979 (grub_fstest_SOURCES): Likewise.
26980
26981 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
26982
26983 * util/grub-fstest.c: New file.
26984
bf567c50 269852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26986
26987 Make grub-setup handle a separate root device.
f19dbdb7 26988
bf567c50 26989 * util/i386/pc/grub-setup.c (setup): Always open the root device,
26990 so that the root device can be compared with the destination
26991 device.
26992 When embedding the core image, if the root and destination devices
26993 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
26994 0xFF.
26995 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 26996
9be6b98b 269972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
26998
26999 Add support for having a grub directory in a different drive. This
27000 is still only the data handling part.
f19dbdb7 27001
9be6b98b 27002 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
27003 (codestart): Save %dh in GRUB_ROOT_DRIVE.
27004 (grub_root_drive): New variable.
27005
27006 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
27007 instead of GRUB_BOOT_DRIVE to construct a device name. Set
27008 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
27009 as it was.
27010
27011 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
27012
27013 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
27014 macro.
27015 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
27016
27017 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
27018 is bogus, because PXE booting does not specify any drive
27019 correctly.
27020
27021 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
27022 am not sure if this is really correct.
27023
27024 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
27025 is always identical to the boot drive when booting from a CD.
27026
27027 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
27028 longer.
27029 (root_drive): New variable.
27030 (real_start): Unconditionally set %dh to ROOT_DRIVE.
27031 (setup_sectors): Push %dx right after popping it, because %dh will
27032 be modified later.
27033 (copy_buffer): Restore %dx.
27034
e0ca0677 270352008-02-03 Robert Millan <rmh@aybabtu.com>
27036
27037 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
27038 use `cdboot.img' for cdrom images.
27039
3b3f6629 270402008-02-03 Robert Millan <rmh@aybabtu.com>
27041
27042 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
27043 only setup gfxterm when `font' command has succeeded.
27044
d42b3672 270452008-02-03 Robert Millan <rmh@aybabtu.com>
27046
27047 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
27048 (grub_rescue_cmd_multiboot_loader)
27049 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
27050
fa370ea6 270512008-02-03 Pavel Roskin <proski@gnu.org>
27052
e0c5dacb 27053 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 27054 %edx and %esi from stack only after grub_gate_a20() is called.
27055 grub_gate_a20() clobbers %edx.
27056
f2a76e1d 270572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
27058
27059 * configure.ac (AC_INIT): Bumped to 1.96.
27060
27061 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
27062 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
27063 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
27064 video/readers/png.c.
27065
90fd32d1 270662008-02-03 Bean <bean123ch@gmail.com>
9be665dd 27067
27068 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
27069 (cdboot_img_SOURCES): New variable.
27070 (cdboot_img_ASFLAGS): New variable.
27071 (cdboot_img_LDFLAGS): New variable.
27072
27073 * boot/i386/pc/cdboot.S: New file.
27074
27075 * disk/i386/pc/biosdisk.c (cd_start): New variable.
27076 (cd_count): Likewise.
27077 (grub_biosdisk_get_drive): Add support for cd device.
27078 (grub_biosdisk_call_hook): Likewise.
27079 (grub_biosdisk_iterate): Likewise.
27080 (grub_biosdisk_open): Likewise.
27081 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
27082 (grub_biosdisk_rw): Support reading from cd device.
27083 (GRUB_MOD_INIT): Iterate cd devices.
27084
27085 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
27086 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
27087 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
27088
27089 * kern/i386/pc/init.c (make_install_device): Check for cd device.
27090
4020aa53 270912008-02-02 Robert Millan <rmh@aybabtu.com>
27092
27093 * commands/read.c: New file.
27094 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
27095 (read_mod_SOURCES): New variable.
27096 (read_mod_CFLAGS): Likewise.
27097 (read_mod_LDFLAGS): Likewise.
27098
e03a1132 270992008-02-02 Robert Millan <rmh@aybabtu.com>
27100
27101 * normal/main.c (grub_normal_execute): Check for `menu->size' when
27102 determining whether menu has to be displayed.
27103
58c69220 271042008-02-02 Marco Gerards <marco@gnu.org>
27105
27106 * bus/pci.c: New file.
27107
27108 * include/grub/pci.h: Likewise.
27109
27110 * include/grub/i386/pc/pci.h: Likewise.
27111
27112 * commands/lspci.c: Likewise.
27113
27114 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
27115 `lspci.mod'.
27116 (pci_mod_SOURCES): New variable.
27117 (pci_mod_CFLAGS): Likewise.
27118 (pci_mod_LDFLAGS): Likewise.
27119 (lspci_mod_SOURCES): Likewise.
27120 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 27121 (lspci_mod_LDFLAGS): Likewise.
58c69220 27122
c004e1b4 271232008-02-02 Bean <bean123ch@gmail.com>
27124
27125 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
27126 (grub_ufs_get_file_block): Fix indirect block calculation problem.
27127
27128 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
27129 (grub_xfs_btree_node): New structure.
27130 (grub_xfs_btree_root): New structure.
27131 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
27132 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
27133 (GRUB_XFS_EXTENT_BLOCK): Likewise.
27134 (GRUB_XFS_EXTENT_SIZE): Likewise.
27135 (grub_xfs_read_block): Support btree format type.
27136 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
27137 Use directory block as basic unit.
27138
27139 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
27140
27141 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
27142 __attribute__ ((__regparm__ (1))).
27143
f95562bf 271442008-02-01 Robert Millan <rmh@aybabtu.com>
27145
27146 Correct a mistake in previous commit.
27147
27148 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
27149 top.
27150 (normal/command.c_DEPENDENCIES): New variable.
27151
7d31f41f 271522008-02-01 Robert Millan <rmh@aybabtu.com>
27153
27154 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
27155 top.
27156 (normal/command.c_DEPENDENCIES): New variable.
27157 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
27158 * conf/i386-ieee1275.rmk: Likewise.
27159 * conf/i386-linuxbios.rmk: Likewise.
27160 * conf/i386-pc.rmk: Likewise.
27161 * conf/sparc64-ieee1275.rmk: Likewise.
27162 * conf/powerpc-ieee1275.rmk: Likewise.
27163 (grub_emu_SOURCES): Add `fs/fshelp.c'.
27164
27165 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
27166
60b6be74 271672008-02-01 Robert Millan <rmh@aybabtu.com>
27168
27169 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
27170 call at beginning of function.
27171
078522ab 271722008-01-31 Pavel Roskin <proski@gnu.org>
27173
27174 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 27175 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
27176 (grub_mkrescue_SOURCES): Likewise.
078522ab 27177 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
27178
ccaa8a5f 271792008-01-30 Robert Millan <rmh@aybabtu.com>
27180
27181 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
27182 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
27183 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
27184 (grub_probe_SOURCES): ... to here.
27185
27186 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
27187 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
27188 * conf/i386-ieee1275.rmk: Likewise.
27189 * conf/i386-linuxbios.rmk: Likewise.
27190 * conf/powerpc-ieee1275.rmk: Likewise.
27191
ae5a9cd7 271922008-01-30 Tristan Gingold <gingold@free.fr>
27193
27194 * kern/rescue.c: Silently accept empty lines.
27195
70bc2ef2 271962008-01-29 Bean <bean123ch@gmail.com>
27197
27198 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
27199 (real_code_2): Code cleanup and change comment style.
27200 (move_memory): Avoid using 32-bit address mode.
27201
6a4d50ea 272022008-01-29 Bean <bean123ch@gmail.com>
27203
27204 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
27205 (png_mod_SOURCES): New variable.
27206 (png_mod_CFLAGS): Likewise.
27207 (png_mod_LDFLAGS): Likewise.
27208
27209 * video/readers/png.c: New file.
27210
11cc30ac 272112008-01-28 Robert Millan <rmh@aybabtu.com>
27212
27213 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
27214 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
27215 `ifndef GRUB_MOD_GAP' hack.
27216 * util/elf/grub-mkimage.c (add_segments): Likewise.
27217
3abc589f 272182008-01-27 Robert Millan <rmh@aybabtu.com>
27219
27220 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
27221 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 27222 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 27223
e1907778 272242008-01-27 Robert Millan <rmh@aybabtu.com>
27225
27226 Get grub-emu to build again (including parallel builds).
27227
27228 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
27229 Split into ...
27230 (util/grub-emu.c_DEPENDENCIES): ... this, ...
27231 (normal/execute.c_DEPENDENCIES): ... this, ...
27232 (grub-emu_DEPENDENCIES): ... and this.
27233
27234 * conf/i386-efi.rmk: Likewise.
27235 * conf/i386-linuxbios.rmk: Likewise.
27236 * conf/i386-ieee1275.rmk: Likewise.
27237 * conf/powerpc-ieee1275.rmk: Likewise.
27238 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
27239
2216b101 272402008-01-27 Robert Millan <rmh@aybabtu.com>
27241
27242 * NEWS: Add a few items.
27243
f75172d9 272442008-01-27 Robert Millan <rmh@aybabtu.com>
27245
27246 Fix parallel builds with grub-emu. Based on earlier commit for
27247 grub-probe and grub-setup.
27248
27249 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27250 (util/grub-emu.c_DEPENDENCIES): ... this.
27251 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27252 (util/grub-emu.c_DEPENDENCIES): ... this.
27253 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27254 (util/grub-emu.c_DEPENDENCIES): ... this.
27255 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27256 (util/grub-emu.c_DEPENDENCIES): ... this.
27257 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
27258 (util/grub-emu.c_DEPENDENCIES): ... this.
27259
3f51de77 272602008-01-27 Pavel Roskin <proski@gnu.org>
27261
27262 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
27263 to create a gap between _end and the modules added to the image
27264 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
27265 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
27266 * util/elf/grub-mkimage.c (add_segments): Likewise.
27267
2033f53e 272682008-01-26 Pavel Roskin <proski@gnu.org>
27269
27270 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
27271 just return an error.
27272
22da1f6f 272732008-01-26 Bean <bean123ch@gmail.com>
27274
27275 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
27276 (grub_reiserfs_get_item): Save offset of the next item.
27277 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
27278
2a9525e6 272792008-01-25 Robert Millan <rmh@aybabtu.com>
27280
27281 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
27282 make all filesystem sources appear together (possibly fixing omissions
27283 while at it).
27284 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27285 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27286 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27287 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27288
27289 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
27290 add `kern/file.c'.
27291 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
27292 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
27293 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
27294 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
27295
27296 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
27297 (probe): Add a sanity check to make sure of our ability to read
27298 requested files when probing for filesystem type.
27299
27300 * genmk.rb: Update copyright year (2007).
27301
27302 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
27303 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
27304 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
27305 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
27306 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
27307 : Remove function prototypes.
27308
b95f71b5 273092008-01-25 Robert Millan <rmh@aybabtu.com>
27310
27311 Revert my previous commits (based on wrong assumption of how grub_errno
27312 works).
27313
fe6b695a 27314 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 27315 * kern/file.c (grub_file_open): Likewise.
27316
d08bbb49 273172008-01-24 Pavel Roskin <proski@gnu.org>
27318
27319 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
27320 that hang if GRUB tries to setup colors.
27321 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
27322 colors for firmwares that don't support it.
27323 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
27324 Recognize Open Hack'Ware, set flags to work around its
27325 limitations.
27326
605e36ed 273272008-01-24 Robert Millan <rmh@aybabtu.com>
27328
27329 * kern/file.c (grub_file_open): Do not account previous failures of
27330 unrelated functions when grub_errno is checked for.
27331 Reported by Oleg Strikov.
27332
bac332a1 273332008-01-24 Bean <bean123ch@gmail.com>
27334
27335 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
27336 (grub_ufs_sblock): New member volume name.
27337 (grub_ufs_find_file): Fix string copy bug.
27338 (grub_ufs_label): Implement this function properly.
27339
27340 * fs/hfs.c (grub_hfs_cnid_type): New enum.
27341 (grub_hfs_iterate_records): Use the correct file number for extents
27342 and catalog file. Fix problem in next index calculation.
27343 (grub_hfs_find_node): Replace recursive function call with loop.
27344 (grub_hfs_iterate_dir): Replace recursive function call with loop.
27345
15c80c09 273462008-01-23 Robert Millan <rmh@aybabtu.com>
27347
27348 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
27349 `<grub/symbol.h>' and `<grub/multiboot.h>'.
27350 (grub_multiboot2_real_boot): New function prototype.
27351
27352 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
27353 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
27354
27355 * kern/i386/ieee1275/init.c (grub_os_area_addr)
27356 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
27357
305338fd 273582008-01-23 Robert Millan <rmh@aybabtu.com>
27359
27360 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
27361 #ifdef'ed out grub_printf().
27362
3ea52685 273632008-01-23 Robert Millan <rmh@aybabtu.com>
27364
27365 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
27366 grub_dprintf calls, since they make "debug=all" mode unusable.
27367 (grub_console_checkkey): Likewise.
27368
5882ae4b 273692008-01-23 Robert Millan <rmh@aybabtu.com>
27370
27371 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27372 `term/i386/pc/at_keyboard.c'.
27373 (pkglib_MODULES): Add `serial.mod'.
27374 (serial_mod_SOURCES): New variable.
27375 (serial_mod_CFLAGS): Likewise.
27376 (serial_mod_LDFLAGS): Likewise.
27377
27378 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
27379 `<grub/powerpc/ieee1275/console.h>'.
27380 (grub_keyboard_controller_init): New function prototype.
27381 (grub_console_checkkey): Likewise.
27382 (grub_console_getkey): Likewise.
27383
27384 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
27385 keyboard on i386.
27386
27387 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
27388 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
27389
06ab5303 273902008-01-23 Robert Millan <rmh@aybabtu.com>
27391
27392 * kern/i386/pc/init.c (make_install_device): When memdisk image is
27393 present, "(memdisk)/boot/grub" becomes the default prefix.
27394
27395 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
27396 a memdisk tarball with all the modules. Add --overlay=DIR option that
27397 allows users to overlay additional files into the image.
27398
dbb475a4 273992008-01-23 Robert Millan <rmh@aybabtu.com>
27400
27401 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
27402 and `machine/memory.h'.
27403 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
27404 (_multiboot_mod_SOURCES): New variable.
27405 (_multiboot_mod_CFLAGS): Likewise.
27406 (_multiboot_mod_LDFLAGS): Likewise.
27407 (multiboot_mod_SOURCES): Likewise.
27408 (multiboot_mod_CFLAGS): Likewise.
27409 (multiboot_mod_LDFLAGS): Likewise.
27410
27411 * include/grub/i386/ieee1275/loader.h: New file.
27412
27413 * include/grub/i386/ieee1275/machine.h: Likewise.
27414
27415 * include/grub/i386/ieee1275/memory.h: Likewise.
27416
27417 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
27418 variable declaration.
27419 (grub_os_area_size): Likewise.
27420
27421 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
27422 (grub_lower_mem, grub_upper_mem): New variables.
27423 (grub_stop_floppy): New function (just to make
27424 grub_multiboot2_real_boot() happy).
27425
27426 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
27427 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
27428 (grub_stop): New function.
27429 Include `"../realmode.S"' and `"../loader.S"'.
27430
27431 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
27432 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
27433
27434 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
27435 rely on grub_multiboot2_real_boot() for final boot.
27436
25638629 274372008-01-22 Robert Millan <rmh@aybabtu.com>
27438
27439 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
27440 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
27441 device that doesn't look like an SD card.
27442 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27443 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
27444 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
27445 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
27446 found.
27447
9dad816d 274482008-01-22 Robert Millan <rmh@aybabtu.com>
27449
27450 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
27451 avoid claiming over our own code.
27452
34842f2d 274532008-01-22 Bean <bean123ch@gmail.com>
27454
27455 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
27456 (jpeg_mod_SOURCES): New variable.
27457 (jpeg_mod_CFLAGS): Likewise.
27458 (jpeg_mod_LDFLAGS): Likewise.
27459
27460 * video/readers/jpeg.c : New file.
27461
44023a28 274622008-01-22 Bean <bean123ch@gmail.com>
27463
27464 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
27465 there are no more items.
27466
bc2d8ac6 274672008-01-21 Robert Millan <rmh@aybabtu.com>
27468
27469 * kern/mm.c (grub_mm_init_region): Improve debug message.
27470
261bd4bc 274712008-01-21 Robert Millan <rmh@aybabtu.com>
27472
27473 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
27474 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
27475 address.
27476 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
27477 a C macro.
27478 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
27479 Indicates start of upper memory.
27480 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
27481 (generate_image): Abort when image size is big enough to corrupt
27482 upper memory.
27483
27484 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
27485 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
27486 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
27487 instead of hardcoding 0xA0000.
27488 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
27489 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
27490 instead of hardcoding 0xA0000.
27491
f970b55e 274922008-01-21 Robert Millan <rmh@aybabtu.com>
27493
27494 * disk/memdisk.c (memdisk_size): New variable.
27495 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
27496 `memdisk_size'.
27497 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
27498 image to dynamic memory.
27499 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
27500 `memdisk_size'. Free memdisk block.
27501
1a8b0526 275022008-01-21 Robert Millan <rmh@aybabtu.com>
27503
27504 Fix detection of very small filesystems (like tar).
27505
27506 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
27507 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
27508 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
27509 a problem with this disk).
27510
6e9b4aab 275112008-01-21 Robert Millan <rmh@aybabtu.com>
27512
27513 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
27514 on grub_biosdisk_rw_standard() error.
27515
0d8837b2 275162008-01-21 Robert Millan <rmh@aybabtu.com>
27517
27518 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
27519 recent changes.
27520 * kern/elf.c: Likewise.
27521 * kern/ieee1275/ieee1275.c: Likewise.
27522 * kern/powerpc/ieee1275/openfw.c: Likewise.
27523 * term/ieee1275/ofconsole.c: Likewise.
27524
ffd36e34 275252008-01-21 Robert Millan <rmh@aybabtu.com>
27526
27527 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
27528
3f0093d0 27529 * include/grub/kernel.h (grub_arch_memdisk_addr)
27530 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 27531
3f0093d0 27532 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
27533 (grub_arch_memdisk_size): ... to here.
ffd36e34 27534
6c391b21 275352008-01-21 Robert Millan <rmh@aybabtu.com>
27536
27537 Mostly based on bugfix from Bean.
27538
27539 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
27540 attribute with hook() parameter.
27541 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
27542 declaration.
27543 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
27544 attribute with hook() parameter.
27545 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
27546 declaration.
27547
55a581dc 275482008-01-21 Robert Millan <rmh@aybabtu.com>
27549
27550 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
27551 (pkglib_MODULES): Add `memdisk.mod'.
27552 (memdisk_mod_SOURCES): New variable.
27553 (memdisk_mod_CFLAGS): Likewise.
27554 (memdisk_mod_LDFLAGS): Likewise.
27555
27556 * disk/memdisk.c: New file.
27557
27558 * include/grub/disk.h (grub_disk_dev_id): Add
27559 `GRUB_DISK_DEVICE_MEMDISK_ID'.
27560
27561 * include/grub/i386/pc/kernel.h
27562 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
27563 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
27564 (grub_kernel_image_size): New variable declaration.
27565 (grub_total_module_size): Likewise.
27566 (grub_memdisk_image_size): Likewise.
27567
27568 * include/grub/i386/pc/memory.h
27569 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
27570
27571 * include/grub/kernel.h: Include `<grub/symbol.h>'.
27572 (grub_arch_memdisk_addr): New variable declaration.
27573 (grub_arch_memdisk_size): Likewise.
27574
27575 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
27576 (grub_arch_memdisk_size): Likewise.
27577
27578 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
27579 (codestart): Replace hardcoded `0x100000' with
27580 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
27581
27582 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
27583 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
27584 not NULL, append the contents of the file it refers to, at the end of
27585 the compressed kernel image. Initialize `grub_memdisk_image_size'
27586 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
27587 (options): Add "memdisk"|'m' option.
27588 (main): Parse --memdisk|-m option, and pass user-provided path as
27589 parameter to generate_image().
27590
3d7f54c9 275912008-01-20 Robert Millan <rmh@aybabtu.com>
27592
27593 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
27594 grub_dprintf() calls from here ...
27595 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
27596
0bf74728 275972008-01-20 Robert Millan <rmh@aybabtu.com>
27598
27599 Fix detection of "real mode" when /options/real-mode? doesn't exist.
27600
27601 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
27602 declaration.
27603 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
27604 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
27605 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 27606 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 27607 property).
27608 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
27609 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
27610
33bf70a7 276112008-01-19 Robert Millan <rmh@aybabtu.com>
27612
fe6b695a 27613 Get rid of confusing function (superseded by
33bf70a7 27614 `grub_ieee1275_get_integer_property')
27615 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
27616 prototype.
27617 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
27618 function.
27619 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
27620 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 27621 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 27622
e2da7d26 276232008-01-19 Robert Millan <rmh@aybabtu.com>
27624
27625 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
27626 command after "shut-down", since implementations differ on which
27627 the command for halt is.
27628
59f1fd8d 276292008-01-19 Robert Millan <rmh@aybabtu.com>
27630
27631 * include/grub/i386/linuxbios/console.h: Add header protection.
27632 (grub_keyboard_controller_init): New function prototype.
27633 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
27634 (KEYBOARD_COMMAND_READ): Likewise.
27635 (KEYBOARD_COMMAND_WRITE): Likewise.
27636 (KEYBOARD_SCANCODE_SET1): Likewise.
27637 (grub_keyboard_controller_write): New function.
27638 (grub_keyboard_controller_read): Likewise.
27639 (grub_keyboard_controller_init): Likewise.
27640
27641 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
27642 (grub_console_init): On coreboot/LinuxBIOS, call
27643 grub_keyboard_controller_init().
27644
5f5a7c15 276452008-01-19 Robert Millan <rmh@aybabtu.com>
27646
27647 PowerPC changes provided by Pavel Roskin.
27648
27649 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
27650 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
27651 don't rely on cmain() doing it.
27652 * kern/i386/ieee1275/startup.S (_start): Store %eax in
27653 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
27654
1210e168 276552008-01-16 Robert Millan <rmh@aybabtu.com>
27656
27657 * include/grub/i386/linuxbios/memory.h
27658 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
27659 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
27660 receive `table_header' as argument. Instead, probe for it in the
27661 known memory ranges where it can be present.
27662 (grub_available_iterate): Do not pass a fixed `table_header' address
27663 to grub_linuxbios_table_iterate().
27664
3d04eab8 276652008-01-15 Robert Millan <rmh@aybabtu.com>
27666
27667 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
27668 * conf/i386-ieee1275.rmk: New file.
27669 * include/grub/i386/ieee1275/console.h: Likewise.
27670 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
27671 * include/grub/i386/ieee1275/kernel.h: Likewise.
27672 * include/grub/i386/ieee1275/time.h: Likewise.
27673 * kern/i386/ieee1275/init.c: Likewise.
27674 * kern/i386/ieee1275/startup.S: Likewise.
27675
d1bc1b73 276762008-01-15 Robert Millan <rmh@aybabtu.com>
27677
27678 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
27679 when pointers are 32-bit (but still do set it to one when they are
27680 64-bit).
27681
66a65807 276822008-01-15 Robert Millan <rmh@aybabtu.com>
27683
27684 * include/grub/ieee1275/ieee1275.h
27685 (grub_ieee1275_get_integer_property): New function prototype.
27686
27687 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
27688 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 27689 grub_ieee1275_get_property() to handle endianness.
66a65807 27690
27691 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
27692 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 27693 where appropriate.
66a65807 27694 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
27695 (grub_map): Likewise.
27696 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
27697
a83ccafd 276982008-01-15 Bean <bean123ch@gmail.com>
27699
27700 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
27701 (grub_script_execute_cmdline): Reset grub_errno.
27702
27703 * normal/main.c (read_config_file): Reset grub_errno.
27704
27705 * normal/parse.y (script_init): New.
27706 (script): Move function and menuentry here.
27707 (delimiter): New.
27708 (command): Add delimiter at the end of command.
27709 (commands): Adjust to match the new command.
27710 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 27711 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 27712 (if): Use the new commands.
27713
27714 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
27715
df6ecfc6 277162008-01-15 Robert Millan <rmh@aybabtu.com>
27717
27718 * normal/menu.c (run_menu): Move timeout message from here ...
27719 (print_timeout): ... to here.
27720 (run_menu): Use print_timeout() once during initial draw to print
27721 the whole message, and again in every clock tick to update only
27722 the number of seconds.
27723
87ae25eb 277242008-01-15 Robert Millan <rmh@aybabtu.com>
27725
27726 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
27727 actual size of `available' from grub_ieee1275_get_property(), and
27728 restrict parsing to that bound.
27729
47bf09a4 277302008-01-15 Christian Franke <franke@computer.org>
27731
27732 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
27733 (argp_program_version): Remove variable.
27734 (argp_program_bug_address): Likewise.
27735 (options): Convert from struct argp_option to struct option.
27736 (struct arguments): Remove.
27737 (parse_opt): Remove.
27738 (usage): New function.
27739 (main): Replace struct args members by simple variables.
27740 Replace argp_parse() by getopt_long().
27741 Add switch to evaluate options.
27742 Add missing "(...)" around root_dev in prefix string.
27743
c86f1469 277442008-01-14 Robert Millan <rmh@aybabtu.com>
27745
27746 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
27747 for grub_ieee1275_exit(), in order to improve portability.
27748
e622c559 277492008-01-14 Robert Millan <rmh@aybabtu.com>
27750
27751 * util/grub.d/10_linux.in (prefix): Define.
27752 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
27753
44cb1ec8 277542008-01-13 Pavel Roskin <proski@gnu.org>
27755
27756 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
27757 grub_errno if no errors have been detected.
27758
1eb8c802 277592008-01-12 Robert Millan <rmh@aybabtu.com>
27760
27761 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
27762 (grub_util_get_dev_abstraction): New function prototype.
27763
27764 * util/getroot.c: Include `<grub/util/getroot.h>'
27765 (grub_util_get_grub_dev): Move detection of abstraction type to ...
27766 (grub_util_get_dev_abstraction): ... here (new function).
27767
27768 * util/grub-probe.c: Convert PRINT_* to an enum. Add
27769 `PRINT_ABSTRACTION'.
27770 (probe): Probe for abstraction type when requested.
27771 (main): Understand `--target=abstraction'.
27772
27773 * util/i386/efi/grub-install.in: Add abstraction module to core
27774 image when it is found to be necessary.
27775 * util/i386/pc/grub-install.in: Likewise.
27776 * util/powerpc/ieee1275/grub-install.in: Likewise.
27777
27778 * util/update-grub_lib.in (font_path): Return system path without
27779 converting to GRUB path.
27780 * util/update-grub.in: Convert system path returned by font_path()
27781 to a GRUB path. Use `grub-probe -t abstraction' to determine what
27782 abstraction module is needed for loading fonts (if any). Export
27783 that as `GRUB_PRELOAD_MODULES'.
27784 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
27785 insmod commands).
27786
52bd3de9 277872008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
27788
27789 Remove some unused code from reiserfs.
f19dbdb7 27790
52bd3de9 27791 * fs/reiserfs.c (struct grub_reiserfs_key)
27792 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
27793 (struct grub_reiserfs_node_body): Removed.
27794 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
27795 Likewise.
27796 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
27797 Likewise.
27798 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
27799 Likewise.
27800 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
27801 Likewise.
27802 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
27803 Likewise.
27804 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
27805 Likewise.
27806 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
27807 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
27808 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
27809
2f80039d 278102008-01-10 Robert Millan <rmh@aybabtu.com>
27811
27812 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
27813 Determines if a file is garbage left by packaging systems, etc.
27814 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
27815 for processing /etc/grub.d scripts.
27816 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
27817 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
27818 as a condition for processing Linux images.
27819
87888032 278202008-01-10 Pavel Roskin <proski@gnu.org>
27821
27822 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
27823 to compile reiserfs.c on PowerPC.
27824
7e54fced 278252008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 27826
27827 * kern/device.c (grub_device_iterate): Do not abort device iteration
27828 when one of the devices cannot be opened.
27829 * kern/disk.c (grub_disk_open): Do not account previous failures of
27830 unrelated functions when grub_errno is checked for.
27831
5aa541e6 278322008-01-08 Robert Millan <rmh@aybabtu.com>
27833
27834 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
27835 `! grub_linux_is_bzimage', change order of address comparison to make
27836 it more intuitive, and improve "too big zImage" error message.
27837
7076340d 278382008-01-08 Robert Millan <rmh@aybabtu.com>
27839
27840 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
27841 `$(update-grub_DATA)'.
27842 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
27843 targets.
27844
9ca70333 278452008-01-07 Robert Millan <rmh@aybabtu.com>
27846
27847 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
27848 which instruction is modified by grub-setup during installation
27849 (since it wasn't obvious by only looking at this file).
27850
38ccf575 278512008-01-07 Robert Millan <rmh@aybabtu.com>
27852
27853 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
27854 listing actual TODO items.
27855
f5db4291 278562008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27857
868967cf 27858 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
27859 correctly.
27860 (grub_reiserfs_get_key_offset): Likewise.
27861 (grub_reiserfs_set_key_offset): Likewise.
27862 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 27863 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 27864
27865 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
27866 better to remove the bitfield version completely.
f19dbdb7 27867
868967cf 278682008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27869
f5db4291 27870 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
27871 allocated from the heap, due to the fshelp implementation.
27872 (grub_reiserfs_dir): Free NODE, due to the same reason.
27873
492e6d9d 278742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27875
27876 Mostly from Vincent Pelletier:
f19dbdb7 27877
492e6d9d 27878 * fs/reiserfs.c: New file.
f19dbdb7 27879
492e6d9d 27880 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
27881 (reiserfs_mod_SOURCES): New variable.
27882 (reiserfs_mod_CFLAGS): Likewise.
27883 (reiserfs_mod_LDFLAGS): Likewise.
27884
27885 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
27886 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
27887 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
27888 normal/color.c.
27889
9ce3e7c1 278902008-01-06 Robert Millan <rmh@aybabtu.com>
27891
27892 * normal/color.c: Remove `<grub/env.h>'.
27893
f3b58148 278942008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
27895
27896 * include/grub/normal.h: Include <grub/env.h>.
27897
7ac3bcfa 278982008-01-05 Robert Millan <rmh@aybabtu.com>
27899
27900 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
27901 usage example with `(hd0,1)'.
fb358190 27902 Reported by Samuel Thibault.
7ac3bcfa 27903
c8ee99d7 279042008-01-05 Robert Millan <rmh@aybabtu.com>
27905
27906 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
27907 (grub_linux_boot_zimage): Rename to ...
27908 (grub_linux_boot): ... this.
27909 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
27910 (grub_linux_boot_zimage): Conditionalize zImage copy.
27911
27912 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
27913 (grub_linux_boot_bzimage): Remove prototype.
27914 (grub_linux_boot_zimage): Rename to ...
27915 (grub_linux_boot): ... this.
27916
27917 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
27918 (grub_linux_boot): Remove function.
27919
0ece25b1 279202008-01-05 Robert Millan <rmh@aybabtu.com>
27921
27922 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
27923 (grub_env_write_color_highlight): Likewise.
27924 (grub_wait_after_message): Likewise.
27925
27926 * normal/color.c: New file.
27927
27928 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27929 (normal_mod_DEPENDENCIES): Likewise.
27930
27931 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27932 (normal_mod_DEPENDENCIES): Likewise.
27933
27934 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27935 (normal_mod_DEPENDENCIES): Likewise.
27936
27937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
27938 (normal_mod_DEPENDENCIES): Likewise.
27939
27940 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
27941 for waiting after a message is printed.
27942 * normal/main.c (read_config_file): Likewise.
27943 (grub_normal_init): Register grub_env_write_color_normal() and
27944 grub_env_write_color_highlight() hooks. Mark `color_normal' and
27945 `color_highlight' variables as global.
27946
27947 * normal/menu.c (grub_wait_after_message): New function.
27948 (grub_color_menu_normal): New variable. Replaces ...
27949 (GRUB_COLOR_MENU_NORMAL): ... this macro.
27950 (grub_color_menu_highlight): New variable. Replaces ...
27951 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
27952 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
27953 `GRUB_TERM_COLOR_STANDARD'.
27954 (print_message): Use `grub_setcolorstate' to reload colors. Rename
27955 `normal_code' and `highlight_code' to `old_color_normal' and
27956 `old_color_highlight', respectively.
27957 (grub_menu_init_page): Update colors when drawing the menu, based on
27958 `menu_color_normal' and `menu_color_highlight' variables.
27959 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
27960 a message is printed.
27961
182dd4e5 279622008-01-05 Robert Millan <rmh@aybabtu.com>
27963
27964 * kern/env.c (grub_env_context_open): Propagate hooks for global
27965 variables to new context.
27966
27967 * kern/main.c (grub_set_root_dev): Export `root' variable.
27968
ddf8f6ad 279692008-01-05 Robert Millan <rmh@aybabtu.com>
27970
27971 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 27972 discs unconditionally, since udev and others have options to provide
ddf8f6ad 27973 them.
27974
d8b43d9b 279752008-01-05 Robert Millan <rmh@aybabtu.com>
27976
27977 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
27978
2bff2de3 279792008-01-04 Christian Franke <franke@computer.org>
27980
27981 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
27982 of eisa_mmap.
27983
97eab917 279842008-01-03 Pavel Roskin <proski@gnu.org>
27985
27986 * kern/i386/linuxbios/init.c: Put "void" to all function
27987 declarations with no arguments.
27988 * kern/powerpc/ieee1275/init.c: Likewise.
27989 * term/i386/pc/at_keyboard.c: Likewise.
27990 * term/i386/pc/vga_text.c: Likewise.
27991 * util/grub-mkdevicemap.c: Likewise.
27992
b9416d00 279932008-01-02 Robert Millan <rmh@aybabtu.com>
27994
27995 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
27996 message when loaded image is out of bounds.
27997 (grub_multiboot_load_elf64): Likewise.
27998
92695df9 279992008-01-02 Pavel Roskin <proski@gnu.org>
28000
28001 * util/grub.d/10_linux.in: Try version without ".old" when
28002 looking for initrd. It's better to use initrd from the newer
28003 kernel of the same version than no initrd at all.
28004
d98d9cad 280052008-01-01 Robert Millan <rmh@aybabtu.com>
28006
28007 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
28008
dbfdce36 280092008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
28010
f19dbdb7 28011 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 28012 grub_video_get_active_render_target.
28013 (grub_video_adapter): Added unmap_color and get_active_render_target.
28014
f19dbdb7 28015 * video/video.c: Added grub_video_unmap_color and
dbfdce36 28016 grub_video_get_active_render_target.
28017 (grub_video_get_info): Changed method to accept NULL pointer as an
28018 argument to allow detection of active video adapter.
28019
28020 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
28021 grub_video_vbe_unmap_color_int.
28022 Added grub_video_vbe_unmap_color and
28023 grub_video_vbe_get_active_render_target.
28024 (grub_video_vbe_adapter): Added unmap_color and
28025 get_active_render_target.
28026
f19dbdb7 28027 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 28028 with grub_video_vbe_unmap_color_int.
28029
28030 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
28031 (DEFAULT_NORMAL_COLOR): Likewise.
28032 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
28033 (DEFAULT_FG_COLOR): Removed.
28034 (DEFAULT_BG_COLOR): Likewise.
28035 (DEFAULT_CURSOR_COLOR): Changed value.
28036 (grub_virtual_screen): Added standard_color_setting,
28037 normal_color_setting, highlight_color_setting and term_color.
28038 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
28039 (bitmap_width): Added.
28040 (bitmap_height): Likewise.
28041 (bitmap): Likewise.
28042 (set_term_color): Likewise.
28043 (grub_virtual_screen_setup): Changed to use new terminal coloring
28044 settings.
28045 (grub_gfxterm_init): Added init for bitmap.
28046 (grub_gfxterm_fini): Added destroy for bitmap.
28047 (redraw_screen_rect): Updated to use background bitmap and new
28048 terminal coloring.
28049 (scroll_up): Added optimization for case when there is no bitmap.
28050 (grub_gfxterm_cls): Fixed to use correct background color.
28051 (grub_virtual_screen_setcolorstate): Changed to use new terminal
28052 coloring.
28053 (grub_virtual_screen_setcolor): Likewise.
28054 (grub_virtual_screen_getcolor): Added.
28055 (grub_gfxterm_background_image_cmd): Likewise.
28056 (grub_video_term): Added setcolor and getcolor.
28057 (MOD_INIT): Added registration of background_image command.
28058 (MOD_TERM): Added unregistration for background_image command.
28059
c3c20931 280602007-12-30 Pavel Roskin <proski@gnu.org>
28061
28062 * loader/multiboot_loader.c: Fix multiboot command
28063 unregistration. Fix all typos in the word "multiboot".
28064
df266716 280652007-12-29 Pavel Roskin <proski@gnu.org>
94239199 28066
28067 * util/grub.d/10_linux.in: Refactor search for initrd. Add
28068 support for initrd names used in Fedora.
28069
fc6e896c 280702007-12-26 Bean <bean123ch@gmail.com>
28071
28072 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
28073 (cpio_mod_SOURCES): New variable.
28074 (cpio_mod_CFLAGS): Likewise.
28075 (cpio_mod_LDFLAGS): Likewise.
28076
28077 * fs/cpio.c: New file.
28078
28079 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
28080
28081 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28082
28083 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28084
28085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28086
533110ad 280872007-12-25 Robert Millan <rmh@aybabtu.com>
28088
28089 * include/grub/term.h (struct grub_term): Add `getcolor' function.
28090 (grub_getcolor): New function.
28091
28092 * kern/term.c (grub_getcolor): New function.
28093 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
28094 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
28095 (print_entry): Set normal and highlight colors to
28096 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
28097 respectively, before printing and restore them to old
28098 values afterwards.
28099 (grub_menu_init_page): Likewise. Fill an additional colored space
28100 that would otherwise be left blank.
28101
28102 * term/efi/console.c (grub_console_getcolor): New function.
28103 (struct grub_console_term.getcolor): New variable.
28104 * term/i386/pc/console.c (grub_console_getcolor): New function.
28105 (struct grub_console_term.getcolor): New variable.
28106 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
28107 (struct grub_console_term.getcolor): New variable.
28108
28109 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
28110 (struct grub_console_term.setcolor): Remove variable.
28111 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
28112 (struct grub_console_term.setcolor): Remove variable.
28113 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
28114 (struct grub_console_term.setcolor): Remove variable.
28115 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
28116 (struct grub_console_term.setcolor): Remove variable.
28117
4931827f 281182007-12-25 Robert Millan <rmh@aybabtu.com>
28119
28120 * configure.ac: Search for possible unifont.hex locations, and
28121 define UNIFONT_HEX if found.
28122
28123 * Makefile.in (UNIFONT_HEX): Define variable.
28124 (DATA): Rename to ...
28125 (PKGLIB): ... this. Update all users.
28126 (PKGDATA): New variable.
28127 (pkgdata_IMAGES): Rename to ...
28128 (pkglib_IMAGES): ... this. Update all users.
28129 (pkgdata_MODULES): Rename to ...
28130 (pkglib_MODULES): ... this. Update all users.
28131 (pkgdata_PROGRAMS): Rename to ...
28132 (pkglib_PROGRAMS): ... this. Update all users.
28133 (pkgdata_DATA): Rename to ...
28134 (pkglib_DATA): ... this. Update all users.
28135 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
28136 (unicode.pff, ascii.pff): New rules.
28137 (all-local): Add `$(PKGDATA)' dependency.
28138 (install-local): Process `$(PKGDATA)'.
28139
28140 * util/update-grub_lib.in (font_path): Search for *.pff files in
28141 a few more locations, including `${pkgdata}'.
28142
57e57e31 281432007-12-23 Robert Millan <rmh@aybabtu.com>
28144
28145 Patch from Bean <bean123ch@gmail.com>:
28146 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
28147 `size'.
28148
4bc72aa9 281492007-12-21 Bean <bean123ch@gmail.com>
28150
28151 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
28152 (ntfscomp_mod_SOURCES): New variable.
28153 (ntfscomp_mod_CFLAGS): Likewise.
28154 (ntfscomp_mod_LDFLAGS): Likewise.
28155
28156 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
28157 (grub_probe_SOURCES): Likewise.
28158 (grub_emu_SOURCES): Likewise.
28159
28160 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
28161 (grub_emu_SOURCES): Likewise.
28162
28163 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
28164 (grub_emu_SOURCES): Likewise.
28165
28166 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
28167 (grub_emu_SOURCES): Likewise.
28168
28169 * fs/ntfs.c (grub_ntfscomp_func): New variable.
28170 (read_run_list): Renamed to grub_ntfs_read_run_list.
28171 (decomp_nextvcn): Moved to ntfscomp.c.
28172 (decomp_getch): Likewise.
28173 (decomp_get16): Likewise.
28174 (decomp_block): Likewise.
28175 (read_block): Likewise.
28176 (read_data): Partially moved to ntfscomp.c.
28177 (fixup): Change unsigned to grub_uint16_t.
28178 (read_mft): Change unsigned long to grub_uint32_t.
28179 (read_attr): Likewise.
28180 (read_data): Likewise.
28181 (read_run_data): Likewise.
28182 (read_run_list): Likewise.
28183 (read_mft): Likewise.
28184
28185 * fs/ntfscomp.c: New file.
28186
28187 * include/grub/ntfs.h: New file.
28188
af680a87 281892007-12-16 Robert Millan <rmh@aybabtu.com>
28190
28191 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
28192 IDE disk check, since Linux is known to support 20 IDE disks.
28193 Reported by Colin Watson.
28194
84be7599 281952007-12-15 Bean <bean123ch@gmail.com>
28196
28197 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
28198 (lnxboot_img_SOURCES): New variable.
28199 (lnxboot_img_ASFLAGS): Likewise.
28200 (lnxboot_img_LDFLAGS): Likewise.
28201
28202 * boot/i386/pc/lnxboot.S: New file.
28203
6af9db01 282042007-11-24 Pavel Roskin <proski@gnu.org>
28205
28206 * configure.ac: Test if '--build-id=none' is supported by the
28207 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
28208 objcopy to generate incorrect binary files (binutils
28209 2.17.50.0.18-1 as shipped by Fedora 8).
28210 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
28211 linking, so that build ID doesn't break the test.
28212
7361cfe6 282132007-11-24 Pavel Roskin <proski@gnu.org>
28214
28215 * include/grub/i386/time.h: use "void" in the argument list
28216 of grub_cpu_idle().
28217 * include/grub/powerpc/time.h: Likewise.
28218 * include/grub/sparc64/time.h: Likewise.
28219
1593e10c 282202007-11-18 Christian Franke <franke@computer.org>
28221
28222 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
28223 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
28224 This fixes the problem that function keys did not work in grub-emu.
28225
3b8db1a8 282262007-11-18 Christian Franke <franke@computer.org>
28227
28228 * disk/host.c (grub_host_open): Remove attribute unused from
28229 name parameter. Add check for "host". This fixes the problem
28230 that grub-emu does not find partitions.
28231
2e29408d 282322007-11-18 Christian Franke <franke@computer.org>
28233
28234 * util/hostfs.c (is_dir): New function.
28235 (grub_hostfs_dir): Handle missing dirent.d_type case.
28236 (grub_hostfs_read): Add missing fseek().
28237 (grub_hostfs_label): Clear label pointer. This fixes a crash
28238 of grub-emu on "ls (host)".
28239
398cd047 282402007-11-18 Christian Franke <franke@computer.org>
28241
28242 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
28243 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
28244 to 64 bit boundary by default.
28245
c405c391 282462007-11-18 Bean <bean123ch@gmail.com>
28247
28248 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
28249 (hexdump_mod_SOURCES): New variable.
28250 (hexdump_mod_CFLAGS): Likewise.
28251 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 28252
c405c391 28253 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
28254
28255 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
28256
28257 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
28258
28259 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
28260
28261 * include/grub/hexdump.h: New file.
28262
28263 * commands/hexdump.c: New file.
28264
5cced7fd 282652007-11-10 Robert Millan <rmh@aybabtu.com>
28266
28267 * commands/i386/pc/play.c (beep_off): Switch order of arguments
28268 in grub_outb() calls.
28269 (beep_on): Likewise.
28270
8b714eb0 282712007-11-10 Christian Franke <franke@computer.org>
28272
28273 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
28274 (grub_menu_run): Likewise.
28275
ce0f1839 282762007-11-10 Robert Millan <rmh@aybabtu.com>
28277
28278 * include/grub/i386/efi/machine.h: New file.
28279 * include/grub/i386/linuxbios/machine.h: Likewise.
28280 * include/grub/i386/pc/machine.h: Likewise.
28281 * include/grub/powerpc/ieee1275/machine.h: Likewise.
28282 * include/grub/sparc64/ieee1275/machine.h: Likewise.
28283
28284 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
28285 (serial_hw_io_addr): New variable.
28286 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
28287 instead of `(unsigned short *) 0x400'.
28288
270c237d 282892007-11-10 Bean <bean123ch@gmail.com>
28290
28291 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
28292
a87783bf 282932007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
28294
28295 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
28296 (vga_mod_SOURCES): Added.
28297 (vga_mod_CFLAGS): Likewise.
28298 (vga_mod_LDFLAGS): Likewise.
28299
28300 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
28301 grub_outb() calls.
28302 (set_map_mask): Likewise.
28303 (set_read_map): Likewise.
28304 (set_read_address): Likewise.
28305 (vga_font): Removed variable.
28306 (get_vga_glyph): Removed function.
28307 (invalidate_char): Likewise.
28308 (write_char): Changed to use grub_font_get_glyph() for font
28309 information.
28310 (grub_vga_putchar): Likewise.
28311 (grub_vga_getcharwidth): Likewise.
28312
6433b448 283132007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
28314
28315 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
28316 flags.
28317 (pxeboot_img_LDFLAGS): Likewise.
28318 (diskboot_img_LDFLAGS): Likewise.
28319 (kernel_img_LDFLAGS): Likewise.
28320
49178511 283212007-11-06 Robert Millan <rmh@aybabtu.com>
28322
28323 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
28324 in grub_outb() calls.
28325 (serial_hw_init): Likewise.
28326
53b052de 283272007-11-05 Robert Millan <rmh@aybabtu.com>
28328
28329 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
28330 spaces. Skip non-regular files.
28331
5ab33bba 283322007-11-05 Robert Millan <rmh@aybabtu.com>
28333
28334 * kern/disk.c (grub_disk_firmware_fini)
28335 (grub_disk_firmware_is_tainted): New variables.
28336
28337 * include/grub/disk.h (grub_disk_firmware_fini)
28338 (grub_disk_firmware_is_tainted): Likewise.
28339
28340 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
28341 (grub_disk_biosdisk_fini): ... to here.
28342 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
28343 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
28344 is set. Register grub_disk_biosdisk_fini() in
28345 `grub_disk_firmware_fini'.
28346
28347 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
28348 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
28349 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
28350 to finish existing firmware disk interface.
28351
28352 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
28353 (ata_mod_SOURCES): New variable.
28354 (ata_mod_CFLAGS): Likewise.
28355 (ata_mod_LDFLAGS): Likewise.
28356
0149ab7c 283572007-11-05 Robert Millan <rmh@aybabtu.com>
28358
28359 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
28360 (grub_ata_wait): Reimplement using grub_millisleep().
28361
28362 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
28363 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
28364
be7ac41e 283652007-11-03 Marco Gerards <marco@gnu.org>
28366
28367 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
28368 (CRTC_ADDR_PORT): New macro.
28369 (CRTC_DATA_PORT): Likewise.
28370 (CRTC_CURSOR): Likewise.
28371 (CRTC_CURSOR_ADDR_HIGH): Likewise.
28372 (CRTC_CURSOR_ADDR_LOW): Likewise.
28373 (update_cursor): New function.
28374 (grub_console_real_putchar): Call `update_cursor'.
28375 (grub_console_gotoxy): Likewise.
28376 (grub_console_cls): Set the default color when clearing the
28377 screen.
28378 (grub_console_setcursor): Implemented.
28379
bb06ab2e 283802007-11-03 Marco Gerards <marco@gnu.org>
28381
28382 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
28383 become activate.
28384 (grub_ata_pio_write): Likewise.
28385
28386 (grub_atapi_identify): Wait after issuing an ATA command.
28387 (grub_atapi_packet): Likewise.
28388 (grub_ata_identify): Likewise.
28389 (grub_ata_readwrite): Likewise.
28390
cf8f780b 283912007-11-03 Marco Gerards <marco@gnu.org>
28392
28393 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
28394 (grub_ata_pio_write): Likewise.
28395 (grub_ata_readwrite): Use `grub_error', instead of
28396 returning `grub_errno'.
28397
ed649e54 283982007-11-03 Marco Gerards <marco@gnu.org>
28399
28400 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
28401 grub_ata_pio_write once for every single sector, instead of for
28402 multiple sectors.
28403
ca25d8f0 284042007-10-31 Robert Millan <rmh@aybabtu.com>
28405
28406 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
28407
28408 * conf/i386-linuxbios.rmk: New file.
28409
28410 * kern/i386/pc/hardware.c: Likewise.
28411 * term/i386/pc/at_keyboard.c: Likewise.
28412 * term/i386/pc/vga_text.c: Likewise.
28413
28414 * include/grub/i386/linuxbios/boot.h: Likewise.
28415 * include/grub/i386/linuxbios/console.h: Likewise.
28416 * include/grub/i386/linuxbios/init.h: Likewise.
28417 * include/grub/i386/linuxbios/kernel.h: Likewise.
28418 * include/grub/i386/linuxbios/loader.h: Likewise.
28419 * include/grub/i386/linuxbios/memory.h: Likewise.
28420 * include/grub/i386/linuxbios/serial.h: Likewise.
28421 * include/grub/i386/linuxbios/time.h: Likewise.
28422
28423 * kern/i386/linuxbios/init.c: Likewise.
28424 * kern/i386/linuxbios/startup.S: Likewise.
28425 * kern/i386/linuxbios/table.c: Likewise.
28426
e911ecc1 284272007-10-31 Marco Gerards <marco@gnu.org>
28428
28429 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
28430 (ata_mod_SOURCES): New variable.
28431 (ata_mod_CFLAGS): Likewise.
28432 (ata_mod_LDFLAGS): Likewise.
28433
28434 * disk/ata.c: New file.
28435
28436 * include/grub/disk.h (grub_disk_dev_id): Add
28437 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 28438
7f66d0e0 284392007-10-31 Robert Millan <rmh@aybabtu.com>
28440
28441 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
28442 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
28443
28444 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
28445 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
28446
28447 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
28448 `<grub/types.h>'.
28449
28450 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
28451
5cd7dd46 284522007-10-27 Robert Millan <rmh@aybabtu.com>
28453
3236ca65 28454 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 28455
2ebfc90f 284562007-10-22 Robert Millan <rmh@aybabtu.com>
28457
28458 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
28459 `"../realmode.S"'.
28460 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
28461
73fcb0f3 284622007-10-22 Robert Millan <rmh@aybabtu.com>
28463
28464 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
28465 (pkgdata_MODULES): Add `biosdisk.mod'.
28466 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
28467 variables.
28468
28469 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
28470 (grub_biosdisk_init): Replace with ...
28471 (GRUB_MOD_INIT(biosdisk)): ... this.
28472 (grub_biosdisk_fini): Replace with ...
28473 (GRUB_MOD_FINI(biosdisk)): ... this.
28474
28475 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
28476 (grub_machine_init): Remove call to grub_biosdisk_init().
28477 (grub_machine_fini): Remove call to grub_machine_fini().
28478
28479 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
28480
3381d274 284812007-10-22 Robert Millan <rmh@aybabtu.com>
28482
28483 * include/grub/time.h: New file.
28484 * include/grub/i386/time.h: Likewise.
28485 * include/grub/powerpc/time.h: Likewise.
28486 * include/grub/sparc64/time.h: Likewise.
28487
28488 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
28489 instances to ...
28490 (KERNEL_MACHINE_TIME_HEADER): ... this.
28491 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
28492 instances to ...
28493 (KERNEL_MACHINE_TIME_HEADER): ... this.
28494 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
28495 instances to ...
28496 (KERNEL_MACHINE_TIME_HEADER): ... this.
28497
28498 * kern/i386/efi/init.c: Include `<grub/time.h>'.
28499 (grub_millisleep): New function.
28500 * kern/i386/pc/init.c: Include `<grub/time.h>'.
28501 (grub_millisleep): New function.
28502 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
28503 Remove `grub/machine/time.h' include.
28504 (grub_millisleep): New function.
28505 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
28506 Remove `grub/machine/time.h' include.
28507 (grub_millisleep): New function.
28508
28509 * include/grub/misc.h (grub_div_roundup): New function.
28510
28511 * kern/misc.c: Include `<grub/time.h>'.
28512 (grub_millisleep_generic): New function.
28513
28514 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
28515 Add `time.h'.
28516 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
28517 Add `time.h'.
28518 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
28519 `machine/time.h'. Add `time.h'.
28520 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28521
a39a0312 285222007-10-21 Robert Millan <rmh@aybabtu.com>
28523
28524 * include/grub/misc.h (grub_max): New function.
28525
2aad70e2 285262007-10-21 Robert Millan <rmh@aybabtu.com>
28527
28528 * util/misc.c (grub_util_info): Call fflush() before returning.
28529
54b71c4b 285302007-10-20 Robert Millan <rmh@aybabtu.com>
28531
28532 * genmk.rb (Image): Copy `extra_flags' from here ...
28533 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
28534
28535 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
28536 to `argc' and `args' arguments.
28537
a979f513 285382007-10-17 Robert Millan <rmh@aybabtu.com>
28539
28540 * kern/i386/loader.S: New file.
28541
28542 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
28543 * kern/i386/loader.S (grub_linux_prot_size)... to here.
28544 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
28545 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
28546 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
28547 * kern/i386/loader.S (grub_linux_real_addr)... to here.
28548 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
28549 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
28550 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
28551 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
28552 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
28553 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
28554 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
28555 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
28556
28557 * kern/i386/realmode.S: New file.
28558
28559 * kern/i386/pc/startup.S (protstack): Moved from here ...
28560 * kern/i386/realmode.S (protstack)... to here.
28561 * kern/i386/pc/startup.S (gdt): Moved from here ...
28562 * kern/i386/realmode.S (gdt)... to here.
28563 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
28564 * kern/i386/realmode.S (prot_to_real)... to here.
28565
28566 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
28567 `kern/i386/realmode.S'.
28568
825fc8fd 285692007-10-17 Robert Millan <rmh@aybabtu.com>
28570
28571 * include/grub/i386/loader.h: New file.
28572
28573 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
28574 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
28575 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
28576 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
28577 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
28578 * include/grub/i386/loader.h (grub_linux_prot_size)
28579 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
28580 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
28581 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
28582 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
28583
28584 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
28585
e179b2f4 285862007-10-15 Robert Millan <rmh@aybabtu.com>
28587
28588 * normal/misc.c (grub_normal_print_device_info): Do not probe for
28589 filesystem when dev->disk is unset.
28590 Do probe for filesystem even when dev->disk->has_partitions is set.
28591 In case a filesystem is found, always report it.
28592 In case it isn't, if dev->disk->has_partitions is set, report that
28593 a partition table was found instead of reporting that no filesystem
28594 could be identified.
28595
5db82af6 285962007-10-12 Robert Millan <rmh@aybabtu.com>
28597
28598 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
28599 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
28600
68f6ac74 28601 * include/grub/types.h (grub_host_to_target16): New macro.
28602 (grub_host_to_target32): Likewise.
28603 (grub_host_to_target64): Likewise.
28604 (grub_target_to_host16): Likewise.
28605 (grub_target_to_host32): Likewise.
28606 (grub_target_to_host64): Likewise.
5db82af6 28607
28608 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28609 Renamed from to ...
28610 (GRUB_MOD_ALIGN): ...this. Update all users.
28611
68f6ac74 28612 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
28613 grub_host_to_target32.
28614 Replace grub_be_to_cpu32 with grub_target_to_host32.
28615 (load_modules): Likewise.
28616 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
28617 Replace grub_be_to_cpu32 with grub_target_to_host32.
28618 Replace grub_cpu_to_be16 with grub_host_to_target16.
28619 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 28620
3cf497cc 286212007-10-12 Robert Millan <rmh@aybabtu.com>
28622
28623 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
28624 * util/elf/grub-mkimage.c: ... here.
28625
28626 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
28627 `util/powerpc/ieee1275/grub-mkimage.c'.
28628
c8cc3692 286292007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 28630
c8cc3692 28631 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
28632 and make it easier to figure out.
28633 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
28634 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
28635 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
28636 leave us with less than HEAP_MIN_SIZE total heap.
28637 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 28638
5c58b791 286392007-10-03 Robert Millan <rmh@aybabtu.com>
28640
28641 * include/grub/i386/io.h: New file.
28642 * commands/i386/pc/play.c (inb): Removed.
28643 (outb): Removed.
28644 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
28645 with grub_outb().
afcd2ef8 28646 * term/i386/pc/serial.c (inb): Removed.
28647 (outb): Removed.
28648 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
28649 with grub_outb().
28650 * term/i386/pc/vga.c (inb): Removed.
28651 (outb): Removed.
28652 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
28653 with grub_outb().
5c58b791 28654
1a477ed6 286552007-10-02 Robert Millan <rmh@aybabtu.com>
28656
28657 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
28658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28659 Reported by Marcin Kurek.
28660
6b5d80fa 286612007-09-07 Robert Millan <rmh@aybabtu.com>
28662
28663 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
28664 SmartFirmware version updates (as released by Sven Luther), and avoid
28665 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
28666 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
28667 known broken.
28668
5618afbf 286692007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
28670
28671 From Hitoshi Ozeki:
28672 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
28673 when merging two regions.
28674
6139dcd9 286752007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
28676
508e39ee 28677 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
28678 * normal/completion.c (grub_normal_do_completion): Likewise.
28679 Reported by Hitoshi Ozeki.
28680
286812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28682
6139dcd9 28683 Do not use devices at boot in chainloading.
f19dbdb7 28684
6139dcd9 28685 * loader/i386/pc/chainloader.c (boot_drive): New variable.
28686 (boot_part_addr): Likewise.
28687 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
28688 with BOOT_DRIVE and BOOT_PART_ADDR.
28689 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
28690 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
28691
38da6516 286922007-08-29 Robert Millan <rmh@aybabtu.com>
28693
28694 Patch from Simon Peter <dn.tlp@gmx.net>:
28695 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
28696 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
28697 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
28698 util/i386/pc/grub-setup.c_DEPENDENCIES.
28699 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
28700 util/grub-probe.c_DEPENDENCIES.
28701 * conf/powerpc-ieee1275.rmk: Likewise.
28702
29d0928c 287032007-08-28 Robert Millan <rmh@aybabtu.com>
28704
28705 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
28706 to tell grub-mkdevicemap how to name devices.
28707 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
28708 feature).
28709
28710 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
28711 util/i386/get_disk_name.c.
28712 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
28713 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
28714 util/ieee1275/get_disk_name.c.
28715
28716 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
28717
28718 * DISTLIST: Add util/i386/get_disk_name.c and
28719 util/ieee1275/get_disk_name.c.
28720
28721 * util/grub-mkdevicemap.c: Replace device naming logic with
28722 grub_util_get_disk_name() calls.
28723
5a0d3cca 287242007-08-20 Robert Millan <rmh@aybabtu.com>
28725
28726 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
28727 (so that it works for both plural and singular quantities).
28728
8b72db2f 287292007-08-05 Robert Millan <rmh@aybabtu.com>
28730
28731 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
28732 so that [xz] isn't taken into account when determining order.
28733
352466bf 287342007-08-02 Marco Gerards <marco@gnu.org>
28735
28736 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
28737 `include/multiboot2.h', `include/grub/elfload.h',
28738 `include/multiboot.h', `include/grub/multiboot.h',
28739 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
28740 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
28741 `kern/elf.c', `loader/multiboot_loader.c',
28742 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
28743 `loader/i386/pc/multiboot2.c',
28744 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
28745 `util/i386/pc/grub-mkrescue.in'. Remove
28746 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
28747 `include/grub/i386/pc/util/biosdisk.h' and
28748 `include/grub/powerpc/ieee1275/multiboot.h'.
28749
8f096014 287502007-08-02 Bean <bean123ch@gmail.com>
28751
28752 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
28753 (ntfs_mod_SOURCES): New variable.
28754 (ntfs_mod_CFLAGS): Likewise.
28755 (ntfs_mod_LDFLAGS): Likewise.
28756
28757 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
28758 (grub_probe_SOURCES): Likewise.
28759 (grub_emu_SOURCES): Likewise.
28760
28761 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
28762 (grub_emu_SOURCES): Likewise.
28763
28764 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
28765 (grub_emu_SOURCES): Likewise.
f19dbdb7 28766
8f096014 28767 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
28768
28769 * fs/ntfs.c: New file.
28770
9959f7db 287712007-08-02 Bean <bean123ch@gmail.com>
28772
28773 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
28774
28775 * file.h (grub_file): Likewise.
28776
28777 * fshelp.h (grub_fshelp_read_file): Likewise.
28778
28779 * util/i386/pc/grub-setup.c (setup): Likewise.
28780 (save_first_sector): Likewise.
28781 (save_blocklists): Likewise.
f19dbdb7 28782
9959f7db 28783 * fs/affs.c (grub_affs_read_file): Likewise.
28784
28785 * fs/ext2.c (grub_ext2_read_file): Likewise.
28786
28787 * fs/fat.c (grub_fat_read_data): Likewise.
28788
28789 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
28790
28791 * fs/hfs.c (grub_hfs_read_file): Likewise.
28792
28793 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
28794
28795 * fs/jfs.c (grub_jfs_read_file): Likewise.
28796
28797 * fs/minix.c (grub_minix_read_file): Likewise.
28798
28799 * fs/sfs.c (grub_sfs_read_file): Likewise.
28800
28801 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 28802
9959f7db 28803 * fs/xfs.c (grub_xfs_read_file): Likewise.
28804
28805 * command/blocklist.c (read_blocklist): Likewise.
28806 (print_blocklist): Likewise.
28807
0a203f83 288082007-08-02 Marco Gerards <marco@gnu.org>
28809
28810 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
28811 `util/hostfs.c'.
28812
28813 * disk/host.c: New file.
28814
28815 * util/hostfs.c: Likewise.
28816
28817 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
28818 return `GRUB_ERR_BAD_FS'.
28819 * fs/sfs.c (grub_sfs_mount): Likewise.
28820 * fs/xfs.c (grub_xfs_mount): Likewise.
28821
28822 * include/grub/disk.h (enum grub_disk_dev_id): Add
28823 `GRUB_DISK_DEVICE_HOST_ID'.
28824
28825 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
28826
e5dfe777 288272007-07-24 Jerone Young <jerone@gmail.com>
28828
f19dbdb7 28829 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 28830 modules for compilation.
28831 * conf/powerpc-ieee1275.rmk: Likewise.
28832
28833 * include/multiboot.h: Move multiboot definitions to one file. Rename
28834 many definitions to not get grub specific.
28835 * include/multiboot2.h: Create header with multiboot 2 definitions.
28836 * include/grub/multiboot.h: Header for grub specific function
28837 prototypes and definitions.
28838 * include/grub/multiboot2.h: Likewise.
28839 * include/grub/multiboot_loader.h: Likewise.
28840 * include/grub/i386/pc/multiboot.h: Removed.
28841 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
28842
28843 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
28844 and 2 to allow for one multiboot and module commands.
28845 * loader/multiboot2.c: Add multiboot2 functionality.
28846 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
28847 and definition names.
28848 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
28849 2 functions.
28850 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
28851 ieee1275 specific multiboot2 code.
28852
28853 * kern/i386/pc/startup.S: Change headers and definition names for
28854 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
28855
daf0f0ba 288562007-07-22 Robert Millan <rmh@aybabtu.com>
28857
28858 * geninitheader.sh: Process file specified in first parameter rather
28859 than hardcoding grub_modules_init.lst.
fe6b695a 28860 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 28861 than hardcoding grub_modules_init.h.
28862
28863 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
28864 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
28865 grub_probe_init.[ch] and grub_setup_init.[ch].
28866
28867 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
28868 grub_modules_init.h with grub_emu_init.h.
28869 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
28870 grub_probe_init.[ch] files.
28871 * conf/i386-efi.rmk: Likewise.
28872 * conf/i386-pc.rmk: Likewise.
28873 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
28874 grub_setup_init.[ch] files.
28875
28876 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
28877 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
28878 to initialize modules rather than a list of hardcoded functions.
28879 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
28880 grub_init_all() to initialize modules rather than a list of hardcoded
28881 functions.
28882
54cdc1cc 288832007-07-22 Robert Millan <rmh@aybabtu.com>
28884
28885 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
28886 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
28887
ad0686cc 288882007-07-22 Robert Millan <rmh@aybabtu.com>
28889
28890 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28891 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
28892 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
28893 flag when running on SmartFirmware.
28894 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
28895 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
28896 was set.
28897
28898 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28899 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
28900 rather than decreasing it.
28901
28902 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
28903 there's not enough space to do it, fail in the same way as when it
28904 can't be done because there are no partitions.
28905
28906 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
28907 when nvsetenv failed.
28908
969c02ec 289092007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
28910
28911 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
28912 because this rule is automatically generated.
28913 (grub-mkrescue): Removed for the same reason as above.
28914
5a79f472 289152007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
28916
28917 Migrate to GNU General Public License Version 3.
f19dbdb7 28918
5a79f472 28919 * COPYING: Replaced with the plain text version of GPLv3.
28920
28921 * config.guess: Updated from gnulib.
28922 * config.sub: Likewise.
28923
28924 * geninit.sh: Output a GPLv3 copyright notice.
28925 * geninitheader.sh: Likewise.
28926 * genmodsrc.sh: Likewise.
28927 * gensymlist.sh.in: Likewise.
28928
28929 * boot/i386/pc/boot.S: Upgraded to GPLv3.
28930 * boot/i386/pc/diskboot.S: Likewise.
28931 * boot/i386/pc/pxeboot.S: Likewise.
28932 * commands/blocklist.c: Likewise.
28933 * commands/boot.c: Likewise.
28934 * commands/cat.c: Likewise.
28935 * commands/cmp.c: Likewise.
28936 * commands/configfile.c: Likewise.
28937 * commands/echo.c: Likewise.
28938 * commands/help.c: Likewise.
28939 * commands/ls.c: Likewise.
28940 * commands/search.c: Likewise.
28941 * commands/terminal.c: Likewise.
28942 * commands/test.c: Likewise.
28943 * commands/videotest.c: Likewise.
28944 * commands/i386/cpuid.c: Likewise.
28945 * commands/i386/pc/halt.c: Likewise.
28946 * commands/i386/pc/play.c: Likewise.
28947 * commands/i386/pc/reboot.c: Likewise.
28948 * commands/i386/pc/vbeinfo.c: Likewise.
28949 * commands/i386/pc/vbetest.c: Likewise.
28950 * commands/ieee1275/halt.c: Likewise.
28951 * commands/ieee1275/reboot.c: Likewise.
28952 * commands/ieee1275/suspend.c: Likewise.
28953 * disk/loopback.c: Likewise.
28954 * disk/lvm.c: Likewise.
28955 * disk/raid.c: Likewise.
28956 * disk/efi/efidisk.c: Likewise.
28957 * disk/i386/pc/biosdisk.c: Likewise.
28958 * disk/ieee1275/ofdisk.c: Likewise.
28959 * font/manager.c: Likewise.
28960 * fs/affs.c: Likewise.
28961 * fs/ext2.c: Likewise.
28962 * fs/fat.c: Likewise.
28963 * fs/fshelp.c: Likewise.
28964 * fs/hfs.c: Likewise.
28965 * fs/hfsplus.c: Likewise.
28966 * fs/iso9660.c: Likewise.
28967 * fs/jfs.c: Likewise.
28968 * fs/minix.c: Likewise.
28969 * fs/sfs.c: Likewise.
28970 * fs/ufs.c: Likewise.
28971 * fs/xfs.c: Likewise.
28972 * hello/hello.c: Likewise.
28973 * include/grub/acorn_filecore.h: Likewise.
28974 * include/grub/arg.h: Likewise.
28975 * include/grub/bitmap.h: Likewise.
28976 * include/grub/boot.h: Likewise.
28977 * include/grub/cache.h: Likewise.
28978 * include/grub/device.h: Likewise.
28979 * include/grub/disk.h: Likewise.
28980 * include/grub/dl.h: Likewise.
28981 * include/grub/elfload.h: Likewise.
28982 * include/grub/env.h: Likewise.
28983 * include/grub/err.h: Likewise.
28984 * include/grub/file.h: Likewise.
28985 * include/grub/font.h: Likewise.
28986 * include/grub/fs.h: Likewise.
28987 * include/grub/fshelp.h: Likewise.
28988 * include/grub/gzio.h: Likewise.
28989 * include/grub/hfs.h: Likewise.
28990 * include/grub/kernel.h: Likewise.
28991 * include/grub/loader.h: Likewise.
28992 * include/grub/lvm.h: Likewise.
28993 * include/grub/misc.h: Likewise.
28994 * include/grub/mm.h: Likewise.
28995 * include/grub/net.h: Likewise.
28996 * include/grub/normal.h: Likewise.
28997 * include/grub/parser.h: Likewise.
28998 * include/grub/partition.h: Likewise.
28999 * include/grub/pc_partition.h: Likewise.
29000 * include/grub/raid.h: Likewise.
29001 * include/grub/rescue.h: Likewise.
29002 * include/grub/script.h: Likewise.
29003 * include/grub/setjmp.h: Likewise.
29004 * include/grub/symbol.h: Likewise.
29005 * include/grub/term.h: Likewise.
29006 * include/grub/terminfo.h: Likewise.
29007 * include/grub/tparm.h: Likewise.
29008 * include/grub/types.h: Likewise.
29009 * include/grub/video.h: Likewise.
29010 * include/grub/efi/api.h: Likewise.
29011 * include/grub/efi/chainloader.h: Likewise.
29012 * include/grub/efi/console.h: Likewise.
29013 * include/grub/efi/console_control.h: Likewise.
29014 * include/grub/efi/disk.h: Likewise.
29015 * include/grub/efi/efi.h: Likewise.
29016 * include/grub/efi/pe32.h: Likewise.
29017 * include/grub/efi/time.h: Likewise.
29018 * include/grub/i386/linux.h: Likewise.
29019 * include/grub/i386/setjmp.h: Likewise.
29020 * include/grub/i386/types.h: Likewise.
29021 * include/grub/i386/efi/kernel.h: Likewise.
29022 * include/grub/i386/efi/loader.h: Likewise.
29023 * include/grub/i386/efi/time.h: Likewise.
29024 * include/grub/i386/pc/biosdisk.h: Likewise.
29025 * include/grub/i386/pc/boot.h: Likewise.
29026 * include/grub/i386/pc/chainloader.h: Likewise.
29027 * include/grub/i386/pc/console.h: Likewise.
29028 * include/grub/i386/pc/init.h: Likewise.
29029 * include/grub/i386/pc/kernel.h: Likewise.
29030 * include/grub/i386/pc/loader.h: Likewise.
29031 * include/grub/i386/pc/memory.h: Likewise.
29032 * include/grub/i386/pc/multiboot.h: Likewise.
29033 * include/grub/i386/pc/serial.h: Likewise.
29034 * include/grub/i386/pc/time.h: Likewise.
29035 * include/grub/i386/pc/vbe.h: Likewise.
29036 * include/grub/i386/pc/vbeblit.h: Likewise.
29037 * include/grub/i386/pc/vbefill.h: Likewise.
29038 * include/grub/i386/pc/vbeutil.h: Likewise.
29039 * include/grub/i386/pc/vga.h: Likewise.
29040 * include/grub/ieee1275/ieee1275.h: Likewise.
29041 * include/grub/ieee1275/ofdisk.h: Likewise.
29042 * include/grub/powerpc/libgcc.h: Likewise.
29043 * include/grub/powerpc/setjmp.h: Likewise.
29044 * include/grub/powerpc/types.h: Likewise.
29045 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
29046 * include/grub/powerpc/ieee1275/console.h: Likewise.
29047 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
29048 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
29049 * include/grub/powerpc/ieee1275/loader.h: Likewise.
29050 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
29051 * include/grub/powerpc/ieee1275/time.h: Likewise.
29052 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
29053 * include/grub/sparc64/libgcc.h: Likewise.
29054 * include/grub/sparc64/setjmp.h: Likewise.
29055 * include/grub/sparc64/types.h: Likewise.
29056 * include/grub/sparc64/ieee1275/console.h: Likewise.
29057 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29058 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29059 * include/grub/sparc64/ieee1275/time.h: Likewise.
29060 * include/grub/util/biosdisk.h: Likewise.
29061 * include/grub/util/getroot.h: Likewise.
29062 * include/grub/util/lvm.h: Likewise.
29063 * include/grub/util/misc.h: Likewise.
29064 * include/grub/util/raid.h: Likewise.
29065 * include/grub/util/resolve.h: Likewise.
29066 * io/gzio.c: Likewise.
29067 * kern/device.c: Likewise.
29068 * kern/disk.c: Likewise.
29069 * kern/dl.c: Likewise.
29070 * kern/elf.c: Likewise.
29071 * kern/env.c: Likewise.
29072 * kern/err.c: Likewise.
29073 * kern/file.c: Likewise.
29074 * kern/fs.c: Likewise.
29075 * kern/loader.c: Likewise.
29076 * kern/main.c: Likewise.
29077 * kern/misc.c: Likewise.
29078 * kern/mm.c: Likewise.
29079 * kern/parser.c: Likewise.
29080 * kern/partition.c: Likewise.
29081 * kern/rescue.c: Likewise.
29082 * kern/term.c: Likewise.
29083 * kern/efi/efi.c: Likewise.
29084 * kern/efi/init.c: Likewise.
29085 * kern/efi/mm.c: Likewise.
29086 * kern/i386/dl.c: Likewise.
29087 * kern/i386/efi/init.c: Likewise.
29088 * kern/i386/efi/startup.S: Likewise.
29089 * kern/i386/pc/init.c: Likewise.
29090 * kern/i386/pc/lzo1x.S: Likewise.
29091 * kern/i386/pc/startup.S: Likewise.
29092 * kern/ieee1275/ieee1275.c: Likewise.
29093 * kern/powerpc/cache.S: Likewise.
29094 * kern/powerpc/dl.c: Likewise.
29095 * kern/powerpc/ieee1275/cmain.c: Likewise.
29096 * kern/powerpc/ieee1275/crt0.S: Likewise.
29097 * kern/powerpc/ieee1275/init.c: Likewise.
29098 * kern/powerpc/ieee1275/openfw.c: Likewise.
29099 * kern/sparc64/cache.S: Likewise.
29100 * kern/sparc64/dl.c: Likewise.
29101 * kern/sparc64/ieee1275/init.c: Likewise.
29102 * kern/sparc64/ieee1275/openfw.c: Likewise.
29103 * loader/efi/chainloader.c: Likewise.
29104 * loader/efi/chainloader_normal.c: Likewise.
29105 * loader/i386/efi/linux.c: Likewise.
29106 * loader/i386/efi/linux_normal.c: Likewise.
29107 * loader/i386/pc/chainloader.c: Likewise.
29108 * loader/i386/pc/chainloader_normal.c: Likewise.
29109 * loader/i386/pc/linux.c: Likewise.
29110 * loader/i386/pc/linux_normal.c: Likewise.
29111 * loader/i386/pc/multiboot.c: Likewise.
29112 * loader/i386/pc/multiboot_normal.c: Likewise.
29113 * loader/powerpc/ieee1275/linux.c: Likewise.
29114 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29115 * normal/arg.c: Likewise.
29116 * normal/cmdline.c: Likewise.
29117 * normal/command.c: Likewise.
29118 * normal/completion.c: Likewise.
29119 * normal/execute.c: Likewise.
29120 * normal/function.c: Likewise.
29121 * normal/lexer.c: Likewise.
29122 * normal/main.c: Likewise.
29123 * normal/menu.c: Likewise.
29124 * normal/menu_entry.c: Likewise.
29125 * normal/misc.c: Likewise.
29126 * normal/parser.y: Likewise.
29127 * normal/script.c: Likewise.
29128 * normal/i386/setjmp.S: Likewise.
29129 * normal/powerpc/setjmp.S: Likewise.
29130 * normal/sparc64/setjmp.S: Likewise.
29131 * partmap/acorn.c: Likewise.
29132 * partmap/amiga.c: Likewise.
29133 * partmap/apple.c: Likewise.
29134 * partmap/gpt.c: Likewise.
29135 * partmap/pc.c: Likewise.
29136 * partmap/sun.c: Likewise.
29137 * term/gfxterm.c: Likewise.
29138 * term/terminfo.c: Likewise.
29139 * term/efi/console.c: Likewise.
29140 * term/i386/pc/console.c: Likewise.
29141 * term/i386/pc/serial.c: Likewise.
29142 * term/i386/pc/vesafb.c: Likewise.
29143 * term/i386/pc/vga.c: Likewise.
29144 * term/ieee1275/ofconsole.c: Likewise.
29145 * util/biosdisk.c: Likewise.
29146 * util/console.c: Likewise.
29147 * util/genmoddep.c: Likewise.
29148 * util/getroot.c: Likewise.
29149 * util/grub-emu.c: Likewise.
29150 * util/grub-mkdevicemap.c: Likewise.
29151 * util/grub-probe.c: Likewise.
29152 * util/lvm.c: Likewise.
29153 * util/misc.c: Likewise.
29154 * util/raid.c: Likewise.
29155 * util/resolve.c: Likewise.
29156 * util/update-grub.in: Likewise.
29157 * util/update-grub_lib.in: Likewise.
29158 * util/grub.d/00_header.in: Likewise.
29159 * util/grub.d/10_hurd.in: Likewise.
29160 * util/grub.d/10_linux.in: Likewise.
29161 * util/i386/efi/grub-install.in: Likewise.
29162 * util/i386/efi/grub-mkimage.c: Likewise.
29163 * util/i386/pc/grub-install.in: Likewise.
29164 * util/i386/pc/grub-mkimage.c: Likewise.
29165 * util/i386/pc/grub-mkrescue.in: Likewise.
29166 * util/i386/pc/grub-setup.c: Likewise.
29167 * util/i386/pc/misc.c: Likewise.
29168 * util/powerpc/ieee1275/grub-install.in: Likewise.
29169 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
29170 * util/powerpc/ieee1275/misc.c: Likewise.
29171 * video/bitmap.c: Likewise.
29172 * video/video.c: Likewise.
29173 * video/i386/pc/vbe.c: Likewise.
29174 * video/i386/pc/vbeblit.c: Likewise.
29175 * video/i386/pc/vbefill.c: Likewise.
29176 * video/i386/pc/vbeutil.c: Likewise.
29177 * video/readers/tga.c: Likewise.
29178
3572d015 291792007-07-02 Robert Millan <rmh@aybabtu.com>
29180
29181 * conf/i386-efi.rmk: Replace obsolete reference to
29182 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
29183 with util/getroot.c.
29184 * conf/powerpc-ieee1275.rmk: Likewise.
29185 * conf/sparc64-ieee1275.rmk: Likewise.
29186
29187 * util/grub-emu.c (main): Fix unchecked pointer handling.
29188
2c2a681b 291892007-07-02 Robert Millan <rmh@aybabtu.com>
29190
29191 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
29192 invocation to fail, in order to support partition-less media.
29193
29194 * util/i386/pc/grub-install.in: Likewise.
29195
29196 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
29197 which fs or partmap modules are needed (akin to its sister scripts).
29198
29199 Also use grub-probe to get rid of unportable /proc/mounts check.
29200
29201 Print the same informational message that the other scripts do, before
fe6b695a 29202 exiting.
2c2a681b 29203
6193defe 292042007-06-23 Robert Millan <rmh@aybabtu.com>
29205
fe6b695a 29206 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 29207 a font file can be found and, if so, echo the GRUB path to it.
29208
29209 * util/update-grub.in: Handle multiple terminals depending on user
29210 input, platform availability and font file presence. Propagate
29211 variables of our findings to /etc/grub.d/ children.
29212
29213 * util/grub.d/00_header.in: Handle multiple terminals, based on
29214 environment setup by update-grub.
29215
eface1dc 292162007-06-23 Robert Millan <rmh@aybabtu.com>
29217
ba50d28f 29218 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 29219
bf697e28 292202007-06-21 Robert Millan <rmh@aybabtu.com>
29221
29222 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
29223 indicate end of data section in kernel image.
29224 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
29225 GRUB_KERNEL_MACHINE_DATA_END.
29226
29227 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
29228 space for it.
29229 * kern/i386/efi/startup.S: Likewise.
29230
29231 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
29232 during image generation. Implement --prefix option to override this
29233 patch.
29234 * util/i386/efi/grub-mkimage.c: Likewise.
29235
29236 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
29237 code to make path relative to its root into a separate function.
29238
29239 * util/i386/pc/grub-install.in: Use newly provided
29240 make_system_path_relative_to_its_root() to convert ${grubdir}, then
29241 pass the result to grub-install --prefix.
29242
baa574b4 292432007-06-13 Robert Millan <rmh@aybabtu.com>
29244
29245 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
29246 DEFAULT_DEVICE_MAP.
29247 * util/grub-emu.c: Use above definitions from misc.h instead of
29248 defining them.
29249 * util/grub-mkdevicemap.c: Likewise.
29250 * util/i386/pc/grub-setup.c: Likewise.
29251 * util/grub-probe.c: Likewise.
29252 (probe): Abort with grub_util_error() when either
29253 grub_guess_root_device or grub_util_get_grub_dev fails.
29254
0215dcbf 292552007-06-12 Robert Millan <rmh@aybabtu.com>
29256
29257 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
29258 "pager" assignment.
29259 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
29260 "pcdata".
29261 * util/grub-probe.c (probe): Likewise for "drive_name".
29262
8af2ab7b 292632007-06-11 Robert Millan <rmh@aybabtu.com>
29264
29265 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
29266 not just the cdrom one.
29267
59d31694 292682007-06-11 Robert Millan <rmh@aybabtu.com>
29269
29270 * util/i386/pc/grub-mkrescue.in: Add "set -e".
29271 Add --pkglibdir=DIR option to override pkglibdir.
29272 Mention --image-type=TYPE in help output.
29273 Fix --grub-mkimage (it was a no-op).
fe6b695a 29274 Abort gracefully when no parameter is given.
59d31694 29275
7ee367e4 292762007-06-11 Robert Millan <rmh@aybabtu.com>
29277
29278 * util/i386/pc/grub-mkrescue.in: New file.
29279 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
29280 * Makefile.in: Handle bin_SCRIPTS.
29281
29b0ed46 292822007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
29283
29284 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
29285 list of video modes.
29286
c0f90770 292872007-06-06 Robert Millan <rmh@aybabtu.com>
29288
29289 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
29290 file doesn't exist, or if it is in a filesystem grub can't read.
29291
29292 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
29293 not abort if GRUB_DRIVE could not be defined. Rearrange generated
29294 header comment to fit in 80 columns when the variables are resolved.
29295
29296 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
29297 could be identified by update-grub. Remove redundant check for
fe6b695a 29298 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 29299 handles that).
29300
fb36dc26 293012007-06-04 Robert Millan <rmh@aybabtu.com>
29302
29303 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
29304
29305 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
29306
29307 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
29308
0c68c93e 293092007-06-04 Robert Millan <rmh@aybabtu.com>
29310
29311 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
29312
29313 * include/grub/partition.h: Declare grub_apple_partition_map_init and
29314 grub_apple_partition_map_fini.
29315
29316 * util/biosdisk.c
29317 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
29318 to access >2 TiB disks).
29319
29320 Print disk->total_sectors with %llu instead of %lu, since this
29321 variable is always 64-bit (prevents wrong disk size from being displayed
29322 on either >2 TiB disk or big-endian CPU).
29323
29324 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
29325 into a generic case that supports all (sane) partition maps.
29326
29327 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
29328 breaks big-endian.
29329
29330 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
29331 and grub_apple_partition_map_fini() after that.
29332
0f23eb74 293332007-06-01 Robert Millan <rmh@aybabtu.com>
29334
29335 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
29336
29337 * util/grub.d/00_header.in: Only enable gfxterm when
29338 convert_system_path_to_grub_path() succeeds.
29339
42c71976 293402007-05-20 Robert Millan <rmh@aybabtu.com>
29341
29342 * util/update-grub_lib.in: New file.
29343 * DISTLIST: Add update-grub_lib.in.
29344 * conf/common.rmk: Generate update-grub_lib and install it in
29345 $(lib_DATA).
29346 * Makefile.in: Add install routine for $(lib_DATA).
29347
29348 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
29349 function provided by update-grub_lib to support arbitrary paths of
29350 unifont.pff.
29351 * util/update-grub.in: Use convert_system_path_to_grub_path() to
29352 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
29353
5beb2291 293542007-05-19 Robert Millan <rmh@aybabtu.com>
29355
29356 * commands/i386/cpuid.c: New module.
29357 * DISTLIST: Add it.
29358 * conf/i386-efi.rmk: Enable cpuid.mod.
29359 * conf/i386-pc.rmk: Likewise.
29360
7262eca1 293612007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
29362
29363 * kern/disk.c (grub_disk_read): Check return value of
29364 grub_realloc().
29365
260ba823 293662007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
29367
29368 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
29369 arrays.
29370 * disk/raid.c (grub_raid_open): Likewise.
29371
1ecb6cf2 293722007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
29373
29374 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
29375 stack instead of on the heap.
29376
29377 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
29378 before doing a read on it.
29379
29380 * configure.ac: Only use -fno-stack-protector for the target
29381 environment.
f19dbdb7 29382
21c8cbb1 293832007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
29384
29385 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
29386 __attribute_ ((unused)) to mode_type argument.
29387
29388 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 29389
21c8cbb1 29390 * kern/misc.c (memcmp): Fix prototype.
29391
29392 * include/grub/partition.h [GRUB_UTIL]
29393 (grub_gpt_partition_map_init): Add prototype.
29394 (grub_gpt_partition_map_fini): Likewise.
29395
29396 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
29397 at the right place.
29398
29399 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
29400 (grub_fat_read_data): Likewise.
29401 (grub_fat_find_dir): Likewise.
29402
29403 * font/manager.c (find_glyph): Make table a const.
29404 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 29405
849d55d3 294062007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
29407
29408 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
29409 code, first search for device in /dev/mapper, then in /dev.
29410 (grub_util_get_grub_dev): New function.
29411 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
29412 prototype.
29413 * util/grub-probe.c (probe): Remove check for RAID, call
29414 grub_util_get_grub_dev() instead of
29415 grub_util_biosdisk_get_grub_dev().
29416 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
29417 grub_util_biosdisk_get_grub_dev().
29418 * util/i386/pc/grub-setup.c (main): Likewise.
29419
8fff7c2f 294202007-05-16 Robert Millan <rmh@aybabtu.com>
29421
29422 * DISTLIST: Update for the latest changes.
29423 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
29424 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
29425 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
29426 grub/util/biosdisk.h.
29427 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
29428 grub/util/biosdisk.h.
29429
48e12b52 294302007-05-16 Robert Millan <rmh@aybabtu.com>
29431
29432 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
29433
46b9d128 294342007-05-16 Robert Millan <rmh@aybabtu.com>
29435
29436 * util/i386/efi/grub-install.in: New.
29437 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
29438 newly added grub-install.
29439 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
29440 include.
29441 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
29442 grub/util/biosdisk.h.
29443 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
29444 grub/util/biosdisk.h.
29445
2d1a40a9 294462007-05-16 Robert Millan <rmh@aybabtu.com>
29447
29448 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
29449 * include/grub/util/biosdisk.h: ... here.
29450 * util/i386/pc/biosdisk.c: Moved to ...
29451 * util/biosdisk.c: ... here.
29452 * util/i386/pc/getroot.c: Moved to ...
29453 * util/getroot.c: ... here.
29454 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
29455 * util/grub-mkdevicemap.c: ... here.
29456 * util/i386/pc/grub-probe.c: Moved to ...
29457 * util/grub-probe.c: ... here.
29458
9e26e3bc 294592007-05-15 Robert Millan <rmh@aybabtu.com>
29460
29461 * util/update-grub.in: Remove duplicated line in grub.cfg header
29462 message.
29463
57f96397 294642007-05-13 Robert Millan <rmh@aybabtu.com>
29465
29466 * util/update-grub.in: Fix a few assumptions about the devices holding
29467 /, /boot and /boot/grub being the same.
29468 * util/grub.d/00_header.in: Likewise.
29469 * util/grub.d/10_hurd.in: Likewise.
29470 * util/grub.d/10_linux.in: Likewise.
29471
29472 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
29473 patterns. Use that to define the `.old' suffix as older than `'.
29474
29475 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
29476
29477 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
29478 the grub.cfg header message.
29479
2e610d62 294802007-05-11 Robert Millan <rmh@aybabtu.com>
29481
29482 * util/update-grub.in: Create device.map if it doesn't already exist,
29483 before attempting to run grub-probe.
29484 Check for grub-probe and grub-mkdevicemap with the same code
29485 grub-install is using.
29486 Remove test mode.
29487
3f6a10ef 294882007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
29489
29490 * Makefile.in: Add the datarootdir autoconf variable.
29491
02e7b75e 294922007-05-09 Robert Millan <rmh@aybabtu.com>
29493
29494 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 29495 fail gracefully if dev->disk->partition == NULL.
02e7b75e 29496
75f396cc 294972007-05-07 Robert Millan <rmh@aybabtu.com>
29498
29499 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
29500 determine partition map module.
29501 * util/i386/pc/grub-install.in: Use this feature to decide which
29502 partition module to load, instead of hardcoding pc and gpt.
29503
da65cb36 295042007-05-07 Robert Millan <rmh@aybabtu.com>
29505
29506 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
29507 source directory differs from build directory.
29508
b57d6a91 295092007-05-05 Robert Millan <rmh@aybabtu.com>
29510
29511 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
29512 initialisation.
29513
509d00f1 295142007-05-05 Robert Millan <rmh@aybabtu.com>
29515
29516 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
29517
c48f23ef 295182007-05-05 Robert Millan <rmh@aybabtu.com>
29519
29520 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
29521 command-line arguments via ${GRUB_CMDLINE_LINUX}.
29522
20b97658 295232007-05-05 Robert Millan <rmh@aybabtu.com>
29524
29525 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
29526 (grub_probe_SOURCES): Likewise.
29527 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
29528 GPT and initialize dos_part and bsd_part accordingly.
29529 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
29530 install_bsd_part.
29531 (main): Activate gpt module for use during partition identification,
29532 and deactivate it afterwards.
29533 * util/i386/pc/grub-install.in: Add gpt module to core.img.
29534 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
29535 partition identification, and deactivate it afterwards.
29536
99123174 295372007-05-05 Robert Millan <rmh@aybabtu.com>
29538
29539 * term/i386/pc/console.c (grub_console_fini): Call
29540 grub_term_set_current() before grub_term_unregister().
29541
ebd97f6e 295422007-05-04 Robert Millan <rmh@aybabtu.com>
29543
29544 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
29545 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
29546 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
29547 and update-grub_DATA.
29548 * conf/common.rmk: Build and install update-grub components.
29549 * conf/common.mk: Regenerate.
29550 * util/update-grub.in: New. Core of update-grub.
29551 * util/grub.d/00_header.in: New. Generates grub.cfg header.
29552 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
29553 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
29554 * util/grub.d/README: New. Document grub.d directory layout.
29555
b06a264d 295562007-05-01 Robert Millan <rmh@aybabtu.com>
29557
29558 * util/grub-emu.c: Move initialization functions
29559 grub_util_biosdisk_init() and grub_init_all() before
29560 grub_util_biosdisk_get_grub_dev(), which relies on them.
29561
41f0050e 295622007-04-19 Robert Millan <rmh@aybabtu.com>
29563
29564 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
29565 it is used later.
29566
04582bb3 295672007-04-18 Jerone Young <jerone@gmail.com>
29568
f19dbdb7 29569 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 29570 stanza.
29571
08db4632 295722007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 29573
08db4632 29574 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
29575 continue on and look for device node with real device name.
29576
801b76be 295772007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 29578
fe6b695a 29579 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 29580 ability.
29581 * Makefile.in: Add autoconf package transformation code.
29582 * util/i386/pc/grub-install.in: Likewise.
29583 * util/powerpc/ieee1275/grub-install.in: Likewise.
29584
6795c4e1 295852007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
29586
29587 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
29588 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
29589 (EXT2_REVISION): Likewise.
29590 (EXT2_INODE_SIZE): Likewise.
29591 (struct grub_ext2_block_group): Added a missing member
29592 "used_dirs".
29593 (grub_ext2_read_inode): Divide by the inode size in a superblock
29594 instead of 128 to obtain INODES_PER_BLOCK.
29595 Use the macro EXT2_INODE_SIZE instead of directly using
29596 SBLOCK->INODE_SIZE.
29597
d70af616 295982007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
29599
29600 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
29601 superblock instead of the structure size to compute an
29602 offset. This fixes the problem that GRUB could not read a
29603 filesystem when inode size is different from 128-byte.
29604
3b801603 296052007-03-05 Marco Gerards <marco@gnu.org>
29606
29607 * normal/main.c (read_config_file): When "menu" is not set, create
29608 an initial context.
29609
4785bfe4 296102007-02-21 Hollis Blanchard <hollis@penguinppc.org>
29611
29612 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
29613 (HEAP_LIMIT): New macro.
29614 (grub_claim_heap): Claim memory up to `heaplimit'.
29615
a0cbb023 296162007-02-21 Hollis Blanchard <hollis@penguinppc.org>
29617
29618 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
29619 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
29620 (_start): Likewise.
29621 (grub_arch_modules_addr): Return address after `_end'.
29622 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
29623 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
29624 (add_segments): Calculate `_end' from phdr size and location.
29625 (ALIGN_UP): Moved to ...
29626 * include/grub/misc.h: here.
29627 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29628 New macro.
29629 (GRUB_IEEE1275_MODULE_BASE): Removed.
29630
fd7d8eba 296312007-02-20 Hollis Blanchard <hollis@penguinppc.org>
29632
29633 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
29634 loop boundary.
29635
9b09e6fc 296362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
29637
29638 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
29639 All users updated.
29640 (grub_elf64_load_hook_t): Likewise.
29641 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
29642 debug output.
29643
3ce27299 296442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
29645
29646 * kern/mm.c: Update copyright.
29647 (grub_mm_debug): Correct syntax error.
29648 (grub_mm_dump_free): New function.
29649 (grub_debug_free): Call `grub_free'.
29650 * include/grub/mm.h: Update copyright.
29651 (grub_mm_dump_free): Add declaration.
29652
077d5fee 296532007-02-12 Hollis Blanchard <hollis@penguinppc.org>
29654
29655 * include/grub/ieee1275/ieee1275.h: Update copyright.
29656 * kern/powerpc/ieee1275/init.c: Likewise.
29657 * kern/powerpc/ieee1275/openfw.c: Likewise.
29658
29659 * loader/powerpc/ieee1275/linux.c: Likewise.
29660 * include/grub/elfload.h: Likewise.
29661 * kern/elf.c: Likewise.
29662 (grub_elf32_load): Pass `base' and `size' parameters. Update all
29663 callers.
29664 (grub_elf64_load): Likewise.
29665 (grub_elf32_load_segment): Move to a nested function.
29666 (grub_elf64_load_segment): Likewise.
29667
dc946850 296682007-02-12 Hollis Blanchard <hollis@penguinppc.org>
29669
29670 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
29671 prototype.
29672 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
29673 (grub_heap_len): Likewise.
29674 (HEAP_SIZE): New macro.
29675 (grub_claim_heap): New function.
29676 (grub_machine_init): Don't claim heap directly. Call
29677 `grub_claim_heap'.
29678 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
29679 (grub_available_iterate): New function.
29680
baa2a121 296812007-02-03 Thomas Schwinge <tschwinge@gnu.org>
29682
29683 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
29684 * configure.ac: Use it for testing the HOST and TARGET compilers.
29685
4fe9862e 296862006-12-13 Thomas Schwinge <tschwinge@gnu.org>
29687
29688 * Makefile.in (enable_grub_emu): New variable.
29689 * configure.ac (--enable-grub-emu): New option.
29690 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
29691 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
29692 * conf/i386-pc.rmk: Likewise.
29693 * conf/powerpc-ieee1275.rmk: Likewise.
29694 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
29695
a8aa5762 296962006-12-12 Marco Gerards <marco@gnu.org>
29697
29698 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
29699
29700 * kern/env.c (grub_env_unset): Don't free the member `value' when
29701 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
29702 pointer.
29703
29704 * normal/main.c (current_menu): Removed.
29705 (free_menu): Unset the `menu' environment variable.
29706 (grub_normal_menu_addentry): Make use of the environment variable
29707 `menu', instead of using the global `current_menu'. Allocate
29708 memory for the sourcecode of this entry.
29709 (read_config_file): New argument `nested', changed all callers.
29710 Only in the case of a new context, initialize a new menu. Set the
29711 `menu' environment variable.
29712 (grub_normal_execute): Don't set and unset the environment
29713 variable `menu' here anymore. Only free the menu when leaving the
29714 context.
29715
29716 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
29717 leak.
29718
957b3a3e 297192006-12-11 Marco Gerards <marco@gnu.org>
29720
29721 * normal/menu_entry.c (run): Fix off by one bug so the last line
29722 is executed. Move the loader check to outside the loop.
29723
ef875714 297242006-12-08 Hollis Blanchard <hollis@penguinppc.org>
29725
29726 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
29727
4e739985 297282006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
29729
29730 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
29731 the number of sectors. Reported by Andrey Shuvikov
29732 <mr_hyro@yahoo.com>.
f19dbdb7 29733
790707f2 297342006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
29735
29736 * kern/disk.c (grub_disk_read): When there is a read error, always
29737 try to read only the necessary data.
f19dbdb7 29738
790707f2 29739 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
29740 disk/raid.c.
29741 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
29742 prototype.
29743 [GRUB_UTIL] (grub_raid_fini): Likewise.
29744 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 29745 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 29746 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
29747 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
29748 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
29749 and grub_raid_fini().
f19dbdb7 29750
03e58196 297512006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
29752
29753 * include/grub/types.h (__unused): Rename to UNUSED.
29754 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
29755 (grub_elf64_size): Likewise.
f19dbdb7 29756
ae4f23bf 297572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
29758
29759 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
29760 grub_error_push and grub_error_pop in the error-handling path.
29761 (grub_elf32_load_segment): Only call grub_file_read with non-zero
29762 length.
29763
2166cc83 297642006-11-03 Hollis Blanchard <hollis@penguinppc.org>
29765
29766 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
29767 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29769 (kernel_elf_SOURCES): Likewise.
29770 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
29771 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
29772 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29773 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29774 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
29775 (elf_mod_SOURCES): New variable.
29776 (elf_mod_CFLAGS): Likewise.
29777 (elf_mod_LDFLAGS): Likewise.
29778 * include/grub/types.h (__unused): New macro.
29779 * include/grub/elfload.h: New file.
29780 * kern/elf.c: Likewise.
29781 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
29782 (ELF32_LOADMASK): New macro.
29783 (ELF64_LOADMASK): Likewise.
29784 (vmlinux): Removed.
29785 (grub_linux_load32): New function.
29786 (grub_linux_load64): Likewise.
29787 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
29788 Use grub_elf_t instead of grub_file_t.
29789
a09d5aa5 297902006-11-02 Hollis Blanchard <hollis@penguinppc.org>
29791
29792 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
29793 `catch_result' to struct set_color_args.
29794
d976fc51 297952006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29796
29797 * normal/menu.c: Include grub/script.h.
29798 * normal/menu_entry.c: Likewise.
29799 * include/grub/normal.h: Do not include grub/script.h.
29800
67507549 298012006-10-27 Hollis Blanchard <hollis@penguinppc.org>
29802
29803 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
29804
69203a99 298052006-10-27 Hollis Blanchard <hollis@penguinppc.org>
29806
29807 * kern/disk.c (grub_disk_open): Print debug messages when opening a
29808 disk.
29809 (grub_disk_close): Print debug messages when closing a disk.
29810 (grub_disk_read): Print debug messages when disk read fails.
29811 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
29812 filesystem type.
29813 * kern/partition.c: Include misc.h.
29814 (grub_partition_iterate): Print debug messages when detecting
29815 partition type.
29816
e2b8278c 298172006-10-27 Hollis Blanchard <hollis@penguinppc.org>
29818
29819 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
29820 is negative.
29821 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
29822
97b2f2ff 298232006-10-26 Hollis Blanchard <hollis@penguinppc.org>
29824
29825 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29826 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
29827
6555d655 298282006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
29829
29830 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
29831 instead of sizeof(lv). Patch by Michael Guntsche.
29832
4d42b77f 298332006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
29834
29835 * disk/lvm.c: Rename VGS to VG_LIST.
29836 (grub_lvm_iterate): Change VGS->LV to VG-LV.
29837 (grub_lvm_open): Likewise.
29838 Thanks to Michael Guntsche for finding this bug.
29839
5d74d927 298402006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29841
29842 * configure.ac (AC_INIT): Bumped to 1.95.
29843
a1bb27e4 298442006-10-14 Robert Millan <rmh@aybabtu.com>
29845
29846 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
29847 with "/dev/.static/dev/md".
29848
e0994b8b 298492006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
29850
29851 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
29852 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
29853 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
29854 DRIVE_NAME are always freed.
29855
29856 * util/i386/pc/biosdisk.c (make_device_name): Add one into
29857 DOS_PART, as a DOS partition is counted from one instead of zero
29858 now. Reported by Robert Millan.
29859
ddd5cee9 298602006-10-14 Robert Millan <rmh@aybabtu.com>
29861
29862 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
29863 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
29864 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
29865 string returned by grub_guess_root_device.
29866 * util/i386/pc/grub-setup.c: Likewise.
29867 * util/i386/pc/grub-probefs.c: Likewise.
29868
29869 * util/i386/pc/grub-probefs.c: Rename to ...
29870 * util/i386/pc/grub-probe.c: ... this.
29871 * DISTLIST: Remove grub-probefs, add grub-probe.
29872 * conf/i386-efi.rmk: Likewise.
29873 * conf/i386-pc.rmk: Likewise.
29874 * util/i386/pc/grub-install.in: Likewise.
29875
29876 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
29877 choose which information we want to print.
29878
2b002173 298792006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
29880
29881 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
29882 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
29883 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
29884 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
29885 video/readers/tga.c and video/i386/pc/vbeutil.c.
29886
298872006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
29888
29889 Added support for RAID and LVM.
f19dbdb7 29890
2b002173 29891 * disk/lvm.c: New file.
29892 * disk/raid.c: Likewise.
29893 * include/grub/lvm.h: Likewise.
f19dbdb7 29894 * include/grub/raid.h: Likewise.
2b002173 29895 * include/grub/util/lvm.h: Likewise.
29896 * include/grub/util/raid.h: Likewise.
29897 * util/lvm.c: Likewise.
29898 * util/raid.c: Likewise.
29899
29900 * include/grub/disk.h (grub_disk_dev_id): Add
29901 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
29902 (grub_disk_get_size): New prototype.
29903 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
29904 returns a partition.
29905 (grub_disk_get_size): New function.
f19dbdb7 29906
2b002173 29907 * kern/i386/pc/init.c (make_install_device): Copy the prefix
29908 verbatim if grub_install_dos_part is -2.
29909
29910 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
29911 and LVM devices.
29912
29913 * util/i386/pc/grub-setup.c (setup): New argument
29914 MUST_EMBED. Force embedding of GRUB when the argument is
29915 true. Close FILE before returning.
29916 (main): Add support for RAID and LVM.
f19dbdb7 29917
2b002173 29918 * conf/common.rmk: Add RAID and LVM modules.
29919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
29920 util/lvm.c.
29921 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
29922
29923 * kern/misc.c (grub_strstr): New function.
29924 * include/grub/misc.h (grub_strstr): New prototype.
29925
050548d0 299262006-10-10 Tristan Gingold <tristan.gingold@bull.net>
29927
29928 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
29929
da849d2d 299302006-10-05 Tristan Gingold <tristan.gingold@bull.net>
29931
29932 * kern/misc.c (grub_strtoull): Guess the base only if not
29933 specified.
29934
97b2f2ff 299352006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 29936
29937 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
29938 PowerMac support.
29939
97b2f2ff 299402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 29941
29942 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
29943
29944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
29945 Remove `flags' argument. All callers changed.
29946 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
29947 (IEEE1275_IHANDLE_INVALID): New variable.
29948 (IEEE1275_CELL_INVALID): New variable.
29949 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
29950 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
29951 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
29952 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
29953 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
29954 codes from Open Firmware. All callers updated.
29955 (grub_ieee1275_next_property): Directly return Open Firmware return
29956 code.
29957 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
29958 Standardize error checking from `grub_ieee1275_get_property'.
29959 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
29960 `devalias' to `aliases'. Correct comments. Consolidate error paths.
29961
97b2f2ff 299622006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 29963
29964 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
29965 `instance_to_package_args' to `instance_to_path_args'.
29966
29967 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
29968 `grub_ieee1275_chosen'.
29969
29970 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
29971 `grub_ieee1275_interpret'.
29972
97b2f2ff 299732006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 29974
29975 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
29976
97b2f2ff 299772006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 29978
29979 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
29980 (__cmpdi): Likewise.
29981
29982 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
29983 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
29984 `grub_ssize_t'.
29985
02bb8acc 29986 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 29987
29988 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
29989 to type `grub_ssize_t'.
29990 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
29991
7f9a8531 299922006-09-22 Marco Gerards <marco@gnu.org>
29993
29994 * normal/script.c (grub_script_create_cmdmenu): Skip leading
29995 newlines.
29996
b5ef1102 299972006-09-22 Marco Gerards <marco@gnu.org>
29998
29999 * commands/echo.c: New file.
30000
30001 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
30002
30003 * conf/common.rmk (echo_mod_SOURCES): New variable.
30004 (echo_mod_CFLAGS): Likewise.
30005 (echo_mod_LDFLAGS): Likewise.
30006
2cff3677 300072006-09-22 Marco Gerards <marco@gnu.org>
30008
30009 * normal/main.c (get_line): Malloc memory instead of using
30010 preallocated memory. Removed the arguments `cmdline' and
30011 `max_len'. Updated all callers.
30012
6ba4688b 300132006-09-22 Marco Gerards <marco@gnu.org>
30014
30015 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
30016 (normal_mod_DEPENDENCIES): Likewise.
30017
30018 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
30019 (normal_mod_DEPENDENCIES): Likewise.
30020
30021 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
30022
e02ac02c 300232006-09-22 Johan Rydberg <jrydberg@gnu.org>
30024
30025 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
30026 programs.
30027 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
30028 (normal_mod_DEPENDENCIES): Likewise.
30029 * conf/i386-pc.mk: Regenerate.
30030 * conf/i386-efi.mk: Likewise
30031 * conf/common.mk: Likewise.
30032 * conf/powerpc-ieee1275.mk: Likewise.
30033 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 30034
8d252e44 300352006-09-22 Robert Millan <rmh@aybabtu.com>
30036
30037 Sync with i386 version.
30038 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
30039 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
30040
209bf7ac 300412006-09-21 Robert Millan <rmh@aybabtu.com>
30042
30043 Import from GRUB Legacy (lib/device.c):
30044 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
30045 (init_device_map) [__linux__]: Add support for I2O devices.
30046
6b146090 300472006-09-14 Marco Gerards <marco@gnu.org>
30048
30049 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
30050 `-melf_i386'.
30051
e38600a8 300522006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 30053
30054 * util/i386/pc/grub-install.in: Skip menu.lst when removing
30055 /boot/grub/*.lst.
78fa1790 30056
2952da5d 30057 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 30058
2952da5d 30059 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
30060 before adding it to device.map.
30061
01b82a64 300622006-08-15 Johan Rydberg <jrydberg@gnu.org>
30063
fe6b695a 30064 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 30065 compiles a file; using the -MD option.
30066 * conf/common.mk: Regenerate.
30067 * conf/i386-pc.mk: Likewise.
30068 * conf/i386-efi.mk: Likewise.
30069 * conf/powerpc-ieee1275.mk: Likewise.
30070 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 30071
1064790d 300722006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
30073
30074 Move the prototypes of grub_setjmp and grub_longjmp to
30075 cpu/setjmp.h, so that each architecture may specify different
30076 attributes.
f19dbdb7 30077
1064790d 30078 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
30079 (grub_longjmp): Likewise.
30080 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
30081 (grub_longjmp): Likewise.
30082 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
30083 (grub_longjmp): Likewise.
30084
30085 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
30086 [!GRUB_UTIL] (grub_longjmp): Removed.
30087
29dda3ed 300882006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
30089
30090 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
30091 "color!" method does not return any value.
30092
ad2a06ed 300932006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
30094
30095 * include/grub/bitmap.h: New file.
30096
30097 * include/grub/i386/pc/vbeutil.h: Likewise.
30098
30099 * video/bitmap.c: Likewise.
30100
30101 * video/readers/tga.c: Likewise.
30102
30103 * video/i386/pc/vbeutil.c: Likewise.
30104
30105 * commands/videotest.c: Code cleanup and updated to reflect to new
30106 video API.
30107
30108 * term/gfxterm.c: Likewise.
30109
30110 * video/video.c: Likewise.
30111
30112 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
30113 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
30114 (bitmap_mod_SOURCES): New entry.
30115 (bitmap_mod_CFLAGS): Likewise.
30116 (bitmap_mod_LDFLAGS): Likewise.
30117 (tga_mod_SOURCES): Likewise.
30118 (tga_mod_CFLAGS): Likewise.
30119 (tga_mod_LDFLAGS): Likewise.
30120
30121 * include/grub/video.h (grub_video_blit_operators): New enum type.
30122 (grub_video_render_target): Changed as forward declaration and moved
30123 actual definition to be video driver specific.
30124 (grub_video_adapter.blit_bitmap): Added blitting operator.
30125 (grub_video_adapter.blit_render_target): Likewise.
30126 (grub_video_blit_bitmap): Likewise.
30127 (grub_video_blit_render_target): Likewise.
30128
30129 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
30130 driver specific render target definition.
30131 (grub_video_vbe_map_rgba): Added driver internal helper.
30132 (grub_video_vbe_unmap_color): Updated to use
30133 grub_video_i386_vbeblit_info.
30134 (grub_video_vbe_get_video_ptr): Likewise.
30135
30136 * include/grub/i386/pc/vbeblit.h
30137 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
30138 grub_video_i386_vbeblit_info.
30139 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
30140 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
30141 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
30142 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
30143 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
30144 (grub_video_i386_vbeblit_index_index): Likewise.
30145 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
30146 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
30147 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
30148 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
30149 operator.
30150 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
30151 operator.
30152
30153 * video/i386/pc/vbeblit.c: Updated to reflect changes on
30154 include/grub/i386/pc/vbeblit.h.
30155
30156 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
30157 Updated to use grub_video_i386_vbeblit_info.
30158 (grub_video_i386_vbefill_R8G8B8): Likewise.
30159 (grub_video_i386_vbefill_index): Likewise.
30160 (grub_video_i386_vbefill): Added generic filler.
30161
30162 * video/i386/pc/vbefill.c: Updated to reflect changes on
30163 include/grub/i386/pc/vbefill.h.
30164
30165 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
30166 grub_video_i386_vbeblit_info.
30167 (grub_video_vbe_unmap_color): Likewise.
30168 (grub_video_vbe_blit_glyph): Likewise.
30169 (grub_video_vbe_scroll): Likewise.
30170 (grub_video_vbe_draw_pixel): Removed function.
30171 (grub_video_vbe_get_pixel): Likewise.
30172 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
30173 updated code to use it.
30174 (common_blitter): Added common blitter for render target and bitmap.
30175 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
30176 (grub_video_vbe_blit_render_target): Likewise.
30177
bc8c036d 301782006-07-30 Johan Rydberg <jrydberg@gnu.org>
30179
30180 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
30181 is in text mode if there is no console control protocol instance
30182 available.
30183
684a8eff 301842006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
30185
30186 * include/grub/video.h: Code cleanup.
30187
30188 * include/grub/i386/pc/vbe.h: Likewise.
30189
30190 * video/i386/pc/vbe.c: Likewise.
30191
30192 * video/i386/pc/vbeblit.c: Likewise.
30193
30194 * video/i386/pc/vbefill.c: Likewise.
30195
30196 * video/video.c: Likewise. Also added more comments.
30197
5915059b 301982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
30199
30200 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
30201 (struct grub_biosdisk_dap): Likewise.
30202
30203 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
30204 linkage settings for all functions.
30205
90ce5d56 302062006-07-12 Marco Gerards <marco@gnu.org>
30207
30208 * configure.ac (--enable-mm-debug): Fix typo.
30209
30210 * genkernsyms.sh.in: Use proper quoting for `CC'.
30211
43e7f879 302122006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
30213
30214 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
30215 (normal_mod_ASFLAGS): Remove "-m32".
30216
4889bdec 302172006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
30218
30219 * util/misc.c: Include config.h.
30220 [!HAVE_MEMALIGN]: Do not include malloc.h.
30221 (grub_memalign): Use posix_memalign, if present. Then, use
30222 memalign, if present. Otherwise, emit an error.
30223
30224 * util/grub-emu.c: Do not include malloc.h.
30225
30226 * include/grub/util/misc.h: Include unistd.h. This is required for
30227 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
30228 D. Eades III <hde@foobar-qux.org>.
30229
30230 * configure.ac (AC_GNU_SOURCE): Added.
30231 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
30232 type.
30233
fd39d4da 302342006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
30235
30236 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
30237 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
30238
b786f3b5 302392006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
30240
30241 * include/grub/types.h (grub_host_addr_t): Rename to
30242 grub_target_addr_t.
30243 (grub_host_off_t): Rename to grub_target_off_t.
30244 (grub_host_size_t): Rename to grub_target_size_t.
30245 (grub_host_ssize_t): Rename to grub_target_ssize_t.
30246 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
30247
30248 * include/grub/kernel.h (struct grub_module_header): Change type
30249 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
30250 (grub_module_info): Likewise.
f19dbdb7 30251
051988bb 302522006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
30253
30254 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
30255 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
30256 Velazquez <jesus.velazquez@gmail.com>.
30257
deae281b 302582006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
30259
30260 Count partitions from 1 instead of 0 in the string representation
30261 of partitions. Still use 0-based internally.
f19dbdb7 30262
deae281b 30263 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
30264 (sun_partition_map_iterate): Use grub_partition_t instead of
30265 struct grub_partition *. Cast DESC->START_CYLINDER to
30266 grub_uint64_t after converting the endian.
30267 (sun_partition_map_probe): Subtract 1 for PARTNUM.
30268 (sun_partition_map_get_name): Add 1 to P->INDEX.
30269
30270 * partmap/pc.c (grub_partition_parse): Subtract 1 for
30271 PCDATA->DOS_PART.
30272 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
30273
30274 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
30275 zero instead of one.
30276 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
30277 (gpt_partition_map_get_name): Add 1 into P->INDEX.
30278
30279 * partmap/apple.c (apple_partition_map_iterate): Change the type
30280 of POS to unsigned.
30281 (apple_partition_map_probe): Subtract 1 for PARTNUM.
30282 (apple_partition_map_get_name): Add 1 into P->INDEX.
30283
30284 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
30285 of POS to unsigned.
30286 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
30287 calculate the offset of a partition.
30288 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
30289 (amiga_partition_map_get_name): Add 1 into P->INDEX.
30290
30291 * partmap/acorn.c (acorn_partition_map_find): Change the type of
30292 SECTOR to grub_disk_addr_t.
30293 (acorn_partition_map_iterate): Likewise.
30294 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
30295 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
30296 top.
30297 (acorn_partition_map_get_name): Add 1 into P->INDEX.
30298
30299 * kern/i386/pc/init.c (make_install_device): Add 1 into
30300 GRUB_INSTALL_DOS_PART.
30301
30302 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
30303 conditional.
30304
524a1e6a 303052006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
30306
30307 Clean up the code to support 64-bit addressing in disks and
30308 files. This change is not enough for filesystems yet.
f19dbdb7 30309
524a1e6a 30310 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
30311 type of "start" to grub_uint64_t.
30312 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
30313 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
30314 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
30315 convert addresses.
30316
30317 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
30318 to grub_disk_addr_t.
30319
30320 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
30321 string.
30322
30323 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30324
30325 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
30326 to char *.
30327
30328 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
30329
30330 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
30331
30332 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
30333
30334 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
30335 to grub_off_t, to detect an error from grub_file_seek.
30336 (grub_multiboot_load_elf32): Likewise.
30337
30338 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
30339 maximum unsigned long value when an overflow is detected.
30340 (grub_strtoull): New function.
30341 (grub_divmod64): Likewise.
30342 (grub_lltoa): use grub_divmod64.
30343
30344 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
30345 grub_disk_addr_t.
30346 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
30347 the pointer to next character. Use grub_strtoull instead of
30348 grub_strtoul.
30349 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
30350 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
30351 respectively.
30352
fe6b695a 30353 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 30354 return value is signed.
30355 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
30356 test if OFFSET is less than zero, as OFFSET is unsigned now.
30357
30358 * kern/disk.c (struct grub_disk_cache): Change the type of
30359 "sector" to grub_disk_addr_t.
30360 (grub_disk_cache_get_index): Change the type of SECTOR to
30361 grub_disk_addr_t. Calculate the hash with SECTOR casted to
30362 unsigned after shifting.
30363 (grub_disk_cache_invalidate): Change the type of SECTOR to
30364 grub_disk_addr_t.
30365 (grub_disk_cache_unlock): Likewise.
30366 (grub_disk_cache_store): Likewise.
30367 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
30368 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
30369 grub_disk_addr_t and grub_uint64_t, respectively.
30370 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
30371 body, as the value of OFFSET is tweaked by
30372 grub_disk_check_range. Change the types of START_SECTOR, LEN and
30373 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
30374 respectively.
30375 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
30376 body, as the value of OFFSET is tweaked by
30377 grub_disk_check_range. Change the types of LEN and N to
30378 grub_size_t.
30379
30380 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
30381 and "saved_offset" to grub_off_t.
30382 (test_header): Cast BUF to char *.
30383 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
30384 to char *.
30385 (grub_gzio_read): Change the types of OFFSET and SIZE to
30386 grub_off_t and grub_size_t, respectively.
30387
30388 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
30389 Removed.
30390 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
30391 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
30392 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
30393 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
30394 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
30395
30396 * include/grub/types.h (grub_off_t): Unconditionally set to
30397 grub_uint64_t.
30398 (grub_disk_addr_t): Changed to grub_uint64_t.
30399
30400 * include/grub/partition.h (struct grub_partition): Change the
30401 types of "start", "len" and "offset" to grub_disk_addr_t,
30402 grub_uint64_t and grub_disk_addr_t, respectively.
30403 (grub_partition_get_start): Return grub_disk_addr_t.
30404 (grub_partition_get_len): Return grub_uint64_t.
30405
30406 * include/grub/misc.h (grub_strtoull): New prototype.
30407 (grub_divmod64): Likewise.
30408
30409 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
30410 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
30411 grub_off_t, respectively.
30412 All callers and references changed.
30413
30414 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
30415 grub_size_t in "read".
30416 All callers and references changed.
30417
30418 * include/grub/file.h (struct grub_file): Change the types of
30419 "offset" and "size" to grub_off_t and grub_off_t,
30420 respectively. Change the type of SECTOR to grub_disk_addr_t in
30421 "read_hook".
30422 (grub_file_read): Change the type of LEN to grub_size_t.
30423 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
30424 grub_off_t.
30425 (grub_file_size): Return grub_off_t.
30426 (grub_file_tell): Likewise.
30427 All callers and references changed.
30428
30429 * include/grub/disk.h (struct grub_disk_dev): Change the types of
30430 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
30431 "write".
30432 (struct grub_disk): Change the type of "total_sectors" to
30433 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 30434 "read_hook".
524a1e6a 30435 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
30436 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
30437 (grub_disk_write): Likewise.
30438 All callers and references changed.
30439
30440 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
30441 char * for grub_strncmp to silence gcc.
30442 (grub_iso9660_mount): Likewise.
30443 (grub_iso9660_mount): Likewise.
30444 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
30445 return statement.
30446 (grub_iso9660_iterate_dir): Likewise.
30447 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
30448
30449 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
30450 LEN to grub_disk_addr_t and grub_size_t, respectively.
30451
30452 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
30453
30454 * fs/jfs.c (grub_jfs_read_file): Likewise.
30455
30456 * fs/minix.c (grub_jfs_read_file): Likewise.
30457
30458 * fs/sfs.c (grub_jfs_read_file): Likewise.
30459
30460 * fs/ufs.c (grub_jfs_read_file): Likewise.
30461
30462 * fs/xfs.c (grub_jfs_read_file): Likewise.
30463
30464 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
30465 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
30466 respectively.
30467
30468 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
30469 BLKNR to -1 instead of returning GRUB_ERRNO.
30470 (grub_ext2_read_file): Change the types of SECTOR and
30471 LEN to grub_disk_addr_t and grub_size_t, respectively.
30472
30473 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
30474 LEN to grub_disk_addr_t and grub_size_t, respectively.
30475
30476 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
30477 grub_file_read.
30478
30479 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
30480 string. Do not cast SECTOR explicitly.
30481
30482 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
30483 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
30484 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
30485 grub_disk_addr_t and grub_size_t, respectively. If the sector is
30486 over 2TB and LBA mode is not supported, raise an error.
30487 (get_safe_sectors): New function.
30488 (grub_biosdisk_read): Use get_safe_sectors.
30489 (grub_biosdisk_write): Likewise.
30490
30491 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
30492 (grub_efidisk_write): Likewise.
30493
30494 * disk/loopback.c (delete_loopback): Cosmetic changes.
30495 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
30496 correctly.
30497 (grub_loopback_open): Likewise.
30498 (grub_loopback_read): Likewise. Also, change the type of POS to
30499 grub_off_t, and fix the usage of grub_memset.
30500
30501 * commands/i386/pc/play.c: Include grub/machine/time.h.
30502
30503 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
30504 print FILE->SIZE.
30505
30506 * commands/configfile.c: Include grub/env.h.
30507
30508 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
30509 GRUB_ERRNO directly instead. Change the type of POS to
30510 grub_off_t. Follow the coding standard.
30511
30512 * commands/blocklist.c: Include grub/partition.h.
30513 (grub_cmd_blocklist): Return an error if the underlying device is
30514 not a disk. Take the starting sector of a partition into account,
30515 if a partition is used.
30516
30517 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
30518 a length field.
30519 (lba_mode): Support 64-bit addresses.
30520 (chs_mode): Likewise.
30521 (copy_buffer): Adapted to the new offsets of a length field and a
30522 segment field.
30523 (blocklist_default_start): Allocate 64-bit space.
30524
30525 * boot/i386/pc/boot.S (force_lba): Removed.
30526 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 30527 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 30528 space.
30529 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
30530 is useless.
30531 (lba_mode): Refactored to support a 64-bit address. More size
30532 optimization.
30533 (setup_sectors): Likewise.
30534
53af98ad 305352006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
30536
30537 * DISTLIST: Added include/grub/i386/linux.h. Removed
30538 include/grub/i386/pc/linux.h
30539
30540 * configure.ac (AC_INIT): Bumped to 1.94.
30541
30542 * config.guess: Updated from gnulib.
30543 * config.sub: Likewise.
30544 * install-sh: Likewise.
30545 * mkinstalldirs: Likewise.
30546
b4c1940a 305472006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
30548
30549 * conf/common.rmk (grub_modules_init.lst): Depended on
30550 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
30551 MODSRCFILES.
30552
30553 * genmk.rb (PModule::rule): Reverted the previous change.
30554
cfca1cfd 305552006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
30556
30557 * conf/common.rmk (grub_modules_init.lst): Depends on
30558 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
30559 that the target does not exist before producing.
30560 (grub_modules_init.h): Remove the target before generating.
30561 (grub_emu_init.c): Likewise.
30562
30563 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
30564
aa6d7826 305652006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
30566
30567 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
30568 for the target-specific tests. Make sure that we also have the
30569 up-to-date target variables for those tests.
30570
26c607b9 305712006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
30572
30573 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
30574 (PModule::rule): Likewise.
30575
0162321a 305762006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
30577
30578 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
30579 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
30580 target-specific flags should be prefixed.
30581 (PModule::rule): Likewise.
30582
6c826348 305832006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
30584
30585 * configure.ac (CMP): Check if cmp is available explicitly.
30586
b977bf01 305872006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
30588
30589 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
30590 (target_cpu): New variable.
30591 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 30592
b977bf01 30593 * util/i386/pc/grub-install.in (host_cpu): Removed.
30594 (target_cpu): New variable.
30595 (pkglibdir): Use target_cpu instead of host_cpu.
30596
30597 * util/genmoddep.c: Removed.
f19dbdb7 30598
b977bf01 30599 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
30600 instead of GRUB_HOST_SIZEOF_VOID_P.
30601 * kern/dl.c: Likewise.
30602
30603 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
30604 ...
30605 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
30606 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
30607 (GRUB_TARGET_SIZEOF_LONG): ... this.
30608 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
30609 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
30610 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
30611 to ...
30612 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
30613 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
30614 (GRUB_TARGET_SIZEOF_LONG): ... this.
30615 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
30616 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
30617 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
30618 to ...
30619 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
30620 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
30621 (GRUB_TARGET_SIZEOF_LONG): ... this.
30622 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
30623 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
30624
30625 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
30626 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
30627 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
30628 instead of GRUB_HOST_SIZEOF_LONG.
30629 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
30630 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
30631 GRUB_CPU_WORDS_BIGENDIAN.
30632 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
30633 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
30634 grub_host_ssize_t.
30635
30636 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
30637 (genmoddep_SOURCES): Likewise.
30638 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
30639 (genmoddep_SOURCES): Likewise.
30640 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
30641 (genmoddep_SOURCES): Likewise.
30642 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
30643 Likewise.
30644 (genmoddep_SOURCES): Likewise.
30645
30646 * genmoddep.awk: New file.
30647
30648 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
30649 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
30650 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
30651 (PModule::rule): Likewise.
30652 (Program::rule): Likewise.
30653 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
30654 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
30655 respectively.
30656
30657 * configure.ac: Rewritten intensively to use host and target
30658 instead of build and host, respectively.
30659
30660 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
30661 (host_cpu): Removed.
30662 (target_cpu): New variable.
30663 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
30664 (BUILD_CC): Removed.
30665 (BUILD_CFLAGS): Likewise.
30666 (BUILD_CPPFLAGS): Likewise.
30667 (TARGET_CC): New variable.
30668 (TARGET_CFLAGS): Likewise.
30669 (TARGET_CPPFLAGS): Likewise.
30670 (TARGET_LDFLAGS): Likewise.
30671 (AWK): Likewise.
30672 (include): Use target_cpu instead of host_cpu.
30673 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 30674
b977bf01 30675 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
30676
f09771a1 306772006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
30678
30679 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
30680 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
30681 field 'false' to 'exec_on_false'.
30682 (grub_script_create_cmdif): Renamed argument names to reflect above
30683 changes.
30684
30685 * normal/execute.c (grub_script_execute_cmdif): Likewise.
30686
30687 * normal/script.c (grub_script_create_cmdif): Likewise.
30688
118f4fb3 306892006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
30690
30691 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
30692 top.
30693 (grub_hfsplus_btree_recptr): Likewise.
30694 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
30695 FILEBLOCK both to pass a block number and store next block
30696 number.
30697 (grub_hfsplus_read_block): Rewritten heavily to support an extent
30698 overflow file correctly. Specify errors appropriately, because
30699 fshelp expects that GRUB_ERRNO is set when fails. Reuse
30700 grub_hfsplus_btree_recptr to get the pointer to a found key.
30701 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
30702 is found.
30703
30704 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
30705 linux.mod.
30706 (_linux_mod_SOURCES): New variable.
30707 (_linux_mod_CFLAGS): Likewise.
30708 (_linux_mod_LDFLAGS): Likewise.
30709 (linux_mod_SOURCES): Likewise.
30710 (linux_mod_CFLAGS): Likewise.
30711 (linux_mod_LDFLAGS): Likewise.
30712
30713 * DISTLIST: Added loader/i386/efi/linux.c,
30714 loader/i386/efi/linux_normal.c and
30715 include/grub/i386/efi/loader.h.
30716
30717 * loader/i386/efi/linux.c: New file.
30718 * loader/i386/efi/linux_normal.c: Likewise.
30719 * include/grub/i386/efi/loader.h: Likewise.
30720
89a7d726 307212006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
30722
30723 * commands/blocklist.c: New file.
30724
30725 * DISTLIST: Added commands/blocklist.c.
30726
30727 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 30728 color for the background, and a darker color for the foreground.
89a7d726 30729 (grub_console_checkkey): Return READ_KEY.
30730 (grub_console_cls): Set the background to
30731 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
30732
30733 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
30734
30735 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
30736 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
30737
30738 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
30739 prototype.
30740
30741 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
30742 BG. The spec is wrong again.
30743
30744 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
30745 prototype.
30746 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
30747
30748 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
30749 commands/blocklist.c.
30750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 30751
89a7d726 30752 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
30753 (blocklist_mod_SOURCES): New variable.
30754 (blocklist_mod_CFLAGS): Likewise.
30755 (blocklist_mod_LDFLAGS): Likewise.
30756
75c8f258 307572006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
30758
30759 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
30760 duplication.
30761 (lba_mode): Use %eax more intensively to reduce the code size.
30762
da2eb181 307632006-05-20 Marco Gerards <marco@gnu.org>
30764
30765 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
30766
30767 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
30768 for `menuentry'.
30769 (script): Accept leading newlines.
30770 (newlines): New rule to describe 0 or more newlines.
30771 (commands): Accept `command' with trailing newline. Fixed the
30772 order in which arguments were passed to `grub_script_add_cmd'.
30773 Accept commands separated by newlines.
30774 (function): Changed to accept newlines.
30775 (menuentry) Rewritten.
30776
30777 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
30778 front of the list, instead of to the end.
30779
577b4050 307802006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
30781
30782 * util/i386/pc/grub-install.in (bindir): New variable.
30783 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
30784 Shaver <lbgwjl@gmail.com>.
30785
0d6e1189 307862006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
30787
30788 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
30789 grub/machine/linux.h
30790 * loader/i386/pc/linux.c: Likewise.
30791
30792 * include/grub/i386/pc/linux.h: Moved to ...
30793 * include/grub/i386/linux.h: ... here.
30794
30795 * include/grub/i386/linux.h (struct linux_kernel_params): New
30796 struct.
f19dbdb7 30797
31b86e9f 307982006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
30799
30800 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
30801 checking.
30802 (grub_video_vbe_blit_glyph): Likewise.
30803 (grub_video_vbe_blit_bitmap): Likewise.
30804 (grub_video_vbe_blit_render_target): Likewise.
30805
83b984de 308062006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
30807
30808 * configure.ac (--with-platform): Properly quote the square
30809 brackets.
30810
5f0413bd 308112006-05-08 Marco Gerards <marco@gnu.org>
30812
30813 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
30814 this...
30815 (kernel_elf_HEADERS): ...to this. Updated all users.
30816 (grubof_symlist.c): Renamed from this...
30817 (kernel_elf_symlist.c): ...to this. Updated all users.
30818 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
30819 (grubof_SOURCES): Renamed from this...
30820 (kernel_elf_SOURCES): ...to this.
30821 (grubof_HEADERS): Renamed from this...
30822 (kernel_elf_HEADERS): ...to this.
30823 (grubof_CFLAGS): Renamed from this...
30824 (kernel_elf_CFLAGS): ...to this.
30825 (grubof_ASFLAGS): Renamed from this...
30826 (kernel_elf_ASFLAGS): ...to this.
30827 (grubof_LDFLAGS): Renamed from this...
30828 (kernel_elf_LDFLAGS): ...to this.
30829
30830 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
30831 this...
30832 (kernel_elf_HEADERS): ...to this. Updated all users.
30833 (grubof_symlist.c): Renamed from this...
30834 (kernel_elf_symlist.c): ...to this. Updated all users.
30835 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
30836 (grubof_SOURCES): Renamed from this...
30837 (kernel_elf_SOURCES): ...to this.
30838 (grubof_HEADERS): Renamed from this...
30839 (kernel_elf_HEADERS): ...to this.
30840 (grubof_CFLAGS): Renamed from this...
30841 (kernel_elf_CFLAGS): ...to this.
30842 (grubof_ASFLAGS): Renamed from this...
30843 (kernel_elf_ASFLAGS): ...to this.
30844 (grubof_LDFLAGS): Renamed from this...
30845 (kernel_elf_LDFLAGS): ...to this.
30846
30847 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
30848 `kernel.elf' instead of `grubof'.
30849
05568c2e 308502006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
30851
30852 Add --with-platform to configure. Use pkglibdir instead of
30853 pkgdatadir. This is reported by Roger Leigh.
30854
30855 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
30856 (host_vendor): Likewise.
30857 (host_os): Likewise.
30858 (pkgdatadir): Likewise.
30859 (platform): New variable.
30860 (pkglibdir): Likewise.
30861 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 30862
05568c2e 30863 * util/i386/pc/grub-install.in (datadir): Removed.
30864 (host_vendor): Likewise.
30865 (host_os): Likewise.
30866 (pkgdatadir): Likewise.
30867 (platform): New variable.
30868 (pkglibdir): Likewise.
30869 Use PKGLIBDIR instead of PKGDATADIR.
30870
30871 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
30872 instead of GRUB_DATADIR.
30873 (main): Likewise.
30874 * util/i386/pc/grub-mkimage.c (usage): Likewise.
30875 (main): Likewise.
30876 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30877 (main): Likewise.
30878
30879 * configure.ac (--with-platform): New option.
30880 Use PLATFORM instead of HOST_VENDOR to specify a platform.
30881
30882 * Makefile.in: Include a makefile based on PLATFORM instead of
30883 HOST_VENDOR.
30884 (pkgdatadir): Not appended by the machine type.
30885 (pkglibdir): Appended by the machine type.
30886 (host_vendor): Removed.
30887 (platform): New variable.
30888 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
30889 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
30890 (uninstall): Likewise.
30891
4e93851c 308922006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
30893
30894 Use the environment context in the menu. Remove the commands
30895 "default" and "timeout", and use variables instead.
f19dbdb7 30896
4e93851c 30897 * normal/menu.c: Include grub/env.h.
30898 (print_entry): Cast TITLE to silence gcc.
30899 (get_timeout): New function.
30900 (set_timeout): Likewise.
30901 (get_entry_number): Likewise.
30902 (run_menu): Use a default entry, a fallback entry and a timeout
30903 in the environment variables "default", "fallback" and
30904 "timeout". Also, tweak the default entry if it is not within the
30905 current menu entries.
30906 (grub_menu_run): Use a fallback entry in the environment variable
30907 "fallback".
30908
30909 * normal/main.c (read_config_file): Do not initialize
30910 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
30911 NEWMENU->TIMEOUT.
30912 (grub_normal_execute): Use a data slot to store the menu.
30913
30914 * include/grub/normal.h (struct grub_menu): Removed default_entry,
30915 fallback_entry and timeout.
30916 (struct grub_menu_list): Removed.
30917 (grub_menu_list_t): Likewise.
30918 (struct grub_context): Likewise.
30919 (grub_context_t): Likewise.
30920 (grub_context_get): Likewise.
30921 (grub_context_get_current_menu): Likewise.
30922 (grub_context_push_menu): Likewise.
30923 (grub_context_pop_menu): Likewise.
30924 (grub_default_init): Likewise.
30925 (grub_default_fini): Likewise.
30926 (grub_timeout_init): Likewise.
30927 (grub_timeout_fini): Likewise.
30928
30929 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
30930 and timeout.mod.
30931 (normal_mod_SOURCES): Removed normal/context.c.
30932
30933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
30934 commands/default.c, commands/timeout.c and normal/context.c.
30935 (normal_mod_SOURCES): Removed normal/context.c.
30936
30937 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
30938 commands/timeout.c and normal/context.c.
30939 (normal_mod_SOURCES): Removed normal/context.c.
30940
30941 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
30942 commands/default.c, commands/timeout.c and normal/context.c.
30943 (normal_mod_SOURCES): Removed normal/context.c.
30944
30945 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
30946 timeout.mod.
30947 (default_mod_SOURCES): Removed.
30948 (default_mod_CFLAGS): Likewise.
30949 (default_mod_LDFLAGS): Likewise.
30950 (timeout_mod_SOURCES): Removed.
30951 (timeout_mod_CFLAGS): Likewise.
30952 (timeout_mod_LDFLAGS): Likewise.
30953
30954 * DISTLIST: Removed commands/default.c, commands/timeout.c and
30955 normal/context.c.
30956
30957 * commands/default.c: Removed.
30958 * commands/timeout.c: Likewise.
30959 * normal/context.c: Likewise.
30960
1eb9cc1d 309612006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
30962
30963 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
30964
385bd9c1 309652006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
30966
30967 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
30968 "next" to "prev" for readability.
30969 (struct grub_env_sorted_var): New struct.
30970 (grub_env_context): Renamed to ...
30971 (initial_context): ... this.
30972 (grub_env_var_context): Renamed to ...
30973 (current_context): ... this.
30974 (grub_env_find): Look only at CURRENT_CONTEXT.
30975 (grub_env_context_open): Rewritten to copy exported variables from
30976 previous context.
30977 (grub_env_context_close): Rewritten according to the new
30978 scheme. Also, add an assertion to prevent the initial context from
30979 removed.
30980 (grub_env_insert): Removed the code for the sorted list.
30981 (grub_env_remove): Likewise.
30982 (grub_env_export): Simply mark the variable with
30983 GRUB_ENV_VAR_GLOBAL.
30984 (grub_env_set): A cosmetic change for naming consistency.
30985 (grub_env_get): Likewise.
30986 (grub_env_unset): Likewise.
30987 (grub_env_iterate): Rewritten to sort variables within this
30988 function.
30989 (grub_register_variable_hook): Fixed for naming consistency. Call
30990 grub_env_find again, only if NAME is not found at the first time.
30991 (mangle_data_slot_name): New function.
30992 (grub_env_set_data_slot): Likewise.
30993 (grub_env_get_data_slot): Likewise.
30994 (grub_env_unset_data_slot): Likewise.
30995
30996 * include/grub/env.h (grub_env_var_type): New enum.
30997 (GRUB_ENV_VAR_LOCAL): New constant.
30998 (GRUB_ENV_VAR_GLOBAL): Likewise.
30999 (GRUB_ENV_VAR_DATA): Likewise.
31000 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
31001 "type".
31002 (grub_env_set): Replace VAR with NAME for consistency.
31003 (grub_register_variable_hook): Likewise.
31004 (grub_env_export): Specify the name of the argument.
31005 (grub_env_set_data_slot): New prototype.
31006 (grub_env_get_data_slot): Likewise.
31007 (grub_env_unset_data_slot): Likewise.
31008
7f362539 310092006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
31010
31011 Extend the loader so that GRUB can accept a loader which comes
31012 back to GRUB when a loaded image exits. Also, this change adds
31013 support for a chainloader on EFI.
f19dbdb7 31014
7f362539 31015 * term/efi/console.c: Include grub/misc.h.
31016 (grub_console_checkkey): Display a scan code on the top for
31017 debugging. This will be removed once the EFI port gets stable.
31018 Correct the scan code mapping.
31019
31020 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
31021 allocate memory from larger regions, in order to reduce the number
31022 of allocated regions. Otherwise, the MacOSX loader panics.
31023 (filter_memory_map): Avoid less than 1MB for compatibility with
31024 other loaders.
31025 (add_memory_regions): Allocate from the tail of a region, if
31026 possible, to avoid allocating a region near to 1MB, for the MacOSX
31027 loader.
31028
31029 * kern/efi/init.c (grub_efi_set_prefix): Specify
31030 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
31031
31032 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
31033 argument IMAGE_HANDLE and specify it to get a loaded image.
31034 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
31035 grub_efi_get_loaded_image.
fe6b695a 31036 (grub_efi_get_filename): Divide the length by the size of
7f362539 31037 grub_efi_char16_t.
31038 (grub_efi_get_device_path): New function.
31039 (grub_efi_print_device_path): Print End Device Path nodes. Divide
31040 the length by the size of grub_efi_char16_t for a file path device
31041 path node.
31042
31043 * kern/loader.c (grub_loader_noreturn): New variable.
31044 (grub_loader_set): Accept a new argument NORETURN. Set
31045 GRUB_LOADER_NORETURN to NORETURN.
31046 All callers changed.
31047 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
31048 grub_machine_fini.
31049
31050 * include/grub/efi/efi.h (grub_efi_get_device_path): New
31051 prototype.
31052 (grub_efi_get_loaded_image): Take an argument to specify an image
31053 handle.
31054
31055 * include/grub/loader.h (grub_loader_set): Added one more argument
31056 NORETURN.
31057
31058 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
31059 instead of grub_efi_open_protocol.
31060 (grub_efidisk_get_device_name): Likewise.
31061 (grub_efidisk_close): Print a newline.
31062 (grub_efidisk_get_device_handle): Fixed to use
31063 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
31064 GRUB_EFI_DEVICE_PATH_TYPE.
31065
31066 * disk/efi/efidisk.c (device_path_guid): Moved to ...
31067 * kern/efi/efi.c (device_path_guid): ... here.
31068
31069 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
31070 chain.mod.
31071 (kernel_mod_HEADERS): Added efi/disk.h.
31072 (_chain_mod_SOURCES): New variable.
31073 (_chain_mod_CFLAGS): Likewise.
31074 (_chain_mod_LDFLAGS): Likewise.
31075 (chain_mod_SOURCES): Likewise.
31076 (chain_mod_CFLAGS): Likewise.
31077 (chain_mod_LDFLAGS): Likewise.
31078
31079 * DISTLIST: Added include/grub/efi/chainloader.h,
31080 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
31081
31082 * include/grub/efi/chainloader.h: New file.
31083 * loader/efi/chainloader.c: Likewise.
31084 * loader/efi/chainloader_normal.c: Likewise.
31085
c0111d6e 310862006-04-30 Marco Gerards <marco@gnu.org>
31087
31088 * commands/configfile.c (grub_cmd_source): New function.
31089 (GRUB_MOD_INIT): Register the commands `source' and `.'.
31090 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
31091
df5341da 310922006-04-30 Marco Gerards <marco@gnu.org>
31093
31094 * normal/execute.c (grub_script_execute_cmd): Change the return
31095 type to `grub_err_t'. Correctly return the error.
31096 (grub_script_execute_cmdline): In case a command line is not a
31097 command or a function, try to interpret it as an assignment.
31098
f85934bd 310992006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
31100
31101 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
31102 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
31103 skip a node whose name is obviously invalid as UTF-16,
31104 i.e. contains a NUL character. Stop the iteration when the last
31105 directory entry is found. Instead of using the return value of
31106 grub_hfsplus_btree_iterate_node, store the value in RET and use
31107 it, because the iterator can be stopped by the last directory
31108 entry.
31109
8f8a2cf8 311102006-04-30 Marco Gerards <marco@gnu.org>
31111
31112 * include/grub/env.h (grub_env_export): New prototype. Reported
31113 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
31114
a27e84ce 311152006-04-30 Marco Gerards <marco@gnu.org>
31116
31117 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
31118 size of the extents in a catalog file record.
31119
eaef0553 311202006-04-29 Marco Gerards <marco@gnu.org>
31121
31122 * commands/configfile.c (grub_cmd_configfile): Execute the
31123 configfile within its own context.
31124
31125 * include/grub/env.h (grub_env_context_open): New prototype.
31126 (grub_env_context_close): Likewise.
31127
31128 * kern/env.c (grub_env): Removed.
31129 (grub_env_sorted): Likewise.
31130 (grub_env_context): New variable.
31131 (grub_env_var_context): Likewise.
31132 (grub_env_find): Search both the active context and the global
31133 context.
31134 (grub_env_context_open): New function.
31135 (grub_env_context_close): Likewise.
31136 (grub_env_insert): Likewise.
31137 (grub_env_remove): Likewise.
31138 (grub_env_export): Likewise.
31139 (grub_env_set): Changed to use helper functions to avoid code
31140 duplication.
31141 (grub_env_iterate): Rewritten so both the current context and the
31142 global context are being used.
31143
31144 * normal/command.c (export_command): New function.
31145 (grub_command_init): Register the `export' function.
31146
7b455f4d 311472006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
31148
31149 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
31150 explicitly to suppress gcc's warnings.
31151 * fs/fat.c (grub_fat_find_dir): Likewise.
31152 (grub_fat_label): Likewise.
31153 * fs/xfs.c (grub_xfs_read_inode): Likewise.
31154 (grub_xfs_mount): Likewise.
31155 (grub_xfs_label): Likewise.
31156 * fs/affs.c (grub_affs_mount): Likewise.
31157 (grub_affs_label): Likewise.
31158 (grub_affs_iterate_dir): Likewise.
31159 * fs/sfs.c (grub_sfs_mount): Likewise.
31160 (grub_sfs_iterate_dir): Likewise.
31161 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
31162 * fs/hfs.c (grub_hfs_mount): Likewise.
31163 (grub_hfs_cmp_catkeys): Likewise.
31164 (grub_hfs_find_dir): Likewise.
31165 (grub_hfs_dir): Likewise.
31166 (grub_hfs_label): Likewise.
31167 * fs/jfs.c (grub_jfs_mount): Likewise.
31168 (grub_jfs_opendir): Likewise.
31169 (grub_jfs_getent): Likewise.
31170 (grub_jfs_lookup_symlink): Likewise.
31171 (grub_jfs_label): Likewise.
31172 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
31173 (grub_hfsplus_iterate_dir): Likewise.
31174 (grub_hfsplus_btree_iterate_node): Made static.
31175
31176 * util/grub-emu.c (prefix): New variable.
31177 (grub_machine_set_prefix): New function.
31178 (main): Do not set the environment variable "prefix" here. Only
31179 set PREFIX, which is used later by grub_machine_set_prefix.
31180
31181 * include/grub/video.h: Do not include grub/symbol.h.
31182 (grub_video_register): Not exported. This symbol is not defined in
31183 the kernel.
31184 (grub_video_unregister): Likewise.
31185 (grub_video_iterate): Likewise.
31186 (grub_video_setup): Likewise.
31187 (grub_video_restore): Likewise.
31188 (grub_video_get_info): Likewise.
31189 (grub_video_get_blit_format): Likewise.
31190 (grub_video_set_palette): Likewise.
31191 (grub_video_get_palette): Likewise.
31192 (grub_video_set_viewport): Likewise.
31193 (grub_video_get_viewport): Likewise.
31194 (grub_video_map_color): Likewise.
31195 (grub_video_map_rgb): Likewise.
31196 (grub_video_map_rgba): Likewise.
31197 (grub_video_fill_rect): Likewise.
31198 (grub_video_blit_glyph): Likewise.
31199 (grub_video_blit_bitmap): Likewise.
31200 (grub_video_blit_render_target): Likewise.
31201 (grub_video_scroll): Likewise.
31202 (grub_video_swap_buffers): Likewise.
31203 (grub_video_create_render_target): Likewise.
31204 (grub_video_delete_render_target): Likewise.
31205 (grub_video_set_active_render_target): Likewise.
31206
31207 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
31208 Undefined.
31209 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
31210
31211 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
31212 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
31213 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
31214 instead of $(srcdir)/genkernsyms.sh.
31215
31216 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
31217 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
31218 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
31219 instead of $(srcdir)/genkernsyms.sh.
31220
31221 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
31222 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
31223 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
31224 instead of $(srcdir)/genkernsyms.sh.
31225
31226 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
31227 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
31228 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
31229 instead of $(srcdir)/genkernsyms.sh.
31230
31231 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
31232 genkernsyms.sh.
31233
31234 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
31235 genkernsyms.sh.
31236 (gensymlist.sh): New target.
31237 (genkernsyms.sh): Likewise.
31238
31239 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
31240 genkernsyms.sh.in and gensymlist.sh.in.
31241
31242 * genkernsyms.sh: Removed.
31243 * gensymlist.sh: Likewise.
f19dbdb7 31244
7b455f4d 31245 * genkernsyms.sh.in: New file.
31246 * gensymlist.sh.in: Likewise.
31247
1885bb27 312482006-04-25 Hollis Blanchard <hollis@penguinppc.org>
31249
31250 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
31251 clobber "prefix", since we may have already set it manually.
31252
71538dff 312532006-04-25 Hollis Blanchard <hollis@penguinppc.org>
31254
31255 * kern/misc.c (abort): New alias for grub_abort.
31256
2965c7cc 312572006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
31258
31259 A new machine-specific function "grub_machine_set_prefix" is
31260 defined. This is called after loading modules, so that a prefix
31261 initialization can use modules. Also, this change adds an
31262 intensive debugging feature for the memory manager via the
31263 configure option "--enable-mm-debug".
f19dbdb7 31264
2965c7cc 31265 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
31266 PART.LEN.
31267
31268 * kern/sparc64/ieee1275/init.c (abort): Removed.
31269 (grub_stop): Likewise.
31270 (grub_exit): New function.
31271 (grub_set_prefix): Renamed to ...
31272 (grub_machine_set_prefix): ... this.
31273 (grub_machine_init): Do not call grub_set_prefix.
31274
31275 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
31276 (grub_machine_set_prefix): ... this.
31277 (grub_machine_init): Do not call grub_set_prefix.
31278
31279 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
31280 (grub_machine_init): Do not set the prefix here.
31281
31282 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
31283
31284 * kern/efi/init.c: Include grub/mm.h.
31285 (grub_efi_set_prefix): New function.
31286
31287 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
31288 (grub_efi_get_filename): New function.
31289 (grub_print_device_path): Renamed to ...
31290 (grub_efi_print_device_path): ... this.
31291
31292 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
31293 [MM_DEBUG] (grub_realloc): Likewise.
31294 [MM_DEBUG] (grub_free): Likewise.
31295 [MM_DEBUG] (grub_memalign): Likewise.
31296 [MM_DEBUG] (grub_mm_debug): New variable.
31297 [MM_DEBUG] (grub_debug_malloc): New function.
31298 [MM_DEBUG] (grub_debug_free): New function.
31299 [MM_DEBUG] (grub_debug_realloc): New function.
31300 [MM_DEBUG] (grub_debug_memalign): New function.
31301
31302 * kern/misc.c (grub_abort): Print a newline to distinguish
31303 the message.
31304
31305 * kern/main.c (grub_main): Call grub_machine_set_prefix and
31306 grub_set_root_dev after loading modules. This is necessary when
31307 setting a prefix depends on modules.
31308
31309 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
31310 (grub_efi_print_device_path): ... this.
31311 (grub_efi_get_filename): New prototype.
31312 (grub_efi_set_prefix): Likewise.
31313
31314 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
31315 and grub/disk.h.
31316 (grub_efidisk_get_device_handle): New prototype.
31317 (grub_efidisk_get_device_name): Likewise.
31318
31319 * include/grub/mm.h: Include config.h.
31320 (MM_DEBUG): Removed.
31321 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
31322 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
31323 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
31324 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
31325 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
31326 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
31327 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
31328 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
31329 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
31330
31331 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
31332
31333 * disk/efi/efidisk.c: Include grub/partition.h.
31334 (iterate_child_devices): New function.
31335 (add_device): First, compare only last device path nodes, so that
31336 devices are sorted by the types.
31337 (grub_efidisk_get_device_handle): New function.
31338 (grub_efidisk_get_device_name): Likewise.
31339
31340 * configure.ac (--enable-mm-debug): New option to enable the
31341 memory manager debugging feature. This makes the binary much
31342 bigger, so is disabled by default.
31343
9cacaa17 313442006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
31345
31346 Use grub_abort instead of grub_stop, and grub_exit must be
31347 define in each architecture now. Also, this change adds support
31348 for EFI disks.
f19dbdb7 31349
9cacaa17 31350 * util/i386/pc/grub-probefs.c: Include grub/term.h.
31351 (grub_getkey): New function.
31352 (grub_term_get_current): Likewise.
31353
31354 * util/i386/pc/grub-setup.c: Include grub/term.h.
31355 (grub_getkey): New function.
31356 (grub_term_get_current): Likewise.
31357
31358 * util/misc.c (grub_stop): Renamed to ...
31359 (grub_exit): ... this.
31360
31361 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
31362 (grub_exit): ... this.
31363 (grub_machine_init): Use grub_abort instead of abort.
31364 (grub_stop): Removed.
31365
31366 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
31367 abort.
31368
31369 * kern/i386/pc/startup.S (grub_exit): New function.
31370 (cold_reboot): New label.
31371
31372 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
31373 (grub_efi_init): Call grub_efidisk_init.
31374 (grub_efi_fini): Call grub_efidisk_fini.
31375
31376 * kern/efi/efi.c: Include grub/mm.h.
31377 (grub_efi_console_control_guid): Renamed to ...
31378 (console_control_guid): ... this.
31379 (grub_efi_loaded_image_guid): Renamed to ...
31380 (loaded_image_guid): ... this.
31381 (grub_efi_locate_handle): New function.
31382 (grub_efi_open_protocol): Likewise.
31383 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
31384 GRUB_EFI_CONSOLE_CONTROL_GUID.
31385 (grub_efi_exit): Removed.
31386 (grub_stop): Likewise.
31387 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
31388 (grub_exit): New function.
31389 (grub_print_device_path): Likewise.
31390
31391 * kern/rescue.c (grub_rescue_cmd_exit): New function.
31392 (grub_enter_rescue_mode): Register "exit".
31393
31394 * kern/misc.c (grub_real_dprintf): A cosmetic change.
31395 (grub_abort): New function.
31396
31397 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
31398
31399 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
31400
31401 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
31402
31403 * include/grub/efi/efi.h (grub_efi_exit): Removed.
31404 (grub_print_device_path): New prototype.
31405 (grub_efi_locate_handle): Likewise.
31406 (grub_efi_open_protocol): Likewise.
31407
31408 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
31409 * disk/efi/efidisk.c: Likewise.
31410
31411 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
31412
31413 * include/grub/efi/console_control.h
31414 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
31415
31416 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
31417 last 8 bytes as an array.
31418 (GRUB_EFI_DISK_IO_GUID): New macro.
31419 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
31420 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
31421 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
31422 grub_uint8_t.
31423 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
31424 (struct grub_efi_device_path): Rename the member "sub_type" to
31425 "subtype".
31426 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
31427 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
31428 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
31429 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
31430 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
31431 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
31432 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
31433 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
31434 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
31435 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
31436 (struct grub_efi_pci_device_path): New structure.
31437 (grub_efi_pci_device_path_t): New type.
31438 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
31439 (struct grub_efi_pccard_device_path): New structure.
31440 (grub_efi_pccard_device_path_t): New type.
31441 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
31442 (struct grub_efi_memory_mapped_device_path): New structure.
31443 (grub_efi_memory_mapped_device_path_t): New type.
31444 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
31445 (struct grub_efi_vendor_device_path): New structure.
31446 (grub_efi_vendor_device_path_t): New type.
31447 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
31448 (struct grub_efi_controller_device_path): New structure.
31449 (grub_efi_controller_device_path_t): New type.
31450 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
31451 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
31452 (struct grub_efi_acpi_device_path): New structure.
31453 (grub_efi_acpi_device_path_t): New type.
31454 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
31455 (struct grub_efi_expanded_acpi_device_path): New structure.
31456 (grub_efi_expanded_acpi_device_path_t): New type.
31457 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
31458 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
31459 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
31460 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
31461 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
31462 (struct grub_efi_atapi_device_path): New structure.
31463 (grub_efi_atapi_device_path_t): New type.
31464 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
31465 (struct grub_efi_fibre_channel_device_path): New structure.
31466 (grub_efi_fibre_channel_device_path_t): New type.
31467 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
31468 (struct grub_efi_1394_device_path): New structure.
31469 (grub_efi_1394_device_path_t): New type.
31470 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
31471 (struct grub_efi_usb_device_path): New structure.
31472 (grub_efi_usb_device_path_t): New type.
31473 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
31474 (struct grub_efi_usb_class_device_path): New structure.
31475 (grub_efi_usb_class_device_path_t): New type.
31476 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
31477 (struct grub_efi_i2o_device_path): New structure.
31478 (grub_efi_i2o_device_path_t): New type.
31479 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
31480 (struct grub_efi_mac_address_device_path): New structure.
31481 (grub_efi_mac_address_device_path_t): New type.
31482 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
31483 (struct grub_efi_ipv4_device_path): New structure.
31484 (grub_efi_ipv4_device_path_t): New type.
31485 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
31486 (struct grub_efi_ipv6_device_path): New structure.
31487 (grub_efi_ipv6_device_path_t): New type.
31488 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
31489 (struct grub_efi_infiniband_device_path): New structure.
31490 (grub_efi_infiniband_device_path_t): New type.
31491 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
31492 (struct grub_efi_uart_device_path): New structure.
31493 (grub_efi_uart_device_path_t): New type.
31494 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
31495 (struct grub_efi_vendor_messaging_device_path): New structure.
31496 (grub_efi_vendor_messaging_device_path_t): New type.
31497 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
31498 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
31499 (struct grub_efi_hard_drive_device_path): New structure.
31500 (grub_efi_hard_drive_device_path_t): New type.
31501 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
31502 (struct grub_efi_cdrom_device_path): New structure.
31503 (grub_efi_cdrom_device_path_t): New type.
31504 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
31505 (struct grub_efi_vendor_media_device_path): New structure.
31506 (grub_efi_vendor_media_device_path_t): New type.
31507 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
31508 (struct grub_efi_file_path_device_path): New structure.
31509 (grub_efi_file_path_device_path_t): New type.
31510 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
31511 (struct grub_efi_protocol_device_path): New structure.
31512 (grub_efi_protocol_device_path_t): New type.
31513 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
31514 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
31515 (struct grub_efi_bios_device_path): New structure.
31516 (grub_efi_bios_device_path_t): New type.
31517 (struct grub_efi_disk_io): New structure.
31518 (grub_efi_disk_io_t): New type.
31519 (struct grub_efi_block_io_media): New structure.
31520 (grub_efi_block_io_media_t): New type.
31521 (struct grub_efi_block_io): New structure.
31522 (grub_efi_block_io_t): New type.
31523
31524 * include/grub/misc.h (grub_stop): Removed.
31525 (grub_exit): New prototype.
31526 (grub_abort): Likewise.
31527
31528 * include/grub/disk.h (enum grub_disk_dev_id): Added
31529 GRUB_DISK_DEVICE_EFIDISK_ID.
31530
31531 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
31532 disk/efi/efidisk.c.
31533 (kernel_syms.lst): Remove the target if an error occurs.
31534
49986a9f 315352006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
31536
31537 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
31538 as it was simply too buggy.
31539
970d3b8a 315402006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
31541
31542 * kern/misc.c (grub_lltoa): New function.
31543 (grub_vsprintf): Added support for the long long suffix,
31544 i.e. "ll".
31545
ff04ec24 315462006-04-20 Hollis Blanchard <hollis@penguinppc.org>
31547
31548 * Makefile.in (LDFLAGS): Add variable.
31549 (LD): Remove variable.
31550 * configure.ac: Add -m32 to LDFLAGS.
31551 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
31552 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
31553 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
31554 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
31555 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
31556 variables.
31557 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
31558 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
31559 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
31560
37e5e1a4 315612006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
31562
31563 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
31564 length for unknown glyph.
31565
c352d8dd 315662006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
31567
2eab1c0d 31568 Add support for pre-loaded modules into the EFI port.
f19dbdb7 31569
2eab1c0d 31570 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
31571 completely. Accept one more argument DIR. The caller has changed.
31572
31573 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
31574
31575 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
31576 (grub_efi_loaded_image_guid): New variable.
31577 (grub_efi_get_loaded_image): New function.
31578 (grub_arch_modules_addr): Likewise.
31579
31580 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
31581 prototype.
31582
31583 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
31584 (struct grub_efi_loaded_image): New structure.
31585 (grub_efi_loaded_image_t): New type.
31586
315872006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31588
c352d8dd 31589 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
31590 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
31591 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
31592
6d01d6b4 315932006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
31594
31595 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
31596
976a4ea0 315972006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
31598
31599 * DISTLIST: Added include/grub/efi/console.h,
31600 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
31601 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
31602
31603 * include/grub/efi/console.h: New file.
31604 * include/grub/efi/time.h: Likewise.
31605 * include/grub/i386/efi/kernel.h: Likewise.
31606 * kern/efi/init.c: Likewise.
31607 * kern/efi/mm.c: Likewise.
31608 * term/efi/console.c: Likewise.
f19dbdb7 31609
976a4ea0 31610 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
31611 (grub_stop): Removed.
31612 (grub_get_rtc): Likewise.
31613 (grub_machine_init): Simply call grub_efi_init.
31614 (grub_machine_fini): Call grub_efi_fini.
31615
31616 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
31617 (grub_efi_output_string): Removed.
31618 (grub_efi_stall): New function.
31619 (grub_stop): Likewise.
31620 (grub_get_rtc): Likewise.
31621
31622 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
31623 (grub_efi_stall): New prototype.
31624 (grub_efi_allocate_pages): Likewise.
31625 (grub_efi_free_pages): Likewise.
31626 (grub_efi_get_memory_map): Likewise.
31627 (grub_efi_mm_init): Likewise.
31628 (grub_efi_mm_fini): Likewise.
31629 (grub_efi_init): Likewise.
31630 (grub_efi_fini): Likewise.
31631
31632 * include/grub/i386/efi/time.h: Do not include
31633 grub/symbol.h. Include grub/efi/time.h.
31634 (GRUB_TICKS_PER_SECOND): Removed.
31635 (grub_get_rtc): Likewise.
31636
31637 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
31638 Added padding. The EFI spec is buggy.
31639 (GRUB_EFI_BLACK): New macro.
31640 (GRUB_EFI_BLUE): Likewise.
31641 (GRUB_EFI_GREEN): Likewise.
31642 (GRUB_EFI_CYAN): Likewise.
31643 (GRUB_EFI_RED): Likewise.
31644 (GRUB_EFI_MAGENTA): Likewise.
31645 (GRUB_EFI_BROWN): Likewise.
31646 (GRUB_EFI_LIGHTGRAY): Likewise.
31647 (GRUB_EFI_BRIGHT): Likewise.
31648 (GRUB_EFI_DARKGRAY): Likewise.
31649 (GRUB_EFI_LIGHTBLUE): Likewise.
31650 (GRUB_EFI_LIGHTGREEN): Likewise.
31651 (GRUB_EFI_LIGHTCYAN): Likewise.
31652 (GRUB_EFI_LIGHTRED): Likewise.
31653 (GRUB_EFI_LIGHTMAGENTA): Likewise.
31654 (GRUB_EFI_YELLOW): Likewise.
31655 (GRUB_EFI_WHITE): Likewise.
31656 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
31657 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
31658 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
31659 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
31660 (GRUB_EFI_BACKGROUND_RED): Likewise.
31661 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
31662 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
31663 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
31664 (GRUB_EFI_TEXT_ATTR): Likewise.
31665
31666 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
31667 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
31668 (kernel_mod_HEADERS): Added efi/time.h.
31669
83709125 316702006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
31671
31672 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
31673 include/grub/efi/api.h, include/grub/efi/console_control.h,
31674 include/grub/efi/efi.h, include/grub/efi/pe32.h,
31675 include/grub/i386/efi/time.h, kern/efi/efi.c,
31676 kern/i386/efi/init.c, kern/i386/efi/startup.S,
31677 and util/i386/efi/grub-mkimage.c.
31678
31679 * Makefile.in (RMKFILES): Added i386-efi.rmk.
31680
31681 * genmk.rb (PModule#rule): Do not export symbols if
31682 #{prefix}_EXPORTS is set to "no".
31683
31684 * conf/i386-efi.mk: New file.
31685 * conf/i386-efi.rmk: Likewise.
31686 * include/grub/efi/api.h: Likewise.
31687 * include/grub/efi/console_control.h: Likewise.
31688 * include/grub/efi/efi.h: Likewise.
31689 * include/grub/efi/pe32.h: Likewise.
31690 * include/grub/i386/efi/time.h: Likewise.
31691 * kern/efi/efi.c: Likewise.
31692 * kern/i386/efi/init.c: Likewise.
31693 * kern/i386/efi/startup.S: Likewise.
31694 * util/i386/efi/grub-mkimage.c: Likewise.
31695
316962006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 31697
31698 * include/grub/script.h: Include <grub/parser.h> and
31699 "grub_script.tab.h".
31700 (struct grub_lexer_param): New struct.
31701 (struct grub_parser_param): Likewise.
31702 (grub_script_create_arglist): Pass the state in an argument.
31703 (grub_script_add_arglist): Likewise.
31704 (grub_script_create_cmdline): Likewise.
31705 (grub_script_create_cmdblock): Likewise.
31706 (grub_script_create_cmdif): Likewise.
31707 (grub_script_create_cmdmenu): Likewise.
31708 (grub_script_add_cmd): Likewise.
31709 (grub_script_arg_add): Likewise.
31710 (grub_script_lexer_ref): Likewise.
31711 (grub_script_lexer_deref): Likewise.
31712 (grub_script_lexer_record_start): Likewise.
31713 (grub_script_lexer_record_stop): Likewise.
31714 (grub_script_mem_record): Likewise.
31715 (grub_script_mem_record_stop): Likewise.
31716 (grub_script_malloc): Likewise.
31717 (grub_script_yylex): Likewise.
31718 (grub_script_yyparse): Likewise.
31719 (grub_script_yyerror): Likewise.
31720 (grub_script_yylex): Likewise.
31721 (grub_script_lexer_init): Return the state.
31722
31723 * normal/lexer.c (grub_script_lexer_state): Removed variable.
31724 (grub_script_lexer_done): Likewise.
31725 (grub_script_lexer_getline): Likewise.
31726 (grub_script_lexer_refs): Likewise.
31727 (script): Likewise.
31728 (newscript): Likewise.
31729 (record): Likewise.
31730 (recording): Likewise.
31731 (recordpos): Likewise.
31732 (recordlen): Likewise.
31733 (grub_script_lexer_init): Return the state instead of setting
31734 global variables.
31735 (grub_script_lexer_ref): Use the newly added argument for state
31736 instead of globals.
31737 (grub_script_lexer_deref): Likewise.
31738 (grub_script_lexer_record_start): Likewise.
31739 (grub_script_lexer_record_stop): Likewise.
31740 (recordchar): Likewise.
31741 (nextchar): Likewise.
31742 (grub_script_yylex2): Likewise.
31743 (grub_script_yylex): Likewise.
31744 (grub_script_yyerror): Likewise.
31745
31746 * normal/parser.y (func_mem): Removed variable.
31747 (menu_entry): Likewise.
31748 (err): Likewise.
31749 (%lex-param): New parser option.
31750 (%parse-param): Likewise.
31751 (script): Always return the AST.
31752 (argument): Pass the state around.
31753 (arguments): Likewise.
31754 (grubcmd): Likewise.
31755 (commands): Likewise.
31756 (function): Likewise.
31757 (menuentry): Likewise.
31758 (if_statement): Likewise.
31759 (if): Likewise.
31760
31761 * normal/script.c (grub_script_memused): Removed variable.
31762 (grub_script_parsed): Likewise.
31763 (grub_script_malloc): Added a state argument. Use that instead of
31764 global variables.
31765 (grub_script_mem_record): Likewise.
31766 (grub_script_mem_record_stop): Likewise.
31767 (grub_script_arg_add): Likewise.
31768 (grub_script_add_arglist): Likewise.
31769 (grub_script_create_cmdline): Likewise.
31770 (grub_script_create_cmdif): Likewise.
31771 (grub_script_create_cmdmenu): Likewise.
31772 (grub_script_add_cmd): Likewise.
31773 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 31774
e2a8c904 317752006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 31776
31777 * normal/command.c (grub_command_init): Remove the title command.
31778
31779 * normal/lexer.c (grub_script_yylex): Renamed from this...
31780 (grub_script_yylex2): ... to this.
31781 (grub_script_yylex): New function. Temporary
31782 introduced to filter some tokens.
31783 (grub_script_yyerror): Print a newline.
31784
31785 * normal/main.c (read_config_file): Output information about the
31786 lines that contain errors. Wait for a key after all lines have
31787 been processed. Don't return an empty menu.
31788
31789 * normal/parser.y (func_mem): Don't initialize.
31790 (menu_entry): Likewise.
31791 (err): New variable.
31792 (script): Don't return anything when an error was encountered.
31793 (ws, returns): Removed rules.
31794 (argument): Disabled concatenated variable support.
31795 (arguments): Remove explicit separators.
31796 (grubcmd): Likewise.
31797 (function): Likewise.
31798 (menuentry): Likewise.
31799 (if): Likewise.
31800 (commands): Likewise. Add error handling.
31801
31802 * normal/script.c (grub_script_create_cmdline): If
31803 `grub_script_parsed' is 0, assume the parser encountered an error.
31804
c9a86192 318052006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
31806
31807 * configure.ac: Add support for EFI. Fix the typo
31808 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
31809
70f3b243 318102006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
31811
31812 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
31813 foreign multibyte characters should be shown correctly.
31814
65f201ad 318152006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
31816
31817 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
31818 calculation.
31819 (read_config_file): Made it to close file before returning.
31820
b4b93674 318212006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
31822
31823 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
31824 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
31825 video/i386/pc/vbefill.c.
31826
31827 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
31828 video/i386/pc/vbefill.c.
31829
31830 * include/grub/video.h (grub_video_blit_format): New enum.
31831 (grub_video_mode_info): Added new member blit_format.
31832 (grub_video_get_blit_format): New function prototype.
31833
31834 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
31835 function prototype.
31836 (grub_video_vbe_map_rgb): Likewise.
31837 (grub_video_vbe_unmap_color): Likewise.
31838
31839 * include/grub/i386/pc/vbeblit.h: New file.
31840
31841 * include/grub/i386/pc/vbefill.h: New file.
31842
31843 * video/video.c (grub_video_get_blit_format): New function.
31844 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
31845 (grub_video_vbe_map_rgb): Likewise.
31846 (grub_video_vbe_unmap_color): Likewise.
31847
31848 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
31849 optimized fills.
31850 (grub_video_vbe_blit_render_target): Changed to use more optimized
31851 blits.
31852 (grub_video_vbe_setup): Added detection for optimized settings.
31853 (grub_video_vbe_create_render_target): Likewise.
31854
31855 * video/i386/pc/vbeblit.c: New file.
31856
31857 * video/i386/pc/vbefill.c: New file.
31858
c2379b9c 318592006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
31860
31861 * font/manager.c (grub_font_get_glyph): Removed font fixup from
31862 here...
31863
31864 * util/unifont2pff.rb: ... and moved it to here. Improved argument
31865 parsing to support both hex and dec ranges. If filename was missing
31866 show usage information.
31867
bd0d7896 318682006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
31869
31870 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
31871 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
31872
31873 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
31874 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
31875 (video_mod_SOURCES): Added.
31876 (video_mod_CFLAGS): Likewise.
31877 (video_mod_LDFLAGS): Likewise.
31878 (gfxterm_mod_SOURCES): Likewise.
31879 (gfxterm_mod_CFLAGS): Likewise.
31880 (gfxterm_mod_LDFLAGS): Likewise.
31881 (videotest_mod_SOURCES): Likewise.
31882 (videotest_mod_CFLAGS): Likewise.
31883 (videotest_mod_LDFLAGS): Likewise.
31884 (vesafb_mod_SOURCES): Removed.
31885 (vesafb_mod_CFLAGS): Likewise.
31886 (vesafb_mod_LDFLAGS): Likewise.
31887 (vga_mod_SOURCES): Likewise.
31888 (vga_mod_CFLAGS): Likewise.
31889 (vga_mod_LDFLAGS): Likewise.
31890
31891 * commands/videotest.c: New file.
31892
31893 * font/manager.c (fill_with_default_glyph): Modified to use
31894 grub_font_glyph.
31895 (grub_font_get_glyph): Likewise.
31896 (fontmanager): Renamed from this...
31897 (font_manager): ... to this.
31898
31899 * include/grub/font.h (grub_font_glyph): Added new structure.
31900 (grub_font_get_glyph): Modified to use grub_font_glyph.
31901
31902 * include/grub/misc.h (grub_abs): Added as inline function.
31903
31904 * include/grub/video.h: New file.
31905
31906 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
31907 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
31908 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
31909 (grub_vbe_get_controller_info): Renamed from this...
31910 (grub_vbe_bios_get_controller_info): ... to this.
31911 (grub_vbe_get_mode_info): Renamed from this...
31912 (grub_vbe_bios_get_mode_info): ... to this.
31913 (grub_vbe_set_mode): Renamed from this...
31914 (grub_vbe_bios_set_mode): ... to this.
31915 (grub_vbe_get_mode): Renamed from this...
31916 (grub_vbe_bios_get_mode): ... to this.
31917 (grub_vbe_set_memory_window): Renamed from this...
31918 (grub_vbe_bios_set_memory_window): ... to this.
31919 (grub_vbe_get_memory_window): Renamed from this...
31920 (grub_vbe_bios_get_memory_window): ... to this.
31921 (grub_vbe_set_scanline_length): Renamed from this...
31922 (grub_vbe_set_scanline_length): ... to this.
31923 (grub_vbe_get_scanline_length): Renamed from this...
31924 (grub_vbe_bios_get_scanline_length): ... to this.
31925 (grub_vbe_set_display_start): Renamed from this...
31926 (grub_vbe_bios_set_display_start): ... to this.
31927 (grub_vbe_get_display_start): Renamed from this...
31928 (grub_vbe_bios_get_display_start): ... to this.
31929 (grub_vbe_set_palette_data): Renamed from this...
31930 (grub_vbe_bios_set_palette_data): ... to this.
31931 (grub_vbe_set_pixel_rgb): Removed.
31932 (grub_vbe_set_pixel_index): Likewise.
31933
31934 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
31935 from this...
31936 (grub_vbe_bios_get_controller_info): ... to this.
31937 (grub_vbe_get_mode_info): Renamed from this...
31938 (grub_vbe_bios_get_mode_info): ... to this.
31939 (grub_vbe_set_mode): Renamed from this...
31940 (grub_vbe_bios_set_mode): ... to this.
31941 (grub_vbe_get_mode): Renamed from this...
31942 (grub_vbe_bios_get_mode): ... to this.
31943 (grub_vbe_set_memory_window): Renamed from this...
31944 (grub_vbe_bios_set_memory_window): ... to this.
31945 (grub_vbe_get_memory_window): Renamed from this...
31946 (grub_vbe_bios_get_memory_window): ... to this.
31947 (grub_vbe_set_scanline_length): Renamed from this...
31948 (grub_vbe_set_scanline_length): ... to this.
31949 (grub_vbe_get_scanline_length): Renamed from this...
31950 (grub_vbe_bios_get_scanline_length): ... to this.
31951 (grub_vbe_set_display_start): Renamed from this...
31952 (grub_vbe_bios_set_display_start): ... to this.
31953 (grub_vbe_get_display_start): Renamed from this...
31954 (grub_vbe_bios_get_display_start): ... to this.
31955 (grub_vbe_set_palette_data): Renamed from this...
31956 (grub_vbe_bios_set_palette_data): ... to this.
31957 (grub_vbe_bios_get_controller_info): Fixed problem with registers
31958 getting corrupted after calling it. Added more pushes and pops.
31959 (grub_vbe_bios_set_mode): Likewise.
31960 (grub_vbe_bios_get_mode): Likewise.
31961 (grub_vbe_bios_get_memory_window): Likewise.
31962 (grub_vbe_bios_set_scanline_length): Likewise.
31963 (grub_vbe_bios_get_scanline_length): Likewise.
31964 (grub_vbe_bios_get_display_start): Likewise.
31965 (grub_vbe_bios_set_palette_data): Likewise.
31966
31967 * normal/cmdline.c (cl_set_pos): Refresh the screen.
31968 (cl_insert): Likewise.
31969 (cl_delete): Likewise.
31970
31971 * term/gfxterm.c: New file.
31972
31973 * term/i386/pc/vesafb.c: Removed file.
31974
31975 * video/video.c: New file.
31976
31977 * video/i386/pc/vbe.c (real2pm): Added new function.
31978 (grub_video_vbe_draw_pixel): Likewise.
31979 (grub_video_vbe_get_video_ptr): Likewise.
31980 (grub_video_vbe_get_pixel): Likewise
31981 (grub_video_vbe_init): Likewise.
31982 (grub_video_vbe_fini): Likewise.
31983 (grub_video_vbe_setup): Likewise.
31984 (grub_video_vbe_get_info): Likewise.
31985 (grub_video_vbe_set_palette): Likewise.
31986 (grub_video_vbe_get_palette): Likewise.
31987 (grub_video_vbe_set_viewport): Likewise.
31988 (grub_video_vbe_get_viewport): Likewise.
31989 (grub_video_vbe_map_color): Likewise.
31990 (grub_video_vbe_map_rgb): Likewise.
31991 (grub_video_vbe_map_rgba): Likewise.
31992 (grub_video_vbe_unmap_color): Likewise.
31993 (grub_video_vbe_fill_rect): Likewise.
31994 (grub_video_vbe_blit_glyph): Likewise.
31995 (grub_video_vbe_blit_bitmap): Likewise.
31996 (grub_video_vbe_blit_render_target): Likewise.
31997 (grub_video_vbe_scroll): Likewise.
31998 (grub_video_vbe_swap_buffers): Likewise.
31999 (grub_video_vbe_create_render_target): Likewise.
32000 (grub_video_vbe_delete_render_target): Likewise.
32001 (grub_video_vbe_set_active_render_target): Likewise.
32002 (grub_vbe_set_pixel_rgb): Remove function.
32003 (grub_vbe_set_pixel_index): Likewise.
32004 (index_color_mode): Remove static variable.
32005 (active_mode): Likewise.
32006 (framebuffer): Likewise.
32007 (bytes_per_scan_line): Likewise.
32008 (grub_video_vbe_adapter): Added new static variable.
32009 (framebuffer): Likewise.
32010 (render_target): Likewise.
32011 (initial_mode): Likewise.
32012 (mode_in_use): Likewise.
32013 (mode_list): Likewise.
32014
5f97350b 320152006-03-10 Marco Gerards <marco@gnu.org>
32016
32017 * configure.ac (AC_INIT): Bumped to 1.93.
32018
32019 * DISTLIST: Added `include/grub/hfs.h'.
32020
a3c5c6f8 320212006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
32022
32023 * boot/i386/pc/boot.S (general_error): Before looping, try INT
32024 18H, which might help the BIOS falling back to next boot media.
32025
6de53d26 320262006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
32027
32028 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
32029 Poe Chen <poe.poechen@gmail.com>.
32030
77c4a393 320312006-01-17 Marco Gerards <marco@gnu.org>
32032
32033 * include/grub/normal.h: Include <grub/script.h>.
32034 (grub_command_list): Removed struct.
32035 (grub_command_list_t): Removed type.
32036 (grub_menu_entry): Remove members `num' and `command_list'. Add
32037 members `commands' and `sourcecode'.
32038 * include/grub/script.h: Add inclusion guards.
32039 (grub_script_cmd_menuentry): New struct.
32040 (grub_script_execute_menuentry): New prototype.
32041 (grub_script_lexer_record_start): Likewise.
32042 (grub_script_lexer_record_stop): Likewise.
32043 * normal/execute.c (grub_script_execute_menuentry): New function.
32044 * normal/lexer.c (record, recording, recordpos, recordlen): New
32045 variables.
32046 (grub_script_lexer_record_start): New function.
32047 (grub_script_lexer_record_stop): Likewise.
32048 (recordchar): Likewise.
32049 (nextchar): Likewise.
32050 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
32051 2048 as the buffer size. Add the tokens `menuentry' and `@'.
32052 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
32053 (current_menu): New variable.
32054 (free_menu): Mainly rewritten.
32055 (grub_normal_menu_addentry): New function.
32056 (read_config_file): Rewritten.
32057 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 32058 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 32059 the menu entry.
32060 (run): Mainly rewritten.
32061 * normal/parser.y (menu_entry): New variable.
32062 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
32063 (menuentry): New rule.
32064 (command): Add `menuentry'.
32065 (if_statement): Allow additional returns before `fi'.
32066 * normal/script.c (grub_script_create_cmdmenu): New function.
32067
144f1f98 320682006-01-03 Marco Gerards <marco@gnu.org>
32069
32070 * INSTALL: GNU Bison is required.
32071 * configure.ac: Rewritten the test to detect Bison.
32072 * Makefile.in (YACC): New variable. Reported by Xun Sun
32073 <xun.sun.cn@gmail.com>.
32074
af4b2d89 320752006-01-03 Marco Gerards <marco@gnu.org>
32076
32077 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
32078 the HFS+ filesystem to filesystem blocks.
32079 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
32080 GCC warning is silenced.
32081
15643b71 320822006-01-03 Marco Gerards <marco@gnu.org>
32083
32084 * partmap/apple.c (apple_partition_map_iterate): Convert the data
32085 read from disk from big endian to host byte order.
32086
00905879 320872006-01-03 Hollis Blanchard <hollis@penguinppc.org>
32088
32089 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
32090 documentation.
32091 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
32092 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
32093 embedded HFS+ filesystem.
32094 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
32095 (grub_hfs_sblock): Move from here...
32096 * include/grub/hfs.h: To here... New file.
32097 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
32098 documentation.
32099 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
32100 New macros.
32101 (grub_hfsplus_volheader): Change type of member `magic' to
32102 `grub_uint16_t'.
32103 (grub_hfsplus_data): Add new member `embedded_offset'.
32104 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
32105 returned block.
32106 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
32107 Calculate the offset.
32108
8899bc3e 321092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
32110
32111 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
32112 Removed.
32113 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
32114
ae8c0277 321152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
32116
32117 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
32118 ENV->NAME is NULL after allocating ENV->VALUE.
32119
07084456 321202005-12-25 Marco Gerards <marco@gnu.org>
32121
32122 * kern/env.c (grub_env_set): Rewritten the error handling code.
32123
4750f5f1 321242005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
32125
32126 * geninit.sh: Made more robust, and more portable.
32127
50214199 321282005-12-25 Marco Gerards <marco@gnu.org>
32129
32130 Add support for Apple HFS+ filesystems.
f19dbdb7 32131
50214199 32132 * fs/hfsplus.c: New file.
32133
32134 * DISTLIST: Added `fs/hfsplus.c'.
32135
32136 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
32137 (hfsplus_mod_SOURCES): New variable.
32138 (hfsplus_mod_CFLAGS): Likewise.
32139 (hfsplus_mod_LDFLAGS): Likewise.
32140 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
32141 (grub_setup_SOURCES): Likewise.
32142 (grub_mkdevicemap_SOURCES): Likewise.
32143 (grub_emu_SOURCES): Likewise.
32144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32145
32146 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
32147
32148 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
32149
befaed6c 321502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
32151
32152 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
32153 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
32154 include/grub/parser.h, include/grub/script.h, kern/parser.c,
32155 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
32156 normal/lexer.c, normal/parser.y, normal/script.c, and
32157 partmap/gpt.c.
32158 Removed kern/sparc64/cache.c.
32159
32160 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
32161 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
32162 grub_emu_init.c.
32163
32164 * configure.ac (AC_INIT): Bumped to 1.92.
32165
6a124103 321662005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
32167
32168 * kern/err.c (grub_error_push): Added new function to support error
32169 stacks.
32170 (grub_error_pop): Likewise.
32171 (grub_error_stack_items): New local variable to support error stacks.
32172 (grub_error_stack_pos): Likewise.
32173 (grub_error_stack_assert): Likewise.
32174 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
32175 stack depth.
32176 (grub_print_error): Added support to print errors from error stack.
32177
32178 * include/grub/err.h (grub_error_push): Added function prototype.
32179 (grub_error_pop): Likewise.
32180
be973c1b 321812005-12-09 Hollis Blanchard <hollis@penguinppc.org>
32182
32183 * configure.ac: Accept `powerpc64' as host_cpu.
32184 (amd64): Rename to `biarch32'.
32185
32186 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
32187 non-cacheline-aligned addresses.
32188
32189 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
32190 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
32191 if `size' is non-zero.
32192
b04216ab 321932005-12-03 Marco Gerards <mgerards@xs4all.nl>
32194
32195 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
32196 and `cd' to make sure the filename is not prefixed with a
32197 directory name.
32198 (pkgdata_MODULES): Add `gpt.mod'.
32199 (gpt_mod_SOURCES): New variable.
32200 (gpt_mod_CFLAGS): Likewise.
32201 (gpt_mod_LDFLAGS): Likewise.
32202
32203 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
32204
32205 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
32206 New macro.
32207
32208 * partmap/gpt.c: New file.
32209
32210 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
32211 GPT partition map is detected.
32212
41730ed9 322132005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
32214
32215 * commands/i386/pc/play.c: New file.
32216 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
32217 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
32218 macros.
f19dbdb7 32219
95dc3643 322202005-11-27 Marco Gerards <mgerards@xs4all.nl>
32221
32222 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
32223 ((unused))' to silence gcc warning.
32224
1569ec51 322252005-11-26 Hollis Blanchard <hollis@penguinppc.org>
32226
32227 * configure.ac: Correct `AC_PROG_YACC' test.
32228
9abde152 322292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
32230
32231 * util/powerpc/ieee1275/grub-install.in: Run the mount point
32232 check before installing files.
32233
44b83271 322342005-11-22 Mike Small <smallm@panix.com>
32235
32236 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
32237 number regex so multidigit numbers are recognized correctly.
32238
322392005-11-22 Mike Small <smallm@panix.com>
32240
32241 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
32242 debugging message before attempting to claim memory.
32243 (grub_rescue_cmd_initrd): Add a claim debugging message and try
32244 multiple addresses in case of failure.
32245
9c12956b 322462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
32247
32248 * term/tparm.c (get_space): Remove empty `if' statement.
32249
32250 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
32251
32252 * kern/parser.c (check_varstate): Rename `state' to 's'.
32253
aeaf81d9 322542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
32255
32256 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
32257 variable definitions to the beginning of each function. Sort stack
32258 variables by size.
32259 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
32260 `buf' argument to `char *'.
32261
79bbb63f 322622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
32263
32264 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
32265 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 32266 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 32267 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
32268 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
32269 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
32270 configfile.mod, search.mod, gzio.mod and test.mod.
32271 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
32272 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
32273 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
32274 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
32275 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
32276 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
32277 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
32278 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
32279 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
32280 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
32281 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
32282 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
32283 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
32284 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
32285 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
32286 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
32287 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32288 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
32289 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
32290 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
32291 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
32292 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
32293 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
32294
32295 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
32296 `grep --include'.
32297 (pkgdata_MODULES): Add test.mod.
32298
233b1628 322992005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32300
32301 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
32302 appending to variables with "+=".
32303 (PModule): Use full pathname to generate *.lst filenames.
32304
32305 * Makefile.in: Fixed list rules moved from genmk.rb.
32306 (.DELETE_ON_ERROR): New special target.
32307 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
32308
32309 * conf/i386-pc.rmk: Include conf/common.mk.
32310 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 32311 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 32312 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
32313 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
32314 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
32315 configfile.mod, search.mod, gzio.mod and test.mod.
32316 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
32317 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
32318 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
32319 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
32320 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
32321 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
32322 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
32323 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
32324 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
32325 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
32326 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
32327 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
32328 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
32329 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
32330 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
32331 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
32332 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
32333 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
32334 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
32335 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
32336 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
32337 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
32338 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
32339 here...
32340 * conf/common.rmk: ... to here. New file.
32341
32342 * conf/common.mk: New file.
32343
16f820c8 323442005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
32345
32346 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
32347 (grub_script.tab.c): ... here.
32348
32349 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
32350 (grub_script.tab.c): ... here.
32351
32352 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
32353 (grub_script.tab.c): ... here.
32354
32355 * normal/command.c (grub_command_find): Fixed a memory leak of
32356 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
32357
63ba1554 323582005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32359
32360 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
32361 "@" which marks the start of a comment on ARM.
32362 (VARIABLE): Likewise.
32363
7f67dc13 323642005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32365
79bbb63f 32366 Add support for Linux/ADFS partition tables.
7f67dc13 32367
32368 * partmap/acorn.c: New file.
32369
32370 * include/grub/acorn_filecore.h: Likewise.
32371
32372 * DISTLIST: Added `partmap/acorn.c' and
32373 `include/grub/acorn_filecore.h'.
f19dbdb7 32374
7f67dc13 32375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32376 `partmap/acorn.c'.
32377 (pkgdata_MODULES): Add `acorn.mod'.
32378 (acorn_mod_SOURCES): New variable.
32379 (acorn_mod_CFLAGS): Likewise.
32380
32381 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
32382 `partmap/acorn.c'.
32383 (pkgdata_MODULES): Add `acorn.mod'.
32384 (acorn_mod_SOURCES): New variable.
32385 (acorn_mod_CFLAGS): Likewise.
32386
32387 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
32388 (pkgdata_MODULES): Add `acorn.mod'.
32389 (acorn_mod_SOURCES): New variable.
32390 (acorn_mod_CFLAGS): Likewise.
32391 (acorn_mod_LDFLAGS): Likewise.
32392
32393 * include/types.h (grub_disk_addr_t): New typedef.
32394
6d099807 323952005-11-13 Marco Gerards <mgerards@xs4all.nl>
32396
32397 * geninit.sh: New file.
32398
32399 * geninitheader.sh: Likewise.
32400
32401 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
32402 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
32403 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
32404 * commands/configfile.c (grub_configfile_init)
32405 (grub_configfile_fini): Likewise.
32406 * commands/default.c (grub_default_init, grub_default_fini):
32407 Likewise.
32408 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
32409 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
32410 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
32411 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
32412 Likewise.
32413 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
32414 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
32415 Likewise.
32416 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 32417 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 32418 Likewise.
32419 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
32420 Likewise.
fe6b695a 32421 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 32422 Likewise.
32423 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
32424 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
32425 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
32426 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
32427 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
32428 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
32429 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
32430 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
32431 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
32432 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
32433 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
32434 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
32435 * partmap/amiga.c (grub_amiga_partition_map_init)
32436 (grub_amiga_partition_map_fini): Likewise.
32437 * partmap/apple.c (grub_apple_partition_map_init)
32438 (grub_apple_partition_map_fini): Likewise.
32439 * partmap/pc.c (grub_pc_partition_map_init)
32440 (grub_pc_partition_map_fini): Likewise.
32441 * partmap/sun.c (grub_sun_partition_map_init,
32442 grub_sun_partition_map_fini): Likewise.
32443 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
32444 Likewise.
32445
32446 * util/grub-emu.c: Include <grub_modules_init.h>.
32447 (main): Don't initialize and de-initialize any modules directly,
32448 use `grub_init_all' and `grub_fini_all' instead.
32449
32450 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
32451 `grub_vesafb_mod_init'.
32452 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
32453 all users.
32454 * term/i386/pc/vga.c (grub_vga_init): Renamed to
32455 `grub_vga_mod_init'. Updated all users.
32456 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 32457
6d099807 32458 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
32459 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
32460 rules.
32461
32462 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
32463 Generate a function to initialize the module in utilities.
32464 Updated all callers.
32465 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
32466 initialize the module in utilities. Updated all callers.
32467
9046bcf0 324682005-11-09 Hollis Blanchard <hollis@penguinppc.org>
32469
32470 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
32471 escape sequence and a literal ^L to clear the screen.
32472
32473 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
32474 when returning from Open Firmware.
32475
d13ea639 324762005-11-09 Hollis Blanchard <hollis@penguinppc.org>
32477
32478 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
32479 (grub_ofconsole_height): Likewise.
32480 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
32481 manually insert a '\n'.
32482 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
32483 `grub_ofconsole_height'. Return early if these are already set.
32484
a8fcf206 324852005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
32486
32487 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
32488 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
32489 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
32490 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
32491 and `normal/script.c'.
32492 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
32493 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
32494 (test_mod_SOURCES): New variable.
32495 (test_mod_CFLAGS): Likewise.
32496 (test_mod_LDFLAGS): Likewise.
32497 (pkgdata_MODULES): Add `test.mod'.
32498 (grub_script.tab.c): New rule.
32499 (grub_script.tab.h): Likewise.
32500
b6b32745 325012005-11-07 Marco Gerards <mgerards@xs4all.nl>
32502
32503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32504 `commands/test.c', `normal/execute.c', `normal/lexer.c',
32505 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
32506 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
32507 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
32508 (test_mod_SOURCES): New variable.
32509 (test_mod_CFLAGS): Likewise.
32510 (pkgdata_MODULES): Add `test.mod'.
32511 (grub_script.tab.c): New rule.
32512 (grub_script.tab.h): Likewise.
32513
daac212a 325142005-11-06 Marco Gerards <mgerards@xs4all.nl>
32515
32516 Add initial scripting support.
32517
32518 * commands/test.c: New file.
32519 * include/grub/script.h: Likewise.
32520 * normal/execute.c: Likewise.
32521 * normal/function.c: Likewise.
32522 * normal/lexer.c: Likewise.
32523 * normal/parser.y: Likewise.
32524 * normal/script.c: Likewise.
32525
32526 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 32527
daac212a 32528 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
32529 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
32530 `normal/function.c' and `normal/script.c'.
32531 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
32532 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 32533 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
32534 variables.
daac212a 32535 (pkgdata_MODULES): Add `test.mod'.
32536 (grub_script.tab.c): New rule.
32537 (grub_script.tab.h): Likewise.
32538
32539 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
32540
32541 * include/grub/normal.h (grub_test_init): New prototype.
32542 (grub_test_fini): Likewise.
f19dbdb7 32543
daac212a 32544 * normal/command.c: Include <grub/script.h>.
32545 (grub_command_execute): Rewritten.
f19dbdb7 32546
daac212a 32547 * util/grub-emu.c (main): Call `grub_test_init' and
32548 `grub_test_fini'.
32549
77500b2b 325502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
32551
32552 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
32553 to 0.
32554 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
32555 there are no pending characters.
32556
e45deb9e 325572005-11-03 Hollis Blanchard <hollis@penguinppc.org>
32558
32559 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
32560 `grub_strndup' to drop device arguments. Replace unnecessary
32561 `grub_strndup' with `grub_strdup'.
32562
4ce32619 325632005-11-03 Hollis Blanchard <hollis@penguinppc.org>
32564
32565 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
32566 `debug' environment variable has been set.
32567
325682005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 32569
4ce32619 32570 * Makefile.in (install-local): Use $(DATA).
32571 (uninstall): Likewise.
32572 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
32573 (sbin_UTILITIES): ... to here.
32574 (sbin_SCRIPTS): New variable.
32575 (grub_install_SOURCES): New variable.
32576 * util/powerpc/ieee1275/grub-install.in: New file.
32577 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
32578 variable.
32579 (add_segments): Call `grub_util_get_path'.
32580
25fe6f03 325812005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32582
32583 From Timothy Baldwin:
32584 * commands/ls.c (grub_ls_list_files): Close FILE with
32585 grub_file_close.
32586 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
32587
04ccf3ec 325882005-10-24 Marco Gerards <mgerards@xs4all.nl>
32589
32590 * include/grub/parser.h: New file.
32591
32592 * kern/parser.c: Likewise.
32593
32594 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
32595 (grub_setup_SOURCES): Likewise.
32596 (grub_probefs_SOURCES): Likewise.
32597 (grub_emu_SOURCES): Likewise.
32598 (kernel_img_HEADERS): Add `parser.h'.
32599
32600 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
32601 (grub_emu_SOURCES): Add `kern/parser.c'.
32602 (grubof_SOURCES): Likewise.
32603
32604 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
32605 (grubof_SOURCES): Add `kern/parser.c'.
32606
32607 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
32608
32609 * kern/misc.c (grub_split_cmdline): Removed function.
32610
32611 * kern/rescue.c: Include <grub/parser.h>.
32612 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
32613 of `grub_split_cmdline'.
32614
32615 * normal/command.c: Include <grub/parser.h>.
32616 (grub_command_execute): Use `grub_parser_split_cmdline' instead
32617 of `grub_split_cmdline'.
32618
32619 * normal/completion.c: Include <grub/parser.h>.
32620 (cmdline_state): New variable.
32621 (iterate_dir): End the filename with a quote depending on the
32622 command line state.
32623 (get_state): new function.
32624 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
32625 split the arguments and determine the current argument. When the
32626 argument string is not quoted, escape all spaces.
32627
6d8f4b0e 326282005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
32629
32630 * normal/sparc64/setjmp.S: New file.
32631
15cf03ed 326322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
32633
32634 * include/grub/sparc64/libgcc.h: New file.
32635 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
32636 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
32637 normal/sparc64/setjmp.c.
32638
03e8661a 326392005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
32640
32641 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
32642 * kern/sparc64/cache.S: New file.
32643 * kern/sparc64/cache.c: Removed.
32644 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
32645 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
32646 -mtune=ultrasparc.
32647 (COMMON_LDFLAGS): Add -melf64_sparc.
32648 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
32649 (grubof_SOURCES): Use cache.S instead of cache.c.
32650 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
32651 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
32652 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
32653 commented though.
32654 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
32655 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
32656 (linux_mod_CFLAGS): Commented out.
32657 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
32658 out because module isn't built.
32659 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
32660 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
32661 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
32662 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
32663 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
32664 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
32665 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
32666 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
32667 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
32668 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
32669 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
32670 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
32671 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
32672 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
32673
34eeec8a 326742005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
32675
32676 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
32677 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
32678 longer, because HFS should not be used on PC.
32679
708367a3 326802005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32681
32682 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
32683 consistently within the loop.
32684
6fa1251a 326852005-10-15 Marco Gerards <mgerards@xs4all.nl>
32686
32687 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
32688 directory can not be read.
32689
4801580b 326902005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32691
32692 * configure.ac (AC_INIT): Increase the version number to 1.91.
32693
32694 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
32695 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
32696 term/i386/pc/serial.c.
32697
219ad426 326982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32699
32700 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
32701 file size must be permitted.
32702
32703 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
32704 between %ah and %al.
32705
688e5699 327062005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32707
32708 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
32709 grub_uint64_t.
32710 Call the hook with a NUL-terminated filename.
32711 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
32712 grub_cpu_to_be32.
32713
32714 * kern/term.c (cursor_state): New variable.
32715 (grub_term_set_current): Reset the cursor state on a new
32716 terminal.
32717 (grub_setcursor): Rewritten to use CURSOR_STATE.
32718 (grub_getcursor): New function.
32719
32720 * include/grub/term.h (grub_getcursor): New prototype.
32721
32722 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
32723 integers on ARM. Reported by Timothy Baldwin
32724 <T.E.Baldwin99@members.leeds.ac.uk>.
32725
bb34586c 327262005-10-11 Marco Gerards <mgerards@xs4all.nl>
32727
32728 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
32729 allocated.
32730 (grub_sfs_dir): Likewise.
32731
9a909877 327322005-10-09 Marco Gerards <mgerards@xs4all.nl>
32733
32734 Add support for the SFS filesystem.
32735
32736 * fs/sfs.c: New file.
32737
32738 * DISTLIST: Added `fs/sfs.c'.
32739
32740 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
32741 (grub_probefs_SOURCES): Likewise.
32742 (grub_emu_SOURCES): Likewise.
32743 (pkgdata_MODULES): Add `sfs.mod'.
32744 (sfs_mod_SOURCES): New variable.
32745 (sfs_mod_CFLAGS): Likewise.
32746 (sfs_mod_LDFLAGS): Likewise.
32747
32748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
32749 (pkgdata_MODULES): Add `sfs.mod'.
32750 (sfs_mod_SOURCES): New variable.
32751 (sfs_mod_CFLAGS): Likewise.
32752
32753 * util/grub-emu.c (main): Call `grub_sfs_init' and
32754 `grub_sfs_fini'.
32755
32756 * include/grub/fs.h (grub_sfs_init): New prototype.
32757 (grub_sfs_fini): Likewise.
32758
57bdbde3 327592005-10-07 Marco Gerards <mgerards@xs4all.nl>
32760
32761 Add support for the AFFS filesystem.
32762
32763 * fs/affs.c: New file.
32764
32765 * DISTLIST: Added `fs/affs.c'.
32766
32767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
32768 (grub_probefs_SOURCES): Likewise.
32769 (grub_emu_SOURCES): Likewise.
32770 (pkgdata_MODULES): Add `affs.mod'.
32771 (affs_mod_SOURCES): New variable.
32772 (affs_mod_CFLAGS): Likewise.
32773 (affs_mod_LDFLAGS): Likewise.
32774
32775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
32776 (pkgdata_MODULES): Add `affs.mod'.
32777 (affs_mod_SOURCES): New variable.
32778 (affs_mod_CFLAGS): Likewise.
32779
32780 * util/grub-emu.c (main): Call `grub_affs_init' and
32781 `grub_affs_fini'.
32782
32783 * include/grub/fs.h (grub_affs_init): New prototype.
32784 (grub_affs_fini): Likewise.
32785
047b67e0 327862005-10-01 Marco Gerards <mgerards@xs4all.nl>
32787
32788 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
32789
59b8208a 327902005-10-01 Marco Gerards <mgerards@xs4all.nl>
32791
32792 * configure.ac: Accept `x86_64' as host_cpu. In that case add
32793 `-m32' to CFLAGS.
32794
32795 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
32796 linking.
f19dbdb7 32797
59b8208a 32798 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
32799 (COMMON_LDFLAGS): New variable.
32800 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
32801 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
32802 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
32803 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
32804 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
32805 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
32806 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
32807 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
32808 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
32809 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
32810 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
32811 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
32812 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
32813 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
32814 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
32815 variables.
32816 (normal_mod_ASFLAGS): Add `-m32'.
32817
32818 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
32819 (grub_host_size_t, grub_host_ssize_t): New types.
32820 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 32821 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 32822 `GRUB_HOST_SIZEOF_VOID_P'.
32823
32824 * include/grub/kernel.h (struct grub_module_header): Type of
32825 member offset changed to `grub_host_off_t'. Type of member size
32826 changed to `grub_host_size_t'.
32827 (struct grub_module_info): Type of member offset changed to
32828 `grub_host_off_t'. Type of member size changed to
32829 `grub_host_size_t'.
32830
b4093103 328312005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
32832
32833 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 32834
b4093103 32835 * kern/i386/pc/startup.S (multiboot_header): New label.
32836 (multiboot_entry): Likewise.
32837 (multiboot_trampoline): Likewise.
32838
32839 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32840 Increased to 0x4A0.
32841
32842 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
32843 put parentheses after a question mark.
32844 [!GRUB_UTIL] (my_mod): New variable.
32845
32846 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
32847
b2499b29 328482005-09-28 Marco Gerards <mgerards@xs4all.nl>
32849
32850 Adds support for the XFS filesystem. Btrees are not supported
32851 yet.
32852
32853 * fs/xfs.c: New file.
32854
32855 * DISTLIST: Added `fs/xfs.c'.
32856
32857 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
32858 (grub_probefs_SOURCES): Likewise.
32859 (grub_emu_SOURCES): Likewise.
32860 (pkgdata_MODULES): Add `xfs.mod'.
32861 (xfs_mod_SOURCES): New variable.
32862 (xfs_mod_CFLAGS): Likewise.
32863
32864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
32865 (pkgdata_MODULES): Add `xfs.mod'.
32866 (xfs_mod_SOURCES): New variable.
32867 (xfs_mod_CFLAGS): Likewise.
32868
32869 * util/grub-emu.c (main): Call `grub_xfs_init' and
32870 `grub_xfs_fini'.
32871
32872 * include/grub/fs.h (grub_xfs_init): New prototype.
32873 (grub_xfs_fini): Likewise.
32874
f19dbdb7 32875
83d37a62 328762005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
32877
32878 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
32879 color modes, allow greater than 16 colors to be configured as
32880 a default palette.
32881
47d2d65e 328822005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32883
32884 * normal/completion.c (complete_arguments): Add the qualifier
32885 const into OPTIONS.
32886
32887 From Omniflux <omniflux+lists@omniflux.com>:
32888 * include/grub/terminfo.h: New file.
32889 * include/grub/tparm.h: Likewise.
32890 * include/grub/i386/pc/serial.h: Likewise.
32891 * term/terminfo.c: Likewise.
32892 * term/tparm.c: Likewise.
32893 * term/i386/pc/serial.c: Likewise.
32894 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
32895 serial.mod.
32896 (terminfo_mod_SOURCES): New variable.
32897 (terminfo_mod_CFLAGS): Likewise.
32898 (serial_mod_SOURCES): Likewise.
32899 (serial_mod_CFLAGS): Likewise.
32900
48b671ff 329012005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
32902
32903 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
32904 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
32905 and kern/powerpc/ieee1275/cmain.c, respectively.
32906
32907 * boot/powerpc/ieee1275/crt0.S: Moved to ...
32908 * kern/powerpc/ieee1275/crt0.S: ... here.
32909
32910 * boot/powerpc/ieee1275/cmain.c: Moved to ...
32911 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 32912
48b671ff 32913 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
32914 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
32915 instead of boot/powerpc/ieee1275/crt0.S and
32916 boot/powerpc/ieee1275/cmain.c, respectively.
32917
32918 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
32919 sectors. It was not used anyway.
32920
09fc77a7 329212005-08-30 Hollis Blanchard <hollis@penguinppc.org>
32922
32923 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
32924 `unused parameter' warning.
32925
003789c7 329262005-08-30 Hollis Blanchard <hollis@penguinppc.org>
32927
32928 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
32929 function.
32930 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
32931 getcharwidth.
32932
67f44c86 329332005-08-28 Marco Gerards <metgerards@student.han.nl>
32934
32935 * include/grub/normal.h (enum grub_completion_type): Added
32936 `GRUB_COMPLETION_TYPE_ARGUMENT'.
32937
32938 * normal/cmdline.c (print_completion): Handle
32939 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
32940 * normal/menu_entry.c (store_completion): Likewise.
32941
32942 * normal/completion.c (complete_arguments): New function.
32943 (grub_normal_do_completion): Call `complete_arguments' when the
32944 current words start with a dash.
32945
0b5abe02 329462005-08-27 Marco Gerards <metgerards@student.han.nl>
32947
32948 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
32949 `gzio.mod' instead of `io.mod').
32950
d9864ee1 329512005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
32952
32953 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
32954 (DISTDIRS): Added io and video.
32955 Rewrite the search routine to make an output consistently.
32956
32957 * DISTLIST: Added conf/sparc64-ieee1275.mk,
32958 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
32959 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
32960 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
32961 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
32962 util/powerpc/ieee1275/misc.c.
f19dbdb7 32963
d9864ee1 32964 * include/grub/gzio.h: New file.
32965 * io/gzio.c: Likewise.
f19dbdb7 32966
d9864ee1 32967 * kern/file.c (grub_file_close): Call grub_device_close only if
32968 FILE->DEVICE is not NULL.
32969
32970 * include/grub/mm.h [!NULL] (NULL): New macro.
32971
32972 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
32973
32974 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
32975 (pkgdata_MODULES): Added gzio.mod.
32976 (gzio_mod_SOURCES): New variable.
32977 (gzio_mod_CFLAGS): Likewise.
32978
32979 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
32980 (pkgdata_MODULES): Added gzio.mod.
32981 (gzio_mod_SOURCES): New variable.
32982 (gzio_mod_CFLAGS): Likewise.
32983
32984 * commands/cat.c: Include grub/gzio.h.
32985 (grub_cmd_cat): Use grub_gzfile_open instead of
32986 grub_file_open.
f19dbdb7 32987
d9864ee1 32988 * commands/cmp.c: Include grub/gzio.h.
32989 (grub_cmd_cmp): Use grub_gzfile_open instead of
32990 grub_file_open.
32991
32992 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
32993 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
32994 grub_file_open.
32995 (grub_rescue_cmd_module): Likewise.
32996
fa46f4b5 329972005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
32998
32999 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
33000 kern/sparc64/ieee1275/init.c because it contains _start.
33001 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
33002
e9211b5d 330032005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
33004
33005 * configure.ac: Add support for sparc64 host with ieee1275
33006 firmware.
33007 * configure: Generated from configure.ac.
33008 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
33009 instead of int.
33010 (grub_ofdisk_read): Likewise.
33011 (grub_ofdisk_open): Use %p to print pointer values, and cast the
33012 pointers as (void *) to remove a warning.
33013 (grub_ofdisk_close): Likewise.
33014 (grub_ofdisk_read): Likewise.
33015 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
33016 returns, so make it return void to remove a warning.
33017 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
33018 Corresponding prototype change.
33019 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
33020 values, and cast the pointers as (void *) to remove a warning.
33021 (grub_mm_dump): Likewise.
33022 * conf/sparc64-ieee1275.mk: New file.
33023 * conf/sparc64-ieee1275.rmk: Likewise.
33024 * include/grub/sparc64/setjmp.h: Likewise.
33025 * include/grub/sparc64/types.h: Likewise.
33026 * include/grub/sparc64/ieee1275/console.h: Likewise.
33027 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33028 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33029 * include/grub/sparc64/ieee1275/time.h: Likewise.
33030 * kern/sparc64/cache.c: Likewise.
33031 * kern/sparc64/dl.c: Likewise.
33032 * kern/sparc64/ieee1275/init.c: Likewise.
33033 * kern/sparc64/ieee1275/openfw.c: Likewise.
33034
385c6a92 330352005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33036
33037 * util/console.c (grub_ncurses_putchar): If C is greater than
33038 0x7f, set C to a question mark.
33039 (grub_ncurses_getcharwidth): New function.
33040 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
33041 getcharwidth.
33042
33043 * normal/menu.c (print_entry): Made aware of Unicode. First,
33044 convert TITLE to UCS-4, and predict the cursor position by
33045 grub_getcharwidth.
33046
33047 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
33048 const to SRC.
33049 * kern/misc.c (grub_utf16_to_utf8): Likewise.
33050
16ccb8b1 330512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
33052
33053 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
33054 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
33055 grub_strcat.
33056
33057 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
33058 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
33059 grub_strcpy and grub_strlen. Take it into account that a space
33060 character is inserted as a delimiter.
33061
6a85ce79 330622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
33063
33064 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 33065 invalid magic in the error.
6a85ce79 33066
33067 * commands/search.c: New file.
f19dbdb7 33068
6a85ce79 33069 * util/grub-emu.c (main): Call grub_search_init and
33070 grub_search_fini.
33071
33072 * kern/rescue.c (grub_rescue_print_disks): Removed.
33073 (grub_rescue_print_devices): New function.
33074 (grub_rescue_cmd_ls): Use grub_device_iterate with
33075 grub_rescue_print_devices instead of grub_disk_dev_iterate with
33076 grub_rescue_print_disks.
33077
33078 * kern/partition.c (grub_partition_iterate): Return the result of
33079 PARTMAP->ITERATE instead of GRUB_ERRNO.
33080
33081 * kern/device.c: Include grub/partition.h.
33082 (grub_device_iterate): New function.
33083
33084 * include/grub/partition.h (grub_partition_iterate): Return int
33085 instead of grub_err_t.
33086
33087 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
33088 prototype.
33089 [GRUB_UTIL] (grub_search_fini): Likewise.
33090
33091 * include/grub/device.h (grub_device_iterate): New prototype.
33092
33093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33094 commands/search.c.
33095 (pkgdata_MODULES): Added search.mod.
33096 (search_mod_SOURCES): New variable.
33097 (search_mod_CFLAGS): Likewise.
33098
33099 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
33100 (pkgdata_MODULES): Added search.mod.
33101 (search_mod_SOURCES): New variable.
33102 (search_mod_CFLAGS): Likewise.
33103
33104 * commands/ls.c (grub_ls_list_disks): Renamed to ...
33105 (grub_ls_list_devices): ... this, and use grub_device_iterate.
33106 All callers changed.
33107
33108 * DISTLIST: Added commands/search.c.
33109
ef095434 331102005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
33111
33112 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
33113 conversion.
33114 (grub_getcharwidth): New function.
33115
33116 * kern/misc.c (grub_utf8_to_ucs4): New function.
33117
33118 * include/grub/term.h (struct grub_term): Added a new member
33119 "getcharwidth".
33120 (grub_getcharwidth): New prototype.
33121
33122 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
33123
33124 * term/i386/pc/console.c (map_char): New function. Segregated from
33125 grub_console_putchar.
33126 (grub_console_putchar): Use map_char.
33127 (grub_console_getcharwidth): New function.
33128 (grub_console_term): Specified grub_console_getcharwidth as
33129 getcharwidth.
33130
33131 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
33132 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
33133
33134 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
33135 GRUB_ERRNO.
33136 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
33137 on grub_strtoul completely.
33138 (write_char): Declare local variables in the beginning of the
33139 function.
33140 (grub_vesafb_getcharwidth): New function.
33141 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
33142 getcharwidth.
33143
1f0a95e4 331442005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
33145
33146 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
33147 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
33148 commands/i386/pc/vbetest.c.
33149
33150 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
33151 call grub_vbe_get_controller_info again, because the returned
33152 information is volatile.
33153 (grub_vbe_set_video_mode): Mostly rewritten.
33154 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
33155 grub_vbe_status_t correctly.
33156 (grub_vbe_get_video_mode_info): Likewise.
33157 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
33158 several if statements.
33159
33160 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
33161 * commands/i386/pc/vbeinfo.c: ... this.
33162
33163 * commands/i386/pc/vbe_test.c: Renamed to ...
33164 * commands/i386/pc/vbetest.c: ... this.
33165
33166 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
33167 ...
33168 (grub_cmd_vbeinfo): ... this. Save video modes before
33169 iterating. Skip a video mode, if it is not available, not enough
33170 information is given or it is monochrome. Show the memory
33171 model. Leave the interpretation of MODEVAR to grub_strtoul
33172 completely.
33173 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
33174 (GRUB_MOD_FINI): Likewise.
33175
33176 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
33177 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
33178 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
33179 duplicated grub_env_get. Leave the interpretation of MODEVAR to
33180 grub_strtoul completely.
33181 (real2pm): Removed.
33182 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
33183 (GRUB_MOD_FINI): Likewise.
33184
33185 * normal/misc.c: Include grub/mm.h.
33186
33187 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
33188 vbe_list_modes with vbetest.mod and vbeinfo.mod.
33189 (vbe_list_modes_mod_SOURCES): Removed.
33190 (vbe_list_modes_mod_CFLAGS): Likewise.
33191 (vbe_test_mod_SOURCES): Likewise.
33192 (vbe_test_mod_CFLAGS): Likewise.
33193 (vbeinfo_mod_SOURCES): New variable.
33194 (vbeinfo_mod_CFLAGS): Likewise.
33195 (vbetest_mod_SOURCES): Likewise.
33196 (vbetest_mod_CFLAGS): Likewise.
33197
992ffbbe 331982005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
33199
33200 * normal/misc.c: New file.
33201
33202 * DISTLIST: Added normal/misc.c.
f19dbdb7 33203
992ffbbe 33204 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
33205 DISK to HOOK. Call HOOK with DISK.
33206 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33207 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33208 * partmap/sun.c (sun_partition_map_iterate): Likewise.
33209
33210 * normal/menu_entry.c (struct screen): Added a new member
33211 "completion_shown".
33212 (completion_buffer): New global variable.
33213 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
33214 (store_completion): New function.
33215 (complete): Likewise.
33216 (clear_completions): Likewise.
33217 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
33218 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
33219 a tab, call complete.
33220
33221 * normal/completion.c (disk_dev): Removed.
33222 (print_simple_completion): Likewise.
33223 (print_partition_completion): Likewise.
33224 (print_func): New global variable.
33225 (add_completion): Do not take the arguments WHAT or PRINT any
33226 longer. Added a new argument TYPE. Instead of printing directly,
33227 call PRINT_FUNC if not NULL.
33228 All callers changed.
33229 (complete_device): Use a local variable DEV instead of
33230 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
33231 (grub_normal_do_completion): Take a new argument HOOK. Do not
33232 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
33233 empty string, return NULL instead.
33234 All callers changed.
33235
33236 * normal/cmdline.c (print_completion): New function.
33237
33238 * kern/partition.c (grub_partition_iterate): Add an argument DISK
33239 to HOOK.
33240 All callers changed.
33241
33242 * kern/disk.c (grub_print_partinfo): Removed.
33243
33244 * include/grub/partition.h (struct grub_partition_map): Add a new
33245 argument DISK into HOOK of ITERATE.
33246 (grub_partition_iterate): Add a new argument DISK to HOOK.
33247
33248 * include/grub/normal.h (enum grub_completion_type): New enum.
33249 (grub_completion_type_t): New type.
33250 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
33251 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
33252 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
33253 (GRUB_COMPLETION_TYPE_FILE): Likewise.
33254 (grub_normal_do_completion): Added a new argument HOOK.
33255 (grub_normal_print_device_info): New prototype.
33256
33257 * include/grub/disk.h (grub_print_partinfo): Removed.
33258
33259 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
33260 (normal_mod_SOURCES): Likewise.
33261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33262 (normal_mod_SOURCES): Likewise.
33263
33264 * commands/ls.c (grub_ls_list_disks): Use
33265 grub_normal_print_device_info instead of grub_print_partinfo. Free
33266 PNAME.
33267 (grub_ls_list_files): Use grub_normal_print_device_info instead of
33268 duplicating the code.
33269
0bd41162 332702005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
33271
33272 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 33273 follow GCS more precisely.
33274 * commands/i386/pc/vbe_test.c: Likewise.
33275 * include/grub/i386/pc/vbe.h: Likewise.
33276 * term/i386/pc/vesafb.c: Likewise.
33277 * video/i386/pc/vbe.c: Likewise.
0bd41162 33278
6323696a 332792005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
33280
33281 * DISTLIST: Added term/i386/pc/vesafb.c
33282 DISTLIST: Added video/i386/pc/vbe.c
33283 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
33284 DISTLIST: Added commands/i386/pc/vbe_test.c.
33285 * commands/i386/pc/vbe_list_modes.c: New file.
33286 * commands/i386/pc/vbe_test.c: Likewise.
33287 * term/i386/pc/vesafb.c: Likewise.
33288 * video/i386/pc/vbe.c: Likewise.
33289 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
33290 (grub_vbe_probe) Added prototype.
33291 (grub_vbe_set_video_mode) Likewise.
33292 (grub_vbe_get_video_mode) Likewise.
33293 (grub_vbe_get_video_mode_info) Likewise.
33294 (grub_vbe_set_pixel_rgb) Likewise.
33295 (grub_vbe_set_pixel_index) Likewise.
33296 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
33297 (pkgdata_MODULES): Added vesafb.mod.
33298 (pkgdata_MODULES): Added vbe_list_modes.mod.
33299 (pkgdata_MODULES): Added vbe_test.mod.
33300 (vbe_mod_SOURCES): Added.
33301 (vbe_mod_CFLAGS): Likewise.
33302 (vesafb_mod_SOURCES): Likewise.
33303 (vesafb_mod_CFLAGS): Likewise.
33304 (vbe_list_modes_mod_SOURCES): Likewise.
33305 (vbe_list_modes_mod_CFLAGS): Likewise.
33306 (vbe_test_mod_SOURCES): Likewise.
33307 (vbe_test_mod_CFLAGS): Likewise.
33308
0a74e62f 333092005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
33310
0a74e62f 33311 * normal/command.c (grub_command_execute): If INTERACTIVE is
33312 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
33313 CMDLINE. Disable the pager if INTERACTIVE is true.
33314 All callers are changed.
33315
33316 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
33317 before reading a config file.
33318 * normal/main.c (read_config_file): Even if a command is not
33319 found, register it if it is within an entry.
33320
33321 * util/grub-emu.c: Include sys/types.h and unistd.h.
33322 (options): Added --hold.
33323 (struct arguments): Added a new member "hold".
33324 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
33325 missing.
33326 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
33327 cleared by a debugger, if it is not zero.
33328
33329 * include/grub/normal.h (grub_command_execute): Add an argument
33330 INTERACTIVE.
33331
e51f85ae 333322005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
33333
33334 * DISTLIST: Added include/grub/i386/pc/vbe.h.
33335
e9c6f39b 333362005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
33337
33338 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
33339 program with another one, because the old one didn't detect a bug
33340 in gcc-3.4. Always use regparm 2, because the new test is still
33341 not enough for gcc-4.0. Someone must investigate a simple test
33342 case which detects a bug in gcc-4.0.
33343
8de3495c 333442005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
33345
33346 * DISTLIST: Added normal/completion.c.
33347
33348 * normal/completion.c: New file.
f19dbdb7 33349
8de3495c 33350 * term/i386/pc/console.c (grub_console_getwh): New function.
33351 (grub_console_term): Assign grub_console_getwh to getwh.
33352
33353 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
33354 function is defined in normal/completion.c as
33355 grub_normal_do_completion.
33356 (grub_cmdline_get): Use grub_normal_do_completion instead of
33357 grub_tab_complete.
33358
33359 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
33360 returns non-zero, otherwise return 0.
33361 (grub_partition_iterate): First, probe the partition map. Then,
33362 call ITERATE only for this partition map.
33363
33364 * kern/misc.c (grub_strncmp): Rewritten.
33365
33366 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
33367 returns non-zero. Otherwise return 0.
33368
33369 * include/grub/partition.h (grub_partition_map_iterate): Return
33370 int instead of void.
33371
33372 * include/grub/normal.h (grub_normal_do_completion): New prototype.
33373
33374 * include/grub/misc.h (grub_strncmp): Change the type of N to
33375 grub_size_t.
33376
33377 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
33378 of void.
33379
33380 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 33381 unsigned explicitly before comparing it with I.
8de3495c 33382
33383 * kern/main.c (grub_env_write_root): Add the attribute unused into
33384 VAR.
33385
33386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
33387 normal/completion.c.
33388 (normal_mod_SOURCES): Likewise.
33389 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33390 (normal_mod_SOURCES): Likewise.
33391
33392 * normal/command.c (grub_iterate_commands): If ITERATE returns
33393 non-zero, return one immediately.
33394
e85e144b 333952005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
33396
33397 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
33398 * kern/i386/pc/startup.S: Updated Global Descriptor table's
33399 descriptions.
33400 (grub_vbe_get_controller_info): New function.
33401 (grub_vbe_get_mode_info): Likewise.
33402 (grub_vbe_set_mode): Likewise.
33403 (grub_vbe_get_mode): Likewise.
33404 (grub_vbe_set_memory_window): Likewise.
33405 (grub_vbe_get_memory_window): Likewise.
33406 (grub_vbe_set_scanline_length): Likewise.
33407 (grub_vbe_get_scanline_length): Likewise.
33408 (grub_vbe_set_display_start): Likewise.
33409 (grub_vbe_get_display_start): Likewise.
33410 (grub_vbe_set_palette_data): Likewise.
33411 * include/grub/i386/pc/vbe.h: New file.
33412
c46153d2 334132005-08-08 Hollis Blanchard <hollis@penguinppc.org>
33414
33415 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
33416 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
33417 * DISTLIST: Likewise.
33418 * kern/ieee1275/of.c: Moved to ...
33419 * kern/ieee1275/ieee1275.c: ... here.
33420
0cb90c45 334212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
33422
33423 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
33424 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
33425 Pass 0 as `end' parameter to grub_strtoul().
33426
a19fb360 334272005-08-08 Hollis Blanchard <hollis@penguinppc.org>
33428
33429 * include/grub/powerpc/ieee1275/console.h: Do not include
33430 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
33431 ifdef.
33432 (grub_console_cur_color): Remove i386-specific prototype.
33433 (grub_console_real_putchar): Likewise.
33434 (grub_console_checkkey): Likewise.
33435 (grub_console_getkey): Likewise.
33436 (grub_console_getxy): Likewise.
33437 (grub_console_gotoxy): Likewise.
33438 (grub_console_cls): Likewise.
33439 (grub_console_setcursor): Likewise.
33440 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
33441 Include <grub/machine/console.h>.
33442 * term/ieee1275/ofconsole.c: Likewise.
33443
4ac9bd04 334442005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
33445
33446 * Makefile.in (LIBLZO): New variable.
33447
33448 * configure.ac: Check for LZO version 2.
33449
33450 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
33451 lzo/lzo1x.h instead of lzo1x.h.
33452
33453 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
33454 of -llzo.
33455
33456 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
33457 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
33458
33459 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
33460 copying the data from PARTITION to P.
33461
f4917dfd 334622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
33463
33464 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
33465 negative, unload the module.
33466
33467 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
33468 map is "pc_partition_map" but not "pc".
33469 (usage): Fix the description. The options are --boot-image and
33470 --core-image but not --boot-file or --core-file.
33471 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
33472 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
33473 DEFAULT_DIRECTORY.
33474
33475 * util/i386/pc/grub-install.in: Do not specify --boot-file or
33476 --core-file. Specify INSTALL_DEVICE as an argument.
33477
33478 * util/console.c: Include config.h.
33479 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
33480 [HAVE_NCURSES_H]: Include ncurses.h.
33481 [HAVE_CURSES_H]: Include curses.h.
33482 [!A_NORMAL] (A_NORMAL): Defined as zero.
33483 [!A_STANDOUT] (A_STANDOUT): Likewise.
33484
33485 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
33486 -lncurses.
33487 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
33488
33489 * configure.ac: Check for curses libraries and headers.
33490
33491 * Makefile.in (LIBCURSES): New variable.
33492
33493 * genmk.rb (Script::rule): Set the executable bits.
33494
33495 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
33496 name of the PC partition map is "pc_partition_map" but not "pc".
33497
0e143073 334982005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
33499
33500 * util/i386/pc/grub-install.in (grub_probefs): New variable.
33501 (modules): Likewise.
33502 (usage): Added descriptions for --modules and --grub-probefs.
33503 Handle --modules and --grub-probefs. Save the arguments in MODULES
33504 and GRUB_PROBEFS, respectively.
33505 Auto-detect a filesystem module against GRUBDIR. If the result is
33506 empty and modules are not specified explicitly, abort the
33507 installation. Add the result to MODULES.
33508
33509 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
33510 disk/powerpc/ieee1275/ofdisk.c,
33511 include/grub/powerpc/ieee1275/init.h and
33512 term/powerpc/ieee1275/ofconsole.c.
33513 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
33514 term/ieee1275/ofconsole.c.
33515
33516 * include/grub/powerpc/ieee1275/console.h: Resurrected.
33517
33518 * COPYING: Upgraded to the latest version. Only the address of the
33519 FSF office has changed.
f19dbdb7 33520
efd6e6d5 335212005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
33522
33523 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
33524 kern/ieee1275.c with kern/ieee1275/of.c.
33525
33526 * kern/ieee1275.c: Moved to ...
33527 * kern/ieee1275/of.c: ... here.
33528
8ceafda2 335292005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
33530
33531 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 33532 readability.
8ceafda2 33533
33534 * config.guess: Updated to the latest version from gnulib.
33535 * config.sub: Likewise.
33536 * install.sh: Likewise.
33537 * mkinstalldirs: Likewise.
33538
33539 * include/grub/console.h: Removed. This file is arch-specific. Do
33540 not put this in include/grub.
33541
33542 * include/grub/i386/pc/console.h: Resurrected.
33543
33544 * util/console.c: Include grub/machine/console.h instead of
33545 grub/console.h.
33546 * util/grub-emu.c: Likewise.
33547
267f6cd9 335482005-08-04 Marco Gerards <metgerards@student.han.nl>
33549
33550 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
33551 hardcoded value.
f19dbdb7 33552
267f6cd9 33553 From Vincent Pelletier <subdino2004@yahoo.fr>
33554 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
33555 Redefined to use grub_getwh.
33556 (grub_term): New member named getwh.
33557 (grub_getwh): New prototype.
33558 * kern/term.c (grub_getwh): New function.
33559 * term/i386/pc/console.c (grub_console_getwh): New function.
33560 (grub_console_term): New member `getwh'.
33561 * term/i386/pc/vga.c (grub_vga_getwh): New function.
33562 (grub_vga_term): New member `getwh'.
0b5abe02 33563 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 33564 grub_ssize_t.
33565 (grub_ofconsole_getw): New function.
33566 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
33567 (grub_ofconsole_term): New field named getwh and new initial
33568 value.
33569
3be7266d 335702005-08-03 Hollis Blanchard <hollis@penguinppc.org>
33571
33572 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
33573 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
33574 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
33575 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
33576 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
33577 of <grub/machine/ieee1275.h>.
33578 * commands/ieee1275/reboot.c: Likewise.
33579 * boot/powerpc/ieee1275/ieee1275.c: Move ...
33580 * kern/ieee1275.c: ... to here. All users updated. Change all
33581 parameter structs to use new type `grub_ieee1275_cell_t'.
33582 * term/powerpc/ieee1275/ofconsole.c: Move ...
33583 * term/ieee1275/ofconsole.c: ... to here. All users updated.
33584 * disk/powerpc/ieee1275/ofdisk.c: Move ...
33585 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
33586 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
33587 to return int.
33588 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
33589 Remove unused prototypes. All users updated.
33590 * include/grub/powerpc/ieee1275/console.h: Removed.
33591 * include/grub/powerpc/ieee1275/ieee1275.h: Define
33592 `grub_ieee1275_cell_t'.
33593 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
33594 Cast comparisons with -1 to the correct type.
33595 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
33596 type to match `grub_ieee1275_entry_fn'.
33597
8b5f3938 335982005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
33599
33600 * DISTLIST: Added util/i386/pc/grub-probefs.c.
33601
33602 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
33603 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
33604 partmap/sun.c.
33605 (grub_probefs_SOURCES): New variable.
33606
33607 * util/i386/pc/grub-probefs.c: New file.
33608
33609 * util/i386/pc/grub-setup.c (main): Call
33610 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
33611 grub_hfs_init and grub_jfs_init to initialize the system. Call
33612 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
33613 grub_pc_partition_map_fini to finish the system.
33614
ea409713 336152005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
33616
33617 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
33618 function.
33619 (grub_multiboot_load_elf32): Likewise.
33620 (grub_multiboot_is_elf64): Likewise.
33621 (grub_multiboot_load_elf64): Likewise.
33622 (grub_multiboot_load_elf): Likewise.
33623 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
33624 an ELF32 or ELF64 file.
33625 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
33626
33627 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
33628 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
33629 NULL before calling FS->LABEL.
33630 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
33631 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
33632 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
33633 before calling FS->LABEL.
33634
141a288b 336352005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
33636
33637 * util/i386/pc/grub-install.in (datadir): New variable.
33638 (libdir): Removed.
33639 (pkgdatadir): New variable.
33640 (pkglibdir): Removed.
33641
0d5f8a54 336422005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
33643
33644 * DISTLIST: Added util/i386/pc/grub-install.in.
33645
33646 * util/i386/pc/grub-install.in: New file.
33647
33648 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
33649 (grub_install_SOURCES): Likewise.
33650
33651 * genmk.rb: Added support for scripts.
33652 (Script): New class.
33653 (scripts): New variable.
33654
33655 * Makefile.in (install-local): Install sbin_SCRIPTS by
33656 INSTALL_SCRIPT.
33657 (uninstall): Remove sbin_SCRIPTS.
33658
33659 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
33660 device, try to get a GRUB device by
33661 grub_util_biosdisk_get_grub_dev.
33662 Free DEST_DEV.
33663
33664 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
33665 description for --device-map.
33666
5f968e1e 336672005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
33668
33669 Change the semantics of variable hooks. They now return strings
33670 instead of error values.
f19dbdb7 33671
5f968e1e 33672 * util/i386/pc/grub-setup.c: Include grub/env.h.
33673 (setup): Use grub_device_set_root instead of grub_env_set.
33674
33675 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
33676 grub_env_get instead of grub_device_set_root and
33677 grub_device_get_root, respectively.
33678
33679 * kern/main.c (grub_env_write_root): New function.
33680 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
33681 grub_env_set instead of grub_device_set_root.
33682
33683 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
33684 many variables.
33685 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
33686 rather than calling ENV->WRITE_HOOK afterwards.
33687 (grub_env_get): Return the result of ENV->READ_HOOK rather than
33688 passing a pointer of a pointer.
33689 (grub_register_variable_hook): Change the types of "read_hook" and
33690 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
33691 respectively.
33692 Allocate the default empty string on the heap, because this string
33693 may be freed later.
33694
33695 * kern/device.c: Include grub/env.h.
33696 (grub_device_set_root): Removed.
33697 (grub_device_get_root): Likewise.
33698 (grub_device_open): Use grub_env_get instead of
33699 grub_device_get_root.
33700
33701 * include/grub/env.h (grub_env_read_hook_t): New type.
33702 (grub_env_write_hook_t): Likewise.
33703 (grub_env_var): Change the types of "read_hook" and "write_hook"
33704 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
33705 (grub_register_variable_hook): Likewise.
33706
33707 * include/grub/device.h (grub_device_set_root): Removed.
33708 (grub_device_set_root): Likewise.
33709
33710 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
33711 make sure that DIRNAME terminates with '/', so that
33712 grub_fat_find_dir will fail if PATH is not a directory.
33713
33714 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
33715 from DIRNAME.
33716 Use the qualifier auto for print_files and print_files_long.
33717 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
33718 as a regular file.
33719 Put a newline only if there is no error.
33720 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
33721 used.
33722
896f0afd 337232005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
33724
33725 * kern/partition.c (grub_partition_probe): Initialize PART to
33726 NULL. Otherwise, when no partition map is registered, this returns
33727 a garbage.
33728
b28b81b2 337292005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
33730
33731 * partmap/apple.c (apple_partition_map_iterate): Check if POS
33732 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
33733 valid.
33734
5f3607e0 337352005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
33736
33737 * commands/ls.c (grub_ls_list_disks): Print the filesystem
33738 information on each device, if it does not have partitions. Print
33739 "Device" instead of "Disk", because this function is not specific
33740 to disk devices.
33741
33742 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
33743 static to ensure that it is put on the memory rather than a
33744 register.
33745
502c87e8 337462005-07-17 Yoshinori Okuji <okuji@enbug.org>
33747
33748 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
33749 (grub_cat_init): Likewise.
33750 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
33751 (options): Likewise.
33752 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
33753 (grub_configfile_init): Likewise.
33754 * font/manager.c (GRUB_MOD_INIT): Likewise.
33755 * commands/help.c (GRUB_MOD_INIT): Likewise.
33756 (grub_help_init): Likewise.
33757 * normal/command.c (grub_command_init): Likewise.
33758 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
33759 * disk/loopback.c (grub_loop_init): Likewise.
33760 (GRUB_MOD_INIT): Likewise.
33761 * commands/ls.c (grub_ls_init): Likewise.
33762 (GRUB_MOD_INIT): Likewise.
33763 (options): Likewise.
33764 * commands/boot.c (grub_boot_init): Likewise.
33765 (GRUB_MOD_INIT): Likewise.
33766 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
33767 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
33768 (GRUB_MOD_INIT): Likewise.
33769 * commands/cmp.c (grub_cmp_init): Likewise.
33770 (GRUB_MOD_INIT): Likewise.
33771
33772 * normal/arg.c: Use <> instead of "" to include header files.
33773 (SHORT_ARG_HELP): New macro.
33774 (SHORT_ARG_USAGE): Likewise.
33775 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
33776 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
33777 descriptions.
33778 (find_short): Check if C is 'h' or 'u' explicitly.
33779 (grub_arg_show_help): Use space characters instead of tabs. Treat
33780 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
33781 are shown with --help and --usage only if they are not used for
33782 the command itself.
33783 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
33784 'h' and 'u'.
33785
33786 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
33787 const into "longarg". Change the type of "shortarg" to int.
33788
f806d18e 337892005-07-17 Yoshinori Okuji <okuji@enbug.org>
33790
33791 * boot/i386/pc/boot.S (boot_drive_check): New label.
33792
33793 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
33794 macro.
33795
33796 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
33797 which do not pass a boot drive correctly. Copied from GRUB Legacy.
33798
e293232b 337992005-07-17 Yoshinori Okuji <okuji@enbug.org>
33800
33801 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
33802 When turning off Gate A20, skip the check and return immediately,
33803 because this is not fatal usually.
33804
ebedfd00 338052005-07-17 Yoshinori Okuji <okuji@enbug.org>
33806
33807 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
33808 be 0x7C00 instead of 0x8000.
33809
33810 * boot/i386/pc/pxeboot.S: Rewritten.
33811
33812 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
33813 EXT_C.
33814 (gate_a20_check_state): Read a byte from 0x108000. Invert the
33815 result.
33816
654fc59f 338172005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
33818
33819 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
33820 robustness. This routine now supports a BIOS call and System
33821 Control Port A to modify the gate A20.
33822
33823 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33824 Increased to 0x440.
33825
09f9923f 338262005-07-12 Hollis Blanchard <hollis@penguinppc.org>
33827
33828 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
33829 device path and resulting ihandle.
33830 (grub_ofdisk_close): dprintf the ihandle being closed.
33831 (grub_ofdisk_read): dprintf function parameters.
33832 * kern/mm.c (grub_mm_init_region): Likewise.
33833 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
33834 (grub_linux_boot): dprintf the Linux entry point, initrd address and
33835 size, and boot arguments.
33836 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
33837 before loading into memory.
33838 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
33839 before loading into memory.
33840
7ef504d8 338412005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
33842
33843 * kern/mm.c: Added much documentation.
33844 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
33845 8, set to 5 instead of 8.
33846
e0f050c2 338472005-07-10 Yoshinori Okuji <okuji@enbug.org>
33848
33849 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
33850
33851 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
33852 (grub_mkdevicemap_SOURCES): New variable.
33853
33854 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
33855 lib/device.c of GRUB Legacy.
33856
7224189a 338572005-07-10 Yoshinori Okuji <okuji@enbug.org>
33858
33859 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
33860 instead of PATH is NULL.
33861
68c864eb 338622005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
33863
33864 * commands/cmp.c (BUFFER_SIZE): New macro.
33865 (grub_cmd_cmp): Close the right file at the right time. Compare
33866 only data just read. Don't report files of different size as
33867 identical. Dynamically allocate buffers. Move variable
33868 declarations at the beginning of function.
33869
e6f3e614 338702005-07-09 Yoshinori Okuji <okuji@enbug.org>
33871
33872 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
33873 reverse.
33874
f8f1559a 338752004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
33876
33877 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
33878 when backspace is pressed at beginning of line.
33879
39c9d41d 338802005-07-03 Yoshinori Okuji <okuji@enbug.org>
33881
33882 * DISTLIST: Added genfslist.sh.
33883
33884 * normal/main.c (fs_module_list): New variable.
33885 (autoload_fs_module): New function.
33886 (read_fs_list): Likewise.
33887 (grub_normal_execute): Call read_fs_list.
33888
33889 * kern/fs.c (grub_fs_autoload_hook): New variable.
33890 (grub_fs_probe): Added support for auto-loading.
33891
33892 * include/grub/normal.h (struct grub_fs_module_list): New struct.
33893 (grub_fs_module_list_t): New type.
33894
33895 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
33896 (grub_fs_autoload_hook): New prototype.
33897
33898 * genfslist.sh: New file.
f19dbdb7 33899
39c9d41d 33900 * genmk.rb: Added a rule to generate a filesystem list.
33901
121c1d83 339022005-06-30 Marco Gerards <metgerards@student.han.nl>
33903
33904 * configure.ac: Fix the test for cross-compiling.
33905
33906 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
33907 define GRUB_UTIL anymore.
33908
33909 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
33910 so this function works on other systems than just big endian.
33911 (load_modules): Likewise.
33912 (add_segments): Likewise.
33913
e75d76e1 339142005-06-23 Hollis Blanchard <hollis@penguinppc.org>
33915
33916 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
33917 contains `l' modifier, get a long from va_arg().
33918
50b5a0a7 339192005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
33920
33921 * kern/mm.c (grub_free): If the next free block which is being
33922 merged is the first free block, set the first block to the block
33923 being freed.
33924 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
33925
89371b20 339262005-05-08 Hollis Blanchard <hollis@penguinppc.org>
33927
33928 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
33929 `grub_ieee1275_chosen'.
33930
168d6e58 339312005-05-08 Hollis Blanchard <hollis@penguinppc.org>
33932
33933 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
33934 (grub_ieee1275_chosen): New variable.
33935 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
33936 `chosen'.
33937 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
33938 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33939 Rename first argument to `phandle' for consistency.
33940 (grub_ieee1275_get_property_length): Likewise.
33941 (grub_ieee1275_next_property): Likewise. Change type of first argument
33942 to grub_ieee1275_phandle_t.
33943 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
33944 Move export next to declaration.
33945 (grub_ieee1275_chosen): New variable.
33946 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
33947 Correct cosmetic typo.
33948 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
33949 `grub_ieee1275_chosen'.
33950 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
33951 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
33952 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
33953 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
33954 `grub_ieee1275_chosen'.
33955
ca5baa3f 339562005-05-10 Hollis Blanchard <hollis@penguinppc.org>
33957
33958 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
33959 /chosen/bootargs.
33960 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
33961 /chosen/bootargs as "variable=value" pairs.
33962
708b345f 339632005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
33964
33965 * include/grub/misc.h (grub_dprintf): New macro.
33966 (grub_real_dprintf): New prototype.
33967 (grub_strword): Likewise.
33968 (grub_iswordseparator): Likewise.
33969 * kern/misc.c (grub_real_dprintf): New function.
33970 (grub_strword): Likewise.
33971 (grub_iswordseparator): Likewise.
33972
f4c5e67c 339732005-04-30 Hollis Blanchard <hollis@penguinppc.org>
33974
33975 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
33976 (roundup): Remove macro.
33977 (grub_ieee1275_flags): Make static.
33978 (grub_ieee1275_realmode): Remove.
33979 (grub_ieee1275_test_flag): New function.
33980 (grub_ieee1275_set_flag): Likewise.
33981 (find_options): Rename to `grub_ieee1275_find_options'; update
33982 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
33983 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
33984 (cmain): New prototype.
33985 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
33986 `grub_ieee1275_flags' directly.
33987 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
33988 machine/biosdisk.h.
33989 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
33990 Don't include grub/machine/init.h.
33991 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
33992 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33993 Remove prototype.
33994 (grub_ieee1275_realmode): Likewise.
33995 (grub_ieee1275_flag): New enum.
33996 (grub_ieee1275_test_flag): New prototype.
33997 (grub_ieee1275_set_flag): New prototype.
33998 * include/grub/powerpc/ieee1275/init.h: Remove file.
33999 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
34000 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
34001 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
34002 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
34003 comment.
34004 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
34005 `grub_ieee1275_test_flag'.
34006 (grub_ieee1275_encode_devname): Likewise.
34007
ed16607e 340082005-04-21 Hollis Blanchard <hollis@penguinppc.org>
34009
34010 * include/grub/powerpc/ieee1275/ieee1275.h
34011 (grub_ieee1275_encode_devname): New prototype.
34012 (grub_ieee1275_get_filename): Likewise.
34013 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
34014 function.
34015 (grub_set_prefix): Likewise.
34016 (grub_machine_init): Call grub_set_prefix.
34017 * kern/powerpc/ieee1275/openfw.c: Fix typos.
34018 (grub_parse_type): New enum.
34019 (grub_ieee1275_get_devargs): New function.
34020 (grub_ieee1275_get_devname): Likewise.
34021 (grub_ieee1275_parse_args): Likewise.
34022 (grub_ieee1275_get_filename): Likewise.
34023 (grub_ieee1275_encode_devname): Likewise.
34024
be369920 340252005-03-30 Marco Gerards <metgerards@student.han.nl>
34026
34027 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
34028 `grub_loader_unset'.
34029
a5ce3a4a 340302005-03-26 Hollis Blanchard <hollis@penguinppc.org>
34031
34032 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
34033 instead of grub_ieee1275_interpret.
34034 (grub_halt_init): New function.
34035 (grub_halt_fini): Likewise.
34036 (GRUB_MOD_INIT): Correct message grammar.
34037 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
34038 instead of grub_ieee1275_interpret.
34039 (grub_reboot_init): New function.
34040 (grub_reboot_fini): Likewise.
34041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
34042 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
34043 util/i386/pc/misc.c with commands/ieee1275/halt.c,
34044 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
34045 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
34046 function.
34047 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
34048 Add prototype.
34049 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
34050 prototype.
34051 (grub_halt): Likewise.
34052 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
34053 (cmain): Remove __attribute__((unused)).
34054 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
34055 (grub_heap_len): Likewise.
34056 (grub_machine_fini): New function.
34057 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
34058 (grub_halt): Likewise.
34059 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
34060 function.
34061 * util/powerpc/ieee1275/misc.c: New file.
34062
0058f771 340632005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34064
34065 * DISTLIST: New file.
34066 * gendistlist.sh: Likewise.
f19dbdb7 34067
0058f771 34068 * Makefile.in (COMMON_DISTFILES): Removed.
34069 (BOOT_DISTFILES): Likewise.
34070 (CONF_DISTFILES): Likewise.
34071 (DISK_DISTFILES): Likewise.
34072 (FS_DISTFILES): Likewise.
34073 (INCLUDE_DISTFILES): Likewise.
34074 (KERN_DISTFILES): Likewise.
34075 (LOADER_DISTFILES): Likewise.
34076 (TERM_DISTFILES): Likewise.
34077 (UTIL_DISTFILES): Likewise.
34078 (DISTFILES): Likewise.
34079 (uninstall): Uninstall files in $(pkgdata_DATA).
34080 (DISTLIST): New target.
34081 (distdir): Use the contents of the file DISTLIST to get a list of
34082 distributed files.
34083
46b3b8a5 340842005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34085
34086 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
34087 descriptor. This is ported from GRUB Legacy.
34088
34089 * gencmdlist.sh: Added an extra semicolon to make it work with
34090 old sed versions. Reported by Robert Bihlmeyer
34091 <robbe@orcus.priv.at>.
34092
5822ff87 340932005-03-08 Yoshinori Okuji <okuji@enbug.org>
34094
34095 Automatic loading of commands is supported.
f19dbdb7 34096
5822ff87 34097 * normal/main.c (read_command_list): New function.
34098 (grub_normal_execute): Call read_command_list.
34099
34100 * normal/command.c (grub_register_command): Return zero or CMD.
34101 Allocate CMD->NAME from the heap.
34102 Initialize CMD->MODULE_NAME to zero.
34103 Find the same name as well. If the same command is found and it is
34104 a dummy command, overwrite members. If it is not a dummy command,
34105 return zero.
34106 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
34107 (grub_command_find): If a dummy command is found, load a module
34108 and retry to find a command only once.
34109
34110 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
34111 make sure that each command is loaded.
34112
34113 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
34114 macro.
34115 (struct grub_command): Remove const from the member `name'.
34116 Add a new member `module_name'.
34117 (grub_register_command): Return grub_command_t.
34118
34119 * commands/help.c (grub_cmd_help): Call grub_command_find to make
34120 sure that each command is loaded.
34121
34122 * genmk.rb (PModule::rule): Specify a module name without the
34123 suffix ".mod" to gencmdlist.sh.
34124
7b1f4b57 341252005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
34126
34127 * gencmdlist.sh: New file.
f19dbdb7 34128
7b1f4b57 34129 * genmk.rb (PModule::rule): Generate a rule for a command list.
34130 Clean command.lst.
34131 Generate command.lst from $(COMMANDFILES).
34132
34133 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
34134 (DATA): Added $(pkgdata_DATA).
34135 (install-local): Install files in $(pkgdata_DATA).
34136
062aaf39 341372005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
34138
34139 * term/i386/pc/vga.c (debug_command): Removed.
34140 (GRUB_MOD_INIT): Do not register the command "debug".
34141
34142 From Hollis Blanchard:
34143 * commands/configfile.c: New file.
34144 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34145 commands/configfile.c.
34146 (pkgdata_MODULES): Added configfile.mod.
34147 (configfile_mod_SOURCES): New variable.
34148 (configfile_mod_CFLAGS): Likewise.
34149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34150 commands/configfile.c.
34151 (pkgdata_MODULES): Added configfile.mod.
34152 (configfile_mod_SOURCES): New variable.
34153 (configfile_mod_CFLAGS): Likewise.
34154 * util/grub-emu.c (main): Call grub_configfile_init and
34155 grub_configfile_fini.
34156 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
34157 prototype.
34158 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 34159
cee01aa6 341602005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
34161
34162 * normal/arg.c (grub_arg_show_help): Do not show the bug report
34163 address.
34164
34165 * commands/help.c (grub_cmd_help): Do not print newlines after
34166 the last command in print_command_help.
34167
93f3a1d8 341682005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
34169
34170 * commands/default.h: New file.
34171 * commands/timeout.h: Likewise.
34172 * normal/context.c: Likewise.
f19dbdb7 34173
93f3a1d8 34174 * util/misc.c: Do not include sys/times.h.
34175 Include sys/time.h and grub/machine/time.h.
34176 (grub_get_rtc): Rewritten with gettimeofday.
34177
34178 * util/grub-emu.c (main): Call grub_default_init and
34179 grub_timeout_init before grub_normal_init, and call
34180 grub_timeout_fini and grub_default_fini after grub_main.
34181
34182 * util/console.c (grub_ncurses_checkkey): Return the read
34183 character or -1.
34184
34185 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
34186 timeouts.
34187
34188 * normal/main.c (read_config_file): Push MENU. If this fails,
34189 print an error and wait for a user input.
34190 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
34191 If a menu is empty or an error occurs, pop MENU.
34192 (grub_normal_execute): Pop and free MENU after grub_menu_run
34193 returns.
34194
34195 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
34196
34197 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
34198 include time.h.
34199 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
34200 without GRUB_UTIL.
34201 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
34202 time.h.
34203 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
34204 without GRUB_UTIL.
34205
34206 * include/grub/normal.h (struct grub_menu_list): New struct.
34207 (grub_menu_list_t): New type.
34208 (struct grub_context): New struct.
34209 (grub_context_t): New type.
34210 (grub_register_command): Got rid of EXPORT_FUNC.
34211 (grub_unregister_command): Likewise.
34212 (grub_context_get): New prototype.
34213 (grub_context_get_current_menu): Likewise.
34214 (grub_context_push_menu): Likewise.
34215 (grub_context_pop_menu): Likewise.
34216 [GRUB_UTIL] (grub_default_init): Likewise.
34217 [GRUB_UTIL] (grub_default_fini): Likewise.
34218 [GRUB_UTIL] (grub_timeout_init): Likewise.
34219 [GRUB_UTIL] (grub_timeout_fini): Likewise.
34220
34221 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
34222 commands/timeout.c and normal/context.c.
34223 (pkgdata_MODULES): Added default.mod and timeout.mod.
34224 (normal_mod_SOURCES): Added normal/context.c.
34225 (default_mod_SOURCES): New variable.
34226 (default_mod_CFLAGS): Likewise.
34227 (timeout_mod_SOURCES): Likewise.
34228 (timeout_mod_CFLAGS): Likewise.
34229 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
34230 conf/i386-pc.rmk.
34231 (pkgdata_MODULES): Added default.mod and timeout.mod.
34232 (normal_mod_SOURCES): Added normal/context.c.
34233 (default_mod_SOURCES): New variable.
34234 (default_mod_CFLAGS): Likewise.
34235 (timeout_mod_SOURCES): Likewise.
34236 (timeout_mod_CFLAGS): Likewise.
34237
34238 * Makefile.in (all-local): Added $(MKFILES).
34239
4ed2e1dd 342402005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
34241
34242 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
34243 (grub_emu_SOURCES): Likewise.
34244 (pkgdata_MODULES): Add `sun.mod'.
34245 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
34246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34247 `partmap/sun.c'.
34248 (pkgdata_MODULES): Add `sun.mod'.
34249 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
34250 * include/grub/partition.h (grub_sun_partition_map_init): New
34251 prototype.
34252 (grub_sun_partition_map_fini): Likewise.
34253 * partmap/sun.c: New file.
34254 * util/grub-emu.c (main): Initialize and de-initialize the sun
34255 partitionmap support.
34256
4d4e372e 342572005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
34258
34259 This implements an Emacs-like menu entry editor.
f19dbdb7 34260
4d4e372e 34261 * normal/menu_entry.c: New file.
f19dbdb7 34262
4d4e372e 34263 * util/console.c (grub_ncurses_putchar): Translate some Unicode
34264 characters to ASCII.
34265 (saved_char): New variable.
34266 (grub_ncurses_checkkey): Rewritten completely.
34267 (grub_ncurses_getkey): Likewise.
34268 (grub_ncurses_init): Call raw instead of cbreak.
34269
34270 * normal/menu.c (print_entry): Do not put a space.
34271 (init_page): Renamed to ...
34272 (grub_menu_init_page): ... this. All callers changed.
34273 (edit_menu_entry): Removed.
34274 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
34275
34276 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
34277
34278 * kern/misc.c (grub_vprintf): Call grub_refresh.
34279
34280 * normal/menu.c (DISP_LEFT): Renamed to ...
34281 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
34282 * normal/menu.c (DISP_UP): Renamed to ...
34283 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
34284 * normal/menu.c (DISP_RIGHT): Renamed to ...
34285 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
34286 * normal/menu.c (DISP_DOWN): Renamed to ...
34287 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
34288 * normal/menu.c (DISP_HLINE): Renamed to ...
34289 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
34290 * normal/menu.c (DISP_VLINE): Renamed to ...
34291 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
34292 * normal/menu.c (DISP_UL): Renamed to ...
34293 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
34294 * normal/menu.c (DISP_UR): Renamed to ...
34295 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
34296 * normal/menu.c (DISP_LL): Renamed to ...
34297 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
34298 * normal/menu.c (DISP_LR): Renamed to ...
34299 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
34300 * normal/menu.c (TERM_WIDTH): Renamed to ...
34301 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
34302 * normal/menu.c (TERM_HEIGHT): Renamed to ...
34303 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
34304 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
34305 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
34306 * normal/menu.c (TERM_MARGIN): Renamed to ...
34307 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
34308 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
34309 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
34310 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
34311 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
34312 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
34313 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
34314 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
34315 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
34316 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
34317 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
34318 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
34319 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
34320 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
34321 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
34322 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
34323 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
34324 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
34325 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
34326 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
34327 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
34328 All callers changed.
34329
34330 * include/grub/normal.h: New prototype.
34331
34332 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34333 normal/menu_entry.c.
34334 (normal_mod_SOURCES): Likewise.
34335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34336 (normal_mod_SOURCES): Likewise.
34337
e6b92c8a 343382005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
34339
34340 * include/grub/normal.h (grub_halt_init): New prototype.
34341 (grub_halt_fini): Likewise.
34342 (grub_reboot_init): Likewise.
34343 (grub_reboot_fini): Likewise.
34344
34345 * util/grub-emu.c: Include signal.h.
34346 (main_env): New global variable.
34347 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
34348 catch C-c.
34349 (grub_machine_fini): New function.
34350 (main): Call grub_halt_init and grub_reboot_init before
34351 grub_main, and grub_reboot_fini and grub_halt_fini after it.
34352 Call setjmp with MAIN_ENV to go back afterwards.
34353 Call grub_machine_fini right before return.
34354
34355 * include/grub/util/misc.h: Include setjmp.h.
34356 (main_env): New prototype.
34357
34358 * include/grub/kernel.h (grub_machine_fini): New prototype.
34359 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
34360 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
34361
34362 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
34363 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
34364 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 34365
e6b92c8a 34366 * util/i386/pc/misc.c: New file.
f19dbdb7 34367
e6b92c8a 34368 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34369 util/i386/pc/misc.c, commands/i386/pc/halt.c and
34370 commands/i386/pc/reboot.c.
34371
c642636f 343722005-02-14 Guillem Jover <guillem@hadrons.org>
34373
34374 * include/grub/dl.h (grub_dl_check_header): New prototype.
34375 (grub_arch_dl_check_header): Change return type to grub_err_t,
34376 remove size parameter and export function. Update all callers.
34377 * kern/dl.c (grub_dl_check_header): New function.
34378 (grub_dl_load_core): Use `grub_dl_check_header' instead of
34379 `grub_arch_dl_check_header'. Check ELF type. Check if sections
34380 are inside the core.
34381 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
34382 independent ELF header checks.
34383 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
34384 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
34385 `grub_dl_check_header' instead of explicit checks. Check for the
34386 ELF type.
34387 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
34388 `grub_dl_check_header' instead of explicit checks. Remove arch
34389 specific ELF header checks.
34390
e6b92c8a 34391 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
34392 argument SIZE.
34393
5eabe94b 343942005-02-13 Hollis Blanchard <hollis@penguinppc.org>
34395
34396 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
34397 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
34398
1b14a681 343992005-02-12 Hollis Blanchard <hollis@penguinppc.org>
34400
34401 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 34402 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 34403 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 34404 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 34405 * partmap/amiga.c (amiga_partition_map_iterate): Return
34406 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
34407 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34408
aca108aa 344092005-02-01 Guillem Jover <guillem@hadrons.org>
34410
34411 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
34412 help info.
34413
c9f9c556 344142005-01-31 Marco Gerards <metgerards@student.han.nl>
34415
34416 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
34417 Removed prototype.
34418 (grub_rescue_cmd_linux): New prototype.
34419 (grub_rescue_cmd_initrd): Likewise.
34420 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
34421 `bi_rec'.
34422 (grub_linux_release_mem): Release the memory for the initrd.
34423 (grub_load_linux): Renamed from this...
34424 (grub_rescue_cmd_linux): ...To this. Changed all callers.
34425 Changed `entry' not to be static. Loop over memory regions to
34426 find another one when the default fails.
34427 (grub_rescue_cmd_initrd): New function.
34428 (grub_linux_init): Remove function.
34429 (grub_linux_fini): Likewise.
34430 (GRUB_MOD_INIT): Register `initrd'.
34431 (GRUB_MOD_FINI): Unregister `initrd'.
34432 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
34433 Function removed.
34434 (grub_linux_normal_fini): Likewise.
34435 (GRUB_MOD_INIT): Register `initrd'.
34436 (GRUB_MOD_FINI): Unregister `initrd'.
34437
990cf3aa 344382005-01-31 Marco Gerards <metgerards@student.han.nl>
34439
34440 * commands/help.c: New file.
34441 * normal/arg.c (show_help): Renamed to...
34442 (grub_arg_show_help): ... this.
34443 * commands/i386/pc/halt.c: New file.
34444 * commands/i386/pc/reboot.c: Likewise.
34445 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
34446 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
34447 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
34448 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
34449 variables.
34450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34451 `commands/help.c'.
34452 (pkgdata_MODULES): Add `help.mod'.
34453 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
34454 * grub/i386/pc/init.h (grub_reboot): New prototype.
34455 (grub_halt): Likewise.
34456 * include/grub/normal.h (grub_arg_show_help): New prototype.
34457 (grub_help_init): Likewise.
34458 (grub_help_fini): Likewise.
34459 * util/grub-emu.c (main): Initialize and deinitialize the help
34460 command.
34461
34462 * normal/cmdline.c (grub_cmdline_get): Doc fix.
34463
34464 * normal/command.c (grub_command_init): Fixed the description of
34465 the `set' and `unset' commands.
34466
344672005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 34468
34469 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
34470 function.
34471 * commands/ieee1275/halt.c: New file.
34472 * commands/ieee1275/reboot.c: Likewise.
34473 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
34474 `__attribute__ ((unused))'. Some GCS related fixed.
34475 (grub_suspend_init) [GRUB_UTIL]: Function removed.
34476 (grub_suspend_fini): Likewise.
34477 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
34478 and `halt.mod'.
34479 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
34480 (halt_mod_CFLAGS): New variables.
34481 * include/grub/powerpc/ieee1275/ieee1275.h
34482 (grub_ieee1275_interpret): New prototype.
34483
1ab09cc7 344842005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
34485
34486 * include/grub/misc.h (memmove): New prototype.
34487 (memcpy): Likewise.
34488
8b8cbdb2 344892005-01-22 Hollis Blanchard <hollis@penguinppc.org>
34490
34491 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
34492 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
34493
e3741a27 344942005-01-22 Marco Gerards <metgerards@student.han.nl>
34495
34496 * kern/misc.c (grub_strndup): Function rewritten.
34497
776bd780 344982005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
34499
34500 * normal/menu.c (TERM_WIDTH): Macro redefined.
34501 (TERM_TOP_BORDER_Y): Likewise.
34502 (draw_border): Replaced while-loop by a for-loop. Make the number
34503 of lines consistent with the number of lines displayed in
34504 print_entries. Added a margin below the rectangle.
34505 (print_entry): Make the entry fit in the rectangle.
34506 (print_entries): Display the scroll arrows next to the right
34507 border.
34508
78026bce 345092005-01-21 Marco Gerards <metgerards@student.han.nl>
34510
34511 * fs/minix.c (grub_minix_find_file): Reserve more space for
34512 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
34513 `grub_strncpy' to copy `path' into it.
34514
67bbaf0f 345152005-01-21 Marco Gerards <metgerards@student.han.nl>
34516
34517 Add the loopback device, a device via which files can be accessed
34518 as devices.
f19dbdb7 34519
67bbaf0f 34520 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
34521 (pkgdata_MODULES): Add loopback.mod.
34522 (loopback_mod_SOURCES): New variable.
34523 (loopback_mod_CFLAGS): Likewise.
34524 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34525 `disk/loopback.c'.
34526 (pkgdata_MODULES): Add loopback.mod.
34527 (loopback_mod_SOURCES): New variable.
34528 (loopback_mod_CFLAGS): Likewise.
34529 * disk/loopback.c: new file.
34530 * include/grub/normal.h (grub_loop_init): New prototype.
34531 (grub_loop_fini): New prototype.
34532 * util/grub-emu.c (main): Initialize and de-initialize loopback
34533 support.
34534 * include/grub/disk.h (grub_disk_dev_id): Add
34535 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
34536
6f1c18bd 345372005-01-20 Hollis Blanchard <hollis@penguinppc.org>
34538
34539 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
34540 function.
34541 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
34542 (suspend_mod_SOURCES): New variable.
34543 (suspend_mod_CFLAGS): Likewise.
34544 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
34545 New prototype.
34546 * commands/ieee1275/suspend.c: New file.
34547
b38551da 345482005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34549
34550 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 34551 ((unused))' to `__attribute__ ((used))'.
b38551da 34552 (GRUB_MOD_FINI): Likewise.
34553 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
34554 * genmk.rb (PModule): Assign space to common symbols when linking
34555 modules.
34556
777aff39 345572005-01-20 Marco Gerards <metgerards@student.han.nl>
34558
34559 * include/grub/mm.h (grub_mm_init_region): Change the type of the
34560 `unsigned' arguments to `grub_size_t'.
34561 (grub_malloc): Likewise.
34562 (grub_realloc): Likewise.
34563 (grub_memalign): Likewise.
34564 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
34565 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
34566 * util/misc.c (grub_malloc): Likewise.
34567 (grub_realloc): Likewise.
34568 * kern/mm.c (get_header_from_pointer): Change the casts to
34569 `unsigned' into a cast to `grub_size_t'.
34570
34571 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
34572 point to `currnode' when `currnode' is changed.
34573
34574 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
34575 Schottelius <nico-linux@schottelius.org>.
34576
d0ff18e1 345772005-01-09 Hollis Blanchard <hollis@penguinppc.org>
34578
34579 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
34580 (note_path): Remove variable.
34581 (GRUB_IEEE1275_NOTE_NAME): New macro.
34582 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
34583 (grub_ieee1275_note_hdr): New structure.
34584 (grub_ieee1275_note_desc): Likewise.
34585 (grub_ieee1275_note): Likewise.
34586 (load_note): Remove `dir' argument. All callers updated. Remove
34587 `note_img' and `path'. Do not load a file from `note_path'.
34588 Initialize a struct grub_ieee1275_note and write that to `out'.
34589 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
34590
4ca7004c 345912005-01-05 Marco Gerards <metgerards@student.han.nl>
34592
34593 * util/misc.c (grub_util_read_image): Revert last change. It
34594 called `grub_util_read_at', which seeks from the beginning of the
34595 file.
34596
0b412211 345972005-01-04 Hollis Blanchard <hollis@penguinppc.org>
34598
34599 * TODO: Add note about endianness in grub-mkimage.
34600 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
34601 section.
34602 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
34603 (grub_mkimage_SOURCES): New target.
34604 * include/grub/kernel.h (grub_start_addr): Remove variable.
34605 (grub_end_addr): Likewise.
34606 (grub_total_module_size): Likewise.
34607 (grub_kernel_image_size): Likewise.
34608 (GRUB_MODULE_MAGIC): New constant.
34609 (grub_module_info): New structure.
34610 (grub_arch_modules_addr): New prototype.
34611 (grub_get_end_addr): Remove prototype.
34612 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
34613 * include/grub/powerpc/ieee1275/kernel.h: New file.
34614 * include/grub/util/misc.h (grub_util_get_fp_size): New
34615 prototype.
34616 (grub_util_read_at): Likewise.
34617 (grub_util_write_image_at): Likewise.
34618 * kern/main.c (grub_get_end_addr): Remove function.
34619 (grub_load_modules): Call grub_arch_modules_addr instead of using
34620 grub_end_addr. Look for a grub_module_info struct in memory. Use
34621 the grub_module_info fields instead of calling grub_get_end_addr
34622 as loop conditions. Move grub_add_unused_region code here.
34623 (grub_add_unused_region): Remove function.
34624 * kern/i386/pc/init.c: Include grub/cache.h.
34625 (grub_machine_init): Remove call to grub_get_end_addr. Remove
34626 one call to add_mem_region.
34627 (grub_arch_modules_addr): New function.
34628 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
34629 (grub_total_module_size): Likewise.
34630 Include grub/machine/kernel.h.
34631 (grub_arch_modules_addr): New function.
34632 * util/grub-emu.c (grub_end_addr): Remove variable.
34633 (grub_total_module_size): Likewise.
34634 (grub_arch_modules_addr): New function.
34635 * util/misc.c: Include unistd.h.
34636 (grub_util_get_fp_size): New function.
34637 (grub_util_read_at): Likewise.
34638 (grub_util_write_image_at): Likewise.
34639 (grub_util_read_image): Call grub_util_read_at.
34640 (grub_util_write_image): Call grub_util_write_image_at.
34641 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
34642 additional memory in kernel_img for a struct grub_module_info.
34643 Fill in that grub_module_info.
34644 * util/powerpc/ieee1275/grub-mkimage.c: New file.
34645
458786f8 346462005-01-03 Hollis Blanchard <hollis@penguinppc.org>
34647
34648 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
34649 New function.
34650 * include/grub/powerpc/ieee1275/ieee1275.h
34651 (grub_ieee1275_milliseconds): New prototype.
34652 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
34653 Change to 1000.
34654 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
34655 grub_ieee1275_milliseconds.
34656
ac507d1b 346572005-01-03 Hollis Blanchard <hollis@penguinppc.org>
34658
34659 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
34660 variable.
34661 (find_options): New function.
34662 (cmain): Call find_options.
34663 * include/grub/powerpc/ieee1275/ieee1275.h
34664 (grub_ieee1275_realmode): New extern variable.
34665 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
34666 grub_map if grub_ieee1275_realmode is false.
34667
6b8fd1c4 346682004-12-29 Marco Gerards <metgerards@student.han.nl>
34669
34670 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
34671 lines are inserted and make it work like readline. Reported by
34672 Vincent Pelletier <subdino2004@yahoo.fr>.
34673
8514a1e0 346742004-12-28 Marco Gerards <metgerards@student.han.nl>
34675
34676 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
34677
34678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
34679 `kern/powerpc/cache.S'.
34680
924b6140 346812004-12-27 Marco Gerards <metgerards@student.han.nl>
34682
34683 * genmk.rb: Handle the `Program' class in the main loop. Written
34684 by Johan Rydberg <jrydberg@gnu.org>.
34685 (Program): New class.
34686 (programs): New variable.
34687 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
34688 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
34689 instead of "grub/kernel.h". Include <grub/machine/init.h>.
34690 (help_arch): Function removed.
34691 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
34692 `powerpc/libgcc.h' and `loader.h'.
34693 (pkgdata_PROGRAMS): New variable.
34694 (sbin_UTILITIES): Variable removed.
34695 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
34696 (grubof_SOURCES): Variable re-defined so it only includes the
34697 core functionality.
34698 (grubof_CFLAGS): Remove `-DGRUBOF'.
34699 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
34700 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
34701 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
34702 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
34703 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
34704 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
34705 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
34706 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
34707 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
34708 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
34709 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34710 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
34711 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
34712 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
34713 (pc_mod_CFLAGS): New variables.
34714 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
34715 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
34716 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
34717 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
34718 Moved from here...
34719 * include/grub/i386/pc/init.h (grub_os_area_addr)
34720 (rub_os_area_size): ... to here.
34721 * include/grub/powerpc/ieee1275/ieee1275.h
34722 (grub_ieee1275_entry_fn): Export symbol.
34723 * include/grub/powerpc/ieee1275/init.h: New file.
34724 * include/grub/powerpc/libgcc.h: Likewise.
34725 * include/grub/cache.h: Likewise.
34726 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
34727 <hollis@penguinppc.org>.
34728 * kern/dl.c: Include <grub/cache.h>.
34729 (grub_dl_flush_cache): New function.
34730 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
34731 for this module.
34732 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
34733 (grub_console_init): Removed prototypes.
34734 (grub_machine_init): Don't initialize the modules anymore.
34735 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
34736 static.
34737 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
34738 Macro undef removed.
34739 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
34740 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
34741 relocation `R_PPC_REL32'. Return an error when the relocation is
34742 unknown.
34743 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
34744 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
34745 * util/misc.c (grub_arch_sync_caches): Likewise.
34746
e4b47e0c 347472004-12-19 Marco Gerards <metgerards@student.han.nl>
34748
34749 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
34750 `symlist.c', add `grubof_symlist.c'.
34751 (symlist.c): Variable removed.
34752 (grubof_HEADERS): Variable added.
34753 (grubof_symlist.c): New target.
34754 (kernel_syms.lst): Use `grubof_HEADERS' instead of
34755 `kernel_img_HEADERS'.
34756 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
34757 * kern/powerpc/dl.c: New file.
34758 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
34759 Function removed.
34760 (grub_arch_dl_relocate_symbols): Likewise.
34761 (grub_register_exported_symbols): Likewise.
34762
4ceb3636 347632004-12-13 Marco Gerards <metgerards@student.han.nl>
34764
34765 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
34766 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
34767 to fail instead. Reported by Vincent Pelletier
34768 <subdino2004@yahoo.fr>.
34769
34770 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
34771 it is not allocated. Reported by Vincent Pelletier
34772 <subdino2004@yahoo.fr>.
34773
34774 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
34775 output so the output looks better.
f19dbdb7 34776
3f1578fe 347772004-12-04 Marco Gerards <metgerards@student.han.nl>
34778
34779 Modulize the partition map support and add support for the amiga
34780 partition map.
f19dbdb7 34781
3f1578fe 34782 * commands/ls.c: Include <grub/partition.h> instead of
34783 <grub/machine/partition.h>.
34784 * kern/disk.c: Likewise.
34785 * kern/rescue.c: Likewise.
34786 * loader/i386/pc/chainloader.c: Likewise.
34787 * normal/cmdline.c: Likewise.
34788 * kern/powerpc/ieee1275/init.c: Likewise.
34789 (grub_machine_init): Call `grub_pc_partition_map_init',
34790 `grub_amiga_partition_map_init' and
34791 `grub_apple_partition_map_init'.
34792 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
34793 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
34794 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
34795 `partition.h' and `pc_partition.h'.
34796 (grub_setup_SOURCES): Remove
34797 `disk/i386/pc/partition.c'. Add `kern/partition.c',
34798 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
34799 (grub_emu_SOURCES): Likewise.
34800 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
34801 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
34802 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
34803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
34804 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
34805 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
34806 (grubof_SOURCES): Likewise.
34807 * disk/i386/pc/partition.c: File removed.
34808 * disk/powerpc/ieee1275/partition.c: Likewise.
34809 * include/grub/powerpc/ieee1275/partition.h: Likewise.
34810 * include/grub/i386/pc/partition.h: Likewise.
34811 * kern/partition.c: New file.
34812 * partmap/amiga.c: Likewise.
34813 * partmap/apple.c: Likewise.
34814 * partmap/pc.c: Likewise.
34815 * include/grub/partition.h: Likewise..
34816 * include/grub/pc_partition.h: Likewise.
34817 * util/grub-emu.c: Include <grub/partition.h> instead of
34818 <grub/machine/partition.h>.
34819 (main): Call `grub_pc_partition_map_init',
34820 `grub_amiga_partition_map_init' and
34821 `grub_apple_partition_map_init' and deinitialize afterwards.
34822 * util/i386/pc/biosdisk.c: Include `#include
34823 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
34824 `<grub/machine/partition.h>'.
34825 * util/i386/pc/grub-setup.c: Likewise.
34826 * util/i386/pc/biosdisk.c: Likewise.
34827 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
34828 partition information in case of a PC partition.
34829 * util/i386/pc/grub-setup.c: Include `#include
34830 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
34831 `<grub/machine/partition.h>'.
34832 (setup): Only access the PC specific partition information in case
34833 of a PC partition.
34834
0ef4ced9 348352004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 34836
0ef4ced9 34837 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
34838 (grub_longjmp): Likewise.
34839 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
34840 20.
34841 * normal/powerpc/setjmp.S: New file.
34842 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34843 `normal/powerpc/setjmp.S'.
34844 (grubof_CFLAGS): Add `-DGRUBOF'.
34845 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
34846 [GRUB_UTIL && !GRUBOF].
f19dbdb7 34847
19950e29 348482004-11-16 Marco Gerards <metgerards@student.han.nl>
34849
34850 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
34851 property named `name'. Correctly handle the error returned by
34852 `grub_ieee1275_finddevice' if a device can not be opened.
34853
a2fea427 348542004-11-02 Hollis Blanchard <hollis@penguinppc.org>
34855
34856 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
34857 `actual' for negativity.
34858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
34859 kern/fshelp.c.
34860
41ea0ea3 348612004-11-01 Marco Gerards <metgerards@student.han.nl>
34862
34863 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
34864 (PAGE_OFFSET): New macro.
34865 (CRTC_ADDR_PORT): Likewise.
34866 (CRTC_DATA_PORT): Likewise.
34867 (START_ADDR_HIGH_REGISTER): Likewise.
34868 (START_ADDR_LOW_REGISTER): Likewise.
34869 (GRAPHICS_ADDR_PORT): Likewise.
34870 (GRAPHICS_DATA_PORT): Likewise.
34871 (READ_MAP_REGISTER): Likewise.
34872 (INPUT_STATUS1_REGISTER): Likewise.
34873 (INPUT_STATUS1_VERTR_BIT): Likewise.
34874 (page): New variable.
34875 (wait_vretrace): New function.
34876 (set_read_map): Likewise.
34877 (set_start_address): Likewise.
34878 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
34879 the right page.
34880 (check_vga_mem): Take the page into account.
34881 (write_char): Likewise.
34882 (write_cursor): Likewise.
34883 (scroll_up): Likewise. Copy the page to the page that is not
34884 shown and switch between both pages.
34885 (grub_vga_putchar): Fix off by one error.
34886 (grub_vga_cls): Wait for the vertical retrace. Take the page into
34887 account.
34888
ad0bd20b 348892004-11-01 Marco Gerards <metgerards@student.han.nl>
34890
34891 Add support for iso9660 (including rockridge).
f19dbdb7 34892
ad0bd20b 34893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
34894 (iso9660_mod_SOURCES): New variable.
34895 (iso9660_mod_CFLAGS): Likewise.
34896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
34897 * include/grub/fs.h (grub_iso9660_init): New prototype.
34898 * util/grub-emu.c (main): Call `grub_iso9660_init'.
34899 * fs/iso9660.c: New file.
34900
34901 * include/grub/misc.h (grub_strncat): New prototype.
34902 * kern/misc.c (grub_strncat): New function.
f19dbdb7 34903
ad0bd20b 34904 * fs/hfs.c (grub_hfs_mount): Translate the error
34905 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
34906 * fs/jfs.c (grub_jfs_mount): Likewise.
34907 * fs/ufs.c (grub_ufs_mount): Likewise.
34908
a5477a59 349092004-10-28 Hollis Blanchard <hollis@penguinppc.org>
34910
34911 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
34912 which initialized BAT registers.
34913 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
34914 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
34915 Move from here...
34916 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
34917 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
34918 ... to here.
34919 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
34920 (grub_mapclaim): Likewise.
34921 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
34922 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
34923 hand.
34924
9304c1f8 349252004-10-19 Hollis Blanchard <hollis@penguinppc.org>
34926
34927 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
34928 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
34929 -ffreestanding and -msoft-float.
34930
86f4ae25 349312004-10-15 Hollis Blanchard <hollis@penguinppc.org>
34932
34933 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
34934 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
34935 set in grub_ieee1275_flags.
34936
38912228 349372004-10-14 Hollis Blanchard <hollis@penguinppc.org>
34938
34939 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
34940 prototype.
34941 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
34942 grub_console_init first.
34943 Change the memory range used for grub_ieee1275_claim and
34944 grub_mm_init_region.
34945 Print an error message if the claim fails.
34946 Include <grub/misc.h>.
34947
d1923dc8 349482004-10-13 Hollis Blanchard <hollis@penguinppc.org>
34949
34950 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
34951 Call grub_children_iterate for device nodes of type `scsi',
34952 `ide', or `ata'.
34953 (grub_ofdisk_open): Remove manual device alias resolution.
34954 Fix memory leak when device cannot be opened.
f19dbdb7 34955 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 34956 (grub_children_iterate): New prototype.
34957 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
34958 New function.
34959 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
34960 Return -1 if args.size was -1.
34961
4512e4f3 349622004-10-11 Hollis Blanchard <hollis@penguinppc.org>
34963
34964 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
34965 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
34966 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
34967 Open Firmware's memory for it; claim memory from _start to _end.
34968 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
34969 (_end): New extern.
34970 (_start): Zero BSS from __bss_start to _end.
34971 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
34972 New extern.
34973 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
34974
4d61feb0 349752004-10-11 Hollis Blanchard <hollis@penguinppc.org>
34976
ad0bd20b 34977 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
34978 -1 if args.base was -1.
4d61feb0 34979
026fa2f9 349802004-10-08 Hollis Blanchard <hollis@penguinppc.org>
34981
34982 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
34983 escape sequence instead of a literal ^L. Also call
34984 grub_ofconsole_gotoxy.
34985
9f2220ef 349862004-10-03 Hollis Blanchard <hollis@penguinppc.org>
34987
34988 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
34989 void * arguments to grub_addr_t. All callers updated. Also make
34990 the `result' argument optional.
34991 (grub_ieee1275_release): change void * arguments to grub_addr_t.
34992 All callers updated.
34993
8a572cd7 349942004-09-22 Hollis Blanchard <hollis@penguinppc.org>
34995
34996 * commands/ls.c (grub_ls_list_files): Use the string following the
34997 initial ')', if present, as the filesystem path.
34998 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
34999
35000 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
35001
18aa81f2 350022004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
35003
35004 Make the source code of the menu interface more readable.
f19dbdb7 35005
18aa81f2 35006 * normal/menu.c: Include grub/mm.h.
35007 (TERM_WIDTH): New macro.
35008 (TERM_HEIGHT): Likewise.
35009 (TERM_INFO_HEIGHT): Likewise.
35010 (TERM_MARGIN): Likewise.
35011 (TERM_SCROLL_WIDTH): Likewise.
35012 (TERM_TOP_BORDER_Y): Likewise.
35013 (TERM_LEFT_BORDER_X): Likewise.
35014 (TERM_BORDER_WIDTH): Likewise.
35015 (TERM_MESSAGE_HEIGHT): Likewise.
35016 (TERM_BORDER_HEIGHT): Likewise.
35017 (TERM_NUM_ENTRIES): Likewise.
35018 (TERM_FIRST_ENTRY_Y): Likewise.
35019 (TERM_ENTRY_WIDTH): Likewise.
35020 (TERM_CURSOR_X): Likewise.
35021 (draw_border): Use macros instead of magic numbers.
35022 (print_entry): Likewise.
35023 (print_entries): Likewise.
35024 (run_menu): Likewise. Also, handle the key 'e'.
35025 (run_menu_entry): Ignore empty command lines.
35026 (print_message): Added a new argument EDIT. If EDIT is true,
35027 print a different message.
35028 (init_page): Likewise.
35029 (edit_menu_entry): New function. Not implemented yet.
35030
b47efe30 350312004-09-17 Marco Gerards <metgerards@student.han.nl>
35032
35033 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
35034 can be loaded from normal mode.
f19dbdb7 35035
b47efe30 35036 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
35037 `multiboot.mod'.
35038 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
35039 (multiboot_mod_CFLAGS): New variables.
35040 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 35041 * loader/i386/pc/multiboot_normal.c: Likewise.
35042
b47efe30 35043 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
35044 attribute `unused'.
f19dbdb7 35045
b47efe30 35046 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
35047 `fdiro' to read the mode information from instead of `diro'.
35048
35049 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
35050 looking up a symlink.
35051
35052 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
35053 macro.
35054 * normal/command.c (grub_command_execute): Don't parse the
35055 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
35056 flags of the command.
35057
35058 * normal/menu.c (grub_menu_run): Fix typo.
35059
da75ac71 350602004-09-14 Hollis Blanchard <hollis@penguinppc.org>
35061
35062 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
35063
35064 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
35065 `y + 1' instead of `y - 1'.
35066
35067 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 35068
062b24c2 350692004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
35070
35071 From Hollis Blanchard <hollis@penguinppc.org>:
35072 * kern/misc.c (memmove): New alias for grub_memmove.
35073 (memcmp): New alias for grub_memcmp.
35074 (memset): New alias for grub_memset.
f19dbdb7 35075 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 35076 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 35077 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 35078 (grub_ieee1275_get_property): Likewise.
f19dbdb7 35079
8ddad845 350802004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
35081
35082 Added normal mode command `chainloader' as module chain.mod, which
35083 depends on normal.mod and _chain.mod.
f19dbdb7 35084
8ddad845 35085 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
35086 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
35087 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
35088 Deleted prototype.
35089 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
35090 but arguments parsing moved to ...
35091 (grub_chainloader_cmd): ... here. New function.
35092 * include/grub/i386/pc/chainloader.h: New file.
35093 * loader/i386/pc/chainloader_normal.c: Likewise.
35094
2c1f4ce3 350952004-09-11 Marco Gerards <metgerards@student.han.nl>
35096
35097 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
35098 (grub_mkimage_LDFLAGS): Likewise.
35099 (grub_emu_SOURCES): Likewise.
35100 (kernel_img_HEADERS): Added fshelp.h.
35101 * fs/ext2.c: Include <grub/fshelp.h>.
35102 (FILETYPE_REG): New macro.
35103 (FILETYPE_INO_REG): Likewise.
35104 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
35105 Changed all users.
35106 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
35107 all users.
35108 (grub_fshelp_node): New struct.
35109 (grub_ext2_data): Added member `diropen'. Changed member `inode'
35110 to a pointer.
35111 (grub_ext2_get_file_block): Removed function.
35112 (grub_ext2_read_block): New function.
35113 (grub_ext2_read_file): Replaced parameter `data' by `node'.
35114 This function was written.
35115 (grub_ext2_mount): Read the root inode. Create a diropen struct.
35116 (grub_ext2_find_file): Removed function.
35117 (grub_ext2_read_symlink): New function.
35118 (grub_ext2_iterate_dir): Likewise.
35119 (grub_ext2_open): Rewritten.
35120 (grub_ext2_dir): Rewritten.
35121 * include/grub/fshelp.h: New file.
35122 * fs/fshelp.c: Likewise.
35123
3c52136a 351242004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
35125
35126 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
35127 (print_message): Add a missing newline.
35128 (run_menu): Added timeout support.
35129 (run_menu_entry): New local function.
35130 (grub_menu_run): Added support for booting.
35131
35132 * kern/loader.c (grub_loader_is_loaded): New function.
35133
35134 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
35135 (grub_get_rtc): Exported.
35136
35137 * include/grub/i386/pc/time.h: Include grub/symbol.h.
35138 (grub_get_rtc): Exported.
35139
35140 * include/grub/normal.h (struct grub_command_list): Remove
35141 constant from the member `command'.
35142
35143 * include/grub/loader.h (grub_loader_is_loaded): Declared.
35144
35145 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
35146
35147 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
35148
aa033560 351492004-08-28 Marco Gerards <metgerards@student.han.nl>
35150
35151 Add support for the JFS filesystem.
35152
35153 * fs/jfs.c: New file.
35154 * include/grub/fs.h (grub_jfs_init): New prototype.
35155 (grub_jfs_fini): New prototype.
35156 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
35157 (grub_emu_SOURCES): Likewise.
35158 (pkgdata_MODULES): Add jfs.mod.
35159 (jfs_mod_SOURCES): New variable.
35160 (jfs_mod_CFLAGS): Likewise.
35161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
35162 (grubof_SOURCES): Likewise.
35163 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
35164
35165 * fs/fat.c (grub_fat_find_dir): Convert the filename little
35166 endian to the host endian.
35167 (grub_fat_utf16_to_utf8): Move function from there...
35168 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 35169 the endianness of the source string anymore.
aa033560 35170 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
35171
94bc45af 351722004-08-24 Marco Gerards <metgerards@student.han.nl>
35173
35174 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
35175 (grub_boot_fini) [GRUB_UTIL]: Likewise.
35176 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
35177 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 35178
94bc45af 35179 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
35180 (grub_hfs_iterate_dir): Make the function static. Add prototypes
35181 for `node_found' and `it_dir'.
35182 (grub_hfs_dir): Add prototype for `dir_hook'.
35183
35184 * fs/minix.c (grub_minix_get_file_block): Add prototype for
35185 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
35186 and `indir32' to silence a gcc warning.
35187
35188 * include/grub/fs.h (grub_hfs_init): New prototype.
35189 (grub_hfs_fini): Likewise.
f19dbdb7 35190
35191
97543f08 351922004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35193
35194 Each disk device has its own id now. This is useful to make use
35195 of multiple disk devices.
f19dbdb7 35196
97543f08 35197 * include/grub/disk.h (grub_disk_dev_id): New enum.
35198 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
35199 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
35200
35201 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
35202 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
35203
35204 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
35205 GRUB_DISK_DEVICE_OFDISK_ID as an id.
35206
35207 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
35208 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
35209
35210 * include/grub/disk.h (struct grub_disk_dev): Added a new member
35211 "id" which is used by the cache manager.
35212
35213 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
35214 of just "GRUB".
35215
64372eb4 352162004-08-18 Marco Gerards <metgerards@student.han.nl>
35217
35218 * fs/hfs.c: New file.
35219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
35220 (grub_emu_SOURCES): Likewise.
35221 (pkgdata_MODULES): Add hfs.mod.
35222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
35223 (grubof_SOURCES): Likewise.
35224 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
35225
35226 * include/grub/misc.h (grub_strncasecmp): Add prototype.
35227 * kern/misc.c (grub_strncasecmp): Add function.
35228
cc61b58f 352292004-08-14 Marco Gerards <metgerards@student.han.nl>
35230
35231 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
35232 with parentheses.
35233
35234 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
35235 (grub_ext2_dir): In case the directory entry type is unknown, read
35236 it from the inode.
35237
0ef123f6 352382004-08-02 Peter Bruin <pjbruin@dds.nl>
35239
35240 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
35241 grub_load_linux instead of grub_rescue_cmd_linux as second
35242 argument of grub_rescue_register_command.
35243
35244 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
35245
a447c5df 352462004-07-27 Marco Gerards <metgerards@student.han.nl>
35247
35248 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
35249 function.
35250 * commands/boot.c: Remove the check for `GRUB_UTIL'.
35251 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
35252 `loader/powerpc/ieee1275/linux.c',
35253 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
35254 * include/grub/powerpc/ieee1275/ieee1275.h
35255 (grub_ieee1275_release): New prototype.
35256 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
35257 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
35258 normal, boot, linux and linux_normal.
35259 * loader/powerpc/ieee1275/linux.c: New file.
35260 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35261
5a9e3546 352622004-07-12 Marco Gerards <metgerards@student.han.nl>
35263
35264 * normal/arg.c (grub_arg_parse): Correct error handling after
35265 reallocating the argumentlist (check if `argl' is not null instead
35266 of checking if `args' is not null).
35267 * kern/mm.c (grub_realloc): Return the same pointer when using the
35268 same region, instead of returning the header address.
35269
e15199cb 352702004-07-11 Marco Gerards <metgerards@student.han.nl>
35271
35272 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
35273 one block instead of two when looking for the initial partition.
35274 (grub_partition_probe): Initialize the local variable `p' with 0.
35275 Use base 10 for the grub_strtoul call.
35276 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
35277 need for one local variable.
35278 (grub_strtoul): Don't add the new value to `num', instead of that
35279 just assign it.
35280
020616c2 352812004-07-11 Marco Gerards <metgerards@student.han.nl>
35282
35283 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
35284 (pxeboot_img_SOURCES): New variable.
35285 (pxeboot_img_ASFLAGS): Likewise.
35286 (pxeboot_img_LDFLAGS): Likewise.
35287 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
35288 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
35289 <lode_leroy@hotmail.com>.
35290
6c51eb64 352912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
35292
35293 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
35294 there was no input.
35295
cfb12aff 352962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
35297
35298 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
35299 the history buffer logic.
35300
6eabba74 353012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
35302
35303 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
35304 (FILETYPE_INO_SYMLINK): New macros.
35305 (grub_ext2_find_file): Check if the node is a directory using the
35306 inode stat information instead of using the filetype in the
35307 dirent. Exclude the first character of an absolute symlink.
35308 (grub_ext2_dir): Mask out the filetype part of the mode member of
35309 the inode.
35310
66e19ef8 353112004-05-24 Marco Gerards <metgerards@student.han.nl>
35312
35313 Add support for UFS version 1 and 2. Add support for the minix
35314 filesystem version 1 and 2, both the variants with 14 and 30 long
35315 filenames.
f19dbdb7 35316
66e19ef8 35317 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
35318 fs/minix.c.
35319 (grub_emu_SOURCES): Likewise.
35320 (pkgdata_MODULES): Add ufs.mod and minix.mod.
35321 (ufs_mod_SOURCES): New variable.
35322 (ufs_mod_CFLAGS): Likewise.
35323 (minix_mod_SOURCES): Likewise.
35324 (minix_mod_CFLAGS): Likewise.
35325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
35326 fs/minix.c.
35327 (grubof_SOURCES): Likewise.
35328 * fs/ufs.c: New file.
35329 * fs/minix.c: New file.
35330 * include/grub/fs.h (grub_ufs_init): New prototype.
35331 (grub_ufs_fini): Likewise.
35332 (grub_minix_init): Likewise.
35333 (grub_minix_fini): Likewise.
35334 * util/grub-emu.c (main): Initialize and deinitialize UFS and
35335 minix fs.
35336
cc2e748a 353372004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
35338
35339 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
35340 commands/ls.c, commands/terminal.c, commands/boot.c,
35341 commands/cmp.c and commands/cat.c.
35342 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
35343
35344 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
35345 "env.h"
35346
4b13b216 353472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35348
35349 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
35350 and grub_, respectively. Because the conversion is trivial and
35351 mechanical, I omit the details here. Please refer to the CVS
35352 if you need more information.
35353
6a142551 353542004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
35355
35356 * include/pupa: Renamed to ...
35357 * include/grub: ... this.
35358 * util/i386/pc/pupa-mkimage.c: Renamed to ...
35359 * util/i386/pc/grub-mkimage.c: ... this.
35360 * util/i386/pc/pupa-setup.c: Renamed to ...
35361 * util/i386/pc/grub-setup.c: ... this.
35362 * util/pupa-emu.c: Renamed to ...
35363 * util/grub-emu.c: ... this.
35364
e56cdf21 353652004-03-29 Marco Gerards <metgerards@student.han.nl>
35366
35367 Add support for the newworld apple macintosh (PPC). This has been
35368 tested on the powerbook 2000 only. It only adds support for
35369 generic ieee1275 functions, console and disk support. This should
35370 be easy to port to other architectures with support for Open
35371 Firmware.
f19dbdb7 35372
e56cdf21 35373 * configure.ac: Accept the powerpc as host_cpu. In the case of
35374 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
35375 specific tests are only executed while building for the i386.
35376 Inverse test for crosscompile.
35377 * genmk.rb (Utility): Allow assembler files.
35378 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
35379 * conf/powerpc-ieee1275.rmk: New file.
35380 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
35381 * disk/powerpc/ieee1275/partition.c: Likewise.
35382 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
35383 * include/pupa/powerpc/ieee1275/console.h: Likewise.
35384 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
35385 * include/pupa/powerpc/ieee1275/time.h: Likewise.
35386 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
35387 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
35388 * include/pupa/powerpc/ieee1275/loader.h
35389 * include/pupa/powerpc/setjmp.h: Likewise.
35390 * include/pupa/powerpc/types.h: Likewise.
35391 * kern/powerpc/ieee1275/init.c: Likewise.
35392 * kern/powerpc/ieee1275/openfw.c: Likewise.
35393 * term/powerpc/ieee1275/ofconsole.c: Likewise.
35394
35395 These files were written by Johan Rydberg
35396 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 35397
e56cdf21 35398 * boot/powerpc/ieee1275/cmain.c: New file.
35399 * boot/powerpc/ieee1275/crt0.S: Likewise.
35400 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
35401 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
35402
8c8cc205 354032004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
35404
35405 * Makefile.in: Update copyright.
35406 * genmodsrc.sh: Likewise.
35407 * gensymlist.sh: Likewise.
35408 * term/i386/pc/vga.c: Indent correctly.
35409
35410 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
35411 bugreporting address.
35412 * util/i386/pc/pupa-setup.c (usage): Likewise,
35413 (main): Call pupa_ext2_init and pupa_ext2_fini.
35414
f19dbdb7 35415 * fs/fat.c (log2): Renamed to ...
8c8cc205 35416 (fat_log2): ... this.
35417 All callers changed.
35418 * kern/misc.c (memcpy): Alias to pupa_memmove.
35419 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
35420 lvalue cast.
35421 * util/console.c (pupa_ncurses_fini): Return 0.
35422
35423 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
35424 Move fail label here.
35425 [__GNU__]: Don't warn when using stat.
35426 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
35427 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
35428 long int. Use strtol instead of strtoul.
f19dbdb7 35429
db1771cf 354302004-03-14 Marco Gerards <metgerards@student.han.nl>
35431
35432 * commands/boot.c: New file.
35433 * commands/cat.c: Likewise.
35434 * commands/cmp.c: Likewise.
35435 * commands/ls.c: Likewise.
35436 * commands/terminal.c: Likewise.
35437 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
35438 (pupa_register_command): Changed interface to match the new
35439 argument parser.
35440 (pupa_command_execute): Changed (almost rewritten) so it uses
35441 pupa_split_command. Added support for setting variables using the
35442 syntax `foo=bar'.
35443 (rescue_command): Changed to work with the new argument parser.
35444 (terminal_command): Moved from here to commands/terminal.c.
35445 (set_command): New function.
35446 (unset_command): New function.
35447 (insmod_command): New function.
35448 (rmmod_command): New function.
35449 (lsmod_command): New function.
35450 (pupa_command_init): Don't initialize the command terminal
35451 anymore. Initialize the commands set, unset, insmod, rmmod and
35452 lsmod.
35453 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
35454 (kernel_img_HEADERS): Add arg.h and env.h.
35455 (pupa_mkimage_LDFLAGS): Add kern/env.c.
35456 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
35457 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
35458 normal/arg.c.
35459 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
35460 terminal.mod.
35461 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
35462 (boot_mod_SOURCES): New variable.
35463 (terminal_mod_SOURCES): Likewise.
35464 (ls_mod_SOURCES): Likewise.
35465 (cmp_mod_SOURCES): Likewise.
35466 (cat_mod_SOURCES): Likewise.
35467
35468 * normal/arg.c: New file.
35469 * kern/env.c: Likewise.
35470 * include/pupa/arg.h: Likewise.
35471 * include/pupa/env.h: Likewise.
35472 * font/manager.c (font_command): Changed to match argument parsing
35473 interface changes.
35474 (PUPA_MOD_INIT): Likewise.
35475 * hello/hello.c (pupa_cmd_hello): Likewise.
35476 (PUPA_MOD_INIT): Likewise.
35477 * include/pupa/disk.h: Include <pupa/device.h>.
35478 (pupa_print_partinfo): New prototype.
35479 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
35480 (pupa_dl_get_prefix): Likewise.
35481 * include/pupa/misc.h: Include <pupa/err.h>.
35482 (pupa_isgraph): New prototype.
35483 (pupa_isdigit): Likewise.
35484 (pupa_split_cmdline): Likewise.
35485 * include/pupa/normal.h: Include <pupa/arg.h>.
35486 (pupa_command): Changed the prototype of the member `func' to
35487 match the argument parsing interface. Added member `options'.
35488 (pupa_register_command): Updated to match function.
35489 (pupa_arg_parse): New prototype.
35490 (pupa_hello_init) [PUPA_UTIL]: New prototype.
35491 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
35492 (pupa_ls_init) [PUPA_UTIL]: Likewise.
35493 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
35494 (pupa_cat_init) [PUPA_UTIL]: Likewise.
35495 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
35496 (pupa_boot_init) [PUPA_UTIL]: Likewise.
35497 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
35498 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
35499 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
35500 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
35501 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
35502 * kern/disk.c: Include <pupa/file.h>.
35503 (pupa_print_partinfo): New function.
35504 * kern/dl.c: Include <pupa/env.h>.
35505 (pupa_dl_dir): Variable removed.
35506 (pupa_dl_load): Use the environment variable `prefix' instead of
35507 the variable pupa_dl_dir.
35508 (pupa_dl_set_prefix): Function removed.
35509 (pupa_dl_get_prefix): Likewise.
35510 * kern/i386/pc/init.c: Include <pupa/env.h>.
35511 (pupa_machine_init): Use the environment variable `prefix' instead of
35512 using pupa_dl_set_prefix to set the prefix.
35513 * kern/main.c: Include <pupa/env.h>.
35514 (pupa_set_root_dev): Use the environment variable `prefix' instead of
35515 using pupa_dl_get_prefix to get the prefix.
35516 * kern/misc.c: Include <pupa/env.h>.
35517 (pupa_isdigit): New function.
35518 (pupa_isgraph): Likewise.
35519 (pupa_ftoa): Likewise.
35520 (pupa_vsprintf): Added support for printing values of the type
35521 `double'. Make it possible to format variable output when using
35522 formatting like `%1.2%f'.
35523 (pupa_split_cmdline): New function.
35524 * kern/rescue.c: Include <pupa/env.h>.
35525 (next_word): Removed function.
35526 (pupa_rescue_cmd_prefix): Likewise.
35527 (pupa_rescue_cmd_set): New function.
35528 (pupa_rescue_cmd_unset): New function.
35529 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
35530 split the command line instead of splitting it here. Added
35531 support for setting variables using the syntax `foo=bar'. Don't
35532 initialize the prefix command anymore. Initialized the set and
35533 unset commands.
35534 * normal/cmdline.c: Include <pupa/env.h>.
35535 (pupa_tab_complete): Added prototypes for print_simple_completion,
35536 print_partition_completion, add_completion, iterate_commands,
35537 iterate_dev, iterate_part and iterate_dir. Moved code to print
35538 partition information from here to kern/disk.c.
fe6b695a 35539 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 35540 * normal/main.c: Include <pupa/env.h>.
35541 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
35542 instead of using pupa_dl_get_prefix to get the prefix.
35543 * term/i386/pc/vga.c: Include <pupa/arg.h>.
35544 (check_vga_mem): Cast pointers to `void *' to silence a gcc
35545 warning.
35546 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
35547 (pupa_vga_setcolor): Declare unused variables with `__attribute__
35548 ((unused))' to silence a gcc warning.
35549 (pupa_vga_setcolor): Likewise.
35550 (debug_command): Changed to match argument parsing
35551 interface changes.
35552 * util/pupa-emu.c: Include <pupa/env.h>.
35553 (options): Added 0's for unused fields to silence a gcc warning.
35554 (argp): Likewise.
35555 (main): Use the environment variable `prefix' instead of using
35556 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
35557 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
35558 and terminal.
35559
35560 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
35561 * util/misc.c: Include <malloc.h>.
35562 (pupa_malloc): Rewritten so errors are correctly reported.
35563 (pupa_realloc): Likewise.
35564 (pupa_memalign): Likewise.
35565 (pupa_mm_init_region): Declare unused variables with
35566 `__attribute__ ((unused))' to silence a gcc warning.
35567 * normal/i386/setjmp.S: Remove tab at the end of the file to
35568 silence a gcc warning.
35569 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
35570 variables with `__attribute__ ((unused))' to silence a gcc
35571 warning.
35572 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
35573 local variable i unsigned to silence a gcc warning.
35574
35575 * kern/term.c: Include <pupa/misc.h>.
35576 (pupa_more_lines): New variable.
35577 (pupa_more): Likewise.
35578 (pupa_putcode): When the pager is active pause at the end of every
35579 screen.
35580 (pupa_set_more): New function.
35581 * include/pupa/term.h (pupa_set_more): New prototype.
35582
35583
3b1139cb 355842004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
35585
35586 Now this project is GRUB 2 rather than PUPA. The location of
35587 the CVS repository was moved to GRUB's.
f19dbdb7 35588
3b1139cb 35589 * configure.ac: Use bug-grub as the reporting address.
35590 Use GRUB instead of PUPA.
35591 Change the version number to 1.90.
35592
8367695c 355932004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
35594
35595 * genkernsyms.sh: Updated copyright information.
35596 * genmk.rb: Likewise.
35597 * genmodsrc.sh: Likewise.
35598 * gensymlist.sh: Likewise.
35599 * boot/i386/pc/boot.S: Likewise.
35600 * boot/i386/pc/diskboot.S: Likewise.
35601 * disk/i386/pc/biosdisk.c: Likewise.
35602 * disk/i386/pc/partition.c: Likewise.
35603 * font/manager.c: Likewise.
35604 * fs/ext2.c: Likewise.
35605 * fs/fat.c: Likewise.
35606 * include/pupa/boot.h: Likewise.
35607 * include/pupa/device.h: Likewise.
35608 * include/pupa/disk.h: Likewise.
35609 * include/pupa/dl.h: Likewise.
35610 * include/pupa/elf.h: Likewise.
35611 * include/pupa/err.h: Likewise.
35612 * include/pupa/file.h: Likewise.
35613 * include/pupa/font.h: Likewise.
35614 * include/pupa/fs.h: Likewise.
35615 * include/pupa/kernel.h: Likewise.
35616 * include/pupa/loader.h: Likewise.
35617 * include/pupa/misc.h: Likewise.
35618 * include/pupa/mm.h: Likewise.
35619 * include/pupa/net.h: Likewise.
35620 * include/pupa/normal.h: Likewise.
35621 * include/pupa/rescue.h: Likewise.
35622 * include/pupa/setjmp.h: Likewise.
35623 * include/pupa/symbol.h: Likewise.
35624 * include/pupa/term.h: Likewise.
35625 * include/pupa/types.h: Likewise.
35626 * include/pupa/i386/setjmp.h: Likewise.
35627 * include/pupa/i386/types.h: Likewise.
35628 * include/pupa/i386/pc/biosdisk.h: Likewise.
35629 * include/pupa/i386/pc/boot.h: Likewise.
35630 * include/pupa/i386/pc/console.h: Likewise.
35631 * include/pupa/i386/pc/init.h: Likewise.
35632 * include/pupa/i386/pc/kernel.h: Likewise.
35633 * include/pupa/i386/pc/linux.h: Likewise.
35634 * include/pupa/i386/pc/loader.h: Likewise.
35635 * include/pupa/i386/pc/memory.h: Likewise.
35636 * include/pupa/i386/pc/multiboot.h: Likewise.
35637 * include/pupa/i386/pc/partition.h: Likewise.
35638 * include/pupa/i386/pc/time.h: Likewise.
35639 * include/pupa/i386/pc/vga.h: Likewise.
35640 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
35641 * include/pupa/util/getroot.h: Likewise.
35642 * include/pupa/util/misc.h: Likewise.
35643 * include/pupa/util/resolve.h: Likewise.
35644 * kern/device.c: Likewise.
35645 * kern/disk.c: Likewise.
35646 * kern/dl.c: Likewise.
35647 * kern/err.c: Likewise.
35648 * kern/file.c: Likewise.
35649 * kern/fs.c: Likewise.
35650 * kern/loader.c: Likewise.
35651 * kern/main.c: Likewise.
35652 * kern/misc.c: Likewise.
35653 * kern/mm.c: Likewise.
35654 * kern/rescue.c: Likewise.
35655 * kern/term.c: Likewise.
35656 * kern/i386/dl.c: Likewise.
35657 * kern/i386/pc/init.c: Likewise.
35658 * kern/i386/pc/lzo1x.S: Likewise.
35659 * kern/i386/pc/startup.S: Likewise.
35660 * loader/i386/pc/chainloader.c: Likewise.
35661 * loader/i386/pc/linux.c: Likewise.
35662 * loader/i386/pc/multiboot.c: Likewise.
35663 * normal/cmdline.c: Likewise.
35664 * normal/command.c: Likewise.
35665 * normal/main.c: Likewise.
35666 * normal/menu.c: Likewise.
35667 * normal/i386/setjmp.S: Likewise.
35668 * term/i386/pc/console.c: Likewise.
35669 * term/i386/pc/vga.c: Likewise.
35670 * util/console.c: Likewise.
35671 * util/genmoddep.c: Likewise.
35672 * util/misc.c: Likewise.
35673 * util/pupa-emu.c: Likewise.
35674 * util/resolve.c: Likewise.
35675 * util/unifont2pff.rb: Likewise.
35676 * util/i386/pc/biosdisk.c: Likewise.
35677 * util/i386/pc/getroot.c: Likewise.
35678 * util/i386/pc/pupa-mkimage.c: Likewise.
35679 * util/i386/pc/pupa-setup.c: Likewise.
35680
e6eced71 356812004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
35682
35683 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
35684 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
35685 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
35686 reading and reset it after reading.
35687 (pupa_ext2_close): Return PUPA_ERR_NONE.
35688
35689 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
35690 Correct value.
35691 (struct linux_kernel_header): Add kernel_version and
35692 initrd_addr_max.
35693 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
35694 pupa_file_read succeeds.
35695 (pupa_rescue_cmd_initrd): Implement.
35696
5aded270 356972003-12-03 Marco Gerards <metgerards@student.han.nl>
35698
35699 * fs/ext2.c (pupa_ext2_label): New function.
35700 (pupa_ext2_fs): Added label.
35701 * fs/fat.c (pupa_fat_label): New function.
35702 (pupa_fat_fs): Added label.
35703 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
35704
35705 * kern/misc.c (pupa_strndup): New function.
35706 * include/pupa/misc.h (pupa_strndup): New prototype.
35707
35708 * include/pupa/normal.h: Include <pupa/err.h>.
35709 (pupa_set_history): New prototype.
35710 (pupa_iterate_commands): New prototype.
35711 * normal/cmdline.c: Include <pupa/machine/partition.h>,
35712 <pupa/disk.h>, <pupa/file.h>.
35713 (hist_size): New variable.
35714 (hist_lines): Likewise.
35715 (hist_end): Likewise.
35716 (hist_used): Likewise.
35717 (pupa_set_history): New function.
35718 (pupa_history_get): Likewise.
35719 (pupa_history_add): Likewise.
35720 (pupa_history_replace): Likewise.
35721 (pupa_tab_complete): Likewise.
35722 (pupa_cmdline_run): Added tab completion and history buffer. Tab
35723 completion shows partitionnames while completing partitions, this
35724 feature was suggested by Jeff Bailey.
35725 * normal/command.c (pupa_iterate_commands): New function.
35726 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
35727 (pupa_normal_init): Initialize history buffer.
35728 (PUPA_MOD_INIT): Likewise.
35729 (pupa_normal_fini): Free the history buffer.
35730 (PUPA_MOD_FINI): Likewise.
35731
35732 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
35733 key.
35734
35735 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
35736 * configure.ac [i386]: Check for regparam bug.
35737 (NESTED_FUNC_ATTR) [! i386]: Defined.
35738
1f7315a3 357392003-11-17 Marco Gerards <metgerards@student.han.nl>
35740
35741 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
35742 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
35743 (pupa_emu_SOURCES): New variable.
35744 (pupa_emu_LDFLAGS): Likewise.
35745 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
35746 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
35747 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
35748 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
35749 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
35750 (pupa_jmp_buf): New typedef.
35751 (pupa_setjmp) [PUPA_UTIL]: New macro.
35752 (pupa_longjmp) [PUPA_UTIL]: Likewise.
35753 * include/pupa/term.h (struct pupa_term): New member `refresh'.
35754 (pupa_refresh): New prototype.
35755 * include/pupa/util/getroot.h: New file.
35756 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
35757 it.
35758 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
35759 (pupa_rescue_cmd_cat): Likewise.
35760 (pupa_rescue_cmd_ls): Likewise.
35761 (pupa_rescue_cmd_testload): Likewise.
35762 (pupa_rescue_cmd_lsmod): Likewise.
35763 * normal/cmdline.c (pupa_cmdline_get): Likewise.
35764 * normal/menu.c (run_menu): Likewise.
35765 * kern/term.c (pupa_cls): Likewise.
35766 (pupa_refresh): New function.
35767 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
35768 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
35769 * util/console.c: New file.
f19dbdb7 35770
1f7315a3 35771 * util/i386/pc/getroot.c: New file.
35772 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
35773 (pupa_putchar): New function.
35774 (pupa_refresh): Likewise.
35775 (xgetcwd): Function moved to ...
35776 (strip_extra_slashes): Likewise.
35777 (get_prefix): Likewise.
f19dbdb7 35778 * util/i386/pc/getroot.c: ... here.
1f7315a3 35779 (find_root_device): Function moved and renamed to...
35780 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
35781 Changed all callers.
35782 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
35783 and renamed to...
35784 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
35785 Changed all callers.
35786 * util/misc.c (pupa_memalign): New function.
35787 (pupa_mm_init_region): Likewise.
35788 (pupa_register_exported_symbols): Likewise.
35789 (pupa_putchar): Function removed.
35790 * util/pupa-emu.c: New file.
35791
9a5c1ade 357922003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
35793
35794 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
35795 (_multiboot_mod_SOURCES): New variable.
35796 (_multiboot_mod_CFLAGS): Likewise.
35797 * loader/i386/pc/multiboot.c: New file.
35798 * include/pupa/i386/pc/multiboot.h: Likewise.
35799 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
35800 (pupa_multiboot_real_boot): New function.
35801 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
35802 (pupa_multiboot_real_boot): New prototype.
35803 (pupa_rescue_cmd_multiboot): Likewise
35804 (pupa_rescue_cmd_module): Likewise.
35805
35806 * kern/loader.c (pupa_loader_set): Continue when
35807 pupa_loader_unload_func() fails.
35808 (pupa_loader_unset): New function.
35809 * include/pupa/loader.h (pupa_loader_unset): New prototype.
35810
35811 * kern/misc.c (pupa_stpcpy): New function.
35812 * include/pupa/misc.h (pupa_stpcpy): New prototype.
35813
8e72a9c0 358142003-11-12 Marco Gerards <metgerards@student.han.nl>
35815
35816 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
35817 for available extensions.
35818
35819 * include/pupa/i386/pc/time.h: New file.
35820 * kern/disk.c: Include <pupa/machine/time.h>.
35821 (PUPA_CACHE_TIMEOUT): New macro.
35822 (pupa_last_time): New variable.
35823 (pupa_disk_open): Flush the cache when there was a timeout.
35824 (pupa_disk_close): Reset the timer.
35825 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
35826 pupa_currticks.
35827 * util/misc.c: Include <sys/times.h>
35828 (pupa_get_rtc): New function.
35829
c4adbd32 358302003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35831
35832 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
35833 as blocks.
35834 (pupa_ext2_get_file_block): Use blocks member.
35835
35836 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
35837 first block. Return -1 instead of pupa_errno on error.
35838
bfd30f06 358392003-10-27 Marco Gerards <metgerards@student.han.nl>
35840
35841 * README: In the pupa-mkimage example use _chain instead of chain
35842 and ext2 instead of fat.
35843 * TODO: Replace ext2fs with jfs as an example. Add an item for
35844 adding journal playback for ext2fs.
35845 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
35846 (pkgdata_MODULES): Added ext2.mod.
35847 (ext2_mod_SOURCES): New variable.
35848 (ext2_mod_CFLAGS): Likewise.
35849 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
35850 * include/pupa/misc.h (pupa_strncpy): New prototype.
35851 (pupa_strcat): Likewise.
35852 (pupa_strncmp): Likewise.
35853 * kern/misc.c (pupa_strcat): Enable function.
35854 (pupa_strncpy): New function.
35855 (pupa_strncmp): Likewise.
35856 * fs/ext2.c: New file.
f19dbdb7 35857
bfd30f06 35858 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
35859 when the read failed before retrying.
35860 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
35861 (_FILE_OFFSET_BITS): Likewise.
35862 * configure.ac: Added AC_SYS_LARGEFILE.
35863
98d15063 358642003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
35865
35866 * genmk.rb (PModule#rule): Make sure to get only symbol names
35867 from the output of nm.
59cad637 35868 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 35869
18d9c7cd 358702003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
35871
35872 I forgot to check in these changes for a long time. This adds
35873 incomplete support for VGA console, and this is still very
35874 buggy. Also, a lot of consideration is required for I18N,
35875 UNICODE, and VGA font issues. Therefore, assume that this is
35876 such that "better than nothing".
f19dbdb7 35877
18d9c7cd 35878 * font/manager.c: New file.
35879 * include/pupa/font.h: Likewise.
35880 * include/pupa/i386/pc/vga.h: Likewise.
35881 * term/i386/pc/vga.c: Likewise.
35882 * util/unifont2pff.rb: Likewise.
35883
35884 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
35885 (pkgdata_MODULES): Added vga.mod and font.mod.
35886 (vga_mod_SOURCES): New variables.
35887 (vga_mod_CFLAGS): Likewise.
35888 (font_mod_SOURCES): Likewise.
35889 (font_mod_CFLAGS): Likewise.
35890
35891 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
35892
35893 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 35894 (struct pupa_term): Added init and fini.
18d9c7cd 35895 Changed the argument of putchar to pupa_uint32_t.
35896
35897 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
35898 (pupa_console_real_putchar): New prototype.
35899 (pupa_console_putchar): Removed.
35900 (pupa_console_checkkey): Exported.
35901 (pupa_console_getkey): Likewise.
35902
35903 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
35904 characters.
35905
35906 * kern/term.c (pupa_term_set_current): Rewritten.
35907 (pupa_putchar): Likewise.
35908 (pupa_putcode): New function.
35909
35910 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
35911 (pupa_console_real_putchar): ... this.
35912 (pupa_vga_set_mode): New function.
35913 (pupa_vga_get_font): Likewise.
35914
35915 * normal/command.c: Include pupa/term.h.
35916 (terminal_command): New function.
35917 (pupa_command_init): Register the command "terminal".
35918
35919 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
35920 (DISP_UP): Likewise.
35921 (DISP_RIGHT): Likewise.
35922 (DISP_DOWN): Likewise.
35923 (DISP_HLINE): Likewise.
35924 (DISP_VLINE): Likewise.
35925 (DISP_UL): Likewise.
35926 (DISP_UR): Likewise.
35927 (DISP_LL): Likewise.
35928 (DISP_LR): Likewise.
35929
35930 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 35931
977329f5 359322003-02-08 NIIBE Yutaka <gniibe@m17n.org>
35933
35934 * util/resolve.c (pupa_util_resolve_dependencies): BUG
35935 FIX. Reverse the path_list.
35936
35937 * include/pupa/normal.h: Export pupa_register_command and
35938 pupa_unregister_command.
35939
35940 * hello/hello.c (pupa_cmd_hello): New module.
35941 * conf/i386-pc.rmk: Added hello.mod.
35942
1f5ab428 359432003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
35944
35945 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 35946
1f5ab428 35947 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
35948 (compress_kernel): New variable.
35949 (generate_image): Heavily modified to support compressing a
35950 large part of the core image.
35951
35952 * util/misc.c (pupa_util_read_image): Fix a file descriptor
35953 leak.
35954 (pupa_util_load_image): New function.
35955
35956 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
35957 (pupa_compressed_size): New variable.
35958 (codestart): Enable Gate A20 here.
35959 Decompress the compressed part of the core image.
35960 Rearrange the code to put functions and variables which are
35961 required for initialization in the non-compressed part.
35962 Include lzo1x.S.
35963
35964 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
35965 here.
35966
35967 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
35968
f19dbdb7 35969 * include/pupa/i386/pc/kernel.h
1f5ab428 35970 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
35971 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
35972 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
35973 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
35974 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
35975
35976 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
35977
35978 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
35979 (Utility#rule): Likewise.
35980
35981 * configure.ac: Check if LZO is available.
35982
ce5bf700 359832003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
35984
35985 * include/pupa/normal.h: New file.
35986 * include/pupa/setjmp.h: Likewise.
35987 * include/pupa/i386/setjmp.h: Likewise.
35988 * normal/cmdline.c: Likewise.
35989 * normal/command.c: Likewise.
35990 * normal/main.c: Likewise.
35991 * normal/menu.c: Likewise.
35992 * normal/i386/setjmp.S: Likewise.
f19dbdb7 35993
ce5bf700 35994 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
35995 (pupa_rescue_cmd_initrd): Likewise.
35996
35997 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
35998 Likewise.
35999
36000 * kern/i386/pc/startup.S (translation_table): New variable.
36001 (translate_keycode): New function.
36002 (pupa_console_getkey): Call translate_keycode.
36003
36004 * kern/rescue.c (attempt_normal_mode): New function.
36005 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
36006 it failed, print a message.
36007
36008 * kern/mm.c (pupa_real_malloc): Print more information when a
36009 free magic is broken.
36010 (pupa_free): If the first free header is not free actually, set
36011 it to P.
36012
36013 * kern/main.c (pupa_load_normal_mode): Just load the module
36014 "normal".
36015 (pupa_main): Don't print the message
36016 "Entering into rescue mode..." here.
36017
36018 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
36019 Declared.
36020 (pupa_rescue_cmd_initrd): Likewise.
36021 (pupa_rescue_cmd_initrd): Likewise.
36022
36023 * include/pupa/symbol.h (FUNCTION): Specify the type.
36024 (VARIABLE): Likewise.
36025
36026 * include/pupa/err.h (pupa_err_t): Added
36027 PUPA_ERR_UNKNOWN_COMMAND.
36028
36029 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
36030 (pupa_dl_get_prefix): Likewise.
36031
36032 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
36033 Added _chain.mod and _linux.mod instead of chain.mod and
36034 linux.mod.
36035 (chain_mod_SOURCES): Renamed to ...
36036 (_chain_mod_SOURCES): ... this.
36037 (chain_mod_CFLAGS): Renamed to ...
36038 (_chain_mod_CFLAGS): ... this.
36039 (linux_mod_SOURCES): Renamed to ...
36040 (_linux_mod_SOURCES): ... this.
36041 (linux_mod_CFLAGS): Renamed to ...
36042 (_linux_mod_CFLAGS): ... this.
36043 (normal_mod_SOURCES): New variable.
36044 (normal_mod_CFLAGS): Likewise.
36045 (normal_mod_ASFLAGS): Likewise.
36046
360472003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
36048
36049 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
36050 possible.
36051
fe6b695a 36052 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 36053 recursively.
36054 (pupa_dl_unref): Unrefer depending modules recursively.
36055 Don't call pupa_dl_unload implicitly, because PUPA can crash if
36056 a module is unloaded before one depending on that module is
36057 unloaded.
36058 (pupa_dl_unload): Unload depending modules explicitly,
36059 if possible.
36060
c04da074 360612003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
36062
36063 * include/pupa/i386/pc/linux.h: New file.
36064 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 36065
c04da074 36066 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
36067 Removed.
36068 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
36069 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
36070 of PUPA_CHAINLOADER_BOOT_SECTOR.
36071
36072 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
36073 (pupa_linux_prot_size): New variable.
36074 (pupa_linux_tmp_addr): Likewise.
36075 (pupa_linux_real_addr): Likewise.
36076 (pupa_linux_boot_zimage): New function.
36077 (pupa_linux_boot_bzimage): Likewise.
36078
36079 * kern/i386/pc/init.c (struct mem_region): New structure.
36080 (MAX_REGIONS): New macro.
36081 (mem_regions): New variable.
36082 (num_regions): Likewise.
36083 (pupa_os_area_addr): Likewise.
36084 (pupa_os_area_size): Likewise.
36085 (pupa_lower_mem): Likewise.
36086 (pupa_upper_mem): Likewise.
36087 (add_mem_region): New function.
36088 (compact_mem_regions): Likewise.
36089 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
36090 the size of the conventional memory and that of so-called upper
36091 memory (before the first memory hole).
36092 Instead of adding each found region to free memory, use
36093 add_mem_region and add them after removing overlaps.
36094 Also, add only 1/4 of the upper memory to free memory. The rest
36095 is used for loading OS images. Maybe this is ad hoc, but this
36096 makes it much easier to relocate OS images when booting.
36097
36098 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
36099 (pupa_enter_rescue_mode): Don't register initrd and module.
36100
36101 * kern/mm.c: Include pupa/dl.h.
36102
36103 * kern/main.c: Include pupa/file.h and pupa/device.h.
36104
36105 * kern/loader.c (pupa_loader_load_module_func): Removed.
36106 (pupa_loader_load_module): Likewise.
36107
36108 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
36109 ``.o''.
36110
36111 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
36112 (pupa_linux_tmp_addr): Likewise.
36113 (pupa_linux_real_addr): Likewise.
36114 (pupa_linux_boot_zimage): Likewise.
36115 (pupa_linux_boot_bzimage): Likewise.
36116
36117 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
36118 (pupa_upper_mem): Likewise.
36119 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
36120 module is too dangerous.
36121
36122 * include/pupa/loader.h (pupa_os_area_addr): Declared.
36123 (pupa_os_area_size): Likewise.
36124 (pupa_loader_set): Remove the first argument. Loader doesn't
36125 manage modules or initrd any longer.
36126 (pupa_loader_load_module): Removed.
36127
36128 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
36129 (linux_mod_SOURCES): New variable.
36130 (linux_mod_CFLAGS): Likewise.
36131
a13f9237 361322003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
36133
36134 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
36135 the length of a blocklist correctly.
36136
36137 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
36138 Use ioctl only if the OS file is a block device.
36139 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
36140 not very useful for normal files.
36141
36142 * kern/main.c (pupa_set_root_dev): New function.
36143 (pupa_load_normal_mode): Likewise.
36144 (pupa_main): Call those above.
36145
36146 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
36147 pupa_uint16_t.
36148
36149 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
36150
a5ffe966 361512003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
36152
36153 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
36154 (setup): Configure the installed partition information and the
36155 dl prefix.
36156
36157 * loader/i386/pc/chainloader.c (my_mod): New variable.
36158 (pupa_chainloader_unload): New function.
36159 (pupa_rescue_cmd_chainloader): Refer itself.
36160 (PUPA_MOD_INIT): Save its own module in MY_MOD.
36161
36162 * kern/i386/pc/startup.S (install_partition): Removed.
36163 (version_string): Likewise.
36164 (config_file): Likewise.
36165 (pupa_install_dos_part): New variable.
36166 (pupa_install_bsd_part): Likewise.
36167 (pupa_prefix): Likewise.
36168 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
36169
36170 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
36171 and pupa/misc.h.
36172 (make_install_device): New function.
36173 (pupa_machine_init): Set the dl prefix.
36174
36175 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
36176 (buf): Renamed to ...
36177 (linebuf): ... this.
36178 (pupa_rescue_cmd_prefix): New function.
36179 (pupa_rescue_cmd_insmod): Likewise.
36180 (pupa_rescue_cmd_rmmod): Likewise.
36181 (pupa_rescue_cmd_lsmod): Likewise.
36182 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
36183 rmmod and lsmod.
36184
36185 * kern/mm.c (pupa_memalign): If failed even after invalidating
36186 disk caches, unload unneeded modules and retry.
36187
36188 * kern/misc.c (pupa_memmove): New function.
36189 (pupa_memcpy): Removed.
36190 (pupa_strcpy): New function.
36191 (pupa_itoa): Made static.
36192
36193 * kern/dl.c (pupa_dl_iterate): New function.
36194 (pupa_dl_ref): Likewise.
36195 (pupa_dl_unref): Likewise.
36196 (pupa_dl_unload): Return if succeeded or not.
36197 (pupa_dl_unload_unneeded): New function.
36198 (pupa_dl_unload_all): Likewise.
36199 (pupa_dl_init): Renamed to ...
36200 (pupa_dl_set_prefix): ... this.
36201 (pupa_dl_get_prefix): New function.
36202
36203 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
36204 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
36205 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
36206 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
36207 (pupa_install_dos_part): Declared.
36208 (pupa_install_bsd_part): Likewise.
36209 (pupa_prefix): Likewise.
36210 (pupa_boot_drive): Likewise.
36211
36212 * include/pupa/types.h: Fix a typo.
36213
36214 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
36215 pupa_memmove.
36216 (pupa_memmove): Declared.
36217 (pupa_strcpy): Likewise.
36218
36219 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
36220 pupa_mod_init takes one argument, its own module.
36221 (pupa_dl_unload_unneeded): Declared.
36222 (pupa_dl_unload_all): Likewise.
36223 (pupa_dl_ref): Likewise.
36224 (pupa_dl_unref): Likewise.
36225 (pupa_dl_iterate): Likewise.
36226 (pupa_dl_init): Renamed to ...
36227 (pupa_dl_set_prefix): ... this.
36228 (pupa_dl_get_prefix): Declared.
36229
36230 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 36231 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 36232 unloaded.
36233 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
36234 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
36235
36236 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
36237 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
36238
012d7999 362392003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
36240
36241 * util/i386/pc/pupa-setup.c (setup): Define the internal
36242 function find_first_partition_start at the top level, because GCC
36243 3.0.x cannot compile internal functions in deeper scopes
36244 correctly.
36245 (find_root_device): Use lstat instead of stat.
36246 Don't follow symbolic links.
36247 Fix the path-constructing code.
36248
36249 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
36250 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
36251 by a BLKGETSIZE ioctl first, because block devices don't fill
36252 the member st_mode of the structure stat on Linux.
36253 [__linux__] (linux_find_partition): Use a temporary buffer
36254 REAL_DEV for the working space. Copy it to DEV before returning.
36255 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
36256 buffer cache consistent.
36257 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
36258 strncmp. The previous value was merely wrong.
36259 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
36260
36261 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
36262 FAT size is 12. The previous value was merely wrong.
36263
36264 * kern/main.c (pupa_main): Don't split the starting message from
36265 newlines.
36266
36267 * kern/term.c (pupa_putchar): Put CR after LF instead of before
36268 LF, because BIOS goes crazy about character attributes in this
36269 case.
36270
1cc73a62 362712003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
36272
36273 * include/i386/pc/util/biosdisk.h: New file.
36274 * util/i386/pc/biosdisk.c: Likewise.
36275 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 36276
1cc73a62 36277 * Makefile.in (INCLUDE_DISTFILES): Added
36278 include/pupa/i386/pc/util/biosdisk.h.
36279 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
36280 directory util/i386/pc.
36281 (install-local): Added a rule for sbin_UTILITIES.
36282 (uninstall): Likewise.
36283
36284 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
36285
36286 * util/misc.c (xrealloc): New function.
36287 (pupa_malloc): Likewise.
36288 (pupa_free): Likewise.
36289 (pupa_realloc): Likewise.
36290 (pupa_stop): Likewise.
36291 (pupa_putchar): Likewise.
36292
36293 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
36294
36295 * include/pupa/util/misc.h (xrealloc): Declared.
36296
36297 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
36298 macro.
36299 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
36300 (PUPA_BOOT_MACHINE_BPB_END): ... this.
36301
36302 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
36303 [PUPA_UTIL] (pupa_fat_fini): Likewise.
36304
36305 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
36306 way should be implemented.
36307 [PUPA_UTIL] (pupa_fat_fini): Likewise.
36308
36309 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
36310 the size of NAME for safety.
36311 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
36312 0x88.
36313
36314 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
36315 (pupa_setup_SOURCES): Likewise.
36316
36317 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
36318
08b70fe8 363192002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
36320
36321 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
36322 bunch of pushl's from pusha, because this destroys the return
36323 value.
36324
62ddcc8f 363252002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
36326
36327 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
36328 This means that any missing prototypes could be fatal. Also, you
36329 must take care when writing assembly code. See the comments at
36330 the beginning of startup.S, for more details.
f19dbdb7 36331
62ddcc8f 36332 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
36333 compilation mechanism.
36334 (pupa_chainloader_real_boot): Likewise.
36335 (pupa_biosdisk_rw_int13_extensions): Likewise.
36336 (pupa_biosdisk_rw_standard): Likewise.
36337 (pupa_biosdisk_check_int13_extensions): Likewise.
36338 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
36339 (pupa_biosdisk_get_diskinfo_standard): Likewise.
36340 (pupa_get_memsize): Likewise.
36341 (pupa_get_mmap_entry): Likewise.
36342 (pupa_console_putchar): Likewise.
36343 (pupa_console_setcursor): Likewise.
36344 (pupa_getrtsecs): Use pushl instead of push.
36345
36346 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
36347 memory instead of the stack for a mmap entry, because some
36348 BIOSes may ignore the maximum size and overflow.
36349
36350 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
36351
36352 * genmk.rb (PModule#rule): Compile automatically generated
36353 sources with module-specific CFLAGS as well as other sources.
36354
9962ed99 363552002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
36356
36357 * configure.ac: Check ld.
36358 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
36359 respectively, before checking endianness and sizes.
36360
36361 * Makefile.in (LD): New variable.
f19dbdb7 36362
abdfc3c5 363632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
36364
36365 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
36366
6a161fa9 363672002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
36368
36369 * Changelog: New file.
36370