]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
[grub2.git] / ChangeLog
CommitLineData
7755f66e
VS
12011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
4 useful grub_dprintf's.
5
461121ff
VS
62011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9
2a961775
VS
102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11
12 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
13
adf594cc
VS
142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15
16 Output errors if theme loading failed.
17
18 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
19 grub_gfxterm_fullscreen on error paths to ...
20 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
21 theme loading error.
22
665900a3
VS
232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
26 space for older compilers.
27 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
28
a562b479
VS
292011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
32 and report them as not RAID members since they are useless for GRUB.
33 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
34
850e9373
VS
352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
36
37 Increase LVM implementation robustness in order not to crash on
38 configurations like pvmove. Previously code assumed that in some places
39 only lvs or only pvs are used whereas it seems that they are used
40 interchangeably.
41
42 * grub-core/disk/lvm.c (read_node): New function.
43 (read_lv): Use read_node.
44 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
45 Match volumes only at the end when all lvs are found. Take both
46 pvs (first) and lvs (second) into account.
47 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
48 mirror_* into node_*. All users updated.
49 (grub_lvm_stripe): Merge this ...
50 (grub_lvm_mirror): ... and this ...
51 (grub_lvm_node): ... into this. All users updated.
52
6f332153
VS
532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
56 of function to allow further scanning for LVMs.
57
829ea451
VS
582011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
61 on failed seek as it breaks open fd reusage.
62
09ceb9a5
VS
632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * util/grub-install.in: Add a recommendation to use --recheck before
66 reporting bugs.
67
67e11623
VS
682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
71 are obtained.
72
caee5efd
VS
732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
74
75 GRUB developper manual based on existing Internals section and
76 contributions by the various authors with active copyright assignment.
77
78 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
79 * docs/font_char_metrics.png: New file.
80 * docs/font_char_metrics.txt: Likewise.
81 * docs/grub-dev.texi: Likewise.
82 * docs/grub.texi (Internals): Move from here ...
83 * docs/grub-dev.texi: ... here.
84
2cccc747
CW
852011-04-01 Colin Watson <cjwatson@ubuntu.com>
86
87 Store the loopback device as data on loopback grub_disk structures,
88 rather than the file it points to. This fixes use of freed memory
89 if an existing loopback device is replaced.
90
91 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
92 disk->data, not dev->file.
93 (grub_loopback_read): Adjust file assignment to match.
94 Fixes Ubuntu bug #742967.
95
186ae367
CW
962011-04-01 Colin Watson <cjwatson@ubuntu.com>
97
98 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
99 when replacing an existing device.
100
cfed2ad0
VS
1012011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
102
103 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
104 memory corruptions.
105
106 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
107 unsigned.
108 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
109 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
110 (grub_jfs_read_inode): Likewise.
111 (grub_jfs_opendir): Likewise. Remove now useless casts.
112 (grub_jfs_getent): Likewise.
113 Make ino a grub_uint32_t rather than int.
114 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
115 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
116 division and module with bit operations.
117 (grub_jfs_find_file): Make ino a grub_uint32_t.
118 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
119
05d2ed32
CW
1202011-04-01 Colin Watson <cjwatson@ubuntu.com>
121
122 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
123 warning. (This was in fact always initialised before use, but GCC
124 wasn't smart enough to prove that.)
125 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
126
91dc6073
VS
1272011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
130 stack alignment.
131 (efi_wrap_1): Likewise.
132 (efi_wrap_2): Likewise.
133 (efi_wrap_3): Likewise.
134 (efi_wrap_4): Likewise.
135 (efi_wrap_5): Likewise.
136 (efi_wrap_6): Likewise.
137 (efi_wrap_10): Likewise.
138 Based on information by: Red Hat/Peter Jones.
139
a8afc1d1
CW
1402011-03-31 Colin Watson <cjwatson@ubuntu.com>
141
142 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
143 set-but-not-used variable.
144
a826cc7d
CW
1452011-03-31 Colin Watson <cjwatson@ubuntu.com>
146
147 * docs/grub.texi (Simple configuration): Be more explicit about
148 GRUB_DEFAULT, and add an example.
149 Reported by: Leslie Rhorer.
150
875b67ba
CW
1512011-03-30 Colin Watson <cjwatson@ubuntu.com>
152
153 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
154 shell".
155
fd7cd914
AS
1562011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
157
158 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
159 * util/grub.d/20_linux_xen.in: Likewise.
160
090b1b6a
VS
1612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * util/grub.d/10_linux.in: Try alternative config filenames where
164 we parse config file.
165 * util/grub.d/20_linux_xen.in: Likewise.
166
baad885c
AS
1672011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
168
169 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
170 * util/grub.d/20_linux_xen.in: Likewise.
171
241e41f5
VS
1722011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/disk/raid.c (insert_array): Add few potentially
175 useful grub_util_info.
176 (grub_raid_register): Likewise.
177
56445fb2
VS
1782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
181 Preserve partition number in mdadm code path.
182
c871b1c6
VS
1832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
186 few potentially useful grub_util_info.
187
5e631b4f
CW
1882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
191
2d5d0333
CW
1922011-03-30 Colin Watson <cjwatson@ubuntu.com>
193
194 * docs/grub.texi (default): Use @example rather than nested
195 itemized lists to avoid breaking gendocs.
196
3d7ed04e
CW
1972011-03-30 Colin Watson <cjwatson@ubuntu.com>
198
199 * docs/grub.texi (Future): Update.
200
abf04200 2012011-03-30 Colin Watson <cjwatson@ubuntu.com>
202
203 * docs/grub.texi (Environment): New chapter.
204 (Changes from GRUB Legacy): Link to "Environment block" section for
205 details of limitations.
206 (Simple configuration): Likewise. Link to documentation of gfxmode
207 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
208 respectively.
209 (Shell-like scripting): Note that normal variables are stored in the
210 environment.
211 (gettext): Link to documentation of lang and locale_dir.
212 (list_env): New section.
213 (load_env): New section.
214 (save_env): New section.
215
216 (Reporting bugs): Fix typo.
217
e1ad0edd
VS
2182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
221 the example.
222
5d803174
VS
2232011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/term/at_keyboard.c (set_scancodes)
226 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
227
2a2da1d0
CW
2282011-03-30 Colin Watson <cjwatson@ubuntu.com>
229
230 * docs/grub.texi (Menu-specific commands): Remove some semantics
231 that were true in GRUB Legacy but not in GRUB 2.
232 (submenu): New section.
233 (false): New section.
234 (read): New section.
235 (true): New section.
236
a7527639
CW
2372011-03-30 Colin Watson <cjwatson@ubuntu.com>
238
239 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
240
2412011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
242
243 * docs/grub.texi (Simple configuration): Explain some of the
244 current limitations of grub-mkconfig.
8a748df2 245 Reported by: Leslie Rhorer.
e30af029 246
fc858482
VS
2472011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
248
249 Old macs search for boot.efi rather than for bootia32.efi.
250
251 * util/grub-install.in: Copy bootia32.efi to boot.efi.
252 * util/grub-mkrescue.in: Likewise.
253 Suggested by: Peter Jones.
254
e1eb511d
VS
2552011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
258
70e75364
VS
2592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
262 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
263 (grub_lvm_mirror): New struct.
264 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
265 (grub_lvm_iterate): Iterate only visible volumes.
266 (grub_lvm_read): Factor out to ..
267 (read_lv): ... this. Support mirrors.
268 (grub_lvm_read): New wrapper function.
269 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
270 stripped or mirrored.
271
fc18f6a3
VS
2722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
275
5c650f4c
CW
2762011-03-29 Colin Watson <cjwatson@ubuntu.com>
277
278 * docs/grub.texi (loopback): New section.
279
61d7156b
CW
2802011-03-29 Colin Watson <cjwatson@ubuntu.com>
281
282 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
283 removed -p option.
284
994b8264
CW
2852011-03-29 Colin Watson <cjwatson@ubuntu.com>
286
287 * docs/grub.texi (BIOS installation): New section, partly based on
288 previous text in other sections.
289 (Installing GRUB using grub-install): Replace BIOS discussion with a
290 cross-reference.
291 (Images): Likewise.
292
9e4d19e0
VS
2932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * grub-core/kern/emu/hostdisk.c (find_partition_start)
296 [HAVE_DIOCGDINFO]: Add safety checks.
297
a307c0b2
VS
2982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
301 per default compiled in kernel and prior to 8.0 isn't shipped at all.
302
b4db4f39
CW
3032011-03-29 Colin Watson <cjwatson@ubuntu.com>
304
305 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
306 real_sb->size is zero (e.g. RAID-0), get the disk size from
307 real_sb->data_size instead.
308 Fixes Ubuntu bug #743136.
309
35e5f84c
VS
3102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
313 printf clauses for printing size and start.
314
d2e29d81
VS
3152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
318 Reported and tested by: Timothy Nikkel.
319
ed5587af
VS
3202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
323 (dirty_region_add_real): ... this.
324 (dirty_region_add): Don't discard margin refresh when performing
325 scheduled repaint.
326
a1dc717c
VS
3272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * grub-core/lib/relocator.c (allocate_regstart)
330 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
331 terminals are capabple of malloc-free operation.
332 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
333 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
334
9f3677d3
VS
3352011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
336
337 * util/grub-setup.c: Copy the partition table zone if floppy support
338 is disabled, even if no partition table is found.
339
340 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
341 during POST if an invalid partition table is contained in the PBR
342 of the active partition when GRUB is installed to a partition.
343
24148725
CW
3442011-03-28 Colin Watson <cjwatson@debian.org>
345
346 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
347 comment.
348
f329eda7
CW
3492011-03-28 Colin Watson <cjwatson@debian.org>
350
351 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
352 to be specific about what kind of RAID device we're scanning for.
353
c482ad98
SG
3542011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
355
356 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
357 return freed string.
358
5ee04984
VS
3592011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
362
f4727da9
VS
3632011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Use libgeom on FreeBSD to detect partitions.
366
367 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
368 (grub-mkrelpath): Likewise.
369 (grub-script-check): Likewise.
370 (grub-editenv): Likewise.
371 (grub-mkpasswd-pbkdf2): Likewise.
372 (grub-fstest): Likewise.
373 (grub-mkfont): Likewise.
374 (grub-mkdevicemap): Likewise.
375 (grub-probe): Likewise.
376 (grub-setup): Likewise.
377 (grub-ofpathname): Likewise.
378 (grub-mklayout): Likewise.
379 (example_unit_test): Likewise.
380 (grub-menulst2cfg): Likewise.
381 * grub-core/Makefile.core.def (grub-emu): Likewise.
382 (grub-emu-lite): Likewise.
383 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
384 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
385 define HAVE_DIOCGDINFO.
386 (follow_geom_up) [FreeBSD]: New function.
387 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
388 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
389 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
390 unconditionally of HAVE_DIOCGDINFO.
391
82fe6c75
VS
3922011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Fix FreeBSD compilation problem.
395
396 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
397 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
398
4c6c9431
CW
3992011-03-24 Colin Watson <cjwatson@ubuntu.com>
400
401 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
402 Switch back to page zero before loading a kernel, since some kernel
403 drivers expect that.
404 Thanks to: Felix Kuehling.
405
c7064d94
VS
4062011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
407
408 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
409 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
410 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
411
3f71cded
VS
4122011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
415 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
416
ef6de21a
VS
4172011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
420 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
421 malloc is disabled.
422
8bc66a2c
VS
4232011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
426 for modules headers when counting the needed allocation size.
427
5657722c
VS
4282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
431 if no ASCII character is found to prevent crash.
432
41a85f55
AK
4332011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
434
435 * grub-core/video/bitmap.c (match_extension): Ignore case.
436
59e1e5f1
VS
4372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
440
bd4d051a
VS
4412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/script/parser.y: Declare "time" as valid argument.
444
bae7fcc1
PJ
4452011-03-23 Peter Jones <pjones@redhat.com>
446
447 Fix incorrect assert failure reporting.
448
449 * grub-core/tests/example_functional_test.c (example_test): Add
450 a failure comment.
451 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
452 (failure_start): ...this. Check that malloc succeeded.
453 Don't call xvasprintf. Return failure struct.
454 (failure_append_vtext): New function.
455 (failure_append_text): Likewise.
456 (add_failure): Likewise.
457 (grub_test_assert_helper): Likewise.
458 * include/grub/test.h (grub_test_assert_helper): New declaration.
459 (grub_test_assert): Macro rewritten.
460
537dc9be
VS
4612011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
464
fa3e01bf
VS
4652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
466
467 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
468
b1d28404
VS
4692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
472 into GRUB-style one.
473
2e3e2e09
VS
4742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
477 error and not grub_errno.
478 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
479
ed57e557
VS
4802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
483 GRUB_USB_SPEED_NONE in case of failure and not the error code.
484
d1611f01
VS
4852011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/efiemu/i386/pc/cfgtables.c
488 (grub_machine_efiemu_init_tables): Make declaration a prototype.
489 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
490 (grub_xnu_unlock): Likewise.
491 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
492
7d4e39d6
VS
4932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
496 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
497 * grub-core/commands/hashsum.c (aliases): Likewise.
498 * grub-core/commands/setpci.c (pci_registers): Likewise.
499 * grub-core/disk/usbms.c (attach_hook): Likewise.
500 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
501 (zio_checksum_table): Likewise.
502 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
503 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
504 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
505 * grub-core/lib/relocator.c (leftovers): Likewise.
506 (extra_blocks): Likewise.
507 * grub-core/loader/i386/bsd.c (relocator): Likewise.
508 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
509 (modules_last): Likewise.
510 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
511 (devices): Likewise.
512 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
513 (modules_last): Likewise.
514 * grub-core/normal/auth.c (users): Likewise.
515 * grub-core/normal/context.c (initial_menu): Likewise.
516 (current_menu): Likewise.
517 * grub-core/normal/crypto.c (crypto_specs): Likewise.
518 * grub-core/term/serial.c (grub_serial_ports): Likewise.
519 (grub_serial_terminfo_input_template): Likewise.
520 (grub_serial_terminfo_output_template): Likewise.
521 (grub_serial_terminfo_input): Likewise.
522 (grub_serial_terminfo_output): Likewise.
523 (registered): Likewise.
524 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
525
40fc4659
VS
5262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
529 grub_video_mode_type_t.
530 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
531 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
532 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
533
2da48d28
VS
5342011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * util/grub-install.in: Correct the x86-64 name as x86_64.
537
9b43bf39
CW
5382011-03-11 Colin Watson <cjwatson@ubuntu.com>
539
540 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
541 initial chunk read from the kernel always includes GRUB's multiboot
542 header, which is now outside the first sector.
543
be1a7ce0
CW
5442011-03-09 Colin Watson <cjwatson@ubuntu.com>
545
546 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
547 cached mmap_size, so that this works correctly when called multiple
548 times.
549 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
550
83a3c48d
CW
5512011-03-09 Colin Watson <cjwatson@ubuntu.com>
552
553 * docs/grub.texi (Simple configuration): Tidy up formatting.
554
57d75699
SJ
5552011-03-07 Szymon Janc <szymon@janc.net.pl>
556
557 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
558 Set-but-not-used variable removed.
559
028501a0
VS
5602011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Workaround yet another IEEE1275 bug.
563
564 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
565 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
566 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
567 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
568 is set.
569 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
570 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
571
d998657d
VS
5722011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
575 error.
576
fee7cdd4
CW
5772011-02-11 Colin Watson <cjwatson@ubuntu.com>
578
579 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
580 empty, since in that case we can only generate either nothing or a
581 syntactically invalid configuration file.
582 Reported by: Michal Suchanek. Fixes Debian bug #612898.
583
97286eb5
CW
5842011-02-09 Colin Watson <cjwatson@ubuntu.com>
585
586 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
587 (Making a GRUB bootable CD-ROM): Likewise.
588 (Invoking grub-mkrescue): New section.
589 Reported by: Yann Dirson. Fixes Debian bug #612585.
590
22b28eb3
CW
5912011-02-09 Colin Watson <cjwatson@ubuntu.com>
592
593 * util/grub-install.in: Remove unnecessary brackets from tr
594 arguments.
595 * util/grub.d/10_hurd.in: Likewise.
596 * util/grub.d/10_kfreebsd.in: Likewise.
597 * util/grub.d/10_linux.in: Likewise.
598 * util/grub.d/20_linux_xen.in: Likewise.
599 Reported by: Jamie Heilman. Fixes Debian bug #612564.
600
7e735e43
CW
6012011-02-08 Colin Watson <cjwatson@ubuntu.com>
602
603 * include/grub/file.h (not_easly_seekable): Rename to ...
604 (not_easily_seekable): ... this. Update all users.
605
800f1881
CW
6062011-01-28 Colin Watson <cjwatson@ubuntu.com>
607
608 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
609 grub-mkrescue.
610
3281d3d6
VS
6112011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/grub-mkimage.c (generate_image): Refuse to create the images
614 bigger than the actual flash (512K) in Loongson machines. 512K is also
615 the biggest chip supported by them.
616
3533413c
VS
6172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
618
619 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
620
73ae4f4f
VS
6212011-01-22 Anthony DeRobertis <anthony@derobert.net>
622
623 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
624 super_offset field.
625
37f4f608
VS
6262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * util/grub-install.in: Ignore install device on platforms
629 where it doesn't make sense. Always use UUIDs except on pc, efi and
630 sparc64.
631 Reported by: Daniel Kahn Gillmor.
632
03a4ccb5
VS
6332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
636
ffc8f4d8
VS
6372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
640 (iterate_real): Don't rely on partition being non-NULL.
641
80f23be7
VS
6422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
645 supported platforms. Put a compile time assert for this rather than
646 generate a warning with 32-bit shift.
647
5d4f4dd5
VS
6482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
651 logical expression more readable.
652
e489601a
VS
6532011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
656 even if some elements have a name.
657 Reported by: Alexander GQ Gerasiov.
658
96e0a6ea
CW
6592011-01-22 Colin Watson <cjwatson@ubuntu.com>
660
661 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
662 path unreadable if `grub-probe -t abstraction' fails, for example if
663 memberlist fails on an LVM volume group.
664 Reported by: Darius Jahandarie.
665
81431e2b
CW
6662011-01-22 Colin Watson <cjwatson@ubuntu.com>
667
668 * docs/grub.texi (Simple configuration): Document
669 GRUB_PRELOAD_MODULES.
670
5e79d66a
CW
6712011-01-17 Colin Watson <cjwatson@ubuntu.com>
672
673 * .bzrignore: Remove nonexistent grub-pbkdf2.
674
646ada34
VS
6752011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * configure.ac: Bump version to 1.99~rc1.
678
04360337
VS
6792011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
682 for safety.
683
46c9db88
VS
6842011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
687 module.
688
6892011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
690
691 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
692
4fbf1852
VS
6932011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
696 diskdevid.
697
f1632d4d
VS
6982011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
699
700 Fix compilation on cygwin.
701
702 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
703 -R .drectve on cygwin.
704 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
705 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
706 (COND_CYGWIN): New condition.
707 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
708 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
709 not @TARGET_OBJ2ELF@.
710 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
711 type to determine whether aux is to be used.
712
0b5e127b
VS
7132011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
716 realpath'ed device string.
717 Handle floppy (somewhat).
718 Issue error in unknown case rather than garbage.
719 Reported by: Axel Beckert.
720
173b71e9
VS
7212011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * util/grub.d/00_header.in (load_video): Handle the case when no video
724 drivers available.
725 Thanks to: Axel Beckert.
726
f8f479db
VS
7272011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
728
729 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
730 variable. Fixes problem on big endian platforms.
731
8fc0a245
VS
7322011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
735 It doesn't work well there.
736
b8494fbe
VS
7372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
740 warning.
741 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
742 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
743 counter.
744
b44a558c
VS
7452011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
746
747 Use alias->path rather than buggy "canon".
748
749 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
750 (ofdisk_hash_add): New argument curcan. All users updated.
751
51fa856c
CW
7522011-01-11 Colin Watson <cjwatson@ubuntu.com>
753
754 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
755
9da068a5
VS
7562011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
759 loadmask before doing any calculations. Use correct type for offset.
760 (grub_linux_load64): Likewise.
761
86205c94
CW
7622011-01-11 Colin Watson <cjwatson@ubuntu.com>
763
764 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
765 with NULL.
766 (console_grub_equivalences_unshift): Likewise.
767 Reported by: Daniel Dehennin.
768
4531a206
VS
7692011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
772 (set_env_limn_ro): Likewise.
773 (GRUB_MOD_INIT): Likewise.
774 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
775 ARRAY_SIZE while on it.
776 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
777 * grub-core/normal/context.c (grub_env_export): Move from here ...
778 * grub-core/kern/env.c (grub_env_export): ... here.
779 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
780 prefix.
781 * grub-core/kern/main.c (grub_main): Export root and prefix.
782 * include/grub/env.h (grub_env_export): Export.
783 Reported by: Seth Goldberg.
784
45146057
VS
7852011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
788 Take into account space used by ELF sections and multiboot palette.
789 Reported by: Grégoire Sutre.
790
f093110b
VS
7912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * BUGS: New file.
794
3395fe52
VS
7952011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
796
797 Pass more appropriate video id to Linux.
798
799 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
800 grub_video_get_driver_id and variable gfxpayloadforcelfb to
801 fill have_vga.
802 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
803 shift params->lfb_size.
804 * include/grub/i386/linux.h: Make an enume out of have_vga values.
805
c2fa6cbb
VS
8062011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
807
808 * util/grub-menulst2cfg.c: Add missing include of misc.h.
809
b3ff6ff0
VS
8102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
813 separator and pass bootpath/devid even if only one of them is available.
814 Reported by: Seth Goldberg.
815
ae67942e
VS
8162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
817
818 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
819 implementations bug on them.
820
821 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
822 memory.
823 (filter_memory_map): Likewise.
824
d570097a
VS
8252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
828 Reported by: nebuchadnezzar.
829
a508e776
VS
8302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
833 Reported by: nebuchadnezzar.
834
dcb883b1
VS
8352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
836
837 Submenu default support.
838
839 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
840 auto_boot. All users updated.
841 Declared static.
842 Handle chosen and default with submenus.
843 (grub_menu_execute_with_fallback): Declared static.
844 Don't notify failure if autobooted. Upper level does it.
845 (menuentry_eq): New function.
846 (get_entry_number): Use menuentry_eq.
847 (show_menu): New parameter "autobooted". All users updated.
848 (grub_show_menu): Likewise.
849 * include/grub/normal.h (grub_show_menu): Likewise.
850 * include/grub/menu.h (grub_menu_execute_entry): Removed.
851 (grub_menu_execute_with_fallback): Likewise.
852
6fef99b4
VS
8532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * util/grub-mklayout.c (usage): Update help text.
856
47a77af5
VS
8572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
860
ce6bb3ee
VS
8612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * util/grub-menulst2cfg.c (main): Trim the line.
864
db87be2a
VS
8652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
868 (grub_machine_init): Don't check amount of low memory as reportedly
869 INT 12h can be broken and if low memory is too low we wouldn't have
870 gotten into grub_machine_init anyway.
871
c49849cc
VS
8722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
875 (grub_machine_mmap_iterate): Take low memory into account
876
b1969b30
VS
8772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
880 badfs.
881 Reported by: TiCPU.
882
cf0eaf13
VS
8832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
886 members errors.
887
1f060f39
GS
8882011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
889
890 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
891 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
892
a21e5672
GS
8932011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
894
895 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
896 openbsd and netbsd types being in part_bsd module.
897
c88172fa
VS
8982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
901 (_FILE_OFFSET_BITS): Likewise.
902 Reported by: Seth Goldberg.
903
53798c4b
GS
9042011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
905
906 * configure.ac: Check for libdevmapper header.
907
e7121b69
VS
9082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
911 avoid aliasing.
912 (fzap_lookup): Likewise.
913 (dnode_get): Likewise.
914 (make_mdn): Likewise.
915 (zfs_mount): Likewise.
916 (fzap_iterate): Use temporary pointer to avoid aliasing.
917 (grub_zfs_read): Likewise.
918 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
919 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
920 pointers to avoid aliasing.
921 (grub_cmd_xnu_kernel64): Likewise.
922 (grub_xnu_load_driver): Likewise.
923
fc836af9
VS
9242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
927 aliasing warning.
928 (grub_cmd_terminal_output): Likewise.
929 Reported and tested by: Grégoire Sutre.
930
f9f37648
VS
9312011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
934 warning.
935 Reported and tested by: Grégoire Sutre.
936
ec1dfd63
VS
9372011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * configure.ac: Do CPU substitution even if it's specified explicitly.
940 Reported and tested by: Alain Greppin.
941
9462775a
VS
9422011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
945 Reported and tested by: Alain Greppin.
946
0fd48e35
VS
9472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
948
949 Satisfy some bison versions need for inttypes.h.
950
951 * grub-core/lib/posix_wrap/inttypes.h: New file.
952 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
953 (int16_t): Likewise.
954 (int32_t): Likewise.
955 (int64_t): Likewise.
956 Reported and tested by: Alain Greppin.
957
43f1bc83
VS
9582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
961 Silence spurious warning.
962 Reported and tested by: Alain Greppin.
963
64d1f041
SJ
9642011-01-07 Szymon Janc <szymon@janc.net.pl>
965
966 * docs/grub.texi (Support automatic decompression): Update with xz
967 decompression support.
968
25953e10
SJ
9692011-01-07 Szymon Janc <szymon@janc.net.pl>
970
971 Improve loaders' kernel command line handling.
972
973 * grub-core/lib/cmdline.c: New file.
974 * include/grub/lib/cmdline.h: Likewise.
975 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
976 grub_create_loader_cmdline to create kernel command line.
977 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
978 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
979 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
980 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
981 (linux): Add lib/cmdline.c on common.
982
e72d259f
VS
9832011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
986 inopos might be unaligned.
987
c0cf26da
VS
9882011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
991 endian transformations.
992 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
993 Based on report by: Doug Nazar.
994
0ca09e6c
DN
9952011-01-07 Doug Nazar <nazard.michi@gmail.com>
996
997 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
998 array->members[i].start_sector.
999 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1000
014b6806
VS
10012011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1004 Reported and tested by: Grégoire Sutre.
1005
415502c2
CW
10062011-01-06 Colin Watson <cjwatson@ubuntu.com>
1007
1008 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1009 avoid causing test failures by clearing the screen.
1010
71b6a2b7
CW
10112011-01-06 Colin Watson <cjwatson@ubuntu.com>
1012
1013 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1014 Fix prefix check to handle the case where dir ends with a slash
1015 (most significantly, "/" itself).
1016 Reported by: Michael Vogt.
1017
b3f8d28a
VS
10182011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 Run terminfo_cls on initing terminfo output to clear the screen and
1021 move the cursor to (0,0).
1022
1023 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1024 Call grub_terminfo_output_init.
1025 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1026 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1027 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1028
4c3e4f37
VS
10292011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1032 only when needed.
1033
488f71f1
VS
10342011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1037 CTRL.
1038
18a38098
VS
10392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 The E820 type 5 is BADRAM, not EXEC_CODE.
1042
1043 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1044 (GRUB_E820_BADRAM): New define.
1045 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1046 into reserved. Propagate BADRAM.
1047 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1048 (GRUB_E820_BADRAM): New define.
1049
9eae2084
VS
10502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1053 Ignore the memory post-4G.
1054 (grub_relocator_firmware_alloc_region): Additional debug statement.
1055
ebc71d28
VS
10562011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1059 names.
1060 Reported by: David Pravec.
1061
446fa400
VS
10622011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1065 BIOSes.
1066
a0159f37
VS
10672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1070 Prevent overflow.
1071 (grub_reed_solomon_recover): Likewise.
1072
e5146ca1
VS
10732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1076
10772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
1078
1079 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1080 variable.
1081
5b1bdf12
CW
10822011-01-04 Colin Watson <cjwatson@ubuntu.com>
1083
1084 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1085 descriptions of extract_legacy_entries_source and
1086 extract_legacy_entries_configfile.
1087 Reported by: Seung Soo, Ha.
1088
99d925aa
CW
10892011-01-03 Colin Watson <cjwatson@ubuntu.com>
1090
1091 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1092 on devices that do not implement function 0.
1093
4af0504b
DV
10942011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1095
1096 * grub-core/fs/hfsplus.c: Make parent unsigned.
1097 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1098 overflows.
1099 (grub_hfsplus_cmp_extkey): Likewise
1100
469ee10a
VS
11012011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * util/grub-install.in: Correctly use bootloader_id and not
1104 GRUB_DISTRIBUTOR on efibootmgr line.
1105
323a8e9c
VS
11062011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1109
1b394975
IC
11102010-12-31 Ian Campbell <ijc@hellion.org.uk>
1111
1112 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1113 Xen and reorder menu item wording to make it clearer that this entry
1114 will launch Xen. Print separate messages when loading Xen and
1115 Linux.
1116
275bff5f
VS
11172010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1120 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1121 loop in case of incorrect amiga partmap.
1122
307806cb
VS
11232010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1126 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1127 Reported by:EHeM.
1128
b12b923e
VS
11292010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1132 spurious warning.
1133 Reported by: crocket
1134
14b48a19
VS
11352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1138 Preload EFIemu.
1139 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1140
693db2df
VS
11412010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1144 is loaded
1145 (grub_cmd_xnu_kextdir): Likewise.
1146 (grub_cmd_xnu_splash): Likewise.
1147
c7638645
VS
11482010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 Avoid using Reed-Solomon with 0 redundancy.
1151
1152 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1153 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1154 or 0 redundancy.
1155 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1156 (grub_reed_solomon_recover): Likewise.
1157
25dd4780
VS
11582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 Don't use disk subsystem in freebsd_boot.
1161
1162 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1163 (freebsd_biosdev): Likewise.
1164 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1165 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1166
0b2db943
VS
11672010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Handling of files of unknown size is currently limited. They can't be
1170 used e.g. for initrd or modules. Moreover gzip handling of not
1171 easily seekable files is buggy. Disable unknown file size for now. May
1172 be inefficient but works.
1173
1174 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1175 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1176
5c408d0f
MP
11772010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1178
1179 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1180 floppy probe.
1181
190a011a
JD
11822010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1183
1184 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1185
022d01b8
SL
11862010-12-25 Shea Levy <shlevy>
1187
1188 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1189
c4855fdc
VS
11902010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1193 Windows Server 2008.
1194 Reported by: Devin Giddings.
1195
0354b867
VS
11962010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1199 writing an error message because of async power management.
1200 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1201 (grub_reboot): Likewise.
1202
ab66c69f
JU
12032010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1204
1205 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1206 keep unit tests from failing when they shouldn't.
1207
1426ef35
CW
12082010-12-21 Colin Watson <cjwatson@ubuntu.com>
1209
1210 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1211 previous patch increased the size of the RS code by 20 bytes (at
1212 least with gcc-4.4), so increase this by 20 bytes to match.
1213 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1214
20641b6b
CW
12152010-12-21 Colin Watson <cjwatson@ubuntu.com>
1216
1217 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1218 scratch area. Make sure to initialise chosen in standalone mode as
1219 well as non-standalone.
1220 Reported by: Robert Hooker and Andy Whitcroft.
1221 Tested by: Andy Whitcroft.
1222
d060ad60
CW
12232010-12-21 Colin Watson <cjwatson@ubuntu.com>
1224
1225 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1226 constructing a new unescaped string and passing it to grub_xputs in
1227 one go, rather than passing characters to grub_printf one at a time.
1228
b889cfad
CW
12292010-12-21 Colin Watson <cjwatson@ubuntu.com>
1230
1231 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1232 initialising utf16.
1233
4e01b6c8
CW
12342010-12-21 Colin Watson <cjwatson@ubuntu.com>
1235
1236 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1237 comment. Add an extra layer of quotation, requiring the output of
1238 this function to be used in a printf format string.
1239 (gettext_printf): New function.
1240 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1241 Extract translatable strings from here-documents and use a temporary
1242 variable instead, so that xgettext can find them.
1243 * util/grub.d/10_kfreebsd.in: Likewise.
1244 * util/grub.d/10_linux.in: Likewise.
1245 * util/grub.d/20_linux_xen.in: Likewise.
1246
1247 * po/grub.d.sed: New file.
1248 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1249 arguments. Set c-format flags on all strings extracted from
1250 util/grub.d/ (xgettext refuses to include these itself for strings
1251 it extracted from a shell file, but these really are c-format).
1252
5318fe98
VS
12532010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1256 Avoid next pointing to nowhere.
1257
6c85b743
VS
12582010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1261 rather than assuming than rootblock is exactly in the middle.
1262 (grub_affs_label): Likewise.
1263
a2a08a35
VS
12642010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1267 reserved_first_sector to 0.
1268 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1269 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1270 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1271
7059d1ec
VS
12722010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 Fix handling of UTF-16 UDF labels.
1275
1276 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1277 (read_string): .. here.
1278 (grub_udf_label): Use read_string.
1279
30aff4cb
BC
12802010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1281
1282 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1283 editor under argument scope.
1284 Reported by: Jordan Uggla
1285
5cf86f4b
VS
12862010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1289
32570200
CW
12902010-12-18 Colin Watson <cjwatson@ubuntu.com>
1291
1292 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1293 line, and other keys scroll an entire page (previous handling was
1294 for \r and \n to scroll a page and other keys to scroll two lines).
1295
e1dffcf2
VS
12962010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1299 Set ptrdest to correct get_physical_target_address rather than
1300 incorrect get_virtual_current_address.
1301
b04298cf 13022010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1303
1304 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1305 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1306
5367ecd3
CW
13072010-12-10 Colin Watson <cjwatson@ubuntu.com>
1308
1309 * .bzrignore: Ignore grub-core/rs_decoder.S.
1310
1fb430f8
CW
13112010-12-10 Colin Watson <cjwatson@ubuntu.com>
1312
1313 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1314 .mo/.mo.gz opening sequence to ...
1315 (grub_mofile_open_lang): ... here.
1316 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1317 * util/grub.d/00_header.in (grub_lang): Include country part of
1318 locale.
1319 Reported by: Mario Limonciello.
1320
a94a6671
RM
13212010-12-09 Robert Millan <rmh@gnu.org>
1322
1323 * NEWS: Document addition of ZFS support.
1324
24b7938b
CW
13252010-12-04 Colin Watson <cjwatson@ubuntu.com>
1326
1327 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1328 rather than `/ 2', as the latter requires -Wa,--divide which would
1329 require bumping our minimum binutils version.
1330
bddc3ef6
BC
13312010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1332
1333 * util/grub-script-check.c (main): Print script line number on
1334 error.
1335
bf78d5b2
RM
13362010-12-01 Robert Millan <rmh@gnu.org>
1337
1338 * grub-core/fs/zfs/zfs.c: New file.
1339 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1340 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1341 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1342 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1343
1344 * include/grub/zfs/dmu.h: Likewise.
1345 * include/grub/zfs/dmu_objset.h: Likewise.
1346 * include/grub/zfs/dnode.h: Likewise.
1347 * include/grub/zfs/dsl_dataset.h: Likewise.
1348 * include/grub/zfs/dsl_dir.h: Likewise.
1349 * include/grub/zfs/sa_impl.h: Likewise.
1350 * include/grub/zfs/spa.h: Likewise.
1351 * include/grub/zfs/uberblock_impl.h: Likewise.
1352 * include/grub/zfs/vdev_impl.h: Likewise.
1353 * include/grub/zfs/zap_impl.h: Likewise.
1354 * include/grub/zfs/zap_leaf.h: Likewise.
1355 * include/grub/zfs/zfs.h: Likewise.
1356 * include/grub/zfs/zfs_acl.h: Likewise.
1357 * include/grub/zfs/zfs_znode.h: Likewise.
1358 * include/grub/zfs/zil.h: Likewise.
1359 * include/grub/zfs/zio.h: Likewise.
1360 * include/grub/zfs/zio_checksum.h: Likewise.
1361
1362 * Makefile.util.def: Build ZFS into libgrubmods.
1363 * grub-core/Makefile.core.def: Build zfs.mod.
1364
3f0f3831
SJ
13652010-11-30 Szymon Janc <szymon@janc.net.pl>
1366
1367 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1368 variable.
1369 * grub-core/commands/wildcard.c (match_files): Likewise.
1370
3a4253b2
RM
13712010-11-30 Robert Millan <rmh@gnu.org>
1372
1373 * grub-core/loader/i386/bsd.c
1374 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1375 whether kernel is loaded using grub_loader_is_loaded(), rather
1376 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1377 certain error conditions.
1378
8c317b27
RM
13792010-11-30 Robert Millan <rmh@gnu.org>
1380
c5c9cd3e
RM
1381 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1382 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 1383
49d3ab46
VS
13842010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 Avoid using tricks for initialising endian variables.
1387
1388 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1389 Make const.
1390 (GRUB_MOD_INIT): Don't byte-swap.
1391 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1392 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1393 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1394 (grub_swap_bytes32_compile_time): Likewise.
1395 (grub_cpu_to_le32_compile_time): Likewise.
1396 (grub_cpu_to_le16_compile_time): Likewise.
1397
f420a804
VS
13982010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * util/grub-setup.c (setup): Stop recommending --force. People who
1401 understand the dangers of blocklists are able to find this option
1402 anyway and the ones who don't shouldn't use it anyway.
1403
4e7db17b
RM
14042010-11-26 Robert Millan <rmh@gnu.org>
1405
1406 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1407 Update all users.
1408
9be57a0d
CW
14092010-11-26 Colin Watson <cjwatson@ubuntu.com>
1410
1411 Fix LVM-on-RAID probing.
1412
1413 * util/grub-probe.c (probe): Remember which disk was detected as
1414 RAID (perhaps an LVM physical volume). Use that disk's raidname
1415 rather than that of the top-level disk.
1416
2c7859b3 14172010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 1418
d7647bb6
BC
1419 Fix cmdline argument quotes for setparams command of menuentry
1420 definitions.
7e623b0d
BC
1421
1422 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1423 quotes for arguments.
f866fe80 1424 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 1425 grub_strchrsub function instead.
f866fe80 1426
7955bea0 1427 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 1428
74f72a64
CW
14292010-11-24 Colin Watson <cjwatson@ubuntu.com>
1430
1431 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1432 effort by skipping "." and ".." entries up-front.
1433 Suggested by: Michael Lazarev.
1434
5a407278
CW
14352010-11-24 Colin Watson <cjwatson@ubuntu.com>
1436
1437 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1438 ldflags to ldadd, to fix link line ordering.
1439 (none_decompress): Likewise.
1440
3030d8ec
CW
14412010-11-24 Colin Watson <cjwatson@ubuntu.com>
1442
1443 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1444 platforms.
1445 (grub-emu-lite): Remove kern/emu/cache.S.
1446
b7fbac12
CW
14472010-11-23 Colin Watson <cjwatson@ubuntu.com>
1448
1449 * util/deviceiter.c (compare_devices): If the by-id link for a
1450 device couldn't be resolved, fall back to sorting by the by-id link
1451 rather than segfaulting.
1452 Reported and tested by: Daniel Mierswa.
1453
5225f328
CW
14542010-11-23 Colin Watson <cjwatson@ubuntu.com>
1455
1456 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1457 ldflags, to fix link line ordering.
1458
038b3ce8
CW
14592010-11-23 Colin Watson <cjwatson@ubuntu.com>
1460
1461 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1462 linkers are picky about this.
1463
bf16e98e
CW
14642010-11-23 Colin Watson <cjwatson@ubuntu.com>
1465
1466 * grub-core/Makefile.am (command.lst): Adjust sed expression
1467 ordering so that extended and priority commands aren't treated as
1468 ordinary commands.
1469
7242bab6
CW
14702010-11-23 Colin Watson <cjwatson@ubuntu.com>
1471
1472 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1473 Remove byte-swapping function calls, which are not valid in
1474 structure initialisers.
1475 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1476 non-const.
1477 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1478 grub_gpt_partition_type_bios_boot.
1479
14e8b279
CW
14802010-11-22 Colin Watson <cjwatson@ubuntu.com>
1481
1482 Fix test program build on GNU/kFreeBSD.
1483
1484 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1485 $(LIBNVPAIR)' library dependencies.
1486
e6f63338 14872010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
1488
1489 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1490
cf8ffc38
CW
14912010-11-22 Colin Watson <cjwatson@ubuntu.com>
1492
1493 * util/grub-install.in: Remove excessive quoting that broke
1494 installations to RAID devices.
1495
7f8b0fd7
VS
14962010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1499 bootloader version instead of 0.
1500
dfd240b1
VS
15012010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1504 warning.
1505
7b61e609
VS
15062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1509 retrieve the metadat sector if size isn't known.
1510 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1511
9dfe92d0
RM
15122010-11-18 Robert Millan <rmh@gnu.org>
1513
1514 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1515 with grub_memcmp().
1516
41cc919e
VS
15172010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1520 arrow.
1521 Reported by: Jordan Uggla.
1522
1afcc914
VS
15232010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 Make better UTF compliant.
1526
1527 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1528 sequences as incorrect.
1529 (grub_is_valid_utf8): Likewise.
1530 (grub_utf8_to_ucs4): Likewise.
1531 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1532 (grub_ucs4_to_utf8_alloc): Likewise.
1533 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1534
f1808884
VS
15352010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 Make legacy_source behave like source.
1538
1539 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1540 grub_show_menu.
1541 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1542
24ec575b
CW
15432010-11-16 Colin Watson <cjwatson@debian.org>
1544
1545 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1546 (-Wunused implies -Wunused-parameter, but not vice versa).
1547
72b7c7aa
CW
15482010-11-16 Colin Watson <cjwatson@ubuntu.com>
1549
1550 * configure.ac: Make error messages less confusing by testing for
1551 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
1552 accepted, but produces a diagnostic if something else is wrong).
1553
e98937aa
VS
15542010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
1557 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
1558 (now unused).
1559 (grub_keyboard_controller_init)
1560 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
1561 read the initial state since controller isn't inited yet.
1562
f6bbabc3
VS
15632010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
1566 allocate_regbeg may need to create new chunk header.
1567
22e7dbb2
VS
15682010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 Fix quoting in legacy parser.
1571
1572 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
1573 single quotes.
1574 (grub_legacy_parse): Likewise.
1575 Reported by: Jordan Uggla.
1576 Tested by: Jordan Uggla.
1577
03f80960
VS
15782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 Don't add -lgcc on i386 and x86_64.
1581
1582 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
1583 * conf/Makefile.common (LDADD_KERNEL): Likewise.
1584 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
1585
779dc15b
VS
15862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * configure.ac: Add -Wno-trampolines when supported.
1589
d20a3b37
MV
15902010-11-14 Modestas Vainius <modax@debian.org>
1591
1592 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
1593 fakeraid.
1594
e5360933
GC
15952010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1596
1597 Add generic logical block size support for UDF.
1598
1599 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
1600 (GRUB_UDF_BLKSZ): Removed.
1601 (struct grub_udf_data): New field "lbshift" to hold the logical block
1602 size of the file system in log2 format. All users updated.
1603 (sblocklist): Change type to unsigned.
1604 (grub_udf_mount): Change type of "sblklist" to unsigned.
1605 Move AVDP search before VRS recognition, because the latter requires
1606 knowledge of the logical block size, which is detected during the
1607 former.
1608 Detect and validate logical block size during AVDP search, adding
1609 support for block sizes 512, 1024 and 4096.
1610 Make VRS recognition independent of block size.
1611
cb0229c5
GC
16122010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1613
1614 Properly handle deleted files on UDF.
1615
1616 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
1617 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
1618 set.
1619
406858a8
GC
16202010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
1621
1622 Support reading files larger than 2 GiB.
1623
1624 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
1625 "offset" to grub_off_t.
1626 (grub_udf_read_file): Likewise for parameter "pos".
1627
130da6a7
VS
16282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
1631 unavailable.
1632 (Simple configuration): Refer to Changes from GRUB Legacy about
1633 save_env availability.
1634
65e93f6b
VS
16352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * util/grub-install.in: Ignore empty partition table detection
1638 instead of trying to include part_ module.
1639
1fd08bf1
VS
16402010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
1643 LVM on RAID support.
1644
de1a024f
VS
16452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 Properly define WORDS_BIGENDIAN in wrapped environments.
1648
1649 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
1650 definition.
1651 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
1652
1653 Reported by: Manoel Rebelo Abranches.
1654 Tested by: Manoel Rebelo Abranches.
1655
bc5dd0b9
VS
16562010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * util/grub-mkconfig.in: Fix quoting.
1659
58c184be
VS
16602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 Support big ext2 files.
1663
1664 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
1665 (grub_ext2_read_block): Support triple indirect blocks.
1666 (grub_ext2_read_file): Use 64-bit types and read size_high.
1667 (grub_ext2_open): Read size_high.
1668 Reported by: Ximin Luo.
1669 Tested by: Manoel Rebelo Abranches.
1670
5f0c02b3
VS
16712010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * util/grub-install.in: Handle filenames containing spaces.
1674 Reported by: Jordan Uggla.
1675 Tested by: Jordan Uggla.
1676
4417aae6
VS
16772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 * util/grub-mkconfig.in (grub_script_check): New variable.
1680 Use grub_script_check instead of grub-script-check.
1681 Reported by: Barry Jackson.
1682
7625a68e
VS
16832010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1684
1685 * docs/grub.texi (menu): Correct the order.
1686 Reported by: D. Hugh Redelmeier.
1687
10001ac5
VS
16882010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
1691 jump.
1692
9c4cf53b
MRA
16932010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1694
10001ac5
VS
1695 * include/grub/elfload.h (grub_elf32_size): New parameter.
1696 All users updated.
9c4cf53b
MRA
1697 Return maximum segments alignment.
1698 (grub_elf64_size): Likewise.
1699 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
1700 Return maximum segments alignment.
1701 (grub_elf64_size): Likewise.
1702 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
1703 (grub_linux_claimmap_iterate): New function. Uses the
1704 "available" property in the "memory" node for memory allocation
1705 for kernel in the PowerPC loader.
9c4cf53b
MRA
1706 (grub_linux_load32): Correctly find linux entry point offset.
1707 (grub_linux_load64): Likewise.
1708
d2bf06bf
RM
17092010-11-07 Robert Millan <rmh@gnu.org>
1710
1711 On mips-yeeloong, build with -march=loongson2f when this flag is
1712 available (GCC >= 4.4).
1713 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
1714 `-march=mips3'.
1715 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
1716 or otherwise add -march=mips3.
1717
898c99a2
BC
17182010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
1719
87220a68
BC
1720 Suppress shell expansion on echo '*' and echo "*" like cases.
1721 Reported by: Jordan Uggla.
898c99a2
BC
1722
1723 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
1724 string arguments before shell expansion.
1725 * tests/grub_cmd_echo.in: New testcases.
1726
4f9b406a
RM
17272010-11-07 Robert Millan <rmh@gnu.org>
1728
1729 * conf/mips-qemu-mips.rmk: Remove stale file from previous
1730 transition.
1731
80c6d25e
VS
17322010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/kern/emu/hostdisk.c
1735 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
1736
4a1a0153
VS
17372010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
1740 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
1741 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
1742
34706ddc
VS
17432010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
1746
6972dea9
VS
17472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * util/grub-install.in: Replace useless recomendation to pass
1750 --modules with a recomendation to report a bug.
1751
9c693bd6
VS
17522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 Properly register serial terminfo.
1755 Reported by: Jordan Uggla
1756
1757 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
1758 const.
1759 (grub_serial_terminfo_output_template): Likewise.
1760 (grub_cmd_serial): Register "serial" with terminfo.
1761 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
1762 grub_serial_terminfo_output.
1763
6c9e4c0c
RM
17642010-11-05 Robert Millan <rmh@gnu.org>
1765
1766 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
1767 needed).
1768
b9b3839f
RM
17692010-11-05 Robert Millan <rmh@gnu.org>
1770
1771 On Yeeloong, pass machine type information to Linux.
1772
1773 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
1774 (LOONGSON_MACHTYPE): New macro, set to
1775 "machtype=lemote-yeeloong-2f-8.9inches".
1776 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
1777 additional argument to Linux.
1778
1a3aaff4
RM
17792010-11-04 Robert Millan <rmh@gnu.org>
1780
1781 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
1782 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
1783 (its SATA disks are detected as slaveless IDE master drives on
1784 kFreeBSD).
1785 Reported by Carsten Aulbert.
1786
a75f4f62
CW
17872010-11-02 Colin Watson <cjwatson@ubuntu.com>
1788
1789 * util/bin2h.c (main): Fix spelling error in generated output.
1790
33b4b0c6
GS
17912010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
1792
1793 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
1794
2b36fbf4
VS
17952010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
1798 vga= option is supplied.
1799
74aaf558
VS
18002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
1803 * util/grub.d/10_kfreebsd.in: Likewise.
1804 * util/grub.d/10_linux.in: Likewise.
1805 * util/grub.d/20_linux_xen.in: Likewise.
1806
6428dec3
VS
18072010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
1810 argument as an argument to no-argument option.
1811
f8729d98
VS
18122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 * util/grub.d/10_linux.in: Add missing load_video with explicit
1815 GRUB_GFXPAYLOAD_LINUX.
1816
89d68fa6
VS
18172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
1820
3a1197cd
VS
18212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
1824 elements with invlid index.
1825 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1826 * grub-core/disk/raid.c (insert_array): Automatically reallocate
1827 members.
1828 * include/grub/raid.h (grub_raid_member): New struct.
1829 (grub_raid_array): Transform devices and start_sector into usage of
1830 grub_raid_member. All users updated
1831 (allocated_devs): New member.
1832
71574288
VS
18332010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
1836 is modified
1837
8d40ec65
BC
18382010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
1839
1840 NetBSD build fix for getline function conflict from gnulib.
1841
1842 * Makefile.util.def (libgrubkern.a): New library for grub kernel
1843 components that depend on gnulib headers.
1844 (libgrubmods.a): Renamed from earlier libgrub.a.
1845 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
1846
95b9257e
VS
18472010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
1850 install rather than creating a broken install.
1851
26c53dc6
VS
18522010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * util/grub-setup.c (argp): Remove misleading example of installing to
1855 a partition.
1856
4171b3c5
VS
18572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * util/grub-setup.c (setup): Clarify the error message.
1860
18568d18
VS
18612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
1864
4f6a2e21
VS
18652010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/kern/emu/misc.c
1868 (grub_make_system_path_relative_to_its_root)
1869 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
1870
18712010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
1872
1873 * grub-core/kern/emu/misc.c
1874 (grub_make_system_path_relative_to_its_root): Revert r2882.
1875
e138c458
VS
18762010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
1879 useless field head. All users updated.
1880 (free_subchunk): Correct handling of IN_REGION subchunk.
1881
0cbcdf0e
CW
18822010-10-22 Colin Watson <cjwatson@ubuntu.com>
1883
1884 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
1885 (Supported kernels): Likewise.
1886
b65ea155
GS
18872010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1888
1889 Make mktemp invocations portable.
1890
1891 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
1892 exit if mktemp fails.
1893 * tests/grub_script_blockarg.in: Likewise.
1894 * tests/partmap_test.in: Likewise.
1895 * tests/util/grub-shell-tester.in: Likewise.
1896 * tests/util/grub-shell.in: Likewise.
1897 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1898 * Makefile.am: Likewise, and chain shell commands with `&&'
1899 instead of ';'.
1900 * util/grub-mkrescue.in: Use the same explicit template as above, and
1901 exit if mktemp fails.
1902
05f43cdd
BC
19032010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
1904
1905 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
1906 Linux kernel, reported by Dennis Schridde.
1907
800e6a9b
SJ
19082010-10-17 Szymon Janc <szymon@janc.net.pl>
1909
1910 * grub-core/normal/auth.c (grub_auth_check_authentication):
1911 Set-but-not-used variable removed.
1912
d82df574
VS
19132010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * docs/grub.texi (GNU/Linux): Document APM unavailability with
1916 32-bit linux protocol.
1917
7bced458
VS
19182010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
1921 cursor shape for sanity.
1922
5b027690
VS
19232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * docs/grub.texi (Installation): Document buggy BIOS install.
1926
ba5f65cf
VS
19272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 * docs/grub.texi (Installation): Indent.
1930
fdf2ec9c
VS
19312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * util/grub-setup.c (setup): New parameter allow_floppy.
1934 (arguments): New member allow_floppy.
1935 (argp_parser): Handle --allow-floppy.
1936 (main): Pass allow_floppy.
1937 * util/grub-install.in: New option --allow-floppy passed though to
1938 grub-setup.
1939
861dfd4c
VS
19402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * util/grub-install.in: Handle partitionless disks.
1943
f77a8c24
VS
19442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * util/grub-setup.c (setup): Don't clean blocklists before readability
1947 verfification.
1948
27d9ee32
VS
19492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * docs/grub.texi (Installation): Document embedding zone. Remove
1952 obsolete grub-install example.
1953
6bdda8f8
SJ
19542010-10-16 Szymon Janc <szymon@janc.net.pl>
1955
1956 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
1957 Set-but-not-used variable ifdef'ed.
1958 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
1959 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
1960 variable removed.
1961 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
1962 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
1963 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
1964 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
1965 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
1966 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1967 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
1968 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
1969 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
1970 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
1971 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
1972 Likewise.
1973
e19b016b
VS
19742010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
1977 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
1978 enum value.
1979
6c8d3002
VS
19802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
1983 synonym to _S5_. Needed for some DSDTs.
1984
c32b51c9
VS
19852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Userspace ACPI parser debugging.
1988
1989 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
1990 headers and add relevant defines. Don't include standard headers.
1991 (main) [GRUB_DSDT_TEST]: New function.
1992 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
1993 Don't declare functions.
1994
fbfbeb39
VS
19952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 Remove dead grub_efi_mm_fini.
1998
1999 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2000 (ALLOCATED_PAGES_SIZE): Likewise.
2001 (MAX_ALLOCATED_PAGES): Likewise.
2002 (allocated_pages): Likewise.
2003 (grub_efi_allocate_pages): Don't record allocated pages.
2004 (grub_efi_free_pages): Likewise.
2005 (grub_efi_mm_init): Likewise.
2006 (grub_efi_mm_fini): Removed.
2007
65f7ed7c
VS
20082010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2011 (grub_efi_mm_init): Take into account the memory map size increase.
2012
24977b44
VS
20132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2016 (serial_hw_put): Wait based on real time rather than port reads. Don't
2017 roken ports.
2018 * include/grub/serial.h (grub_serial_port): New field broken.
2019
1eb01cd2
RM
20202010-10-16 Robert Millan <rmh@gnu.org>
2021
2022 * grub-core/kern/emu/misc.c
2023 (grub_make_system_path_relative_to_its_root): Fix premature return
2024 when processing non-root ZFS filesystems.
5f8b440b 2025 Reported by Sergio Talens-Oliag.
1eb01cd2 2026
2d5fed60
RM
20272010-10-15 Robert Millan <rmh@gnu.org>
2028
2029 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2030 guarantee compressed ones are processed first.
2031
d0f4c1ea
VS
20322010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2035 grub_efiemu_autocore.
2036
d87c681f
VS
20372010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2040 rather than 0x1b.
2041 (grub_console_getkey): Use correct jae opcode rather than ja.
2042
219b3564
RM
20432010-10-12 Robert Millan <rmh@gnu.org>
2044
2045 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2046 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2047 variable. All references updated.
2048
2049 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2050
20c6bb7e
VS
20512010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2052
2053 Correctly distinguish mdraid flavours.
2054
2055 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2056 (insert_array): New argument raid.
2057 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2058 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2059 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2060
74baff84
VS
20612010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2064 handling of special keys.
2065
3ef068df 20662010-10-02 Aleš Nesrsta <starous@volny.cz>
2067
c7980ad9
VS
2068 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2069 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 2070
a9455194 20712010-10-02 Aleš Nesrsta <starous@volny.cz>
2072
c7980ad9
VS
2073 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2074 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2075 users updated.
a9455194 2076 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 2077 Use right endpoint when querying descriptor.
a9455194 2078
441cfe65
VS
20792010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 Clear out 0x80 color bit on EFI.
2082 Tested by: decoder
2083 Reported by: decoder and meta tech.
2084
2085 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2086 (grub_console_setcolorstate): Clear out 0x80 bit.
2087 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2088 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2089 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2090
bf26bcc4
VS
20912010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2094 Set to "auto".
2095
6e3c515d
VS
20962010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2099 mo_file after freeing.
2100
e6d983ba
VS
21012010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2104
74ccb5b5
VS
21052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2108 flags.
2109
17821956
VS
21102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2113 usage.
2114
ee74fa48
VS
21152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2118
2119 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2120 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2121 and terminfo.h when needed.
2122 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2123 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2124 (terminfo): Enable only on terminfokernel.
2125 (extcmd): Likewise.
2126 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2127 * include/grub/lib/arg.h: Likewise.
2128 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2129 incorrect usage of ->.
2130
aa438e68
VS
21312010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2134 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2135
57994012
VS
21362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 Fix coreboot compilation.
2139
2140 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2141 Take VBE info into account even if only text is supported.
2142 (fill_vbe_info): Take into account the case when only VGA text
2143 is supported.
2144 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2145 on coreboot, multiboot and qemu.
2146
2a406611
VS
21472010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2150 debug messages.
2151 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2152
d33613fc
VS
21532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2156 parameters.
2157
44a1b432
VS
21582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2161 if they were BSD-style.
2162
edde54e6
VS
21632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/boot/i386/pc/lnxboot.S: Replace
2166 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2167 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2168
b65830fa
VS
21692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 Write embedding zone using Reed-Solomon.
2172
2173 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2174 * grub-core/Makefile.am (rs_decoder.S): New target.
2175 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2176 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2177 (multiboot): Move to RS part.
2178 (post_reed_solomon): New label.
2179 (grub_boot_drive): Move to non-RS part since it's modified in memory
2180 on boot.
2181 Include rs_decoder.S.
2182 * grub-core/lib/reed_solomon.c: New file.
2183 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2184 New definition.
2185 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2186 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2187 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2188 * include/grub/partition.h (grub_partition_map): Change prototype of
2189 embed to allow returning additional sectors.
2190 * include/grub/reed_solomon.h: New file.
2191 * util/grub-setup.c (setup): Handle Reed-Solomon.
2192
0b4b227f
CW
21932010-09-28 Colin Watson <cjwatson@ubuntu.com>
2194
2195 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2196 i386 and x86-64 definedness tests.
2197
f772623b
YB
21982010-09-27 Yves Blusseau <blusseau@zetam.org>
2199
2200 Fix generation of kernel_syms.lst
2201
2202 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2203 ASM_PREFIX
2204
8e57a6ca
RM
22052010-09-26 Robert Millan <rmh@gnu.org>
2206
2207 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2208
2209 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2210 the pool is an array of devices, iterate through it and return the
2211 first device that passes a stat() test (instead of blindly returning
2212 the first one).
2213
f9130836
RM
22142010-09-26 Robert Millan <rmh@gnu.org>
2215
2216 Build fixes for GNU/kFreeBSD.
2217
2218 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2219 to programs that require ZFS conversion.
2220 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2221 kernels that don't have FLOPPY_MAJOR.
2222
96510faf
BC
22232010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2224
2225 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2226
449333eb
BC
22272010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2228
2229 Fix grub-emu build.
2230
2231 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2232 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2233 mdraid09 and mdraid1x.
2234
e1fd1939
CW
22352010-09-24 Colin Watson <cjwatson@ubuntu.com>
2236
2237 Re-enable grub-extras.
2238
2239 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2240 avoid confusing Automake. Run autogen only twice, once for the top
2241 level and once for grub-core. Add Makefile.util.def and
2242 Makefile.core.def from extra modules to the appropriate autogen
2243 invocations. If Makefile.common exists in an extra module, include
2244 it in both Makefile.util.am and grub-core/Makefile.core.am;
2245 similarly, include any Makefile.util.common file in Makefile.util.am
2246 and any Makefile.core.common file in grub-core/Makefile.core.am.
2247 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2248 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2249 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2250 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2251
2252 * gentpl.py (gvar_add): Turn GVARS into a set.
2253 (global_variable_initializers): Sort global variables on output.
2254 (vars_init): New function.
2255 (first_time): Likewise.
2256 (library): Ensure that non-global variable initialisations are
2257 emitted before the first time we emit code for a library block.
2258 Append to variables rather than setting them. Only emit
2259 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2260 each conditional path.
2261 (program): installdir() emits an Autogen macro, so must be passed to
2262 var_add rather than gvar_add.
2263 (data): Likewise.
2264 (script): Likewise.
2265 (rules): New function, centralising handling for different target
2266 types. Set up Guile association lists for first_time and vars_init,
2267 and send most output to a diversion so that variable initialisations
2268 can be emitted first.
2269 (module_rules): Use new rules function.
2270 (kernel_rules): Likewise.
2271 (image_rules): Likewise.
2272 (library_rules): Likewise.
2273 (program_rules): Likewise.
2274 (script_rules): Likewise.
2275 (data_rules): Likewise.
2276
2277 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2278
2279 * .bzrignore: Add contrib and grub-core/contrib. Remove
2280 grub-core/Makefile.gcry.am.
2281
1d12cf29
YB
22822010-09-24 Yves Blusseau <blusseau@zetam.org>
2283
2284 * grub-core/lib/LzFind.c: Add missing include.
2285 * grub-core/lib/LzmaEnc.c: Likewise.
2286 * grub-core/script/lexer.c: Likewise.
2287 * grub-core/script/yylex.l: Likewise.
2288 * util/grub-macho2img.c: Likewise.
2289 * util/grub-menulst2cfg.c: Likewise.
2290 * util/grub-mklayout.c: Likewise.
2291 * util/grub-mkpasswd-pbkdf2.c
2292 * util/grub-mkrelpath.c: Likewise.
2293 * util/resolve.c: Likewise.
2294
dd363028
BC
22952010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2296
2297 * Makefile.util.def (example_unit_test): Add
2298 grub-core/gnulib/libgnu.a.
2299
f5a109e2
GS
23002010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2301
2302 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2303
6d0fa83c
VS
23042010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2305
2306 Support xz compression on yeeloong.
2307
2308 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2309 * configure.ac: Check for LZMA.
2310 * grub-core/Makefile.core.def (xz_decompress): New target.
2311 (none_decompress): Likewise.
2312 * grub-core/boot/decompressor/minilib.c: New file.
2313 * grub-core/boot/decompressor/none.c: Likewise.
2314 * grub-core/boot/decompressor/xz.c: Likewise.
2315 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2316 * grub-core/kern/mips/cache_flush.S: Likewise.
2317 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2318 * grub-core/kern/mips/startup.S: Move first stage to ...
2319 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2320 nomacro.
2321 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2322 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2323 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2324 Allocate statically.
2325 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2326 Allocate statically or use scratch. Don't check CRC32.
2327 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2328 Allocate statically. Don't check CRC32.
2329 * include/grub/decompressor.h: New file.
2330 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2331 Removed.
2332 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2333 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2334 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2335 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2336 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2337 * util/grub-mkimage.c (grub_compression_t): New type.
2338 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2339 (image_target_desc): New field default_compression.
2340 (image_targets): Adjust yeeloong targets.
2341 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2342 (compress_kernel): New parameter comp.
2343 (generate_image): Likewise. Handle new compression case.
2344 (options): New option --compression
2345 (help): Likewise.
2346 (main): Handle new option.
2347
1b655af6
GS
23482010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2349
2350 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2351
8f03f0b5
CW
23522010-09-22 Colin Watson <cjwatson@ubuntu.com>
2353
2354 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2355 typo in __i386__ conditional.
2356
7835dfd3
VS
23572010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2360 include.
2361
e255597e
VS
23622010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2363
6d0fa83c 2364 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
2365
2366 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2367 new tags as supported.
2368 (acpiv2_size): New function.
2369 (grub_multiboot_get_mbi_size): Take new tags into account.
2370 (grub_multiboot_make_mbi): Add new tags.
2371 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 2372
6cc14051 23732010-09-21 Aleš Nesrsta <starous@volny.cz>
2374
2375 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2376 Added missing configuration of USB device.
2377
df7769d8
CW
23782010-09-21 Colin Watson <cjwatson@ubuntu.com>
2379
2380 * grub-core/normal/menu_entry.c (run): Make sure we always return
2381 a value.
2382
b031012d
CW
23832010-09-21 Colin Watson <cjwatson@ubuntu.com>
2384
2385 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2386 NumberOfPages is UINT64 according to the UEFI specification, not
2387 UINTN. Fix printf format.
2388
174de8f3
CW
23892010-09-21 Colin Watson <cjwatson@ubuntu.com>
2390
2391 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2392 `err' to grub_usb_err_t.
2393 Reported and tested by: KESHAV P.R.
2394
d7dbe923
CW
23952010-09-21 Colin Watson <cjwatson@ubuntu.com>
2396
2397 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2398 tpart non-const, so that we can assign to it. (Since this is a
2399 typedef, the constness refers to the pointer rather than what it
2400 points to.)
2401
8d5e2af3
CW
24022010-09-21 Colin Watson <cjwatson@ubuntu.com>
2403
2404 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2405 $(top_srcdir)/grub-core/gnulib as well as
2406 $(top_builddir)/grub-core/gnulib.
2407 Reported by: KESHAV P.R.
2408
5c527783
CW
24092010-09-21 Colin Watson <cjwatson@ubuntu.com>
2410
2411 * util/grub-install.in: Fix the bootloader ID option to be
2412 consistently --bootloader-id, not --bootloader_id.
2413 Reported by: KESHAV P.R.
2414
d309a16e
CW
24152010-09-21 Colin Watson <cjwatson@ubuntu.com>
2416
2417 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2418 check hash checksum." consistently translatable.
2419
b830cd16
YB
24202010-09-21 Yves Blusseau <blusseau@zetam.org>
2421
2422 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2423 $(top_builddir).
2424
c4fe27a8
CW
24252010-09-21 Colin Watson <cjwatson@ubuntu.com>
2426
2427 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2428 (GRUB_MOD_INIT): Register sha1sum command.
2429 (GRUB_MOD_FINI): Unregister sha1sum command.
2430
a4c1d277
YB
24312010-09-21 Yves Blusseau <blusseau@zetam.org>
2432
2433 Keep boot and grub directory names in sync with utils scripts
2434
2435 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2436 * config.h.in: Add previous macros.
2437 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2438 * util/grub-install.in: Use $bootdir and $grubdir variables.
2439
4eff79d2
CW
24402010-09-21 Colin Watson <cjwatson@ubuntu.com>
2441
2442 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2443 convert partition names to disk names if the new `convert' parameter
2444 is set.
2445 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2446 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2447 disk in its own right. This can happen with Xen disk images.
2448
934d7e44
YB
24492010-09-21 Yves Blusseau <blusseau@zetam.org>
2450
2451 * util/grub-editenv.c: Update strings to avoid warnings when generating
2452 grub.pot file.
2453 * util/grub-setup.c: Likewise.
934d7e44 2454
df3367cc
VS
24552010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * configure.ac: Change version to 1.99~beta0.
2458
77a94e98
VS
24592010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2462 Add BADRAM.
2463 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2464 Likewise.
2465 * include/multiboot.h: Resynced with specification.
2466 * include/multiboot2.h: Likewise.
2467
269004c1
CW
24682010-09-21 Colin Watson <cjwatson@ubuntu.com>
2469
2470 Fix po directory handling.
2471
2472 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2473 * grub-core/gnulib/Makefile.am: Import gettext module.
2474 * m4/gnulib-cache.m4: Likewise.
2475 * m4/gnulib-comp.m4: Likewise.
2476 * m4/gettext.m4: New file, from gnulib.
2477 * m4/glibc2.m4: Likewise.
2478 * m4/iconv.m4: Likewise.
2479 * m4/intdiv0.m4: Likewise.
2480 * m4/intl.m4: Likewise.
2481 * m4/intldir.m4: Likewise.
2482 * m4/intlmacosx.m4: Likewise.
2483 * m4/intmax.m4: Likewise.
2484 * m4/inttypes-pri.m4: Likewise.
2485 * m4/lcmessage.m4: Likewise.
2486 * m4/lib-ld.m4: Likewise.
2487 * m4/lib-link.m4: Likewise.
2488 * m4/lib-prefix.m4: Likewise.
2489 * m4/lock.m4: Likewise.
2490 * m4/nls.m4: Likewise.
2491 * m4/po.m4: Likewise.
2492 * m4/printf-posix.m4: Likewise.
2493 * m4/progtest.m4: Likewise.
2494 * m4/threadlib.m4: Likewise.
2495 * m4/uintmax_t.m4: Likewise.
2496 * m4/visibility.m4: Likewise.
2497 * po/Makefile.am: Remove.
2498 * po/Makefile.in.in: New file, from gettext.
2499 ($(DOMAIN).pot-update): Support POTFILES-shell.
2500 * po/Makevars: New file.
2501 * po/POTFILES-shell: Rename to ...
2502 * po/POTFILES-shell.in: ... this. Update.
2503 * po/POTFILES: Rename to ...
2504 * po/POTFILES.in: ... this. Update.
2505 * po/Rules-quot: New file, from gettext.
2506 * po/boldquot.sed: Likewise.
2507 * po/en@boldquot.header: Likewise.
2508 * po/en@quot.header: Likewise.
2509 * po/insert-header.sin: Likewise.
2510 * po/quot.sed: Likewise.
2511 * po/remove-potcdate.sin: Likewise.
2512
3e0fa5d0
VS
25132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2516
ade9bd66
VS
25172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2518
2519 * util/grub.d/20_linux_xen.in: Use submenus.
2520
fc55cc4c
VS
25212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 Support submenus.
2524
2525 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2526 parameter submenu. All users updated.
2527 * grub-core/normal/main.c (free_menu): Rename to ...
2528 (grub_normal_free_menu): ... this. Made global.
2529 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2530 if requested.
2531 * grub-core/normal/menu_entry.c (screen): New field submenu.
2532 (make_screen): Set submenu.
2533 (run): Open new context if requested.
2534 * include/grub/menu.h (grub_menu_entry): New field submenu.
2535 * include/grub/normal.h (grub_normal_free_menu): New proto.
2536
600cedf7
VS
25372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 Menu entries extractor.
2540
2541 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2542 variants.
2543 (GRUB_MOD_INIT): Register new variants.
2544 (GRUB_MOD_FINI): Unregister new variants.
2545 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2546 into grub_cmd_legacy_source.
2547 (grub_cmd_legacy_source): Implement extractor variants.
2548 (GRUB_MOD_INIT): Register new variants.
2549 (GRUB_MOD_FINI): Unregister new variants.
2550 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
2551 as an extractor.
2552 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
2553 search as an extractor.
2554 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
2555 test as an extractor.
2556 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
2557 as an extractor.
2558 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
2559 (grub_env_new_context): New function.
2560 (grub_env_context_open): Likewise.
2561 (grub_env_extractor_open): Likewise.
2562 (grub_env_extractor_close): Likewise.
2563 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2564 grub_extractor_level.
2565 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
2566 * include/grub/env.h (grub_env_extractor_open): New proto.
2567 (grub_env_extractor_close): Likewise.
2568 * include/grub/normal.h (grub_extractor_level): New external variable.
2569
7bda3a87
VS
25702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 Make cutmem accept a region specification.
2573 Suggested by: Samuel Thibault
2574
2575 * grub-core/mmap/mmap.c (parsemem): New function.
2576 (grub_cmd_cutmem): Handle new arguments.
2577
2ea57f88
VS
25782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 New command cutmem.
2581
2582 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
2583 (GRUB_MOD_INIT): Register new command.
2584 (GRUB_MOD_FINI): Unregister new command.
2585
74342e31
VS
25862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Support some annoying BSD and Minix subpartitions.
2589
2590 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
2591 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2592 Properly handle concatenation.
2593 * grub-core/kern/device.c (grub_device_iterate): Likewise.
2594 * grub-core/normal/completion.c (iterate_partition): Likewise.
2595 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
2596 contain partition. All users updated.
2597 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
2598 struct.
2599 (grub_openbsdlabel_partition_map): Likewise.
2600 (bsdlabel_partition_map_iterate): Rename to ..
2601 (iterate_real): ... this. New arguments sector, freebsd and pmap.
2602 (bsdlabel_partition_map_iterate): New function.
2603 (netopenbsdlabel_partition_map_iterate): Likewise.
2604 (netbsdlabel_partition_map_iterate): Likewise.
2605 (openbsdlabel_partition_map_iterate): Likewise.
2606 (GRUB_MOD_INIT): Register new partmaps.
2607 (GRUB_MOD_FINI): Unregister new partmaps.
2608 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
2609 (grub_partition_msdos_iterate): ... this. All users updated.
2610 Don't support embedding other than in a minix partition.
2611 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
2612 proto.
2613 * include/grub/partition.h (grub_partition): New field msdostype.
2614 * util/grub-install.in: Handle openbsd and netbsd types being in
2615 part_bsd module.
2616
1e8d555b
VS
26172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
2620
2621 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
2622 * grub-core/Makefile.core.def (mdraid): Renamed to ...
2623 (mdraid09): ... this.
2624 (mdraid1x): New module.
2625 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
2626 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2627
899d8af4
VS
26282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
2631 vsprintf.
2632
40901acd
CW
26332010-09-20 Colin Watson <cjwatson@ubuntu.com>
2634
2635 * grub-core/commands/efi/lsefimmap.c: Correct header.
2636 * NEWS: Update.
2637
dfe3b247
CW
26382010-09-20 Colin Watson <cjwatson@ubuntu.com>
2639
2640 * util/grub-editenv.c (argp_parser): Don't pass translated strings
2641 as printf format strings; the translations might contain '%' which
2642 could cause a crash.
2643 (main): Likewise.
2644 * util/grub-fstest.c (argp_parser): Likewise.
2645 * util/grub-setup.c (argp_parser): Likewise.
2646 (main): Likewise.
2647
3286a4b4
VS
26482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 Use argp in grub-fstest.
2651
2652 * util/grub-fstest.c: Don't include getopt.h.
2653 Include argp.h.
2654 (root): New variable.
2655 (args_count): Likewise.
2656 (nparm): Likewise.
2657 (num_disks): Likewise.
2658 (images): Likewise.
2659 (cmd): Likewise.
2660 (debug_str): Likewise.
2661 (args): Likewise.
2662 (options): Transformed to argp.
2663 (usage): Removed.
2664 (main): Split argument parsing into ...
2665 (argp_parser): ... this. Changed to argp format.
2666 (argp): New variable.
2667 (main): Use argp_parse.
2668
3dccbe4b
TG
26692010-09-20 Tristan Gingold <gingold@free.fr>
26702010-09-20 Robert Millan <rmh.grub@aybabtu.com>
26712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * grub-core/commands/efi/lsefimmap.c: New file.
2674 * grub-core/Makefile.core.def (lsefimmap): New module.
2675 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
2676
38c259a7
VS
26772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 Pause the execution (10s max) if any errors are displayed so the user
2680 has a chance to see them.
2681
2682 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
2683 (grub_print_error): Increment grub_err_printed_errors.
2684 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
2685 execution if any errors were displayed.
2686 (show_menu): Remove old code for pause.
2687 * grub-core/normal/menu_entry.c (run): Likewise.
2688 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
2689 users updated.
2690 (grub_normal_get_char_counter): Likewise.
2691 * include/grub/err.h (grub_err_printed_errors): New external variable.
2692 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
2693
f218b09c
VS
26942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 Support multiboot VBE info.
2697
2698 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2699 Take VBE info into account.
2700 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
2701 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2702 Call fill_vbe_info when appropriate.
2703 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
2704 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
2705 as supported.
2706 (grub_multiboot_get_mbi_size): Take new tags into account.
2707 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
2708 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
2709 Call fill_vbe_tag when appropriate.
2710 (grub_multiboot_make_mbi): Properly align tags.
2711 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
2712 function.
2713 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
2714 proto.
2715 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
2716
a9cc5438
VS
27172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 Suport manual terminal geometry specification.
2720
2721 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
2722 Save state in grub_ofconsole_terminfo_output.
2723 (grub_ofconsole_term): Use grub_terminfo_getwh.
2724 (grub_ofconsole_getwh): Removed.
2725 * grub-core/term/serial.c (grub_serial_getwh): Removed.
2726 (grub_serial_term): Use grub_terminfo_getwh.
2727 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
2728 (options): New struct.
2729 (OPTION_*): New enum.
2730 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
2731 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
2732 width and height.
2733 (grub_terminfo_getwh): New proto.
2734 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
2735
1a8fed20
VS
27362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 Handle legacy "terminal" command.
2739
2740 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
2741 and FLAG_TERMINAL.
2742 (legacy_commands): Add terminal and title.
2743 (grub_legacy_parse): Handle terminal. Simplify title handling.
2744
41e9c57d
VS
27452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
2748 parameters overflow.
2749
61c874c5
CW
27502010-09-20 Colin Watson <cjwatson@ubuntu.com>
2751
2752 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
2753 widthspec.h.
2754
2755 * docs/grub.texi (Shell-like scripting): Document `!'.
2756 (Network): Simplify using new i386-pc-pxe format. Mention
2757 grub-mknetdir.
2758
2759 * NEWS: Update.
2760
943682b4
CW
27612010-09-20 Colin Watson <cjwatson@ubuntu.com>
2762
2763 * Makefile.am (SUBDIRS): Restore "."; it's important to force
2764 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
2765 when needed.
2766
6d3d698d
CW
27672010-09-20 Colin Watson <cjwatson@ubuntu.com>
2768
2769 * grub-core/commands/efi/lsefisystab.c: Correct header.
2770 * grub-core/commands/efi/lssal.c: Likewise.
2771 * grub-core/commands/testload.c: Likewise.
2772
c982589f
CW
27732010-09-20 Colin Watson <cjwatson@ubuntu.com>
2774
2775 * util/grub-mkrescue.in: Add explicit root argument to --set to
2776 prevent the UUID being interpreted as an argument to --set (matches
2777 previous change to prepare_grub_to_access_device).
2778
a63c31b6
CW
27792010-09-20 Colin Watson <cjwatson@ubuntu.com>
2780
2781 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
2782 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
2783 the verbosity of later #ifs.
2784 (find_partition_start): Define this function on FreeBSD too.
2785 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
2786 function.
2787 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
2788 on FreeBSD.
2789
6439b8ee
YB
27902010-09-20 Yves Blusseau <blusseau@zetam.org>
2791
2792 * util/grub-editenv.c: Use argp instead of getopt.
2793
c5930ec8
YB
27942010-09-20 Yves Blusseau <blusseau@zetam.org>
2795
2796 * util/grub-setup.c: Use argp instead of getopt.
2797
15c69261
YB
27982010-09-20 Yves Blusseau <blusseau@zetam.org>
2799
2800 Use gnulib-tool to create gnulib source files.
2801
2802 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
2803 grub-core/gnulib directories
2804 * .bzignore: Add **/.deps and autogenerated gnulib files
2805 * configure.ac: Assign auxiliary directory to build-aux, add invocation
2806 of gnulib macros, add grub-core/gnulib/Makefile
2807 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
2808 include m4 directory to aclocal.
2809 * Makefile.util.def: Remove direct compilation of gnulib source files
2810 and use the new grub-core/gnulib/libgnu.a.
2811 * build-aux/config.rpath: move config.rpath from top directory to
2812 build-aux
2813 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
2814 in gnulib headers
2815 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
2816 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
2817 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
2818 header.
2819 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
2820 string.
2821
e511c9f5
YB
28222010-09-20 Yves Blusseau <blusseau@zetam.org>
2823
2824 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
2825 grub-core/genmod.sh and grub-core/gensyminfo.sh
2826
c2dede05
BC
28272010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
2828
2829 Add a test for echo command options.
2830
2831 * tests/grub_cmd_echo.in: New test.
2832 * Makefile.util.def: Rules for new test.
2833
c55f5018
SJ
28342010-09-20 Szymon Janc <szymon@janc.net.pl>
2835
2836 Remove crc.mod and move crc command to hashsum.mod.
2837 Remove lib/crc.c - users updated to use gcrypt implementation.
2838
2839 * grub-core/commands/crc.c: Removed.
2840 * grub-core/Makefile.core.def (crc): Module removed.
2841 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
2842 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
2843 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
2844 * grub-core/lib/crc.c: Removed.
2845 * include/grub/lib/crc.h: Removed.
2846 * Makefile.util.def (crc): Remove lib/crc.c
2847 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
2848 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
2849 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
2850 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
2851 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
2852 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
2853
e0337366
VS
28542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
2857
742f9232
VS
28582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 Split config.h for util and core.
2861
2862 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
2863 (ADDR32): Likewise.
2864 (DATA32): Likewise.
2865 (BSS_START_SYMBOL): Likewise.
2866 (END_SYMBOL): Likewise.
2867 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
2868 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
2869 * config.h.in: New file.
2870 * configure.ac: Use config-util.h as config define file.
2871 Rename MACHINE into GRUB_MACHINE. All users updated.
2872 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
2873 updated.
2874 (NESTED_FUNC_ATTR): Likewise.
2875 Substitue new variables.
2876 (COND_HAVE_ASM_USCORE): New conditional.
2877 * grub-core/Makefile.am (ASM_PREFIX): New variable.
2878 (kernel_syms.lst): Use ASM_PREFIX.
2879 * grub-core/kern/emu/console.c: Include config-util.h.
2880 * grub-core/kern/emu/misc.c: Likewise.
2881 * grub-core/kern/emu/mm.c: Likewise.
2882 * include/grub/emu/misc.h: Likewise.
2883 * include/grub/libgcc.h: Likewise.
2884
39feb0e8
VS
28852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
2888 constants usage.
2889 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
2890 Fix GRUB_TERM_KEY_* constants usage.
2891 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
2892
9af6dac3
VS
28932010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
2896 print pointer.
2897 * grub-core/bus/usb/uhci.c: Remove empty define.
2898 (grub_uhci_check_transfer): Add missing cast.
2899 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
2900 print pointer.
2901 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
2902 PRIuGRUB_SIZE.
2903 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
2904
d6d94820
VS
29052010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/Makefile.core.def (legacycfg): Add
2908 lib/i386/pc/vesa_modes_table.c on emu.
2909
3572f2b6
BC
29102010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2911
2912 Reduce number of temporary files generated by build system.
2913
2914 * grub-core/gencmdlist.sh: Removed.
2915 * grub-core/genfslist.sh: Removed.
2916 * grub-core/genhandlerlist.sh: Removed.
2917 * grub-core/genmodsrc.sh: Removed.
2918 * grub-core/genpartmaplist.sh: Removed.
2919 * grub-core/genparttoollist.sh: Removed.
2920 * grub-core/gentermiinallist.sh: Removed.
2921 * grub-core/genvideolist.sh: Removed.
2922
2923 * grub-core/genmod.sh.in: New file.
2924 * grub-core/gensyminfo.sh.in: New file.
2925
2926 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
2927 * conf/Makefile.extra-dist: Update with new files.
2928 * gentpl.py: Remove rules related to unnecessary temporary files.
2929 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
2930 and und-* files.
2931 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
2932 genmod.sh scripts.
2933 * grub-core/bus/usb/uhci.c: Remove empty #define.
2934 * grub-core/genmoddep.awk: Updated with new syminfo format.
2935 * util/bash-completion.d/Makefile.am: Add config.log to
2936 CLEANFILES.
2937
c836b030
YB
29382010-09-19 Yves Blusseau <blusseau@zetam.org>
2939
2940 * Makefile.util.def: Add forgotten $(LIBINTL) library.
2941
2f4e8053
BC
29422010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
2943
2944 * util/grub-mkconfig.in: Check the config script for syntax errors
2945 before saving.
2946
75831c34
CW
29472010-09-19 Colin Watson <cjwatson@ubuntu.com>
29482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 * Makefile.util.def (grub-install): Use util/grub-install.in on all
2951 platforms.
2952 * util/grub-install.in: Add EFI and IEEE1275 support.
2953 * util/i386/efi/grub-install.in: Removed.
2954 * util/ieee1275/grub-install.in: Likewise.
2955
eaf41b25
VS
29562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
2959 (grub_cmd_cmosclean): Likewise.
2960 (GRUB_MOD_INIT): Register command cmosclean.
2961 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
2962 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2963
1a9130dd
CPE
29642010-09-18 Carles Pina i Estany <carles@pina.cat>
29652010-09-18 Aleš Nesrsta <starous@volny.cz>
29662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 Add keyboard layouts support.
2969
2970 * Makefile.util.def (grub-mklayout): New file.
2971 (grub-kbdcomp): New script.
2972 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
2973 Add keyboard_layouts.h.
2974 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
2975 commands/boot.c on yeeloong.
2976 (keylayouts): New module.
2977 * grub-core/bus/usb/ohci.c
2978 * grub-core/bus/usb/uhci.c
2979 * grub-core/bus/usb/usbhub.c (rescan): New variable.
2980 (grub_usb_add_hub): Poll interrupt pipe for device handling.
2981 (attach_root_port): Likewise.
2982 (poll_nonroot_hub): Likewise.
2983 (grub_usb_poll_devices): Likewise.
2984 (detach_device): Close transfer.
2985 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
2986 function.
2987 (grub_usb_bulk_setup_readwrite): Likewise.
2988 (grub_usb_bulk_finish_readwrite): Likewise.
2989 * grub-core/commands/keylayouts.c: New file.
2990 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
2991 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
2992 aliases.
2993 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
2994 support scancode 2.
2995 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
2996 * include/grub/keyboard_layouts.h: New file.
2997 * util/grub-mklayout.c: New file.
2998 * util/grub-kbdcomp.in: Likewise.
2999
a1d84a5e
VS
30002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 Unify memory types.
3003
3004 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3005 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3006 types.
3007 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3008 (grub_upper_mem): Likewise.
3009 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3010 * include/grub/memory.h (grub_memory_type_t): New enum.
3011 All users updated.
3012
9696382e
VS
30132010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 * grub-core/Makefile.core.def (lsapm): New module.
3016 * grub-core/commands/i386/pc/lsapm.c: New file.
3017 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3018 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3019 Likewise.
3020 * include/grub/i386/pc/apm.h: New file.
3021 * include/multiboot.h (multiboot_apm_info): New struct.
3022
30232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 GRUB-legacy configuration file support.
3026
3027 * Makefile.util.def (grub-menulst2cfg): New util.
3028 * docs/man/grub-menulst2cfg.h2m: New file.
3029 * grub-core/Makefile.core.def (legacycfg): New module.
3030 * grub-core/commands/legacycfg.c: New file.
3031 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3032 (grub_normal_add_menu_entry): ... this.
3033 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3034 (grub_normal_set_password): ...this.
3035 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3036 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3037 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3038 * grub-core/lib/legacy_parse.c: New file.
3039 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3040 * include/grub/i386/pc/vesa_modes_table.h: New file.
3041 * include/grub/legacy_parse.h: Likewise.
3042 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3043 * util/grub-menulst2cfg.c: New file.
3044
bf8d1338
CW
30452010-09-17 Colin Watson <cjwatson@ubuntu.com>
3046
3047 * grub-core/kern/emu/hostdisk.c
3048 (convert_system_partition_to_system_disk): Initialise node.
3049
9c0bad2e
CW
30502010-09-17 Colin Watson <cjwatson@ubuntu.com>
3051
3052 * grub-core/kern/emu/hostdisk.c
3053 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3054 leak.
3055 Reported and based on patch by: Modestas Vainius.
3056
a939d135
CW
30572010-09-17 Colin Watson <cjwatson@ubuntu.com>
3058
3059 Fix DM-RAID probing with recent versions of device-mapper udev
3060 rules.
3061
3062 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3063 canonicalise device paths under /dev/mapper/.
3064 (convert_system_partition_to_system_disk): Compare the
3065 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3066 path, since device nodes under /dev/mapper/ are often symlinks.
3067
0f7ee3c9
YB
30682010-09-17 Yves Blusseau <blusseau@zetam.org>
3069
3070 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3071
10854d0d
YB
30722010-09-16 Yves Blusseau <blusseau@zetam.org>
3073
3074 * configure.ac: Avoid some annoying error messages if freetype-config
3075 program is not found.
3076
108538d8
CW
30772010-09-16 Colin Watson <cjwatson@ubuntu.com>
3078
3079 Support RAID on virtio devices, and others.
3080
3081 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3082 Rename to ...
3083 [__MINGW32__] (grub_find_device): ... this.
3084 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3085 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3086 reasonable default if dir is NULL.
3087 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3088 ...
3089 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3090 (grub_guess_root_device): Update callers.
3091 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3092
3093 * util/raid.c (grub_util_getdiskname): Remove.
3094 (grub_util_raid_getmembers): Use grub_find_device rather than
3095 grub_util_getdiskname.
3096
e5bfc130
CW
30972010-09-16 Colin Watson <cjwatson@ubuntu.com>
3098
3099 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3100 needing to be compiled with serial support.
3101 (ls): Indicate that multiple files are accepted.
3102 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3103 indicate that multiple files are accepted.
3104
be458ae2
CW
31052010-09-16 Colin Watson <cjwatson@ubuntu.com>
3106
3107 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3108 libgrub_a_init.c, and util/bash-completion.d/grub.
3109
cb731b5e
VS
31102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * util/grub-setup.c (setup): Fix incorrect container semantics.
3113
35139e8a
VS
31142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3117 misusage.
3118 Reported by: J. Nick Terry
3119
e50fca4a
VS
31202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 Move embedding routines to partmap sources files.
3123
3124 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3125 [GRUB_UTIL]: New variable.
3126 (gpt_partition_map_iterate): Set part.parent.
3127 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3128 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3129 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3130 New function.
3131 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3132 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3133 (grub_partition_map) [GRUB_UTIL]: New field embed.
3134 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3135 (setup): Use ->embed.
3136
f00478b7
VS
31372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3140 function.
3141 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3142 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3143
2b94e3ff
YB
31442010-09-15 Yves Blusseau <blusseau@zetam.org>
3145
3146 Add function to get completions from usage.
3147
3148 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3149 completions from usage. Use LC_ALL=C to get options properly.
3150
2e04a006
VS
31512010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3152
3153 * grub-core/gnulib/basename-lgpl.c: Imported.
3154 * grub-core/gnulib/basename.c: Likewise.
3155 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3156 * grub-core/gnulib/dirname.c: Likewise.
3157 * grub-core/gnulib/dirname.h: Likewise.
3158 * grub-core/gnulib/stripslash.c: Likewise.
3159
5dcdf93a
VS
31602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * grub-core/gnulib/error.c: Resynced.
3163 * grub-core/gnulib/getopt.c: Likewise.
3164 * grub-core/gnulib/getopt_int.h: Likewise.
3165 * grub-core/gnulib/regex.h: Likewise.
3166 * grub-core/gnulib/regex_internal.c: Likewise.
3167 * grub-core/gnulib/regex_internal.h: Likewise.
3168
014f47b7
SJ
31692010-09-15 Szymon Janc <szymon@janc.net.pl>
3170
3171 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3172 CRC calculations and validity checks.
3173 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3174 calculations.
3175
dd521a4a
SJ
31762010-09-15 Szymon Janc <szymon@janc.net.pl>
3177
3178 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3179
79c4eeb9
VS
31802010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 Fix incorrect echo options handling.
3183 Reported by: Yves Blusseau.
3184
3185 * include/grub/command.h (grub_command_flags_t): New flags
3186 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3187 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3188 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3189
ed80f7d5
VS
31902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3193 users updated.
3194 (GRUB_COMMAND_FLAG_MENU): Likewise.
3195 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3196 (GRUB_COMMAND_FLAG_TITLE): Removed.
3197 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3198 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3199 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3200 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3201 (grub_command_flags_t): New enum. All users updated.
3202
5fe7620a
SG
32032010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3204
3205 Fix solaris compilation.
3206
3207 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3208 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3209 (grub-emu-list): Likewise.
3210
545b752f
VS
32112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 Remove deprecated root command.
3214
3215 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3216 updated.
3217
6c1a338c
VS
32182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * util/i386/pc/grub-setup.c: Merge this ...
3221 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3222 * util/grub-setup.c: ... into this.
3223 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3224 New struct.
3225
32262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3229 possible.
3230
d2ea4551
VS
32312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3234 allocate p.
3235
3c3b5040
VS
32362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3239 explicit root argument to set to prevent UUID to be interpreted as
3240 argument to set.
3241
b71c3fae
VS
32422010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3245
275433e6
VS
32462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 Don't export grub_gate_a20.
3249
3250 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3251 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3252 to ...
3253 (grub_gate_a20): ... this. All users updated.
3254 * include/grub/i386/pc/init.h: Removed. All users updated.
3255
a5dbb1f1
VS
32562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Create euro.pf2 which supports most European languages.
3259
3260 * Makefile.am (grubdata_DATA): Add euro.pf2.
3261 (euro.pf2): New target.
3262 (CLEANFILES): Add euro.pf2.
3263
62a747cb
VS
32642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * configure.ac: Disable emu-usb by default to prevent inadvertent
3267 device takeover.
3268
608e43b1
VS
32692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Disable usbserial on grub-emu since our libusb code isn't good enough
3272 yet.
3273
3274 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3275 (usbserial_pl2303): Likewise.
3276 (usbserial_ftdi): Likewise.
3277
94564f81
VS
32782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * include/grub/disk.h (grub_disk): Remove has_partitions.
3281 All users updated.
3282 * disk/loopback.c (grub_loopback): Remove has_partitions.
3283 All users updated.
3284 (options): Remove partitions. All users updated.
3285 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3286 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3287 actual partition table is found.
3288
3352800b
VS
32892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 Remove readability checks (too many false negatives).
3292
3293 * util/grub-install.in: Remove readability checks.
3294 * util/grub-mkconfig.in: Likewise.
3295 * util/grub.d/10_hurd.in: Likewise.
3296 * util/grub.d/10_kfreebsd.in: Likewise.
3297 * util/grub.d/10_linux.in: Likewise.
3298 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3299 way.
3300
2419f17a
VS
33012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 Enable acpi shutdown on all ACPI platforms.
3304
3305 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3306 on coreboo, multiboot and EFI.
3307 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3308 (grub_acpi_halt): Likewise.
3309 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3310 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3311 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3312 * grub-core/lib/i386/halt.c (grub_halt)
3313 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3314
0575c7c3
VS
33152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3318 context.
3319
54ac3cd1
VS
33202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3323 * grub-core/video/efi_uga.c: Likewise.
3324
b2a30ac5
VS
33252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 Filter devaliases and never open same device twice.
3328
3329 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3330 (last_ihandle): Likewise.
3331 (ofdisk_hash_ent): New member shortest.
3332 (ofdisk_hash_add): Add canonical path too.
3333 (scan): New function.
3334 (grub_ofdisk_iterate): Iterate over hashed entries.
3335 (compute_dev_path): Don't add :0.
3336 (grub_ofdisk_open): Don't really open the disk.
3337 (grub_ofdisk_close): Avoid closing unrelated disk.
3338 (grub_ofdisk_read): Implement reopen logic.
3339 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3340 New function.
3341 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3342 New proto.
3343
fb53b340
VS
33442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 Fix sparc64.
3347
3348 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3349 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3350 right address. Add sparc64_ieee1275_ldflags.
3351 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3352 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3353 to grub_host_to_target_addr
3354 (load_image): Likewise.
3355
f452b040
VS
33562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3357
3358 * grub-core/normal/completion.c (complete_file): Handle device
3359 containing slash.
3360 Fix based on patch by Doug Nazar.
3361
9b5b2541
VS
33622010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3363
3364 grub-mknetdir script.
3365
3366 * Makefile.util.def (grub-mknetdir): New module.
3367 * tests/util/grub-shell.in: Support boot=net
3368 * util/grub-mknetdir.in: New file.
3369
9d2be652
VS
33702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 videoinfo on non-vbe.
3373
3374 * grub-core/Makefile.core.def (vbeinfo): Removed.
3375 (vbetest): Removed.
3376 (videoinfo): New module.
3377 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3378 * grub-core/commands/i386/pc/vbetest.c: Removed.
3379 * grub-core/commands/videoinfo.c: New file.
3380 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3381 specification.
3382 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3383 as vbetest.
3384 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3385 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3386 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3387 mode_number. New parameter mode. All users updated.
3388 (grub_video_gop_iterate): New function.
3389 (grub_video_efi_gop): New member iterate.
3390 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3391 (grub_vbe_set_video_mode): Remove setting useless fields.
3392 (vbe2videoinfo): New function.
3393 (grub_video_vbe_iterate): Likewise.
3394 (grub_video_vbe_setup): Use vbe2videoinfo.
3395 (grub_video_vbe_print_adapter_specific_info): New function.
3396 (grub_video_vbe_adapter): New fields iterate and
3397 print_adapter_specific_info.
3398 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3399 All users updated.
3400 (grub_video_mode_info): New field mode_number.
3401 (grub_video_adapter): New fields iterate and
3402 print_adapter_specific_info.
3403
179503f5
TG
34042010-09-13 Tristan Gingold <gingold@free.fr>
34052010-09-13 Robert Millan <rmh.grub@aybabtu.com>
34062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * grub-core/commands/efi/lsefisystab.c: New file.
3409 * grub-core/commands/efi/lssal.c: Likewise.
3410 * grub-core/Makefile.core.def (lsacpi): New module.
3411 (lsefisystab): Likewise.
3412 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3413 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3414 (grub_efi_sal_system_table): New struct.
3415 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3416 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3417 (grub_efi_sal_system_table_platform_features): Likewise.
3418 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3419 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3420 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3421 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3422
cf9827de
VS
34232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3424
3425 Support explicit user claim that a device is BIOS-visible.
3426
3427 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3428 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3429 * grub-core/kern/emu/hostdisk.c
3430 (convert_system_partition_to_system_disk): Support mdX.
3431 (find_system_device): New parameter add. All users updated.
3432 (grub_util_biosdisk_is_present): New function.
3433 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3434 proto.
3435
53f0eb1f
VS
34362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 Search hints support.
3439
3440 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3441 All users updated.
3442
b23ffd70
YB
34432010-09-13 Yves Blusseau <blusseau@zetam.org>
3444
3445 Bash completion script for util commands
3446
3447 * Makefile.am: Add util/bash-completion.d directory
3448 * configure.ac: Likewise.
3449 * util/bash-completion.d/Makefile.am: New file.
3450 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3451
d547dc28
VS
34522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3453
3454 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3455 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3456 Reported by: Yves Blusseau.
3457
2fc8ccb9
VS
34582010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3461 partition size and offset.
3462
d8a84076
VS
34632010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3466
84fb3b3d
VS
34672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3470
768ec2e2
VS
34712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3474 (grub_xvasprintf): Likewise.
3475
4870900f
VS
34762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3477
3478 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3479
faca6bec
VS
34802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3483 args ending with NULL.
3484
34852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
3486
3487 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3488 pointer.
3489
3c70f225
SJ
34902010-09-11 Szymon Janc <szymon@janc.net.pl>
3491
3492 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3493
4df7996d
VS
34942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 Shutdown using ACPI.
3497
3498 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3499 * grub-core/commands/acpihalt.c: New file.
3500 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3501 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3502 (grub_acpi_halt): New proto.
3503 (GRUB_ACPI_SLP_EN): New const.
3504 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3505 (GRUB_ACPI_OPCODE_*): New enum.
3506 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3507
126b4c32
TG
35082010-09-11 Tristan Gingold <gingold@free.fr>
35092010-09-11 Robert Millan <rmh.grub@aybabtu.com>
35102010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * commands/lsacpi.c: New file.
3513 * grub-core/Makefile.core.def (lsacpi): New module.
3514 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3515 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3516 (grub_acpi_madt_entry_header): New struct.
3517 (grub_acpi_madt): Likewise.
3518 (grub_acpi_madt_entry_interrupt_override): Likewise.
3519 (grub_acpi_madt_entry_sapic): Likewise.
3520 (grub_acpi_madt_entry_lsapic): Likewise.
3521 (grub_acpi_madt_entry_platform_int_source): Likewise.
3522 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3523 (PRIuGRUB_UINT32_T): Likewise.
3524 (PRIxGRUB_UINT64_T): Likewise.
3525
1aa4fe88
VS
35262010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 Implement loading palette on ieee1275_fb.
3529
3530 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3531 (have_setcolors): Likewise.
3532 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3533 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3534 (grub_video_ieee1275_set_palette): Implement.
3535
25761e13
VS
35362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
35372010-09-11 Colin Watson <cjwatson@ubuntu.com>
3538
3539 * util/grub-install.in (grub_partition): New variable.
3540 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3541 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3542 Fixes a bug reported by Yves Blusseau.
3543
050abaea
VS
35442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3545
3546 Fix emu on mipsel.
3547
3548 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3549 =grub_cpu_flush_cache on all mips and not only yeeloong.
3550 * configure.ac (COND_mips): New conditional.
3551 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
3552 platforms.
3553 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
3554 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
3555 [GRUB_LINKER_HAVE_INIT]: New function.
3556 (grub_emu_post_init): Likewise.
3557 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
3558 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
3559 * include/grub/cache.h (_mips): Include mips/cache.h.
3560 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
3561 LVM and RAID prototypes.
3562 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
3563 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
3564 function.
3565
5ed7d816
CW
35662010-09-10 Colin Watson <cjwatson@ubuntu.com>
3567
3568 * util/grub-install.in: Don't try to verify core.img until after
3569 running grub-mkimage to create it.
3570
90367e04
RM
35712010-09-10 Robert Millan <rmh@gnu.org>
3572
3573 * util/grub.d/10_hurd.in: Add misc readability checks.
3574 * util/grub.d/10_kfreebsd.in: Likewise.
3575 * util/grub.d/10_linux.in: Likewise.
3576
c452fa66
CW
35772010-09-10 Colin Watson <cjwatson@ubuntu.com>
3578
3579 * util/grub-install.in: ${imgext} won't be defined here until the
3580 install branch is merged. For the meantime, only verify core.img on
3581 i386-pc and sparc64-ieee1275 platforms.
3582
c38fe9f4
RM
35832010-09-10 Robert Millan <rmh@gnu.org>
3584
3585 Solaris support in grub_find_zpool_from_dir(). Thanks
3586 Seth Goldberg for referring to getextmntent() facility.
3587
3588 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
3589 `sys/mkdev.h'.
3590 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
3591 `<sys/mnttab.h>'.
3592 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
3593 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
3594 method for finding zpool name.
3595
905f7773
CW
35962010-09-10 Colin Watson <cjwatson@ubuntu.com>
3597
3598 grub-fstest needs the host and hostfs modules while other utilities
3599 actively require those modules to be absent, so grub-fstest needs
3600 its own initialisation and finalisation code.
3601
3602 * Makefile.am (grub_fstest.pp): New target.
3603 (grub_fstest_init.lst): Likewise.
3604 (grub_fstest_init.c): Likewise.
3605 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
3606
fb90b546
RM
36072010-09-10 Robert Millan <rmh@gnu.org>
3608
3609 * configure.ac: Check for `struct statfs.f_fstypename' and
3610 `struct statfs.f_mntfromname'.
3611
3612 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
3613 kFreeBSD-specific code.
3614
66d4bea5
RM
36152010-09-10 Robert Millan <rmh@gnu.org>
3616
3617 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
3618 on ZFS. Now non-main filesystems are supported as / too.
3619
b6a690ee
CW
36202010-09-09 Colin Watson <cjwatson@ubuntu.com>
3621
3622 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
3623 and grub-core/disk/host.c to ...
3624 (grub-fstest): ... here. Having the host disk implementation
3625 present confuses grub-probe and other utility programs.
3626
3627 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
3628 when writing to a file, not when writing to stdout.
3629
8901b00c 36302010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
3631
3632 * tests/partmap_test.in: New test for partitions.
3633 * Makefile.util.def: Rules for new test.
3634
7bf45fdd
RM
36352010-09-09 Robert Millan <rmh@gnu.org>
3636
3637 * util/grub-probe.c (probe): Fix a pair of unhandled error
3638 conditions.
3639
4dfbc574
RM
36402010-09-09 Robert Millan <rmh@gnu.org>
3641
3642 Basic Btrfs support (detection and UUID).
3643
3644 * grub-core/fs/btrfs.c: New file.
3645 * Makefile.util.def (library): Register btrfs.c.
3646 * grub-core/Makefile.core.def: Likewise.
3647
6b8e78ae
RM
36482010-09-08 Robert Millan <rmh@gnu.org>
3649
3650 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
3651 with (optional) parameters to specify device and relative path.
3652 * util/grub-install.in: Use is_path_readable_by_grub() to
3653 verify readability of a few critical files.
3654 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
3655 verify readability of grub.cfg.new.
3656
27f21a8b
VS
36572010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 Split minix.mod into minix.mod and minix2.mod.
3660
3661 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
3662 * grub-core/Makefile.core.def (minix2): New module.
3663 * grub-core/fs/minix.c: Use definitions instead of runtime version
3664 checking.
3665 * grub-core/fs/minix2.c: New file.
3666
c0e53ea5
YB
36672010-09-08 Yves Blusseau <blusseau@zetam.org>
3668
3669 Add new --boot-directory option to replace --root-directory
3670
3671 * util/grub-install.in: Add new --boot-directory option
3672 * util/grub-reboot.in: Likewise.
3673 * util/grub-set-default.in: Likewise.
3674
b9fe6ea2
YB
36752010-09-08 Yves Blusseau <blusseau@zetam.org>
3676
3677 * util/grub-mkconfig.in: Use new variable.
3678
d87aedff
YB
36792010-09-08 Yves Blusseau <blusseau@zetam.org>
3680
3681 * configure.ac: Define some useful variables.
3682
e55e8495
VS
36832010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3686 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
3687 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
3688 Use terminfo and don't use cursor-on/cursor-off unless it's known
3689 to work.
3690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
3691 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
3692
6fa6d675
CW
36932010-09-08 Colin Watson <cjwatson@ubuntu.com>
3694
3695 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
3696 starts with "(,", fill the drive containing the loaded image in
3697 between those two characters, but expect that a full partition
3698 specification including partition map names will follow.
3699
92f2aef0
RM
37002010-09-08 Robert Millan <rmh@gnu.org>
3701
3702 * configure.ac: Remove `--enable-grub-fstest' option.
3703 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
3704
3705 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
3706 `grub-fstest' instead of `grub-probe' for readability verification.
3707 * util/grub-probe.c (probe): Remove readability verification kludge.
3708
99fd620d
RM
37092010-09-08 Robert Millan <rmh@gnu.org>
3710
3711 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
3712 initializing `GRUB_FS'.
3713
058e30ac 37142010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
3715
3716 Not command (!) support to GRUB script.
3717
3718 * tests/grub_script_not.in: New test.
3719 * Makefile.util.def: Rules for new test.
3720
3721 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3722 ! command as a special case.
3723 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
3724
b61d05ed 37252010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3726
058e30ac 3727 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
3728 grub_free.
b61d05ed 3729
4d69c786 37302010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3731
3732 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
3733
aa3119c4 37342010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
3735
3736 * docs/grub.texi (Shell-like scripting): Documentation for break,
3737 continue, shift and return commands.
3738
db0f7e3d
VS
37392010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 Rename CD-ROM to cd on BIOS.
3742
3743 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
3744 "cd".
3745 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
3746
88b87c93
VS
37472010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
3750 * util/grub-probe.c (main): Likewise.
3751 * util/i386/pc/grub-setup.c (main): Likewise.
3752 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
3753 Reported and debugged by: alexxy
3754
294f324d
VS
37552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
3758 diagnostic info.
3759
d7ee3441
JS
37602010-09-05 Jo Shields <directhex@apebox.org>
3761
3762 * util/grub.d/30_os-prober.in: Add missing classes.
3763
d7e06c1f
VS
37642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * docs/grub.texi (Theme file format): Document new position format.
3767
fc157e53
VS
37682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
3771 a table. Use @code instead of @verbatim.
3772
506e9a1c
CB
37732010-09-05 Colin D Bennett <colin@gibibit.com>
3774
3775 Gfxmenu documentation.
3776
3777 * docs/grub.texi (Theme file format): New chapter.
3778
f0aff67c
SJ
37792010-09-05 Szymon Janc <szymon@janc.net.pl>
3780
3781 * grub-core/Makefile.core.def (xzio): New module.
3782 * grub-core/io/xzio.c: New file.
3783 * grub-core/lib/xzembed/xz.h: New file (from xembed).
3784 * grub-core/lib/xzembed/xz_config.h: Likewise.
3785 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
3786 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
3787 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
3788 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
3789 * grub-core/lib/xzembed/xz_private.h: Likewise.
3790 * grub-core/lib/xzembed/xz_stream.h: Likewise.
3791 * include/grub/file.h (grub_file_filter_id): New compression filter
3792 GRUB_FILE_FILTER_XZIO.
3793
82a85062
VS
37942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
3797 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
3798 size.
3799
3579415d
VS
38002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
3803 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
3804
5124ae6d
VS
38052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 Uncompressed checksum support.
3808
3809 * grub-core/commands/hashsum.c (options): Add option --uncompress.
3810 (check_list): New parameter uncompress.
3811 (grub_cmd_hashsum): Handle --uncompress.
3812
9aadb3d1
VS
38132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 Reintroduce testload.
3816
3817 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
3818 from here ...
3819 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
3820 (GRUB_MOD_INIT): New function.
3821 (GRUB_MOD_FINI): Likewise.
3822 * grub-core/Makefile.core.def (testload): New module.
3823
a17792c3
SJ
38242010-09-05 Szymon Janc <szymon@janc.net.pl>
3825
3826 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
3827 (uint8_t): New type.
3828 (uint16_t): Likewise.
3829 (uint32_t): Likewise.
3830 (uint64_t): Likewise.
3831
b81e40a3
SJ
38322010-09-05 Szymon Janc <szymon@janc.net.pl>
3833
3834 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
3835
fc2ef117
VS
38362010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
3837
3838 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
3839 Made static.
3840 (grub_gzfile_open): Removed. All users updated.
3841 (GRUB_MOD_INIT): New function.
3842 (GRUB_MOD_FINI): Likewise.
3843 * grub-core/kern/file.c (grub_file_filters_all): New variable.
3844 (grub_file_filters_enabled): Likewise.
3845 (grub_file_open): Handle filters.
3846 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
3847 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
3848 * include/grub/file.h (grub_file_filter_id_t): New type.
3849 (grub_file_filter_t): Likewise.
3850 (grub_file_filters_all): New extern variable.
3851 (grub_file_filters_enabled): Likewise.
3852 (grub_file_filter_register): New inline function.
3853 (grub_file_filter_unregister): Likewise.
3854 (grub_file_filter_disable): Likewise.
3855 (grub_file_filter_disable_compression): Likewise.
3856 * include/grub/gzio.h: Removed.
3857
35ee15e0
BC
38582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3859
3860 Filename expansion support for wildcards in GRUB script.
3861
3862 * tests/grub_script_expansion.in: New test.
3863 * Makefile.util.def: Rule for new test.
3864
3865 * grub-core/commands/wildcard.c: New file, implements filename
3866 expansion support for GRUB script.
3867 * grub-core/Makefile.core.def: Rule update for regexp.mod.
3868 * grub-core/script/argv.c: Cosmetic changes.
3869 * grub-core/script/execute.c (grub_script_arglist_to_argv):
3870 Refactored to perform wildcard expansion on arguments.
3871 * include/grub/script_sh.h (grub_script_wildcard_translator): New
3872 struct.
3873
3874 * tests/util/grub-shell.in: Fix quoting for read input.
3875
5f0c4aca
BC
38762010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3877
3878 Support for updating environment variables with matched substrings
3879 of regexp.
3880
3881 * tests/grub_cmd_regexp.in: New test.
3882 * Makefile.util.def: Rule for new test.
3883
3884 * grub-core/commands/regexp.c: New option -s to update environment
3885 variables with regexp matches.
3886
3759a35f
SJ
38872010-09-04 Szymon Janc <szymon@janc.net.pl>
3888
3889 * include/grub/file.h (grub_file): New member not_easly_seekable.
3890 (grub_file_seekable): New inline function.
3891 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
3892 easily seekable.
3893 (grub_gzio_open): Set not_easly_seekable.
3894 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
3895 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
3896
ed8c6dec
BC
38972010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3898
3899 Support for options to appear multiple times on cmdline.
3900
3901 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
3902 * grub-core/commands/extcmd.c: Support for repeatable option.
3903 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
3904 repeatable option support.
3905
3906 Refactor menuentry into a regular command.
3907
3908 * grub-core/commands/menuentry.c: New file, menuentry command
3909 implementation.
3910 * grub-core/Makefile.core.def: Rule update for normal.mod.
3911 * grub-core/normal/main.c: Moved menuentry creation to
3912 grub-core/commands/menuentry.c.
3913 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
3914 (grub_menu_execute_entry_real): Removed.
3915 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
3916 function.
3917 (grub_script_execute_menuentry): Removed.
3918 * grub-core/script/parser.y (menuentry): Removed.
3919 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
3920 * grub-core/script/yylex.l (menuentry): Removed.
3921 * include/grub/menu.h (grub_menu_init): New prototype.
3922 (grub_menu_fini): New prototype.
3923 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
3924 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
3925 (grub_script_execute_sourcecode): New prototype.
3926
dacd0cf0
BC
39272010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3928
3929 "return" command for GRUB script functions.
3930
3931 * tests/grub_script_return.in: New test.
3932 * Makefile.util.def: Rules for new test.
3933
3934 * grub-core/script/execute.c (grub_script_return): New function.
3935 * grub-core/script/main.c: Register/unregister return commaond.
3936 * include/grub/script_sh.h (grub_script_return): New prototype.
3937
52e72f9d
BC
39382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3939
3940 "setparams" command to update positional parameters.
3941
3942 * tests/grub_script_setparams.in: New test.
3943 * Makefile.util.def: Rules for new test.
3944
3945 * grub-core/script/argv.c (grub_script_argv_make): New function.
3946 * grub-core/script/execute.c (replace_scope): New function.
3947 (grub_script_setparams): New function.
3948 * grub-core/script/lexer.c: Remove unused variables.
3949 * grub-core/script/main.c: Register/unregister setparams command.
3950 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
3951 (grub_script_setparams): New prototype.
3952
25b60c91
BC
39532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3954
3955 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
3956 grub_free order.
3957
37e7bf68
BC
39582010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
3959
3960 Support for passing block of commands as an argument to extcmds.
3961
3962 * Makefile.util.def: Rules for new test.
3963 * tests/grub_script_blockarg.in: New test.
3964 * grub-core/tests/test_blockarg.c: New file, block argument
3965 command used in the test.
3966
3967 * include/grub/extcmd.h (grub_extcmd_context): New struct.
3968 (grub_register_extcmd_prio): New function prototype.
3969 (grub_extcmd_dispatcher): New function prototype.
3970 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
3971 type.
3972 * include/grub/script_sh.h (struct grub_script): New members
3973 `children', `next_siblings' and `refcnt' for block arguments and
3974 reference counting.
3975 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
3976 (grub_script_arg): New member `script' for block argument.
3977 (grub_script_argv): New member `script' for block argument.
3978 (grub_parser_param): New member `scripts' for block argument.
3979 (grub_script_mem_free): New extern function prototype.
3980 (grub_script_ref): New function prototype.
3981 (grub_script_unref): New function prototype.
3982
3983 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
3984 extcmd form to support block arguments.
3985 * grub-core/script/argv.c: Block arguments support.
3986 * grub-core/script/execute.c: Likewise.
3987 * grub-core/script/lexer.c: Likewise.
3988 * grub-core/script/main.c: Likewise.
3989 * grub-core/script/script.c: Likewise.
3990 * grub-core/script/parser.y: Likewise. New `block' and `block0'
3991 non-terminals.
3992
3993 * grub-core/commands/acpi.c: Update extcmd implementations with
3994 grub_extcmd_context_t.
3995 * grub-core/commands/cat.c: Likewise.
3996 * grub-core/commands/echo.c: Likewise.
3997 * grub-core/commands/extcmd.c: Likewise.
3998 * grub-core/commands/hashsum.c: Likewise.
3999 * grub-core/commands/hdparm.c: Likewise.
4000 * grub-core/commands/help.c: Likewise.
4001 * grub-core/commands/hexdump.c: Likewise.
4002 * grub-core/commands/i386/cpuid.c: Likewise.
4003 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4004 * grub-core/commands/i386/pc/halt.c: Likewise.
4005 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4006 * grub-core/commands/iorw.c: Likewise.
4007 * grub-core/commands/keystatus.c: Likewise.
4008 * grub-core/commands/loadenv.c: Likewise.
4009 * grub-core/commands/ls.c: Likewise.
4010 * grub-core/commands/lspci.c: Likewise.
4011 * grub-core/commands/memrw.c: Likewise.
4012 * grub-core/commands/probe.c: Likewise.
4013 * grub-core/commands/search_wrap.c: Likewise.
4014 * grub-core/commands/setpci.c: Likewise.
4015 * grub-core/commands/sleep.c: Likewise.
4016 * grub-core/disk/loopback.c: Likewise.
4017 * grub-core/hello/hello.c: Likewise.
4018 * grub-core/loader/i386/bsd.c: Likewise.
4019 * grub-core/loader/xnu.c: Likewise.
4020 * grub-core/term/gfxterm.c: Likewise.
4021 * grub-core/term/serial.c: Likewise.
4022 * grub-core/tests/lib/functional_test.c: Likewise.
4023
888d1500
BC
40242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4025
4026 Multi-line quoted strings support.
4027
4028 * grub-core/script/lexer.c (append_newline): Removed.
4029 (grub_script_lexer_yywrap): Refactored.
4030 (grub_script_lexer_init): Refactored.
4031 * grub-core/script/yylex.l (yywrap): New function.
4032 (grub_lexer_resplit): New function.
4033 (grub_lexer_unput): New function.
4034 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4035 and resplit.
4036 * tests/grub_script_echo1.in: Added few more testcases.
4037
dda060dd
VS
40382010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/kern/misc.c: Don't add abort alias in utils.
4041 Reported by: echoline.
4042
6556eba9
BC
40432010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4044
4045 Add missing files into "make dist" tarball for other platforms.
4046
4047 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4048 * conf/Makefile.common (dist_noinst_DATA): New variable.
4049 * conf/Makefile.extra-dist: Added missing make dist files.
4050 * grub-core/Makefile.core.def: Likewise.
4051
c8e7bf5f
VS
40522010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 Compress grub_prefix.
4055
4056 * grub-core/boot/i386/pc/lnxboot.S: Use
4057 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4058 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4059 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4060 GRUB_MACHINE_PREFIX_END. All users updated.
4061 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4062 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4063 + 0x40.
4064 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4065 * util/grub-mkimage.c (image_target_desc): Change data_end to
4066 prefix_end. All users updated.
4067
a7c00cdb
VS
40682010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4069
4070 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4071 value.
4072 (grub_openbsd_boot): Likewise.
4073 (grub_netbsd_boot): Likewise.
4074 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4075 (grub_xnu_boot): Likewise.
4076
9f915872
VS
40772010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * configure.ac: Clean LIBS variable after tests.
4080
efa1bee7
CW
40812010-09-02 Colin Watson <cjwatson@ubuntu.com>
4082
4083 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4084
61d720e5
VS
40852010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4088 echo if libdevmapper will be used.
4089
ef8e0ec8
IT
40902010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4091
4092 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4093 constant for the same file.
4094
03e261d8
VS
40952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4098
c2a4eba6
CW
40992010-09-02 Colin Watson <cjwatson@ubuntu.com>
4100
4101 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4102 grub-core/*.pp.
4103
9056cbf3
CW
41042010-09-02 Colin Watson <cjwatson@ubuntu.com>
4105
4106 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4107 required by the boot protocol.
4108
4109 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4110 ebp and edi members.
4111 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4112 state.ebp and state.edi.
4113 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4114 %ebp and %edi according to grub_relocator32_ebp and
4115 grub_relocator32_edi respectively.
4116 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4117 and state.edi.
4118
529cc99a
VS
41192010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 Add i386-pc-pxe image target.
4122
4123 * util/grub-mkimage.c (image_target_desc): New enum value
4124 IMAGE_I386_PC_PXE.
4125 (image_targets): New target i386-pc-pxe.
4126 (generate_image): Handle i386-pc-pxe image.
4127
9a093920
VS
41282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 Fix grub_pxe_scan.
4131
4132 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4133 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4134 All users updated.
4135 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4136 (grub_pxe_pxenv): Correct type.
4137
f9cefc4e
CW
41382010-09-01 Colin Watson <cjwatson@ubuntu.com>
4139
4140 * NEWS: Document most of the important changes since 1.98.
4141
4066f57f
CW
41422010-09-01 Colin Watson <cjwatson@ubuntu.com>
4143
4144 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4145 generated manual page) a little.
4146
da2891f9
CW
41472010-09-01 Colin Watson <cjwatson@ubuntu.com>
4148
4149 * docs/grub.texi: Add myself as an author.
4150
ad717fae
VS
41512010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * Makefile.util.def (libgrub.a): Add missing sunpc.
4154 Reported by: Seth Goldberg.
4155
eefe8abd
VS
41562010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 Interrupt wrapping and code simplifications.
4159
9494ef9a
VS
4160 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4161 x86_noieee1275 which are functionaly equivalent in this case.
4162 (grub-install): Make source on each platform explicit. Enable on
4163 all noemu.
4164 * gentpl.py (x86_efi_pc): Removed group.
4165 (x86_noefi): Likewise.
4166 (i386_noefi): Likewise.
4167 (x86_noieee1275): Likewise.
4168 (i386_noieee1275): Likewise.
4169 (i386_noefi_noieee1275): Likewise.
4170 (i386_pc_qemu_coreboot): Likewise.
4171 (i386_coreboot_multiboot): Likewise.
4172 (i386_pc_coreboot_multiboot_qemu): Likewise.
4173 (x86_noefi_mips): Likewise.
4174 (noieee1275): Likewise.
4175 (ieee1275_mips): Likewise.
4176 (noemu_noieee1275): Likewise.
4177 (cmos): New group.
4178 (usb): Likewise.
4179 (videoinkernel): Likewise.
4180 (videomodules): Likewise.
eefe8abd 4181 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
4182 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4183 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4184 include/grub/loader.h, include/grub/msdos_partition.h,
4185 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4186 include/grub/machine/console.h, include/grub/machine/vga.h,
4187 include/grub/machine/vbe.h, include/grub/machine/init.h,
4188 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4189 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 4190 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
4191 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4192 * grub-core/Makefile.core.def (kernel): Explicit the source for
4193 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4194 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4195 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4196 Use videoinkernel tag.
4197 (usb): Enable on all usb.
4198 (usbserial_common): Likewise.
4199 (usbserial_pl2303): Likewise.
4200 (usbserial_ftdi): Likewise.
4201 (uhci): Enable on all x86.
4202 (ohci): Enable on all pci.
4203 (cmostest): Enable on all CMOS.
4204 (acpi): Include commands/acpi.c on all platforms.
4205 (halt): Add relevant lib/*/halt.c.
4206 (hdparm): Enable on all pci.
4207 (lspci): Likewise.
4208 (usbtest): Enable on all usb.
4209 (ata): Enable on all pci.
4210 (ata_pthru): Likewise.
4211 (usbms): Enable on all usb.
4212 (usb_keyboard): Likewise.
4213 (font): Use tag videomodules.
4214 (bufio): Likewise.
4215 (datetime): Use tag cmos. Enable on all noemu.
4216 (mmap): Use tags common and x86.
4217 (gfxterm): Use tag videomodules.
4218 (bitmap): Likewise.
4219 (bitmap_scale): Likewise.
4220 (video_fb): Likewise.
4221 (video): Likewise.
4222 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4223 adjust padding accordingly. All users updated.
4224 (grub_ohci_transaction): Fix bad format specification.
4225 (GRUB_MOD_INIT): Add asserts for struct size.
4226 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4227 (grub_alloc_td): Likewise.
4228 (grub_free_queue): Likewise.
4229 (grub_uhci_transfer): Likewise.
4230 (grub_uhci_transaction): Fix bad format specification.
4231 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4232 (grub_usb_bulk_readwrite): Likewise.
4233 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4234 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4235 Made static.
4236 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4237 Made static.
4238 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4239 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4240 Transformed into C.
4241 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4242 Moved from here ...
4243 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4244 ... here. Transformed into C. Made static.
4245 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4246 Moved from here ...
4247 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4248 ... here. Transformed into C. Made static.
4249 * grub-core/kern/i386/pc/startup.S
4250 (grub_biosdisk_check_int13_extensions): Moved from here ...
4251 * grub-core/disk/i386/pc/biosdisk.c
4252 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4253 Made static.
4254 * grub-core/kern/i386/pc/startup.S
4255 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4256 * grub-core/disk/i386/pc/biosdisk.c
4257 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4258 Transformed into C. Made static.
4259 * grub-core/kern/i386/pc/startup.S
4260 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4261 * grub-core/disk/i386/pc/biosdisk.c
4262 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4263 Transformed into C. Made static.
4264 * grub-core/kern/i386/pc/startup.S
4265 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4266 * grub-core/disk/i386/pc/biosdisk.c
4267 (grub_biosdisk_get_diskinfo_standard): ... here.
4268 Transformed into C. Made static.
4269 * grub-core/kern/i386/pc/startup.S
4270 (grub_biosdisk_get_num_floppies): Moved from here ...
4271 * grub-core/disk/i386/pc/biosdisk.c
4272 (grub_biosdisk_get_num_floppies): ... here.
4273 Transformed into C. Made static.
4274 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4275 New function.
4276 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4277 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4278 Transformed into C. Made static.
4279 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4280 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4281 Transformed into C. Made static.
4282 * grub-core/kern/i386/ieee1275/init.c: Removed.
4283 * grub-core/kern/i386/misc.S: Likewise.
4284 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4285 Splitted from here ...
4286 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4287 Transformed into C. Made static. All users updated.
4288 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4289 Transformed into C. Made static. All users updated.
4290 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4291 Moved from here...
4292 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4293 Transformed into C. Made static. All users updated.
4294 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4295 Moved from here...
4296 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4297 Transformed into C. Made static. All users updated.
4298 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4299 Removed (replaced by C version).
4300 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4301 Moved from here...
4302 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4303 Transformed into C. Made static.
4304 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4305 Moved from here...
4306 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4307 ... here. Transformed into C.
4308 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4309 Moved from here...
4310 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4311 ... here. Transformed into C.
4312 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4313 Moved from here...
4314 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4315 ... here. Transformed into C. Made static.
4316 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4317 Moved from here...
4318 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4319 ... here. Transformed into C.
21ed554b
VS
4320 * grub-core/kern/i386/pc/startup.S
4321 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4322 * grub-core/video/i386/pc/vbe.c
4323 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
4324 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4325 Moved from here...
4326 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4327 ... here. Transformed into C.
4328 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4329 Moved from here...
4330 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4331 ... here. Transformed into C.
4332 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4333 Moved from here...
4334 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4335 ... here. Transformed into C.
4336 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4337 Moved from here...
4338 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4339 ... here. Transformed into C.
4340 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4341 Moved from here...
4342 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4343 ... here. Transformed into C. Made static.
4344 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4345 Moved from here...
4346 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4347 ... here. Transformed into C. Made static.
4348 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4349 Moved from here...
4350 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4351 ... here. Transformed into C. Made static.
4352 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4353 pxe_rm_entry as third argument.
4354 (grub_bios_interrupt): New function.
4355 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4356 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4357 of calling grub_stop.
4358 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4359 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4360 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4361 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4362 * grub-core/lib/i386/halt.c: Moved from here ...
4363 * grub-core/lib/i386/halt.c: ... here.
4364 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4365 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4366 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4367 grub_stop_floppy.
4368 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4369 * include/grub/i386/coreboot/init.h: Removed.
4370 * include/grub/i386/multiboot/init.h: Likewise.
4371 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4372 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4373 * include/grub/i386/pc/int.h: New file.
4374 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4375 (grub_pxe_scan): Removed.
4376 (grub_pxe_call): Update prototype.
4377 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4378 prototypes.
4379 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4380 * include/grub/i386/qemu/init.h: Removed.
4381 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4382 noreturn.
4383 (grub_halt): Likewise.
4384 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4385 (grub_reboot): Likewise.
4386 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4387 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
4388 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4389
215dd471
RM
43902010-08-30 Robert Millan <rmh@gnu.org>
4391
4392 * NEWS: Document addition of ZFS support in `grub-install' and
4393 `grub-mkconfig'.
4394
ebd65b82
BC
43952010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4396
4397 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4398 dprintf output.
4399
11721d19
VS
44002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 Remove leftover embedding of font objects.
4403
4404 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4405 * util/grub-install.in (font): Removed.
4406 * util/grub-mkimage.c (generate_image): Remove font support. All users
4407 updated.
4408
37837d4e
VS
44092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Remove leftover embedding of font objects.
4412
4413 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4414 * util/grub-install.in (font): Removed.
4415 * util/grub-mkimage.c (generate_image): Remove font support. All users
4416 updated.
4417
b4c1aae0
VS
44182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4419
4420 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 4421 Reported by: Ian Turner
b4c1aae0 4422
8920a08d
VS
44232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4426 timeout to avoid indefinite boot stalling.
4427
f21db033
VS
44282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4431 (grub_env_write_color_highlight): Likewise.
4432
9a9de209
VS
44332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/normal/term.c (print_more): Return to normal and not
4436 to standard state after printing "---MORE---".
4437
3dca01d7
VS
44382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4441 Mask out the bit 0x80 since it has other meaning that specifiing color.
4442
0b986c40
VS
44432010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 New relocator. Allows for more kernel support and more straightforward
4446 loader writing.
4447
4448 * Makefile.am (BOOTTARGET): New variable.
4449 (QEMU32): Likewise.
4450 (linux.init.x86_64): New target.
4451 (linux.init.i386): Likewise.
4452 (multiboot.elf): Likewise.
4453 (kfreebsd.elf): Likewise.
4454 (kfreebsd.aout): Likewise.
4455 (pc-chainloader.elf): Likewise.
4456 (pc-chainloader.bin): Likewise.
4457 (ntldr.elf): Likewise.
4458 (ntldr.bin): Likewise.
4459 (multiboot2.elf): Likewise.
4460 (kfreebsd.init.x86_64): Likewise.
4461 (kfreebsd.init.i386): Likewise.
4462 (knetbsd.init.i386): Likewise.
4463 (kopenbsd.init.i386): Likewise.
4464 (knetbsd.init.x86_64): Likewise.
4465 (kopenbsd.init.x86_64): Likewise.
4466 (linux-initramfs.i386): Likewise.
4467 (linux-initramfs.x86_64): Likewise.
4468 (kfreebsd-mfsroot.i386.img): Likewise.
4469 (knetbsd.image.i386): Likewise.
4470 (kopenbsd.image.i386): Likewise.
4471 (kopenbsd.image.x86_64): Likewise.
4472 (knetbsd.miniroot-image.i386.img): Likewise.
4473 (kfreebsd-mfsroot.x86_64.img): Likewise.
4474 (knetbsd.image.x86_64): Likewise.
4475 (knetbsd.miniroot-image.x86_64.img): Likewise.
4476 (kfreebsd-mfsroot.i386.gz): Likewise.
4477 (bootcheck-kfreebsd-i386): Likewise.
4478 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4479 (bootcheck-kfreebsd-x86_64): Likewise.
4480 (knetbsd.miniroot-image.i386.gz): Likewise.
4481 (bootcheck-knetbsd-i386): Likewise.
4482 (bootcheck-kopenbsd-i386): Likewise.
4483 (bootcheck-kopenbsd-x86_64): Likewise.
4484 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4485 (bootcheck-knetbsd-x86_64): Likewise.
4486 (bootcheck-linux-i386): Likewise.
4487 (bootcheck-linux-x86_64): Likewise.
4488 (bootcheck-linux16-i386): Likewise.
4489 (bootcheck-linux16-x86_64): Likewise.
4490 (bootcheck-multiboot): Likewise.
4491 (bootcheck-multiboot2): Likewise.
4492 (bootcheck-kfreebsd-aout): Likewise.
4493 (bootcheck-pc-chainloader): Likewise.
4494 (bootcheck-ntldr): Likewise.
4495 (CLEANFILES): Add new targets.
4496 (BOOTCHECKS): New variable.
4497 (.PHONY): Add bootchecks.
4498 (SUCCESSFUL_BOOT_STRING): New variable.
4499 (BOOTCHECK_TIMEOUT): Likewise.
4500 (bootcheck): New target
4501 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4502 * configure.ac: Correct efiemu excuse.
4503 * docs/grub.texi (Supported kernels): New chapter.
4504 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4505 include/grub/mm_private.h. Simplify inclusion of
4506 include/grub/boot.h, include/grub/loader.h
4507 and include/grub/msdos_partition.h
4508 (KERNEL_HEADER_FILES) [i386_coreboot]:
4509 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4510 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4511 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4512 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4513 include/grub/machine/loader.h.
4514 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4515 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4516 extra_dist.
4517 (pci.mod): Enable on i386-multiboot.
4518 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4519 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4520 i386-qemu.
4521 (relocator.mod): Rewritten.
4522 (aout.mod): Enable on all x86.
4523 (bsd.mod): Likewise.
4524 (ntldr.mod): New module.
4525 (linux.mod): Use loader/i386/linux.c on all x86.
4526 (xnu.mod): Enable on all x86.
4527 (vga_text.mod): disable on EFI and QEMU.
4528 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4529 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4530 * grub-core/efiemu/loadcore.c: Likewise.
4531 * grub-core/efiemu/main.c: Likewise.
4532 (grub_efiemu_exit_boot_services): Removed.
4533 (grub_efiemu_finish_boot_services): Likewise.
4534 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4535 function.
4536 * grub-core/efiemu/i386/nocfgtables.c: New file.
4537 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4538 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4539 (grub_efi_finish_boot_services): Moved from here ...
4540 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4541 Fille finish memory map and related data.
4542 (finish_mmap_buf): New variable.
4543 (grub_efi_uintn_t finish_mmap_size): Likewise.
4544 (grub_efi_uintn_t finish_key): Likewise.
4545 (grub_efi_uintn_t finish_desc_size): Likewise.
4546 (grub_efi_uint32_t finish_desc_version): Likewise.
4547 (grub_efi_is_finished): Likewise.
4548 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4549 finished.
4550 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
4551 (grub_elf64_phdr_iterate): Likewise.
4552 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
4553 (grub_os_area_size): Likewise.
4554 (grub_machine_init): Don't reserve os area.
4555 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
4556 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4557 * grub-core/kern/i386/loader.S: Removed.
4558 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
4559 (grub_os_area_size): Likewise.
4560 (grub_machine_init): Don't reserve os area.
4561 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
4562 Don't call grub_dl_unload_all.
4563 Don't include loader.S.
4564 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
4565 Declare the memory after _end as available.
4566 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 4567 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 4568 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
4569 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
4570 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
4571 * include/grub/mm_private.h (grub_mm_header): ... here.
4572 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
4573 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
4574 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
4575 (grub_mm_region): ..here. Removed addr. Added pre_size.
4576 All users updated.
4577 * grub-core/kern/mm.c (base): Renamed to ...
4578 (grub_mm_base): ... this. Made global.
4579 (grub_real_malloc): Alloc from end of region.
4580 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
4581 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
4582 * grub-core/kern/powerpc/cache_flush.S: ... here.
4583 * grub-core/lib/efi/relocator.c: New file.
4584 * grub-core/lib/i386/relocator.c: Rewritten.
4585 * grub-core/lib/i386/relocator16.S: New file.
4586 * grub-core/lib/i386/relocator32.S: Likewise.
4587 * grub-core/lib/i386/relocator64.S: Likewise.
4588 * grub-core/lib/i386/relocator_asm.S: Rewritten.
4589 * grub-core/lib/i386/relocator_common.S: New file.
4590 * grub-core/lib/ieee1275/relocator.c: Likewise.
4591 * grub-core/lib/mips/relocator.c: Rewritten.
4592 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
4593 stylistic adjustments.
4594 * grub-core/lib/powerpc/relocator.c: New file.
4595 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
4596 * grub-core/lib/relocator.c: Rewritten.
4597 * grub-core/lib/x86_64/relocator_asm.S: New file.
4598 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
4599 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
4600 (bsd_tag): New struct.
4601 (tags): New variable.
4602 (tags_last): Likewise.
4603 (netbsd_module): New struct.
4604 (netbsd_mods): New variable.
4605 (netbsd_mods_last): Likewise.
4606 (openbsd_opts): New parameter "serial".
4607 (OPENBSD_SERIAL_ARG): New definition.
4608 (netbsd_opts): New parameter "serial".
4609 (NETBSD_SERIAL_ARG): New definition.
4610 (grub_freebsd_add_meta): Reorganised into ...
4611 (grub_bsd_add_meta): ...this. All users updated.
4612 (grub_freebsd_add_mmap): Reorganised into ...
4613 (generate_e820_mmap): ...this...
4614 (grub_bsd_add_mmap): ...and this. All users updated.
4615 (grub_freebsd_list_modules): Use tags.
4616 (grub_netbsd_add_meta_module): New function.
4617 (grub_netbsd_list_modules): Likewise.
4618 (grub_freebsd_boot): Use relocator and finish EFI.
4619 (grub_openbsd_boot): Likewise.
4620 (grub_netbsd_setup_video): New function.
4621 (grub_netbsd_add_modules): Likewise.
4622 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
4623 and finish EFI.
4624 (grub_bsd_unload): Unload tags.
4625 (grub_bsd_load_aout): Use relocator.
4626 (grub_bsd_elf32_size_hook): New function.
4627 (grub_bsd_elf32_hook): Use relocator.
4628 (grub_bsd_elf64_size_hook): New function.
4629 (grub_bsd_elf64_hook): Use relocator.
4630 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
4631 (grub_bsd_load): Zero-out openbsd_ramdisk.
4632 (grub_bsd_load): Use relocator.
4633 (grub_cmd_openbsd): Support serial.
4634 (grub_cmd_netbsd): Support modules.
4635 (grub_cmd_freebsd_module): Use relocator.
4636 (grub_netbsd_module_load): New function.
4637 (grub_cmd_netbsd_module): Likewise.
4638 (grub_cmd_openbsd_ramdisk): Likewise.
4639 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
4640 kopenbsd_ramdisk.
4641 (GRUB_MOD_FINI): Unregister new commands.
4642 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
4643 (grub_freebsd_load_elfmodule_obj): Use relocator.
4644 (grub_freebsd_load_elfmodule): Likewise.
4645 (grub_freebsd_load_elf_meta): Likewise.
4646 (grub_netbsd_load_elf_meta): New function.
4647 (grub_openbsd_find_ramdisk): Likewise.
4648 * grub-core/loader/i386/bsd_helper.S: Removed.
4649 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
4650 * grub-core/loader/i386/bsd_trampoline.S: Removed.
4651 * grub-core/loader/i386/efi/linux.c: Likewise.
4652 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
4653 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
4654 (DEFAULT_VIDEO_MODE): Likewise.
4655 (real_mode_target): New variable.
4656 (prot_mode_target): Likewise.
4657 (initrd_mem_target): Likewise.
4658 (relocator): Likewise.
4659 (efi_mmap_buf): Likewise.
4660 (efi_mmap_size): Likewise.
4661 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
4662 (free_pages): Use relocator.
4663 (allocate_pages): Account for efi_mmap and use relocator. Return error.
4664 (grub_linux_setup_video): Return error.
4665 (grub_linux_trampoline_start): Removed.
4666 (grub_linux_trampoline_end): Likewise.
4667 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
4668 andd video parameters depending on firmware.
4669 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
4670 [GRUB_MACHINE_EFI]: Pass EFI parameters.
4671 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
4672 (grub_cmd_initrd): Use relocator.
4673 * grub-core/loader/i386/linux_trampoline.S: Removed.
4674 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
4675 (elf_sec_entsize): Likewise.
4676 (elf_sec_shstrndx): Likewise.
4677 (elf_sections): Likewise.
4678 (grub_multiboot_load): Use relocator.
4679 (grub_multiboot_get_mbi_size): Account for sections.
4680 (grub_multiboot_make_mbi): Use relocator and support sections.
4681 (grub_multiboot_add_elfsyms): New function.
4682 (grub_multiboot_free_mbi): Free sections.
4683 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
4684 (grub_linux_real_target): Likewise.
4685 (grub_linux_real_chunk): Likewise.
4686 (grub_linux16_prot_size): Likewise.
4687 (grub_linux16_boot): Use relocator.
4688 (grub_linux_unload): Unload relocator.
4689 (grub_cmd_linux): Use relocator.
4690 (grub_cmd_initrd): Likewise.
4691 * grub-core/loader/i386/pc/ntldr.c: New file.
4692 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
4693 Don't try to guess CPU frequency.
4694 (grub_xnu_set_video): Stretch bitmap.
4695 (grub_xnu_boot): Use relocator.
4696 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
4697 (grub_linux_unload): Free relocator.
4698 (grub_linux_load32): Use relocator.
4699 (grub_linux_load64): Likewise.
4700 (grub_cmd_initrd): Likewise.
4701 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
4702 (grub_multiboot_unload): Unload relocator.
4703 (grub_cmd_multiboot): Use relocator.
4704 (grub_cmd_module): Likewise.
4705 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
4706 Use relocator and support sections.
4707 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
4708 (elf_sec_entsize): Likewise.
4709 (elf_sec_shstrndx): Likewise.
4710 (elf_sections): Likewise.
4711 (grub_multiboot_load): Use relocator.
4712 (grub_multiboot_get_mbi_size): Account for sections.
4713 (grub_multiboot_make_mbi): Use relocator and support sections.
4714 (grub_multiboot_add_elfsyms): New function.
4715 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
4716 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
4717 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
4718 Prototype changed. All users updated.
4719 (grub_xnu_align_heap): Simplified.
4720 (grub_xnu_writetree_toheap): Likewise.
4721 (grub_xnu_unload): Unload relocator.
4722 (grub_cmd_xnu_kernel): Use relocator.
4723 (grub_cmd_xnu_kernel64): Likewise.
4724 (grub_xnu_register_memory): Simplified.
4725 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
4726 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
4727 EFI is finished.
4728 (grub_console_checkkey): Likewise.
4729 (grub_console_getkey): Likewise.
4730 (grub_console_getwh): Likewise.
4731 (grub_console_getxy): Likewise.
4732 (grub_console_gotoxy): Likewise.
4733 (grub_console_cls): Likewise.
4734 (grub_console_setcolorstate): Likewise.
4735 (grub_console_setcursor): Likewise.
4736 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
4737 * grub-core/tests/boot/kbsd.init-i386.S: New file.
4738 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
4739 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
4740 * grub-core/tests/boot/kernel-8086.S: Likewise.
4741 * grub-core/tests/boot/kernel-i386.S: Likewise.
4742 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
4743 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
4744 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
4745 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
4746 * grub-core/tests/boot/knetbsd.cfg: Likewise.
4747 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
4748 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
4749 * grub-core/tests/boot/linux.cfg: Likewise.
4750 * grub-core/tests/boot/linux.init-i386.S: Likewise.
4751 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
4752 * grub-core/tests/boot/linux16.cfg: Likewise.
4753 * grub-core/tests/boot/multiboot.cfg: Likewise.
4754 * grub-core/tests/boot/multiboot2.cfg: Likewise.
4755 * grub-core/tests/boot/ntldr.cfg: Likewise.
4756 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
4757 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
4758 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
4759 New definition.
4760 * include/grub/dl.h (grub_dl_unload_all): Removed.
4761 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
4762 (grub_efi_finish_boot_services): Change prototype.
4763 (grub_efi_is_finished): New variable.
4764 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
4765 Changed prototype.
4766 (grub_efiemu_finish_boot_services): Removed.
4767 (grub_machine_efiemu_init_tables): New prototype.
4768 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
4769 (grub_elf64_phdr_iterate): Likewise.
4770 * include/grub/i386/bsd.h: Include relocator.h.
4771 (freebsd_tag_header): New struct.
4772 (grub_openbsd_bios_mmap): Removed.
4773 (grub_unix_real_boot): Removed.
4774 (grub_freebsd_load_elfmodule32): Changed prototype.
4775 (grub_freebsd_load_elfmodule_obj64): Likewise.
4776 (grub_freebsd_load_elf_meta32): Likewise.
4777 (grub_freebsd_load_elf_meta64): Likewise.
4778 (grub_freebsd_add_meta): Removed.
4779 (grub_netbsd_load_elf_meta32): New prototype.
4780 (grub_netbsd_load_elf_meta64): Likewise.
4781 (grub_bsd_add_meta): Likewise.
4782 (grub_openbsd_ramdisk_descriptor): New struct.
4783 (grub_openbsd_find_ramdisk32): New prototype.
4784 (grub_openbsd_find_ramdisk64): Likewise.
4785 * include/grub/i386/coreboot/loader.h: Removed.
4786 * include/grub/i386/efi/loader.h: Likewise.
4787 * include/grub/i386/ieee1275/loader.h: Likewise.
4788 * include/grub/i386/linux.h (linux_kernel_header): Change void *
4789 to grub_uint32_t.
4790 * include/grub/i386/loader.h: Removed.
4791 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
4792 value.
4793 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
4794 (grub_phys_addr_t): New type.
4795 (grub_vtop): New inline function.
4796 (grub_map_memory): Likewise.
4797 (grub_unmap_memory): Likewise.
4798 * include/grub/i386/multiboot/loader.h: Removed.
4799 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
4800 (NETBSD_BTINFO_CONSOLE): New definition.
4801 (NETBSD_BTINFO_SYMTAB): Likewise.
4802 (NETBSD_BTINFO_MODULES): Likewise.
4803 (NETBSD_BTINFO_FRAMEBUF): Likewise.
4804 (grub_netbsd_bootinfo): New struct.
4805 (grub_netbsd_btinfo_common): Use explicit bitsize.
4806 (grub_netbsd_btinfo_mmap_entry): Removed.
4807 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
4808 (grub_netbsd_btinfo_bootdisk): New struct.
4809 (grub_netbsd_btinfo_symtab): Likewise.
4810 (grub_netbsd_btinfo_serial): Likewise.
4811 (grub_netbsd_btinfo_modules): Likewise.
4812 (grub_netbsd_btinfo_framebuf): Likewise.
4813 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
4814 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
4815 Likewise.
4816 (grub_openbsd_bootargs): Use explicit bitsize.
4817 (grub_openbsd_bootarg_console): New struct.
4818 (GRUB_OPENBSD_COM_MAJOR): New definition.
4819 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
4820 * include/grub/i386/pc/efiemu.h: Removed.
4821 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
4822 * include/grub/i386/qemu/loader.h: Removed.
4823 * include/grub/i386/relocator.h: Rewritten.
4824 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
4825 * include/grub/mips/memory.h: New file.
4826 * include/grub/mips/multiboot.h: Rewritten.
4827 * include/grub/mips/relocator.h: Rewritten.
4828 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
4829 (grub_vtop): New function.
4830 (grub_map_memory): Likewise.
4831 (grub_unmap_memory): Likewise.
4832 * include/grub/misc.h (ALIGN_DOWN): New definition.
4833 * include/grub/mm.h (grub_mm_check_real): New proto.
4834 (GRUB_MM_CHECK): New definition.
4835 * include/grub/mm_private.h: New file.
4836 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
4837 (grub_multiboot_get_mbi_size): Removed.
4838 (grub_multiboot_make_mbi): Change prottype.
4839 (grub_multiboot_set_accepts_video): New proto.
4840 (grub_multiboot_add_elfsyms): Likewise.
4841 (grub_multiboot_payload_eip): New variable.
4842 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
4843 New prototype.
4844 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
4845 New definition.
4846 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
4847 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
4848 * include/grub/powerpc/ieee1275/loader.h: Removed.
4849 * include/grub/powerpc/memory.h: New file.
4850 * include/grub/powerpc/relocator.h: Likewise.
4851 * include/grub/relocator.h: Likewise.
4852 * include/grub/relocator_private.h: Likewise.
4853 * include/grub/sparc64/ieee1275/loader.h: Removed.
4854 * include/grub/x86_64/memory.h: New file.
4855 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
4856 (grub_xnu_heap_malloc): Likewise.
4857 (grub_xnu_heap_real_start): Removed.
4858 (grub_xnu_heap_start): Likewise.
4859 (grub_xnu_relocator): New variable.
4860 (grub_xnu_heap_target_start): Likewise.
4861 * tests/util/grub-shell.in: Support non-pc.
4862 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 4863
5303b85d
VS
48642010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
4867 on malloc error.
4868 (grub_bidi_logical_to_visual): Check that malloc succeded.
4869 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
4870 puts.
4871 (grub_xputs_normal): Likewise.
4872
d768d159
VS
48732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
4876 extra_dist.
4877
48782010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * grub-core/efiemu/runtime/efiemu.sh: Removed.
4881
5bf84df4
VS
48822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
4885
3626810e
VS
48862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
4889 dprintf.
4890
a7363f53
BC
48912010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
4892
4893 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
4894
902f75f6
VS
48952010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/normal/term.c (print_more): Fix a memory leak.
4898 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
4899 (grub_xputs_normal): Likewise.
4900
3c707967
VS
49012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
4904 the begining of the string
4905
2053cc07
VS
49062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * grub-core/script/script.c (grub_script_parse): Free parsed on
4909 failure.
4910
46422ebf
VS
49112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
4914 on failure.
4915
9e0fa3f6
VS
49162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
4919 return.
4920
3393cf16
VS
49212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
4924 (scroll_up): Fix a memory leak.
4925
b17540cb
VS
49262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
4929 errors.
4930
67140446
VS
49312010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 Handle USB pendrives exposed as floppies.
4934
4935 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
4936 floppy.
4937 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
4938 Check for partitions on all devices.
4939
e35e46fc
VS
49402010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
4943 (readkey): Likewise.
4944
d24c6190
BC
49452010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4946
4947 Multiple variable names support to "export" command.
4948
4949 * normal/context.c (grub_cmd_export): "export" command supports
4950 multiple variable names.
4951
04ddcc6a
ST
49522010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
4953
4954 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
4955 --target=drive output to Mach device name.
4956
0c8b61d8
BC
49572010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
4958
4959 New Automake based build system for GRUB.
4960
4961 * ABOUT-NLS: New file.
4962 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
4963 in Makefile.util.def file.
4964 * Makefile.util.def: New file. Autogen build definitions file for
4965 GRUB host utils.
4966 * conf/Makefile.common: New file. Common variables for GRUB host
4967 utils and target modules.
4968 * conf/Makefile.extra-dist: New file. Extra files for make dist.
4969 * docs/Makefile.am: New file. Automake file for docs.
4970 * gentpl.py: New file. Python script to generate Autogen
4971 template.
4972 * grub-core/Makefile.am: New file. GRUB target modules' rules
4973 that doesn't fit in Makefile.core.def file.
4974 * grub-core/Makefile.core.def: New file. Autogen build
4975 definitions file for GRUB target modules.
4976 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
4977 specific setjmp.S file.
4978 * po/Makefile.am: New file.
4979
4980 * .bzrignore: New ignores.
4981 * INSTALL: New requirements, without Ruby.
4982 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
4983 * autogen.sh: Updated to invoke autogen as necessary.
4984 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
4985 and defines for Automake conditionals.
4986 * geninit.sh: Refactoring.
4987
4988 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
4989 necessary.
4990 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
4991 New prototype.
4992
4993 * include/grub/test.h: Fix functional test modules' naming.
4994 * grub-core/tests/example_functional_test.c: Fix test module name.
4995
4996 * util/misc.c: Hosted versions' of grub functions for libgrub.a
4997 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
4998 * util/grub-editenv.c: Likewise.
4999 * util/grub-fstest.c: Likewise.
5000 * util/grub-mkdevicemap.c: Likewise.
5001 * util/grub-mkfont.c: Likewise.
5002 * util/grub-mkimage.c: Likewise.
5003 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5004 * util/grub-probe.c: Likewise.
5005 * util/grub-script-check.c: Likewise.
5006 * util/i386/pc/grub-setup.c: Likewise.
5007 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5008
5009 * tests/util/grub-shell.in: Fix override directory path.
5010 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5011 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5012
5013 * util/lvm.c: Update #includes.
5014 * util/raid.c: Likewise.
5015 * util/resolve.c: Likewise.
5016 * grub-core/bus/emu/pci.c: Likewise.
5017 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5018 * grub-core/lib/posix_wrap/string.h: Likewise.
5019 * grub-core/kern/emu/main.c: Likewise.
5020
5021 * grub-core/gensymlist.sh: New file. Script for generating kernel
5022 symbols file.
5023 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5024
5025 * grub-core/gentrigtables.c: Fix unused variable warnings.
5026
5027 * Makefile.in: Removed.
5028 * conf/any-emu.rmk: Removed.
5029 * conf/common.rmk: Removed.
5030 * conf/i386-coreboot.rmk: Removed.
5031 * conf/i386-efi.rmk: Removed.
5032 * conf/i386-ieee1275.rmk: Removed.
5033 * conf/i386-multiboot.rmk: Removed.
5034 * conf/i386-pc.rmk: Removed.
5035 * conf/i386-qemu.rmk: Removed.
5036 * conf/i386.rmk: Removed.
5037 * conf/mips-yeeloong.rmk: Removed.
5038 * conf/mips.rmk: Removed.
5039 * conf/powerpc-ieee1275.rmk: Removed.
5040 * conf/sparc64-ieee1275.rmk: Removed.
5041 * conf/tests.rmk: Removed.
5042 * conf/x86-efi.rmk: Removed.
5043 * conf/x86_64-efi.rmk: Removed.
5044 * gendistlist.sh: Removed.
5045 * geninitheader.sh: Removed.
5046 * genkernsyms.sh.in: Removed.
5047 * genmk.rb: Removed.
5048 * gensymlist.sh.in: Removed.
5049 * mkinstalldirs: Removed.
5050 * boot: Moved ...
5051 * grub-core/boot: ... to here.
5052 * bus: Moved ...
5053 * grub-core/bus: ... to here.
5054 * commands: Moved ...
5055 * grub-core/commands: ... to here.
5056 * disk: Moved ...
5057 * grub-core/disk: ... to here.
5058 * efiemu: Moved ...
5059 * grub-core/efiemu: ... to here.
5060 * font: Moved ...
5061 * grub-core/font: ... to here.
5062 * fs: Moved ...
5063 * grub-core/fs: ... to here.
5064 * gencmdlist.sh: Moved ...
5065 * grub-core/gencmdlist.sh: ... to here.
5066 * genemuinit.sh: Moved ...
5067 * grub-core/genemuinit.sh: ... to here.
5068 * genemuinitheader.sh: Moved ...
5069 * grub-core/genemuinitheader.sh: ... to here.
5070 * genfslist.sh: Moved ...
5071 * grub-core/genfslist.sh: ... to here.
5072 * genhandlerlist.sh: Moved ...
5073 * grub-core/genhandlerlist.sh: ... to here.
5074 * genmoddep.awk: Moved ...
5075 * grub-core/genmoddep.awk: ... to here.
5076 * genmodsrc.sh: Moved ...
5077 * grub-core/genmodsrc.sh: ... to here.
5078 * genpartmaplist.sh: Moved ...
5079 * grub-core/genpartmaplist.sh: ... to here.
5080 * genparttoollist.sh: Moved ...
5081 * grub-core/genparttoollist.sh: ... to here.
5082 * genterminallist.sh: Moved ...
5083 * grub-core/genterminallist.sh: ... to here.
5084 * gentrigtables.c: Moved ...
5085 * grub-core/gentrigtables.c: ... to here.
5086 * genvideolist.sh: Moved ...
5087 * grub-core/genvideolist.sh: ... to here.
5088 * gettext: Moved ...
5089 * grub-core/gettext: ... to here.
5090 * gfxmenu: Moved ...
5091 * grub-core/gfxmenu: ... to here.
5092 * gnulib: Moved ...
5093 * grub-core/gnulib: ... to here.
5094 * hello: Moved ...
5095 * grub-core/hello: ... to here.
5096 * hook: Moved ...
5097 * grub-core/hook: ... to here.
5098 * io: Moved ...
5099 * grub-core/io: ... to here.
5100 * kern: Moved ...
5101 * grub-core/kern: ... to here.
5102 * lib: Moved ...
5103 * grub-core/lib: ... to here.
5104 * loader: Moved ...
5105 * grub-core/loader: ... to here.
5106 * mmap: Moved ...
5107 * grub-core/mmap: ... to here.
5108 * normal: Moved ...
5109 * grub-core/normal: ... to here.
5110 * partmap: Moved ...
5111 * grub-core/partmap: ... to here.
5112 * parttool: Moved ...
5113 * grub-core/parttool: ... to here.
5114 * script: Moved ...
5115 * grub-core/script: ... to here.
5116 * term: Moved ...
5117 * grub-core/term: ... to here
5118 * tests/example_functional_test.c: Moved ...
5119 * grub-core/tests/example_functional_test.c: ... to here.
5120 * tests/lib/functional_test.c: Moved ...
5121 * grub-core/tests/lib/functional_test.c: ... to here.
5122 * tests/lib/test.c: Moved ...
5123 * grub-core/tests/lib/test.c: ... to here.
5124 * video: Moved ...
5125 * grub-core/video: ... to here.
5126
645586e6
BC
51272010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5128
5129 Replace --enable-grub-emu-modules with grub-emu-lite.
5130
5131 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5132 cache.S.
5133
5134 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5135 * kern/emu/full.c: New file. For grub-emu specific initialization.
5136 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5137 * kern/emu/main.c: Call initialization function grub_emu_init.
5138
5139 * Makefile.in: Include grub-emu-lite in install.
5140 * commands/parttool.c: Use grub_no_autoload to differentiate
5141 between grub-emu and grub-emu-lite.
5142 * include/grub/misc.h: New variable grub_no_autoload.
5143
5144 * conf/any-emu.rmk: New rules for grub-emu-lite.
5145 * configure.ac: Remove --enable-grub-emu-modules.
5146 * genmk.rb: Cleanup unnecessary rules.
5147 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5148
5149 * normal/main.c: Don't load list files on grub-emu-lite.
5150 * util/misc.c (grub_arch_sync_caches): Removed.
5151
f86a4030
CW
51522010-08-23 Colin Watson <cjwatson@ubuntu.com>
5153
5154 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5155 grub-mkimage rather than grub-mkelfimage.
5156 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5157
06776944
VS
51582010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5161 a key after CapsLock or NumLock. It's just a qemu bug.
5162
df262419
VS
51632010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5166 needed by libusb wrapper.
5167
b40ea81b
ST
51682010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5169
5170 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5171
dee50575
VS
51722010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5175 --nounzip is passed.
5176
fb1d7b79
VS
51772010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 USB hotunplugging and USB serial support.
5180
5181 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5182 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5183 (grub_uhci_transfer): Respect timeout and set *actual.
5184 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5185 non-standard length.
5186 (grub_usb_device_attach): Autoload modules.
5187 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5188 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5189 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5190 users updated.
5191 (grub_usb_add_hub): Fill nports and children.
5192 (attach_root_port): Receive hub instead of controller.
5193 All users updated. Fill hub->devices.
5194 (grub_usb_root_hub): Allocate hub->devices.
5195 (detach_device): New function.
5196 (poll_nonroot_hub): Fill children and detach devices.
5197 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5198 actual arguments. All users updated.
5199 (grub_usb_bulk_read_extended): New function.
5200 * bus/usb/serial/common.c: New file.
5201 * bus/usb/serial/ftdi.c: Likewise.
5202 * bus/usb/serial/pl2303.c: Likewise.
5203 * commands/terminal.c (handle_command): Support wildcard.
5204 * commands/usbtest.c: Output "Unknown" instead of empty string.
5205 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5206 (usbserial_common_mod_SOURCES): New variable.
5207 (usbserial_common_mod_CFLAGS): Likewise.
5208 (usbserial_common_mod_LDFLAGS): Likewise.
5209 (pkglib_MODULES): Add usbserial_pl2303.mod.
5210 (usbserial_pl2303_mod_SOURCES): New variable.
5211 (usbserial_pl2303_mod_CFLAGS): Likewise.
5212 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5213 (pkglib_MODULES): Add usbserial_ftdi.mod.
5214 (usbserial_ftdi_mod_SOURCES): New variable.
5215 (usbserial_ftdi_mod_CFLAGS): Likewise.
5216 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5217 (pkglib_MODULES): Add serial.mod.
5218 (serial_mod_SOURCES): New variable.
5219 (serial_mod_CFLAGS): Likewise.
5220 (serial_mod_LDFLAGS): Likewise.
5221 * conf/i386-pc.rmk: Likewise.
5222 * conf/mips-yeeloong.rmk: Likewise.
5223 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5224 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5225 * disk/usbms.c (first_available_slot): New variable.
5226 (grub_usbms_attach): Don't reuse free slots due to potential cache
5227 problems.
5228 * include/grub/serial.h: Moved to ..
5229 * include/grub/ns8250.h: ...this.
5230 * include/grub/serial.h: New file.
5231 * include/grub/term.h (grub_term_poll_usb): New variable.
5232 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5233 readkey. All users updated.
5234 (grub_terminfo_output_state): Pass term to put.
5235 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5236 (grub_usb_controller_dev): Add timeout and actual arguments to
5237 transfer. All users updated.
5238 (grub_usb_interface): New field detach_data.
5239 (grub_usb_device): New fields children and nports.
5240 (grub_usb_ep_type_t): New type.
5241 (grub_usb_get_ep_type): New function.
5242 (grub_usb_bulk_read_extended): Likewise.
5243 * include/grub/usbdesc.h (grub_usb_desc): New type.
5244 * include/grub/usbserial.h: New file.
5245 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5246 * kern/term.c (grub_term_poll_usb): New variable.
5247 (grub_getkey): Call grub_term_poll_usb if set.
5248 (grub_checkkey): Likewise.
5249 (grub_getkeystatus): Likewise.
5250 * term/serial.c: Moved controller-specific parts to ...
5251 * term/ns8250.c: ... here.
5252 * term/serial.c: Mostly rewritten.
5253 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5254 according to spec.
5255
21a313de
RM
52562010-08-20 Robert Millan <rmh@gnu.org>
5257
5258 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5259 a separate module and maybe other interesting combinations.
5260
5261 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5262 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5263 (kfreebsd_entry): Add generic filesystem module load routine.
5264 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5265
63c734a6
CW
52662010-08-20 Colin Watson <cjwatson@ubuntu.com>
5267
5268 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5269 "numcenter" (I misunderstood the purpose of this entry).
5270 * docs/grub.texi (sendkey): Likewise.
5271
c4d16542
CW
52722010-08-20 Colin Watson <cjwatson@ubuntu.com>
5273
5274 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5275 status flag options; simply omitting the option is equivalent and
5276 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5277 (keysym_table): Rename "num5numlock" to "numlock".
5278 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5279 can uniformly say that only the last of multiple `sendkey'
5280 invocations has any effect.
5281 * docs/grub.texi (sendkey): New section.
5282
93541d66
CW
52832010-08-19 Colin Watson <cjwatson@ubuntu.com>
5284
5285 * commands/i386/pc/sendkey.c (options): Fix three typos.
5286
b4ece5e1
VS
52872010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 Implement sendkey support.
5290
5291 * commands/i386/pc/sendkey.c: New file.
5292 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5293 (sendkey_mod_SOURCES): New variable.
5294 (sendkey_mod_CFLAGS): Likewise.
5295 (sendkey_mod_LDFLAGS): Likewise.
5296
51f1f5af
CW
52972010-08-18 Colin Watson <cjwatson@ubuntu.com>
5298
5299 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5300 fix warnings from Autoconf.
5301
9da94e05
CW
53022010-08-18 Colin Watson <cjwatson@ubuntu.com>
5303
5304 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5305 to avoid false positives with some assemblers that output things
5306 like "someprefix_func" as part of their output.
5307
729a0f2e
RM
53082010-08-15 Robert Millan <rmh@gnu.org>
5309
5310 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5311 errors.
5312 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5313 grub_get_libzfs_handle() errors.
5314
f3710e08
RM
53152010-08-14 Robert Millan <rmh@gnu.org>
5316
5317 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5318 filesystem is not ZFS.
5319
7a3c13de
BC
53202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5321
5322 Fix for misspelled color names defaulting to black/black (bug
5323 reported by Doug Nazar)
5324
5325 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5326 status to prototype.
5327 * normal/color.c (grub_parse_color_name_pair): Return failure
5328 status.
5329 (grub_env_write_color_normal): Ignore bad color names.
5330 (grub_env_write_color_highlight): Likewise.
5331 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5332
ab8ba50d
BC
53332010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5334
5335 "shift" command support to GRUB script.
5336
5337 * include/grub/script_sh.h (grub_script_shift): New prototype.
5338 * script/execute.c (grub_script_shift): New function.
5339 * script/main.c (grub_script_init): Register shift command.
5340 (grub_script_fini): Unregister shift command.
5341 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5342
5343 * tests/grub_script_shift.in: New testcase.
5344 * conf/tests.rmk: Rules for new testcase.
5345
4d61999e
BC
53462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5347
5348 "continue" command support to GRUB script.
5349
5350 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5351 (grub_script_break): Continue support.
5352 * script/main.c (grub_script_init): Register continue command.
5353 (grub_script_fini): Unregister continue command.
5354
5355 * tests/grub_script_continue.in: New testcase.
5356 * conf/tests.rmk: Rules for new testcase.
5357
4df51e00
BC
53582010-08-12 BVK Chaitanya <bvk@dbook>
5359
5360 "break" command support to GRUB script.
5361
5362 * conf/common.rmk: Rule updates to grub-script-check.
5363 * include/grub/misc.h (grub_min): New function.
5364 * include/grub/script_sh.h (grub_script_init): New prototype.
5365 (grub_script_fini): New prototype.
5366 (grub_script_break): New prototype.
5367 * script/main.c (grub_script_init): New function.
5368 (grub_script_fini): New function.
5369 * script/execute.c (grub_script_break): New function.
5370 * normal/main.c: Calls to grub_script_{init,fini}.
5371 * util/grub-script-check.c (grub_script_break): New function.
5372
5373 * tests/grub_script_break.in: New testcase.
5374 * conf/tests.rmk: Rules for new test case.
5375
f12c8420
BC
53762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5377
5378 Function parameters support to GRUB script.
5379
5380 * script/yylex.l (VARIABLE): Regular expression update.
5381 * script/function.c (grub_script_function_call): Moved ...
5382 * script/execute.c (grub_script_function_call): ... to here.
5383 (grub_script_execute_arglist_to_argv): Removed.
5384 (grub_script_arglist_to_argv): New function.
5385 * script/argv.c: New file.
5386 (grub_script_argv_free): New function.
5387 (grub_script_argv_next): Likewise.
5388 (grub_script_argv_append): Likewise.
5389 (grub_script_argv_split_append): Likewise.
5390 * include/grub/script_sh.h (grub_script_argv): New struct.
5391 (grub_script_argv_free): New function.
5392 (grub_script_argv_next): Likewise.
5393 (grub_script_argv_append): Likewise.
5394 (grub_script_argv_split_append): Likewise.
5395
5396 * conf/common.rmk (normal.mod): New source script/argv.c.
5397
5398 * tests/grub_script_echo1.in: More tests.
5399 * tests/grub_script_vars1.in: Likewise.
5400 * tests/grub_script_functions.in: New test case.
5401 * conf/tests.rmk: Rules for new testcase.
5402
8022b748
BC
54032010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5404
5405 Remove grub_script_cmdblock struct.
5406
5407 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5408 * script/parser.y: Likewise.
5409 * script/execute.c: Rename cmdblock suffix to cmdlist.
5410 * script/script.c: Likewise.
5411 * util/grub-script-check.c: Likewise.
5412
79a6ba61
YB
54132010-08-11 Yves Blusseau <blusseau@zetam.org>
5414
5415 * .bzrignore: add grub-macho2img
5416
d04b9414
VS
54172010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5420
f947ab49
VS
54212010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 Remove the dump of sm712 initialisation sequence.
5424
5425 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5426 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5427 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5428 (GRUB_VGA_CR_*): Added many registers.
5429 (GRUB_VGA_SR_*): Likewise.
5430 (GRUB_VGA_GR_*): Likewise.
5431 (grub_vga_write_arx): New function.
5432 (grub_video_hw_config): New struct.
5433 (grub_vga_set_geometry): New function.
5434 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5435 GRUB_PCI_CLASS_SUBCLASS_VGA.
5436 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5437 * video/sm712.c (grub_sm712_write_reg): New function
5438 (grub_sm712_read_reg): Likewise.
5439 (grub_sm712_sr_write): Likewise.
5440 (grub_sm712_gr_write): Likewise.
5441 (grub_sm712_cr_write): Likewise.
5442 (grub_sm712_write_arx): Likewise.
5443 (grub_sm712_cr_shadow_write): Likewise.
5444 (grub_sm712_write_dda_lookup): Likewise.
5445 (grub_video_sm712_setup): Initialise the video rather then
5446 blindly replay the dump.
5447 (main) [TEST]: Add a routine to be able to compile as standalone for
5448 tests.
5449 * video/sm712_init.c (sm712_init): Removed.
5450 (sm712_sr_seq1): New array.
5451 (sm712_sr_seq2): Likewise.
5452
f0206638
VS
54532010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * include/grub/vga.h: Add missing grub/pci.h include.
5456
2764da3b
YB
54572010-08-10 Yves Blusseau <blusseau@zetam.org>
5458
5459 * util/grub-macho2img.c (main): fix typo
5460
cf0c775e
VS
54612010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5464 (grub_vga_gr_read): Likewise.
5465 (grub_vga_cr_write): Likewise.
5466 (grub_vga_cr_read): Likewise.
5467 (grub_vga_sr_write): Likewise.
5468 (grub_vga_sr_read): Likewise.
5469 (grub_vga_palette_read): Likewise.
5470 (grub_vga_palette_write): Likewise.
5471 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5472 (grub_sm712_sr_read): New function.
5473 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5474 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5475
07f360e9
RM
54762010-08-09 Robert Millan <rmh@gnu.org>
5477
5478 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5479 out unused variables on non-ZFS build.
5480
346c2072
RM
54812010-08-08 Robert Millan <rmh@gnu.org>
5482
5483 Fix path generation for sub-filesystems in ZFS.
5484
5485 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5486 missing slash.
5487
71175420
RM
54882010-08-08 Robert Millan <rmh@gnu.org>
5489
5490 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5491
0d8286f3
RM
54922010-08-08 Robert Millan <rmh@gnu.org>
5493
5494 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5495 exist, issue a proper error message (rely on `ls' for translated
5496 strings).
5497
55dd2924
RM
54982010-08-08 Robert Millan <rmh@gnu.org>
5499
5500 Fix grub-probe invocation.
5501
5502 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5503
d3dd9e80
RM
55042010-08-04 Robert Millan <rmh@gnu.org>
5505
5506 * configure.ac: Remove checks for getfsstat() and getmntany().
5507 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5508 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5509 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5510 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5511 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5512 function.
5513 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5514 via find_mount_point_from_dir() and getfsstat() / getmntany().
5515
0de22aa9
RM
55162010-08-04 Robert Millan <rmh@gnu.org>
5517
5518 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5519 (grub_find_zpool_from_mount_point): Merge into ...
5520 (grub_find_zpool_from_dir): ... this.
5521 * kern/emu/misc.c: Likewise.
5522
5523 * kern/emu/misc.c
5524 (grub_make_system_path_relative_to_its_root): Replace
5525 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5526 with grub_find_zpool_from_dir().
5527 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5528
62858144
RM
55292010-08-04 Robert Millan <rmh@gnu.org>
5530
5531 Support OpenSolaris in ZFS device resolution.
5532
5533 * configure.ac: Check for getmntany().
5534 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5535 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5536 support.
5537
9dd6fd50
RM
55382010-08-03 Robert Millan <rmh@gnu.org>
5539
5540 Fix grub-emu build.
5541
5542 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5543 * include/grub/emu/misc.h: ... here.
5544
5545 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5546 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5547
5548 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5549 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
5550 (grub_get_libzfs_handle): Move to ...
5551 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
5552 (grub_get_libzfs_handle): ... here.
5553
c9f7ff97
BC
55542010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
5555
5556 * script/execute.c (grub_script_execute_cmdline): Check for NULL
5557 as command name case.
5558
a870a783
CW
55592010-08-02 Colin Watson <cjwatson@ubuntu.com>
5560
5561 * disk/raid.c (insert_array): Select unique numbers for named arrays
5562 as well, for use as keys in the disk cache.
5563
c7db243b
RM
55642010-08-01 Robert Millan <rmh@gnu.org>
5565
5566 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
5567 kFreeBSD device name, except on ZFS where the filesystem label is
5568 used.
5569 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
5570 `/boot/zfs/zpool.cache'.
5571 Set mountfrom kernel variable using ${kfreebsd_device}.
5572
f7abdefb
RM
55732010-08-01 Robert Millan <rmh@gnu.org>
5574
5575 Make it even harder to use uninitialized `libzfs_handle' (and
5576 make the interface a bit simpler).
5577
5578 * include/grub/util/misc.h (grub_util_init_libzfs)
5579 (libzfs_handle): Remove.
5580 (grub_get_libzfs_handle): New prototype.
5581
5582 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
5583 attribute.
5584 (grub_util_init_libzfs): Remove.
5585 (grub_get_libzfs_handle): New function.
5586
5587 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
5588 grub_get_libzfs_handle() to obtain a libzfs handle instead of
5589 accessing `libzfs_handle' directly.
5590
c882acc0
RM
55912010-08-01 Robert Millan <rmh@gnu.org>
5592
5593 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5594 (grub_find_zpool_from_mount_point): New function prototypes.
5595
5596 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5597 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5598
5599 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5600 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5601 `static' attribute.
5602
5603 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5604 finding zpool from mount point into ...
5605 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5606
5607 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5608 requested path is part of a ZFS pool, use
5609 grub_find_zpool_from_mount_point() to detect its filesystem name,
5610 and generate a path with `/fsname@path' syntax.
5611
8bfe31d8
CW
56122010-08-01 Colin Watson <cjwatson@ubuntu.com>
5613
5614 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
5615 (void) rather than () so that this is a proper prototype.
5616
553df63d
VS
56172010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5618
5619 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
5620
8687cf07
VS
56212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
5624 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
5625
ea9be8ea
CW
56262010-08-01 Colin Watson <cjwatson@ubuntu.com>
5627
5628 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
5629
6eea041a
CW
56302010-08-01 Colin Watson <cjwatson@ubuntu.com>
5631
5632 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
5633
2cfb45df
CW
56342010-08-01 Colin Watson <cjwatson@ubuntu.com>
5635
5636 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
5637 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
5638 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
5639 disable gfxpayload.
5640 (Shell-like scripting): Add real content.
5641 (Serial terminal): Suggest `terminal_input serial; terminal_output
5642 serial' rather than putting the two commands on separate lines,
5643 since console input will be inoperative after the first command.
5644 (menuentry): Document --class, --users, and --hotkey options.
5645 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
5646 Vladimir Serbinenko).
5647
7decd202
VS
56482010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
56492010-08-01 Colin Watson <cjwatson@ubuntu.com>
5650
5651 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
5652
c882acc0
RM
56532010-08-01 Robert Millan <rmh@gnu.org>
5654
5655 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5656 (grub_find_zpool_from_mount_point): New function prototypes.
5657
5658 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
5659 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
5660
5661 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
5662 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
5663 `static' attribute.
5664
5665 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
5666 finding zpool from mount point into ...
5667 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
5668
5669 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
5670 requested path is part of a ZFS pool, use
5671 grub_find_zpool_from_mount_point() to detect its filesystem name,
5672 and generate a path with `/fsname@path' syntax.
5673
deb0caa3
RM
56742010-08-01 Robert Millan <rmh@gnu.org>
5675
5676 Prevent accidental use of uninitialized libzfs_handle.
5677
5678 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
5679 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
5680 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
5681
ce04ef47
CW
56822010-08-01 Colin Watson <cjwatson@ubuntu.com>
5683
5684 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
5685 util/grub.d/10_linux.in). Fixes Debian bug #591093.
5686
ebf53056
RM
56872010-08-01 Robert Millan <rmh@gnu.org>
5688
5689 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 5690
3710bb6b
RM
56912010-07-31 Robert Millan <rmh@gnu.org>
5692
5693 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
5694
8072efeb
RM
56952010-07-31 Robert Millan <rmh@gnu.org>
5696
5697 * kern/emu/misc.c: Add missing license header.
5698
3169f4c7
RM
56992010-07-31 Robert Millan <rmh@gnu.org>
5700
5701 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
5702
5703 * include/grub/util/libnvpair.h: Include `<config.h>'.
5704 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
5705 declaring libnvpair prototypes ourselves.
5706 * include/grub/util/libzfs.h: Include `<config.h>'.
5707 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
5708 declaring libzfs prototypes ourselves.
5709
5710 (libzfs_handle): Moved to ...
5711 * include/grub/util/misc.h (libzfs_handle): ... here.
5712 Include `<grub/util/libzfs.h>'.
5713
c9a00aee
RM
57142010-07-30 Robert Millan <rmh@gnu.org>
5715
5716 * include/grub/emu/misc.h: Add missing license header.
5717
a184f9c8
RM
57182010-07-30 Robert Millan <rmh@gnu.org>
5719
5720 Enable `grub-probe -t device' resolution on ZFS.
5721
5722 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
5723 * include/grub/util/libnvpair.h: New file.
5724 * include/grub/util/libzfs.h: New file.
5725
5726 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
5727 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
5728 `<grub/util/libnvpair.h>'.
5729 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
5730
5731 (find_mount_point_from_dir): New static function.
5732 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
5733 function.
5734 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
5735 find_root_device_from_libzfs() before ressorting to find_root_device().
5736
5737 * include/grub/util/misc.h (grub_util_init_libzfs): New function
5738 prototype.
5739 * util/misc.c: Include `<grub/util/libzfs.h>'.
5740 (grub_util_init_libzfs): New function.
5741 [HAVE_LIBZFS] (libzfs_handle): New global variable.
5742 [HAVE_LIBZFS] (fini_libzfs): New static function.
5743 (grub_util_init_libzfs): New function.
5744 * util/grub-probe.c (main): Call grub_util_init_libzfs().
5745
f7790cdd
RM
57462010-07-30 Robert Millan <rmh@gnu.org>
5747
5748 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
5749 (xmalloc, xrealloc, xstrdup, xasprintf): Add
5750 `warn_unused_result' attribute.
5751 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
5752 (grub_xasprintf, grub_xvasprintf): Likewise.
5753 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
5754
0806b63c
RM
57552010-07-29 Robert Millan <rmh@gnu.org>
5756
5757 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
5758 (probe): Handle `PRINT_FS_LABEL'.
5759 (main): Handle `-t fs_label'.
5760
9f841f5c
RM
57612010-07-29 Robert Millan <rmh@gnu.org>
5762
5763 * configure.ac: Remove grub-mkisofs checks.
5764
46371121
VS
57652010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * util/ieee1275/grub-install.in: Don't use empty grub_device.
5768 Reported by: Lennart Sorensen.
5769
57702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
5773 prior to terminal_input/terminal_output separation. It's been over 1.5
5774 years and those versions weren't widely deployed.
5775
a9600892
CW
57762010-07-22 Colin Watson <cjwatson@ubuntu.com>
5777
5778 * disk/raid.c (insert_array): Don't count named arrays when looking
5779 for unused array numbers.
697e053c 5780 Reported and tested by: Michael Guntsche.
a9600892 5781
c03507df
CW
57822010-07-20 Colin Watson <cjwatson@ubuntu.com>
5783
5784 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
5785 implementation of this so that grub-emu links again, with a note
5786 that this should support hotplugging in the future.
5787
b26f1c11
CW
57882010-07-20 Colin Watson <cjwatson@ubuntu.com>
5789
5790 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
5791
efc9d7f1
CW
57922010-07-20 Colin Watson <cjwatson@ubuntu.com>
5793
5794 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
5795 handle on failure.
5796 (grub_loopback_close): Remove empty function.
5797 (grub_loopback_dev): Remove close method.
5798
dd8ff5c9
CW
57992010-07-20 Colin Watson <cjwatson@ubuntu.com>
5800
5801 Disable EFI cursor when the EFI console becomes inactive.
5802
5803 * term/efi/console.c (grub_efi_console_init): New function.
5804 (grub_efi_console_fini): New function.
5805 (grub_console_term_output): Register init and fini methods.
5806
5e3bec67
VS
58072010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * tests/util/grub-shell-tester.in: Remove bashism and declare as
5810 sh script.
5811
afaec079
VS
58122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * disk/loopback.c (grub_loopback): Replace filename with file.
5815 (delete_loopback): Handle new semantics.
5816 (grub_cmd_loopback): Likewise.
5817 (grub_loopback_iterate): Likewise.
5818 (grub_loopback_close): Likewise.
5819
a6a11f3c
VS
58202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
5823 with -p "".
5824 Reported by: Tito Keitel.
5825
64a638b0
VS
58262010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 * docs/grub.texi (Naming convention): Document new naming convention.
5829
ab8ba957
VS
58302010-07-20 Vadim Solomin <vadic052@gmail.com>
58312010-07-20 Colin Watson <cjwatson@ubuntu.com>
5832
5833 Generate device.map in something closer to the old ordering.
5834
5835 * util/deviceiter.c (struct device): New declaration.
5836 (compare_file_names): Rename to ...
5837 (compare_devices): ... this. Sort by kernel name in preference to
5838 the stable by-id name, but keep the latter as a fallback comparison.
5839 Update header comment.
5840 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
5841 of `struct device' rather than of plain file names.
5842
a29d6a4b
TF
58432010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
5844
5845 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
5846 on i386.
5847
39d824e8
VS
58482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * commands/acpi.c (setup_common_tables): Use sizeof instead of
5851 hardcoding size.
5852 (setv1table): Likewise.
5853
f058276b
FZ
58542010-07-20 Colin Watson <cjwatson@ubuntu.com>
5855
5856 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
5857 removing the homehost if present.
5858 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
5859 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
5860 removing the homehost if present.
5861 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
5862 if possible.
5863 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
5864
5865 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
5866 parameter. Set its pointer target to 0.
5867 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
5868 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
5869 `data_offset' value from the superblock for 1.x metadata.
5870 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
5871 data on the device.
5872 (insert_array): Record the start sector of data on the device.
5873 (grub_raid_register): Pass start_sector parameters to
5874 grub_raid_list->detect and insert_array.
5875 * include/grub/raid.h (struct grub_raid_array): Add start_sector
5876 member.
5877 (struct grub_raid): Add start_sector parameter to `detect'.
5878
5879 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
5880 __attribute__ ((packed)), leaving a comment.
5881 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
5882 (grub_mdraid_detect_09): ... here and ...
5883 (grub_mdraid_detect_1x): ... here.
5884
58852010-07-20 Peter Henn <peter.henn@web.de>
5886
5887 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
5888 chunk size and disk size, which are already given as sector counts
5889 as distinct from the 0.90 units. Fetch the correct device number
5890 from the role table instead of using the table index.
5891
58922010-07-20 Felix Zielcke <fzielcke@z-51.de>
5893
5894 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
5895 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
5896 (WriteMostly1): New macro.
5897 Set array->name to NULL for metadata format 0.90. Add support for
5898 metadata 1.x. Fix some comments.
5899 * disk/raid.c (): Add support for name based RAID arrays. Fix a
5900 few comments.
5901 * util/getroot.c (grub_util_get_grub_dev): Add support for
5902 /dev/md/name style devices.
5903
4b761da9
CW
59042010-07-20 Colin Watson <cjwatson@ubuntu.com>
5905
5906 * .bzrignore: Ignore 20_linux_xen.
5907
5771289a
CW
59082010-07-17 Colin Watson <cjwatson@ubuntu.com>
5909
5910 * util/import_unicode.py: Remove unnecessary imports.
5911
5dab68df
AN
59122010-07-17 Aleš Nesrsta <starous@volny.cz>
5913
5914 Hotplugging and USB hub support.
5915
5916 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
5917 (grub_ohci): Likewise.
5918 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
5919 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
5920 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
5921 (GRUB_OHCI_CTRL_EDS): Likewise.
5922 (GRUB_OHCI_BULK_EDS): Likewise.
5923 (GRUB_OHCI_TDS): Likewise.
5924 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
5925 (grub_ohci_ed_phys2virt): New function.
5926 (grub_ohci_virt_to_phys): Likewise.
5927 (grub_ohci_td_phys2virt): Likewise.
5928 (grub_ohci_td_virt2phys): Likewise.
5929 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
5930 attachment.
5931 (grub_ohci_find_ed): New function.
5932 (grub_ohci_alloc_td): Likewise.
5933 (grub_ohci_free_td): Likewise.
5934 (grub_ohci_free_tds): Likewise.
5935 (grub_ohci_transfer): Use previously allocated memory.
5936 (grub_ohci_portstatus): Reset status changed bit.
5937 (grub_ohci_detect_dev): Supply status changed.
5938 (grub_ohci_fini_hw): Free memory.
5939 (grub_ohci_restore_hw): Reallocate memory.
5940 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
5941 Reset status change.
5942 (grub_uhci_detect_dev): Supply status_change.
5943 * bus/usb/usb.c (attach_hooks): New var.
5944 (grub_usb_device_attach): New function.
5945 (grub_usb_register_attach_hook_class): Likewise.
5946 (grub_usb_unregister_attach_hook_class): Likewise.
5947 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
5948 (grub_usb_add_hub): Reset connection changed bit.
5949 (attach_root_port): New function.
5950 (grub_usb_root_hub): Likewise.
5951 (poll_nonroot_hub): Likewise.
5952 (grub_usb_poll_devices): Likewise.
5953 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
5954 * disk/usbms.c (grub_usbms_open): Use device hooks.
5955 (grub_usbms_iterate) :Poll devices.
5956 (grub_usbms_finddevs): Split into ...
5957 (grub_usbms_attach): ... this ...
5958 (grub_usbms_attach): ... and this.
5959 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
5960 in detect_dev.
5961 (grub_usb_interface): New fields attached and detach_hook.
5962 (grub_usb_attach_hook_class): New type.
5963 (grub_usb_attach_desc): New struct.
5964 (grub_usb_register_attach_hook_class): New function.
5965 (grub_usb_unregister_attach_hook_class): Likewise.
5966 (grub_usb_poll_devices): Likewise.
5967 (grub_usb_device_attach): Likewise.
5968 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
5969 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
5970
3222efaf
VS
59712010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
5974 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
5975 delta determination style. Works with most NetBSD partitions too.
5976
139b714a
VS
59772010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
5980 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
5981
986aad56
VS
59822010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
5985
99be513c
AB
59862010-07-14 Anton Blanchard <anton@samba.org>
5987
5988 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
5989 ET_DYN files.
5990
18075f62
GS
59912010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5992
5993 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
5994
8d9a5b15
GS
59952010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5996
5997 * kern/partition.c (grub_partition_check_containment): New function to
5998 check that a partition is physically contained in a parent. Since
5999 offsets are relative (and non-negative), this reduces to checking that
6000 the partition ends before its parent.
6001 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6002 (grub_partition_iterate): Likewise.
6003 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6004 comments.
6005 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6006 partitions that start before their parent, and add debug printfs.
6007
19563c25
CW
60082010-07-13 Colin Watson <cjwatson@ubuntu.com>
6009
6010 * Makefile.in (.SUFFIX): Spell correctly, as ...
6011 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6012 bare module name without `.mod', e.g. `test') tried to invoke a
6013 Modula-2 compiler.
6014
1a1f1e67
CW
60152010-07-13 Colin Watson <cjwatson@ubuntu.com>
6016
6017 * README: Point to the Info manual.
6018
811b0dca
JS
60192010-07-13 Jiro SEKIBA <jir@unicus.jp>
6020
6021 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6022 2nd superblock position from partition size.
6023
e4f4eafc
CW
60242010-07-10 Colin Watson <cjwatson@ubuntu.com>
6025
6026 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6027 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6028 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6029 outputs.
6030
4274c30f
VS
60312010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 Restructure SCSI .id handling.
6034 Reported and tested by: Aleš Nesrsta.
6035
6036 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6037 (grub_atapi_dev): Changed .name to "ata". New field .id.
6038 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6039 (grub_usbms_dev): New field .id.
6040 * disk/scsi.c (grub_scsi_iterate): Generate name.
6041 (grub_scsi_open): Parse name.
6042 * include/grub/scsi.h (grub_make_scsi_id): New function.
6043 (grub_scsi_dev): Change iterate and open to number instead of naming
6044 busses. All users updated.
6045 (grub_scsi): Remove name. Add .bus.
6046
5bc24388
VS
60472010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * commands/help.c (grub_cmd_help): Fix a typo.
6050
249975ba
VS
60512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6052
6053 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6054 Reported and tested by: Colin Watson.
6055
3eaac1a1
VS
60562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6059 in this context.
6060
becce1b1
VS
60612010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6064
f7bf0918
CW
60652010-07-07 Colin Watson <cjwatson@ubuntu.com>
6066
6067 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6068 indentation.
6069
0b0f9620
CW
60702010-07-06 Colin Watson <cjwatson@ubuntu.com>
6071
6072 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6073 and disk/raid6_recover.c.
6074 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6075 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6076
1e545469
CW
60772010-07-06 Colin Watson <cjwatson@ubuntu.com>
6078
6079 * term/gfxterm.c (repaint_schedulded): Rename to ...
6080 (repaint_scheduled): ... this. Update all callers.
6081 (repaint_was_schedulded): Rename to ...
6082 (repaint_was_scheduled): ... this. Update all callers.
6083
5357687a
CW
60842010-07-06 Colin Watson <cjwatson@ubuntu.com>
6085
6086 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6087 which we expect to be handled by upper layers.
6088
29d7e783
BC
60892010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6090
6091 * bus/usb/usbhub.c: #include time.h header.
6092
37582066
CW
60932010-07-06 Colin Watson <cjwatson@ubuntu.com>
6094
6095 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6096 entry_name also for entries without stat blocks (e.g. ".."); fixes
6097 corruption of the first entry in a directory.
6098
c8c06953
CW
60992010-07-06 Colin Watson <cjwatson@ubuntu.com>
6100
6101 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6102 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6103 doesn't work otherwise.
6104
e75056f1
CW
61052010-07-05 Colin Watson <cjwatson@ubuntu.com>
6106
6107 * docs/grub.texi (Features): Update list of supported file systems.
6108 (GNU/Linux): Update for GRUB 2.
6109 (Serial terminal): Remove mention of --disable-serial, which was a
6110 GRUB Legacy configure option. Update instructions to use
6111 `terminal_input' and `terminal_output' rather than `terminal'.
6112 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6113 configuration' and `Installing GRUB using grub-install'.
6114 (Menu entry editor): Update for GRUB 2.
6115 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6116 Document new -a, -u, and -v options.
6117 (initrd): New section.
6118 (initrd16): New section.
6119 (linux): New section.
6120 (linux16): New section.
6121 (search): The `var' argument to `--set' is optional.
6122 (GRUB only offers a rescue shell): Go into a little more detail on
6123 drive ordering.
6124
5cf69151
CW
61252010-07-05 Colin Watson <cjwatson@ubuntu.com>
6126
6127 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6128
e3f90044
CW
61292010-07-05 Colin Watson <cjwatson@ubuntu.com>
6130
6131 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6132 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6133
38d8f4f3
CW
61342010-07-05 Colin Watson <cjwatson@ubuntu.com>
6135
6136 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6137 install_prefix, in line with install_dos_part and install_bsd_part.
6138 Add new prefix variable, which is copied to install_prefix after
6139 comparing core.img in memory with the one read from disk in the
6140 no-embedding case, and use that rather than overwriting
6141 install_prefix immediately when installing to a partition.
6142 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6143 Bicakci.
6144
57ebd41e
GS
61452010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6146
6147 * configure.ac: Avoid == in test command, it's not portable.
6148 * util/grub.d/30_os-prober.in: Likewise.
6149
cb7f64b2
CW
61502010-07-04 Colin Watson <cjwatson@ubuntu.com>
6151
6152 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6153
6b654bb0
GS
61542010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6155
6156 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6157 multiple (top-level) partmaps.
6158
72a2026d
VS
61592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 6162 Reported by: Tino Keitel.
72a2026d 6163
df3eb88f
VS
61642010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 Bidi and diacritics support.
6167
6168 * Makefile.in (widthspec.bin): New target.
6169 (widthspec.h): Likewise.
6170 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6171 * autogen.sh: Generate unidata.c.
6172 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6173 * commands/ls.c (grub_ls_list_devices): Likewise.
6174 (grub_ls_list_files): Likewise.
6175 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6176 (grub_mini_cmd_lsmod): Likewise.
6177 * commands/read.c: Likewise.
6178 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6179 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6180 * lib/arg.c (grub_arg_show_help): Likewise.
6181 * lib/crypto.c (grub_password_get): Likewise.
6182 * normal/auth.c (grub_username_get): Likewise.
6183 * normal/misc.c (grub_normal_print_device_info): Likewise.
6184 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6185 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6186 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6187 (normal/charset.c_DEPENDENCIES): New variable.
6188 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6189 (pkglib_MODULES): Remove charset.mod.
6190 (charset_mod_SOURCES): Removed.
6191 (charset_mod_CFLAGS): Likewise.
6192 (charset_mod_LDFLAGS): Likewise.
6193 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6194 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6195 and term/tparm.c.
6196 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6197 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6198 (kernel_img_HEADERS): Add terminfo.h.
6199 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6200 Fill ->font. Reverse ascii bitmaps.
6201 (grub_font_get_xheight): New function.
6202 * font/font.c (grub_font_get_string_width): Moved from here ...
6203 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6204 * font/font.c (grub_font_draw_string): Moved from here ...
6205 * gfxmenu/font.c (grub_font_draw_string): ... here.
6206 * font/font.c (grub_font_dup_glyph): New function.
6207 (grub_font_blit_glyph): Likewise.
6208 (grub_font_blit_glyph_mirror): Likewise.
6209 (blit_comb): Likewise.
6210 (grub_font_construct_dry_run): Likewise.
6211 (grub_font_get_constructed_device_width): Likewise.
6212 (grub_font_construct_glyph): Likewise.
6213 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6214 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6215 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6216 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6217 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6218 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6219 (grub_font_get_xheight): New proto.
6220 (grub_font_get_constructed_device_width): Likewise.
6221 (grub_font_construct_glyph): Likewise.
6222 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6223 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6224 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6225 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6226 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6227 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6228 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6229 (grub_console_getcharwidth): Likewise.
6230 * include/grub/misc.h (grub_xputs): New proto.
6231 (grub_puts): Inlined.
6232 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6233 (grub_normal_get_line_counter): Removed.
6234 (grub_install_newline_hook): Likewise.
6235 (grub_normal_get_char_counter): New proto.
6236 (grub_normal_reset_more): Likewise.
6237 (grub_xputs_normal): Likewise.
6238 * include/grub/powerpc/ieee1275/console.h: Removed.
6239 * include/grub/sparc64/ieee1275/console.h: Likewise.
6240 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6241 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6242 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6243 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6244 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6245 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6246 (grub_term_input): Pass reference to self. All users updated.
6247 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6248 Pass reference to self. New fields normal_color, highlight_color and
6249 data. All users updated.
6250 (grub_putchar): Removed.
6251 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6252 (grub_unicode_estimate_width): New function.
6253 (grub_term_getcharwidth): Add defaults.
6254 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6255 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6256 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6257 (grub_cls): Remove EXPORT_FUNC.
6258 (grub_setcolorstate): Inline.
6259 (grub_newline_hook): Removed.
6260 * include/grub/terminfo.h: Rewritten. All users updated.
6261 * include/grub/unicode.h: New file.
6262 * include/grub/video.h (grub_video_signed_rect): New type.
6263 * kern/emu/console.c (grub_console_highlight_color): Removed.
6264 (grub_console_normal_color): Likewise.
6265 (grub_console_standard_color): Made static.
6266 (grub_ncurses_putchar): Remove mapping.
6267 (grub_ncurses_getcharwidth): Removed.
6268 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6269 (grub_ncurses_setcolor): Removed.
6270 (grub_ncurses_getcolor): Likewise.
6271 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6272 (grub_console_putchar): ... this.
6273 (grub_console_putchar): Handle argument difference.
6274 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6275 console_init_early and console_init_lately.
6276 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6277 * kern/misc.c (grub_puts): Removed.
6278 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6279 (grub_vsnprintf_real): Remove str = NULL support.
6280 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6281 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6282 * kern/term.c (grub_putcode): Renamed to ...
6283 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6284 (grub_putchar): Removed.
6285 (grub_xputs_dumb): New function.
6286 (grub_xputs): New variable.
6287 * lib/charset.c: Move from here ...
6288 * normal/charset.c: ... to here.
6289 (grub_ucs4_to_utf8): New function.
6290 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6291 (join_types): New variable.
6292 (unpack_join): New function.
6293 (bidi_types): New variable.
6294 (unpack_bidi): New function.
6295 (get_bidi_type): Likewise.
6296 (get_join_type): Likewise.
6297 (is_mirrored): Likewise.
6298 (grub_unicode_get_comb_type): Likewise.
6299 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6300 (is_type_after): Likewise.
6301 (grub_unicode_aglomerate_comb): Likewise.
6302 (bidi_line_wrap): Likewise.
6303 (grub_bidi_line_logical_to_visual): Likewise.
6304 (grub_bidi_logical_to_visual): Likewise.
6305 (grub_unicode_mirror_code): Likewise.
6306 (grub_unicode_shape_code): Likewise.
6307 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6308 Don't use grub_putchar.
6309 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6310 (grub_normal_reader_init): Likewise.
6311 (grub_xputs_saved): New variable.
6312 (GRUB_MOD_INIT): Set grub_xputs.
6313 (GRUB_MOD_FINI): Restore grub_xputs.
6314 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6315 (menu_init): Avoid printing gfxmenu error.
6316 (show_menu): Use grub_normal_get_char_counter.
6317 * normal/menu_entry.c (update_screen): Fix out-of-array.
6318 (complete): Avoid NULL dereferencing.
6319 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6320 * normal/menu_text.c (print_spaces): Removed.
6321 (grub_print_ucs4): Likewise.
6322 (grub_print_message_indented): Use grub_print_ucs4.
6323 (print_message): Use grub_putcode.
6324 (print_entry): Hanlde diacritics.
6325 * normal/term.c (term_state): New type.
6326 (grub_more_lines): Removed.
6327 (term_states): New variable.
6328 (grub_normal_line_counter): Renamed to ..
6329 (grub_normal_char_counter): ...this. All users updated.
6330 (grub_normal_get_line_counter): Renamed to ...
6331 (grub_normal_get_char_counter): ... this.
6332 (grub_normal_reset_more): New function.
6333 (process_newline): Removed.
6334 (print_more): New function.
6335 (grub_install_newline_hook): Removed.
6336 (map_code): New function.
6337 (grub_puts_terminal): Use grub_print_ucs4.
6338 (putglyph): New function.
6339 (putcode_real): Likewise.
6340 (grub_putcode): Use putcode_real.
6341 (get_maxwidth): New function.
6342 (get_startwidth): Likewise.
6343 (print_ucs4_terminal): Likewise.
6344 (find_term_state): Likewise.
6345 (put_glyphs_terminal): Likewise.
6346 (print_backlog): Likewise.
6347 (print_ucs4_real): Likewise.
6348 (grub_print_ucs4): Likewise.
6349 (grub_xputs_normal): Likewise.
6350 * term/efi/console.c (grub_console_putchar): Output diacritics.
6351 (grub_console_getcharwidth): Removed.
6352 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6353 * term/gfxterm.c (clear_char): Free chars.
6354 (scroll_up): Avoid leaking memory.
6355 (grub_gfxterm_putchar): Support diacritics.
6356 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6357 * term/i386/pc/console.c (grub_console_term_output): Declare as
6358 GRUB_TERM_CODE_TYPE_VGA.
6359 * term/i386/pc/vga.c (grub_vga_term): Declare as
6360 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6361 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6362 GRUB_TERM_CODE_TYPE_VGA.
6363 * term/i386/vga_common.c (map_char): Removed.
6364 (grub_console_putchar): Likewise.
6365 (grub_console_getcharwidth): Likewise.
6366 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6367 (colors): Reordered to match terminfo.
6368 (grub_ofconsole_normal_color): Removed.
6369 (grub_ofconsole_writeesc): Likewise.
6370 (grub_ofconsole_highlight_color): Likewise.
6371 (grub_ofconsole_getcharwidth): Likewise.
6372 (grub_ofconsole_setcolorstate): Likewise.
6373 (grub_ofconsole_setcolor): Likewise.
6374 (grub_ofconsole_getcolor): Likewise.
6375 (grub_ofconsole_readkey): Renamed to ...
6376 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6377 key.
6378 (grub_ofconsole_checkkey): Removed.
6379 (grub_ofconsole_getkey): Likewise.
6380 (grub_ofconsole_getxy): Likewise.
6381 (grub_ofconsole_gotoxy): Likewise.
6382 (grub_ofconsole_cls): Likewise.
6383 (grub_ofconsole_refresh): Likewise.
6384 (grub_ofconsole_terminfo_input): New struct.
6385 (grub_ofconsole_terminfo_output): Likewise.
6386 (grub_ofconsole_term_input): Use terminfo.
6387 (grub_ofconsole_term_output): Likewise.
6388 (grub_console_init): Split into ...
6389 (grub_console_init_early): ...this and ...
6390 (grub_console_init_lately): ...this. Use terminfo.
6391 (grub_ofconsole_putchar): Renamed to ...
6392 (put): ... this. Remove mapping.
6393 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6394 * term/serial.c: Simplify using terminfo.
6395 (xpos): Removed.
6396 (ypos): Likewise.
6397 (keep_track): Likewise.
6398 (registered): Likewise.
6399 (input_buf): Likewise.
6400 (npending): Likewise.
6401 (serial_translate_key_sequence): Likewise.
6402 (fill_input_buf): Likewise.
6403 (grub_serial_checkkey): Likewise.
6404 (grub_serial_getkey): Likewise.
6405 (grub_serial_getxy): Likewise.
6406 (grub_serial_gotoxy): Likewise.
6407 (grub_serial_putchar): Likewise.
6408 (grub_serial_cls): Likewise.
6409 (grub_serial_setcolorstate): Likewise.
6410 (grub_serial_setcursor): Likewise.
6411 (serial_hw_init): Use serial_hw_fetch.
6412 (grub_serial_terminfo_input): New variable.
6413 (grub_serial_terminfo_output): Likewise.
6414 (grub_serial_term_input): Use terminfo.
6415 (grub_serial_term_output): Likewise.
6416 * term/terminfo.c (putstr): Use put.
6417 (grub_terminfo_all_free): New function
6418 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6419 (grub_terminfo_output_register): New function.
6420 (grub_terminfo_output_unregister): Likewise.
6421 (grub_terminfo_getxy): Likewise.
6422 (grub_terminfo_readkey): Likewise.
6423 (grub_terminfo_checkkey): Likewise.
6424 (grub_terminfo_getkey): Likewise.
6425 (grub_terminfo_input_init): Likewise.
6426 (print_terminfo): Likewise.
6427 (grub_cmd_terminfo): Handle encoding.
6428 (grub_terminfo_gotoxy): Track position.
6429 (grub_terminfo_cls): Likewise.
6430 (grub_terminfo_putchar): Likewise.
6431 (grub_terminfo_setcolorstate): Handle colors
6432 (grub_terminfo_cursor_on): This ...
6433 (grub_terminfo_cursor_off): ... and this merged into ...
6434 (grub_terminfo_setcursor): ... this.
6435 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6436 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6437 * unicode/BidiMirroring.txt: Likewise.
6438 * unicode/UnicodeData.txt: Likewise.
6439 * unicode/COPYING: Likewise.
6440 * util/grub-editenv.c (grub_putchar): Removed.
6441 (grub_xputs_real): New function.
6442 (grub_xputs): New variable.
6443 * util/grub-fstest.c (grub_putchar): Removed.
6444 (grub_xputs_real): New function.
6445 (grub_xputs): New variable.
6446 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6447 (grub_xputs_real): New function.
6448 (grub_xputs): New variable.
6449 * util/grub-probe.c (grub_putchar): Removed.
6450 (grub_xputs_real): New function.
6451 (grub_xputs): New variable.
6452 * util/grub-script-check.c (grub_putchar): Removed.
6453 (grub_xputs_real): New function.
6454 (grub_xputs): New variable.
6455 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6456 (grub_xputs_real): New function.
6457 (grub_xputs): New variable.
6458 * util/import_unicode.py: New file.
6459 * util/grub-mkfont.c (ft_errmsgs): New array.
6460 (grub_glyph_info): Make bitmap a pointer.
6461 (file_formats): New type WIDTH_SPEC.
6462 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6463 (options): Add width-spec.
6464 (help): Likewise.
6465 (add_char): Renamed to ...
6466 (add_glyph): ... this.
6467 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6468 (glyph_replace): New type.
6469 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6470 (add_char): New function.
6471 (add_subst): Likewise.
6472 (process_cursive): Likewise.
6473 (add_font): Handle GSUB.
6474 (write_font_width_spec): New function.
6475 (main): Sort glyphs.
6476 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6477 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6478 * kern/term.c (grub_cls): Moved from here...
6479 * normal/term.c (grub_cls): ... here.
6480
50f0bcda
CW
64812010-07-02 Colin Watson <cjwatson@ubuntu.com>
6482
6483 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6484 suitable for using within the format argument of printf when
6485 converting grub_size_t.
6486 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6487 "x" to convert grub_size_t arguments.
6488
40372103
VS
64892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6492 too long captions.
6493 (list_get_minimal_size): Take selection box into account.
6494
942a10c7
VS
64952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6498 NULL font.
6499
2bdb2892
CW
65002010-07-02 Colin Watson <cjwatson@ubuntu.com>
6501
6502 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6503 devices when iterating over /dev/disk/by-id; they will be handled
6504 later if appropriate, which they aren't always (e.g. LVM).
6505
e03ed6c1
CW
65062010-07-02 Colin Watson <cjwatson@ubuntu.com>
6507
6508 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6509 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6510 fails.
6511 (grub_halt): Likewise.
6512 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6513 reset-all fails.
6514 (grub_halt): Don't return, even if all of shut-down, power-off, and
6515 poweroff fail.
6516
47695765
CW
65172010-07-02 Colin Watson <cjwatson@ubuntu.com>
6518
6519 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6520 arguments, not three.
6521
507736c8
CW
65222010-07-02 Colin Watson <cjwatson@ubuntu.com>
6523
6524 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6525 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6526 LVM-on-RAID is handled correctly.
6527
e3c8cd37
CW
65282010-07-02 Colin Watson <cjwatson@ubuntu.com>
6529
6530 * docs/grub.texi (Changes from GRUB Legacy): New section.
6531 (Future): Fix typo.
6532
8d4a2fec
CW
65332010-07-02 Colin Watson <cjwatson@ubuntu.com>
6534
6535 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6536 grub.d/README accidentally ends up executable for one reason or
6537 another. Ignore it.
6538
1c4827be
VS
65392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6542 (gpt_partition_map_iterate): Support non-512B sectors.
6543
d9a0c941
VS
65442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6547 Tested by: Seth Goldberg.
6548
48f27e87
VS
65492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
6552 Properly align mbi.
6553 Reported by: Seth Goldberg.
6554
b0c4f956
VS
65552010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * util/grub-mkrescue.in: Avoid module duplication.
6558
105a2e8c
SF
65592010-07-01 Sean Finney <seanius@seanius.net>
6560
6561 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
6562
5944958c
SF
65632010-07-01 Sean Finney <seanius@seanius.net>
6564
6565 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
6566
65672010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6568
6569 * disk/lvm.c (grub_lvm_checkvalue): New function.
6570 (grub_lvm_check_flag): Likewise.
6571
b79889ba
RM
65722010-07-01 Robert Millan <rmh@gnu.org>
6573
6574 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
6575 Support 'p' as partition separator on kernel of FreeBSD (used
6576 with GPT labels).
6577 (grub_util_biosdisk_get_grub_dev): Likewise.
6578
ec1d04f1
VS
65792010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 Yeeloong firmware port.
6582
6583 * boot/mips/yeeloong/fwstart.S: New file.
6584 * bus/cs5536.c (gpiodump): New const.
6585 (set_io_space): New function.
6586 (set_iod): Likewise.
6587 (set_p2d): Likewise.
6588 (grub_cs5536_init_geode): Likewise.
6589 * commands/mips/yeeloong/lsspd.c: New file.
6590 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
6591 (serial_mod_SOURCES): New variable.
6592 (serial_mod_CFLAGS): Likewise.
6593 (serial_mod_LDFLAGS): Likewise.
6594 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
6595 term/terminfo.c and term/tparm.c.
6596 (pkglib_IMAGES): Add fwstart.img.
6597 (fwstart_img_SOURCES): New variable.
6598 (fwstart_img_CFLAGS): Likewise.
6599 (fwstart_img_ASFLAGS): Likewise.
6600 (fwstart_img_LDFLAGS): Likewise.
6601 (fwstart_img_FORMAT): Likewise.
6602 (pkglib_MODULES): Add lsspd.mod.
6603 (lsspd_mod_SOURCES): New variable.
6604 (lsspd_mod_CFLAGS): Likewise.
6605 (lsspd_mod_LDFLAGS): Likewise.
6606 (pkglib_MODULES): Add halt.mod.
6607 (halt_mod_SOURCES): New variable.
6608 (halt_mod_CFLAGS): Likewise.
6609 (halt_mod_LDFLAGS): Likewise.
6610 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
6611 (serial_mod_SOURCES): Removed.
6612 (serial_mod_CFLAGS): Likewise.
6613 (serial_mod_LDFLAGS): Likewise.
6614 * disk/ata.c (check_device): New function.
6615 (grub_ata_device_initialize): Use check_device.
6616 (grub_ata_iterate): Recheck devices.
6617 (grub_ata_open): Likewise.
6618 (grub_atapi_iterate): Likewise.
6619 (grub_atapi_open): Likewise.
6620 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
6621 (GRUB_ATA_CH1_PORT1): Likewise.
6622 (GRUB_ATA_CH0_PORT2): Likewise.
6623 (GRUB_ATA_CH1_PORT2): Likewise.
6624 * include/grub/mips/loongson.h: New file.
6625 * include/grub/mips/yeeloong/ec.h: Likewise.
6626 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
6627 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
6628 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
6629 * include/grub/misc.h (grub_halt): Declare as noreturn.
6630 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
6631 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
6632 (UART_ENABLE_FIFO_TRIGGER1): New definition.
6633 (UART_ENABLE_DTRRTS): Likewise.
6634 (UART_ENABLE_MODEM): Removed.
6635 (UART_ENABLE_OUT2): New const.
6636 * include/grub/term.h (grub_term_register_input_active): New function.
6637 (grub_term_register_output_active): Likewise.
6638 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
6639 argument.
6640 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
6641 (init_pci): New function.
6642 (grub_machine_init): Execute platform init when firmware. Init serial.
6643 (grub_halt): Implement.
6644 (grub_exit): Likewise.
6645 (grub_reboot): Likewise.
6646 * term/serial.c (serial_hw_init): Update macros.
6647 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
6648 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
6649 (image_targets): New target mipsel-yeeloong-flash.
6650 (generate_image): Support IMAGE_YEELOONG_FLASH.
6651 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
6652 (grub_video_sm712_setup): Init card.
6653 (grub_video_sm712_set_palette): Removed.
6654 * video/sm712_init.c: New file.
6655
ff4a70d2
CW
66562010-06-30 Colin Watson <cjwatson@ubuntu.com>
6657
6658 * Makefile.in (install-local): Temporarily prepend $(builddir) to
6659 PATH when running help2man and then run it on the unadorned
6660 executable names, rather than passing $(builddir)/* paths to
6661 help2man. This avoids the build directory ending up in generated
6662 manual pages.
6663
1246efeb
CW
66642010-06-29 Colin Watson <cjwatson@ubuntu.com>
6665
6666 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
6667 to avoid accidents when debugging with 'sh -x'.
6668 * util/grub-mkrescue.in: Likewise.
6669 * util/grub.d/00_header.in: Likewise.
6670 * util/grub.d/10_hurd.in: Likewise.
6671 * util/grub.d/10_kfreebsd.in: Likewise.
6672 * util/grub.d/10_linux.in: Likewise.
6673 * util/grub.d/10_netbsd.in: Likewise.
6674 * util/grub.d/10_windows.in: Likewise.
6675 * util/grub.d/20_linux_xen.in: Likewise.
6676 * util/grub.d/30_os-prober.in: Likewise.
6677 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6678
1ba9b889
CW
66792010-06-29 Colin Watson <cjwatson@ubuntu.com>
6680
6681 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
6682 last character in the buffer.
6683 Reported by: Vladimir Serbinenko.
6684
dccaf99d
RM
66852010-06-29 Robert Millan <rmh@gnu.org>
6686
6687 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
6688 (Command-line and menu entry commands): Document `badram' command.
6689
d500ed12
RM
66902010-06-28 Robert Millan <rmh@gnu.org>
6691
6692 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
6693 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
6694 command using ${GRUB_BADRAM} as parameter.
6695
20bc84a6
CW
66962010-06-28 Colin Watson <cjwatson@ubuntu.com>
6697
6698 * docs/grub.texi (Device map): New section.
6699 (Themes): New section (stub).
6700 * Makefile.in (docs/grub.info): The info documentation now builds
6701 without errors. Make sure it stays that way.
6702
4045dee1
VS
67032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 Use normal parser for menu entries.
6706 Reported by: Thomas Frauendorfer
6707
6708 * include/grub/parser.h (grub_parser_execute): Don't export.
6709 * normal/menu.c (grub_menu_execute_entry_real): New function.
6710 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
6711
bca58c7b
CW
67122010-06-28 Colin Watson <cjwatson@ubuntu.com>
6713
6714 * docs/grub.texi (Embedded configuration): New section (replacing
6715 old "Preset Menu" stub).
6716 (Images): New section.
6717 (configfile): Note that any menu entries defined in `file' are shown
6718 immediately.
6719
dec53e63
JT
67202010-06-28 Josh Triplett <josh@joshtriplett.org>
6721
6722 * mmap/i386/pc/mmap_helper.S: Set CF on return.
6723
c06e40f7
CW
67242010-06-28 Colin Watson <cjwatson@ubuntu.com>
6725
6726 * util/grub-install.in: Add --debug-image= option.
6727
cb88052b
CW
67282010-06-28 Colin Watson <cjwatson@ubuntu.com>
6729
6730 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
6731 possible on Linux.
6732
6733 * util/deviceiter.c (check_device): Rename to ...
6734 (check_device_readable_unique): ... this. Update all callers.
6735 Maintain and check a list of which devices (by canonicalized name)
6736 have already been seen.
6737 (clear_seen_devices): New function.
6738 (compare_file_names) [__linux__]: New function.
6739 (grub_util_iterate_devices): Clear the list of seen devices on exit
6740 and (just in case) on entry.
6741 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
6742 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
6743 seen-devices list, superseded by general code in check_device.
6744
bbe34652
CW
67452010-06-28 Colin Watson <cjwatson@ubuntu.com>
6746
6747 * commands/cat.c (options): New variable.
6748 (grub_cmd_cat): Parse options. If the --dos option is given, print
6749 DOS-style "\r\n" line endings as simple newlines (Debian bug
6750 #586358).
6751 (GRUB_MOD_INIT): Use extcmd.
6752 (GRUB_MOD_FINI): Likewise.
6753 * docs/grub.texi (cat): Document --dos.
6754
412e09f3
VS
67552010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6756
6757 XEN with Linux grub-mkconfig support.
6758
6759 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
6760 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
6761 GRUB_CMDLINE_XEN_DEFAULT.
6762 * util/grub.d/20_linux_xen.in: New file.
6763
53f3ef38 67642010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
6765
6766 Initialise VGA video on qemu ourselves.
6767
6768 * boot/i386/qemu/boot.S: Don't call 0xc000.
6769 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
6770 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
6771 (kernel_img_HEADERS): Add pci.h.
6772 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
6773 * configure.ac: Force unifont on qemu and yeeloong.
6774 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
6775 (grub_vga_palette_write): Use correct register.
6776 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
6777 Call grub_qemu_init_cirrus.
6778 * kern/i386/qemu/init.c: New file.
6779 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
6780
6781 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
6782
c75be4fb
PR
67832010-06-26 Pavel Roskin <proski@gnu.org>
6784
6785 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
6786 13.
6787
d8034603
CW
67882010-06-26 Colin Watson <cjwatson@ubuntu.com>
6789
6790 * docs/grub.texi (Simple configuration): Explain that
6791 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
6792 set to `true' to disable their respective recovery entries, not
6793 merely set.
6794
3fa06487
CW
67952010-06-26 Colin Watson <cjwatson@ubuntu.com>
6796
6797 Make the `source' command slightly faster.
6798
6799 * normal/main.c (grub_normal_execute): Don't re-read list files when
6800 nested.
6801
e9b29642
CW
68022010-06-23 Colin Watson <cjwatson@ubuntu.com>
6803
6804 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
6805 field position and mask size to red fields from mode_info, not
6806 green.
6807 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
6808 Remove redundant tag->common.framebuffer_type assignment.
6809 Reported by: Seth Goldberg.
6810
e726542f
CW
68112010-06-23 Colin Watson <cjwatson@ubuntu.com>
6812
6813 Sync up other versions of the Linux loader with Robert Millan's
6814 change of 2010-01-09, "Make loader output a bit more user-friendly".
6815
6816 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
6817 grub_dprintf().
6818 (grub_cmd_linux): Likewise.
6819 (grub_cmd_initrd): Likewise.
6820 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
6821 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6822
d6e98a17
CW
68232010-06-21 Colin Watson <cjwatson@ubuntu.com>
6824
6825 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
6826 larger than MEMORY_MAP_SIZE.
6827
14d3f08e
BC
68282010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
6829
6830 Fix parallel build.
6831
6832 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
6833 dependency.
6834 * script/parser.y: #include grub_script.tab.h header.
6835
4f9613a3
VS
68362010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 Support >3GiB and <16MiB RAM in i386-qemu.
6839
6840 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
6841 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
6842 (grub_lower_mem): Removed.
6843 (grub_upper_mem): Likewise.
6844 (mem_size): Made static.
6845 (above_4g): New variable.
6846 (grub_machine_mmap_init): Detect small mem_size and above_4g.
6847 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
6848 support.
6849
05e51879
VS
68502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 Cirrus 5446 and Bochs video cards support.
6853
6854 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
6855 video_bochs.mod
6856 (video_cirrus_mod_SOURCES): New variable.
6857 (video_cirrus_mod_CFLAGS): Likewise.
6858 (video_cirrus_mod_LDFLAGS): Likewise.
6859 (video_bochs_mod_SOURCES): Likewise.
6860 (video_bochs_mod_CFLAGS): Likewise.
6861 (video_bochs_mod_LDFLAGS): Likewise.
6862 * include/grub/vga.h: New file.
6863 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
6864 (grub_video_fb_set_page_t): New type.
6865 (grub_video_fb_setup): New prototype.
6866 (grub_video_fb_swap_buffers): Likewise.
6867 (grub_video_fb_get_info_and_fini): Likewise.
6868 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
6869 (CRTC_DATA_PORT): Likewise.
6870 (CRTC_CURSOR): Likewise.
6871 (CRTC_CURSOR_ADDR_HIGH): Likewise.
6872 (CRTC_CURSOR_ADDR_LOW): Likewise.
6873 (CRTC_CURSOR_DISABLE): Likewise.
6874 (update_cursor): Use grub_vga_cr_write.
6875 (grub_vga_text_setcursor): Likewise.
6876 * video/bochs.c: New file.
6877 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
6878 (palette): Likewise.
6879 (palette_size): Likewise.
6880 (framebuffer): New variable.
6881 (grub_video_fb_init): Use 'framebuffer'.
6882 (grub_video_fb_fini): Likewise.
6883 (grub_video_fb_get_info): Likewise.
6884 (grub_video_fb_get_palette): Likewise.
6885 (grub_video_fb_set_palette): Likewise.
6886 (grub_video_fb_set_viewport): Likewise.
6887 (grub_video_fb_get_viewport): Likewise.
6888 (grub_video_fb_map_color): Likewise.
6889 (grub_video_fb_map_rgb): Likewise.
6890 (grub_video_fb_map_rgba): Likewise.
6891 (grub_video_fb_unmap_color): Likewise.
6892 (grub_video_fb_unmap_color_int): Likewise.
6893 (grub_video_fb_fill_rect): Likewise.
6894 (grub_video_fb_blit_bitmap): Likewise.
6895 (grub_video_fb_blit_render_target): Likewise.
6896 (grub_video_fb_scroll): Likewise.
6897 (grub_video_fb_create_render_target): Likewise.
6898 (grub_video_fb_doublebuf_blit_init): Likewise.
6899 (grub_video_fb_set_active_render_target): Handle doublebuffering.
6900 (doublebuf_pageflipping_update_screen): New function.
6901 (doublebuf_pageflipping_init): Likewise.
6902 (grub_video_fb_setup): Likewise.
6903 (grub_video_fb_swap_buffers): Likewise.
6904 (grub_video_fb_get_info_and_fini): Likewise.
6905 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
6906 All users updated.
6907 (doublebuf_pageflipping_commit): Restructured into ...
6908 (doublebuf_pageflipping_set_page): ... this.
6909 (doublebuf_pageflipping_update_screen): Removed.
6910 (doublebuf_pageflipping_init): Likewise.
6911 (double_buffering_init): Likewise.
6912 (grub_video_vbe_setup): Use grub_video_fb_setup.
6913 (grub_video_vbe_swap_buffers): Removed.
6914 (grub_video_vbe_set_active_render_target): Likewise.
6915 (grub_video_vbe_get_active_render_target): Likewise.
6916 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
6917 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
6918 grub_video_fb_set_active_render_target and
6919 grub_video_fb_get_active_render_target.
6920 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
6921 (SEQUENCER_DATA_PORT): Likewise.
6922 (MAP_MASK_REGISTER): Likewise.
6923 (CRTC_ADDR_PORT): Likewise.
6924 (CRTC_DATA_PORT): Likewise.
6925 (START_ADDR_HIGH_REGISTER): Likewise.
6926 (START_ADDR_LOW_REGISTER): Likewise.
6927 (GRAPHICS_ADDR_PORT): Likewise.
6928 (GRAPHICS_DATA_PORT): Likewise.
6929 (READ_MAP_REGISTER): Likewise.
6930 (INPUT_STATUS1_REGISTER): Likewise.
6931 (INPUT_STATUS1_VERTR_BIT): Likewise.
6932 (get_map_mask): Use grub_vga_sr_read.
6933 (set_map_mask): Use grub_vga_sr_write.
6934 (set_read_map): Use grub_vga_gr_write.
6935 (set_start_address): Use grub_vga_cr_write.
6936 * video/sm712.c (framebuffer): Remove leftover fields.
6937
4321c64a
CW
69382010-06-20 Colin Watson <cjwatson@ubuntu.com>
6939
6940 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
6941 setting GRUB_VIDEO_BACKEND. Make it available as a user override
6942 instead. Replace the gfxterm backend check with a check that
6943 ${GRUB_PREFIX}/video.lst is non-empty.
6944 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
6945 again.
6946 (load_video): New generated function. Call it before loading
6947 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
6948 * util/grub.d/10_linux.in (linux_entry): Call load_video.
6949 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
6950 * docs/grub.texi (Simple configuration): Document
6951 GRUB_VIDEO_BACKEND.
6952
69532010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 Use video functions in linux and xnu loaders.
6956
6957 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
6958 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
6959 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
6960 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
6961 loader/i386/pc/linux.c.
6962 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
6963 (find_line_len): Removed.
6964 (find_framebuf): Likewise.
6965 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
6966 * loader/i386/efi/xnu.c: Removed.
6967 * loader/i386/pc/xnu.c: Moved from here...
6968 * loader/i386/xnu.c: ...here.
6969
6970 Enable priorities in video drivers.
6971
6972 * include/grub/video.h (grub_video_adapter_prio_t): New type.
6973 (grub_video_adapter): New field prio.
6974 (grub_video_register): Respect prio when inserting.
6975 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
6976 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
6977 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
6978 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
6979 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
6980 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
6981 * video/sm712.c (grub_video_sm712_adapter): Likewise.
6982
6983 Fix SDL driver ID.
6984
6985 * include/grub/video.h (grub_video_driver_id_t): New value
6986 GRUB_VIDEO_DRIVER_SDL.
6987 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
6988
7d24e434
CW
69892010-06-17 Colin Watson <cjwatson@ubuntu.com>
6990
6991 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
6992 argument to printf.
6993 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6994
c88a83f6
CW
69952010-06-17 Colin Watson <cjwatson@ubuntu.com>
6996
6997 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
6998 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
6999
094dfb69
CW
70002010-06-17 Colin Watson <cjwatson@ubuntu.com>
7001
7002 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7003 directly, and recommend grub-install instead.
7004 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7005
2164da6b
CW
70062010-06-17 Colin Watson <cjwatson@ubuntu.com>
7007
7008 Fix i386-pc prefix handling with nested partitions (Debian bug
7009 #585068). Note that the case where the core image is booted using
7010 multiboot and relocated from its original location still requires
7011 more work.
7012
7013 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7014 with "(,", fill the boot drive in between those two characters, but
7015 expect that a full partition specification including partition map
7016 names will follow.
7017 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7018 specified, write a prefix without the drive name but including a
7019 full partition specification.
7020
044e2e60
CW
70212010-06-16 Colin Watson <cjwatson@ubuntu.com>
7022
7023 * util/grub-mkconfig.in: Ignore non-option arguments, for
7024 compatibility with older versions (before 2010-06-12) which did the
7025 same. In particular, this makes it easier to ship an update-grub
7026 wrapper which is compatible with that used with GRUB Legacy (Debian
7027 bug #586056).
7028
5591324f
GS
70292010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7030
7031 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7032 for manual page generation.
7033
662e24d5
GS
70342010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7035
7036 * po/POTFILES: Remove leftover commands/handler.c.
7037
8d70754e
CW
70382010-06-14 Colin Watson <cjwatson@ubuntu.com>
7039
7040 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7041 left this script non-functional.
7042
41160e2e
CW
70432010-06-14 Colin Watson <cjwatson@ubuntu.com>
7044
7045 * docs/man/grub-emu.h2m: New file.
7046
b5309cc1
CW
70472010-06-13 Colin Watson <cjwatson@ubuntu.com>
7048
7049 * docs/grub.texi (Commands): Document reduced command set in rescue
7050 mode.
7051 (cpuid): New section.
7052
fcb2d090
GS
70532010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7054
7055 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7056 new partition naming style.
7057 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7058
96e5c556
BC
70592010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7060
7061 Add "-o grub.iso" like cmdline options support.
7062
7063 * util/grub-install.in: Improve cmdline option parsing.
7064 * util/grub-mkconfig.in: Likewise.
7065 * util/grub-mkrescue.in: Likewise.
7066 * util/grub-reboot.in: Likewise.
7067 * util/grub-set-default.in: Likewise.
7068 * util/i386/efi/grub-install.in: Likewise.
7069 * util/ieee1275/grub-install.in: Likewise.
7070 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7071
c16be99b
CW
70722010-06-12 Colin Watson <cjwatson@ubuntu.com>
7073
7074 * .bzrignore: Ignore 41_custom.
7075
ce08a9fb
TS
70762010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7077
7078 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7079
7beac90c
CW
70802010-06-12 Colin Watson <cjwatson@ubuntu.com>
7081
7082 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7083 prototype declarations.
7084
7085 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7086 generating fs, partmap, and video lists.
7087 * include/grub/fs.h (grub_fs_register): Omit prototype if
7088 GRUB_LST_GENERATOR is defined.
7089 * include/grub/partition.h (grub_partition_map_register): Likewise.
7090 * include/grub/video.h (grub_video_register): Likewise.
7091
1c8f0f8d
JM
70922010-06-12 Javier Martín <lordhabbit@gmail.com>
7093
7094 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7095
a6085973
TS
70962010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7097
7098 * util/grub-mkrescue.in: Support --xorriso argument.
7099
25c56d29
VS
71002010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7103 Suggested by: Thomas Schmitt.
7104
e03e4b24
VS
71052010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7108 Suggested by: Thomas Schmitt.
7109
57711df6
VS
71102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 custom.cfg support.
7113
7114 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7115 * util/grub.d/41_custom.in: New file.
7116
ee62c427
CW
71172010-06-12 Colin Watson <cjwatson@ubuntu.com>
7118
7119 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7120 been merged back into normal.
7121
283af07a
CW
71222010-06-11 Colin Watson <cjwatson@ubuntu.com>
7123
7124 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7125 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7126
56a0d956
CW
71272010-06-11 Colin Watson <cjwatson@ubuntu.com>
7128
7129 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7130 when generating manual pages.
7131 * docs/man/grub-bin2h.h2m: New file.
7132 * docs/man/grub-editenv.h2m: New file.
7133 * docs/man/grub-fstest.h2m: New file.
7134 * docs/man/grub-install.h2m: New file.
7135 * docs/man/grub-macho2img.h2m: New file.
7136 * docs/man/grub-mkconfig.h2m: New file.
7137 * docs/man/grub-mkdevicemap.h2m: New file.
7138 * docs/man/grub-mkfont.h2m: New file.
7139 * docs/man/grub-mkimage.h2m: New file.
7140 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7141 * docs/man/grub-mkrelpath.h2m: New file.
7142 * docs/man/grub-mkrescue.h2m: New file.
7143 * docs/man/grub-ofpathname.h2m: New file.
7144 * docs/man/grub-pe2elf.h2m: New file.
7145 * docs/man/grub-probe.h2m: New file.
7146 * docs/man/grub-reboot.h2m: New file.
7147 * docs/man/grub-script-check.h2m: New file.
7148 * docs/man/grub-set-default.h2m: New file.
7149 * docs/man/grub-setup.h2m: New file.
7150
3a37e322
VS
71512010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 Use FOR_* macros instead of *_iterate whenever possible.
7154
7155 * commands/handler.c: Removed.
7156 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7157 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7158 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7159 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7160 (grub_probe_SOURCES): Remove kern/parser.c.
7161 (util/grub-script-check.c_DEPENDENCIES): Removed.
7162 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7163 and grub_script_check_init.c.
7164 (grub_script_check_init.lst): Removed.
7165 (grub_script_check_init.h): Likewise.
7166 (grub_script_check_init.c): Likewise.
7167 (pkglib_MODULES): Remove handler.mod and sh.mod.
7168 (handler_mod_SOURCES): Removed.
7169 (handler_mod_CFLAGS): Likewise.
7170 (handler_mod_LDFLAGS): Likewise.
7171 (normal_mod_SOURCES): Remove normal/handler.c.
7172 Add script/main.c, script/script.c, script/execute.c,
7173 script/function.c, script/lexer.c, grub_script.tab.c
7174 and grub_script.yy.c.
7175 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7176 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7177 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7178 (grub_setup_SOURCES): Remove kern/parser.c.
7179 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7180 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7181 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7182 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7183 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7184 (grub_setup_SOURCES): Remove kern/parser.c.
7185 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7186 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7187 * include/grub/command.h (grub_command_iterate): Removed.
7188 (FOR_COMMANDS): New macro.
7189 * include/grub/dl.h (grub_dl): New member next.
7190 (grub_dl_iterate): Removed.
7191 (grub_dl_head): New variable declaration.
7192 (FOR_DL_MODULES): New macro.
7193 * include/grub/fs.h: Include list.h.
7194 (grub_fs): Make next first element.
7195 (grub_fs_list): New variable declaration.
7196 (grub_fs_register): Make inline.
7197 (grub_fs_unregister): Likewise.
7198 (grub_fs_iterate): Removed.
7199 (FOR_FILESYSTEMS): New macro.
7200 * include/grub/handler.h: Removed.
7201 * include/grub/list.h (grub_list_hook_t): Removed.
7202 (grub_list_test_t): Likewise.
7203 (grub_list_pop): Likewise.
7204 (grub_list_iterate): Likewise.
7205 (grub_list_insert): Likewise.
7206 (FOR_LIST_ELEMENTS): New macro.
7207 * include/grub/parser.h (grub_parser_class): Removed.
7208 (grub_parser_register): Likewise.
7209 (grub_parser_unregister): Likewise.
7210 (grub_parser_get_current): Likewise.
7211 (grub_parser_set_current): Likewise.
7212 (grub_register_rescue_parser): Likewise.
7213 (grub_rescue_parse_line): New function.
7214 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7215 * include/grub/script_sh.h (grub_script_function_list): New variable
7216 declaration.
7217 (FOR_SCRIPT_FUNCTIONS): New macro.
7218 (grub_script_function_iterate): Removed.
7219 (grub_normal_parse_line): New prototype.
7220 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7221 (FOR_DISABLED_TERM_INPUTS): Likewise.
7222 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7223 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7224 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7225 element.
7226 (grub_video_register): Inline.
7227 (grub_video_unregister): Likewise.
7228 (grub_video_adapter_list): New variable declaration.
7229 (grub_video_iterate): Removed.
7230 (FOR_VIDEO_ADAPTERS): New macro.
7231 * kern/dl.c (grub_dl_list): Removed. All users updated.
7232 (grub_dl_iterate): Removed.
7233 * kern/fs.c (grub_fs_list): Make global.
7234 (grub_fs_register): Removed.
7235 (grub_fs_unregister): Likewise.
7236 (grub_fs_iterate): Likewise.
7237 * kern/handler.c: Removed.
7238 * kern/list.c (grub_list_pop): Removed.
7239 (grub_list_iterate): Likewise.
7240 (grub_list_insert): Likewise.
7241 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7242 (grub_prio_list_insert): Don't use grub_list_insert.
7243 * kern/main.c (grub_register_rescue_parser): Don't call
7244 grub_register_rescue_parser.
7245 * kern/parser.c (grub_parser_class): Removed.
7246 (grub_parser_execute): Use grub_rescue_parse_line.
7247 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7248 (grub_rescue_parser): Removed.
7249 (grub_register_rescue_parser): Likewise.
7250 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7251 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7252 (grub_auth_check_authentication): Likewise.
7253 * normal/completion.c (iterate_command): Removed.
7254 (grub_normal_do_completion): Use FOR_COMMANDS.
7255 * normal/handler.c: Removed.
7256 * normal/main.c (read_config_file): Remove parser changing.
7257 (grub_normal_execute): Don't call read_handler_list.
7258 (grub_normal_read_line_real): Statically allocate prompt.
7259 (grub_cmdline_run): Use grub_normal_parse_line.
7260 (GRUB_MOD_FINI): Don't call free_handler_list.
7261 * normal/menu_entry.c (run): Likewise.
7262 * script/function.c (grub_script_function_list): Make global.
7263 (grub_script_function_iterate): Removed.
7264 * script/main.c (grub_normal_parse_line): Make global.
7265 (grub_sh_parser): Removed.
7266 (GRUB_MOD_INIT): Likewise.
7267 (GRUB_MOD_FINI): Likewise.
7268 * tests/lib/functional_test.c (grub_functional_test): Use
7269 FOR_LIST_ELEMENTS.
7270 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7271 (grub_test_run): Use FOR_LIST_ELEMENTS.
7272 * tests/lib/unit_test.c (main): Likewise.
7273 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7274 grub_list_pop.
7275 * util/grub-fstest.c (grub_term_input_class): Removed.
7276 (grub_term_output_class): Likewise.
7277 * util/grub-probe.c: Likewise.
7278 * util/i386/pc/grub-setup.c: Likewise.
7279 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7280 * util/grub-script-check.c (main): Don't call grub_init_all and
7281 grub_fini_all.
7282 * video/video.c (grub_video_adapter_list): Make global.
7283 (grub_video_register): Removed.
7284 (grub_video_unregister): Likewise.
7285 (grub_video_iterate): Likewise.
7286
6289c3a7
VS
72872010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7290 reported by Henrique Ferreiro.
7291
91460247
RM
72922010-06-09 Robert Millan <rmh@gnu.org>
7293
7294 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7295 ones, when both are available.
7296
0ea7c4f9
GS
72972010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7298
7299 Make --version uniform and avoid hard-coded program name.
7300
7301 * util/grub-mkimage.c (main): Use `program_name' instead of
7302 hard-coded string.
7303 * util/i386/pc/grub-setup.c (main): Likewise.
7304 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7305 * util/grub-install.in: Save the basename of $0 in $self, and use the
7306 latter in informational messages. Use the same format for --version
7307 as the binary programs.
7308 * util/grub-mkconfig.in: Likewise.
7309 * util/grub-mkrescue.in: Likewise.
7310 * util/grub-reboot.in: Likewise.
7311 * util/grub-set-default.in: Likewise.
7312 * util/i386/efi/grub-install.in: Likewise.
7313 * util/ieee1275/grub-install.in: Likewise.
7314 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7315
e8a6f3b6
GS
73162010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7317
7318 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7319 embedding area. Use <= instead of == when checking for non-emptiness.
7320
f4d095d7
GS
73212010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7322
7323 * configure.ac: Add `.' to the directories searched for unifont.
7324
50e532ca
CW
73252010-06-08 Colin Watson <cjwatson@ubuntu.com>
7326
7327 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7328 grub_script.yy.h.
7329
d39f3dec
CW
73302010-06-08 Colin Watson <cjwatson@ubuntu.com>
7331
7332 * docs/grub.texi (History): Expand to cover GRUB 2.
7333 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7334 commands, not `terminal'.
7335 (serial): Likewise.
7336 (terminal_input): New section.
7337 (terminal_output): New section.
7338 (uppermem): New section (stub).
7339 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7340
6ef0ddb4
CW
73412010-06-08 Colin Watson <cjwatson@ubuntu.com>
7342
7343 * docs/grub.texi (Security): Menu entries are unrestricted by
7344 default, not restricted to superusers as I had previously thought.
7345 Reword to account for this.
7346
e0f4c438
CW
73472010-06-07 Colin Watson <cjwatson@ubuntu.com>
7348
7349 * kern/emu/misc.c (device_mapper_null_log): New function.
7350 (grub_device_mapper_supported): New function.
7351 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7352 prototype.
7353 * kern/emu/hostdisk.c (find_partition_start): Check whether
7354 device-mapper is supported before trying to use it.
7355 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7356
da908200
CW
73572010-06-07 Colin Watson <cjwatson@ubuntu.com>
7358
7359 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7360 (File name syntax): Likewise.
7361 (help): --all is no longer supported in GRUB 2. Be more precise
7362 about pattern matching.
7363
fb55c3ac
CW
73642010-06-07 Colin Watson <cjwatson@ubuntu.com>
7365
7366 * normal/completion.c (grub_normal_do_completion): When completing
7367 arguments to "set" and the current word contains an equals sign,
7368 skip to after the equals sign before starting completion.
7369
258c2573
CW
73702010-06-07 Colin Watson <cjwatson@ubuntu.com>
7371
7372 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7373
ee75515e
CW
73742010-06-07 Colin Watson <cjwatson@ubuntu.com>
7375
7376 * docs/grub.texi (Network): New section.
7377 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7378 `(nd)' as in GRUB Legacy.
7379 (pxe_unload): New section.
7380
a6a700aa
CW
73812010-06-07 Colin Watson <cjwatson@ubuntu.com>
7382
7383 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7384 in the rescue shell, so recommend using `set' instead. Thanks,
7385 Jordan Uggla.
7386
4003dd38
CW
73872010-06-07 Colin Watson <cjwatson@ubuntu.com>
7388
7389 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7390 (password): New section.
7391 (password_pbkdf2): New section.
7392 (search): New section.
7393 (Security): New section.
7394 (Troubleshooting): New section, currently very incomplete.
7395 (Invoking grub-mkpasswd-pbkdf2): New section.
7396 (Internals): New section, currently very incomplete.
7397
e1cbcc40
CW
73982010-06-07 Colin Watson <cjwatson@ubuntu.com>
7399
7400 * util/grub.d/00_header.in: Add some more quoting (of
7401 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7402 work again.
7403 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7404
db8fa1ad
CW
74052010-06-07 Colin Watson <cjwatson@ubuntu.com>
7406
7407 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7408 to `count', fixing variable shadowing that broke the -c option.
7409
74102010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
7411
7412 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7413 in case they contain spaces.
7414
f28a9212
CW
74152010-06-04 Colin Watson <cjwatson@ubuntu.com>
7416
7417 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7418 "part_" to partmap module names, in line with grub-install.
7419 Reported by: Jindřich Makovička (Debian bug #584426).
7420
9cdfe32f
CW
74212010-06-04 Colin Watson <cjwatson@ubuntu.com>
7422
7423 * util/grub-mkimage.c: Make target-related error messages slightly
7424 more helpful; -O talks about "format". Explicitly point to the use
7425 of -O if no target is specified.
7426 Reported by: Didier Raboud (Debian bug #584415).
7427
795b593a
CW
74282010-06-03 Colin Watson <cjwatson@ubuntu.com>
7429
7430 * INSTALL: Document several build requirements for optional features
7431 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7432
9d9b5833
GS
74332010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7434
7435 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7436 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7437 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7438
0819fec8
CW
74392010-06-02 Colin Watson <cjwatson@ubuntu.com>
7440
7441 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7442 Thanks to Jordan Uggla for spotting this.
7443
49396b4f
VS
74442010-06-02 Aleš Nesrsta <starous@volny.cz>
7445
7446 Finally make USB usable.
7447
7448 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7449 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7450 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7451 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7452 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7453 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7454 (GRUB_OHCI_FSMPS): Likewise.
7455 (GRUB_OHCI_PERIODIC_START): Likewise.
7456 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7457 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7458 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7459 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7460 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7461 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7462 (grub_ohci_transaction): Likewise.
7463 (grub_ohci_transfer): Improve condition detection algorithms.
7464 Handle toggle property. Program the transactions correctly.
7465 Improve error handling. Various important fixups.
7466 (grub_ohci_portstatus): Put register writes in right order.
7467 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7468 (grub_uhci_transfer): Don't show "failed" message on success.
7469 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7470 array.
7471 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7472 determine its size.
7473 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7474 before initialization is completed. Use IN direction for empty
7475 transfers. Use last_trans and compute toggle.
7476 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7477 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7478 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7479 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7480 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7481 (grub_usb_device): Increase toggle to 256.
7482 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7483 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7484 GRUB_USBMS_SUBCLASS_SFF8070.
7485 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7486 (grub_scsi_inquiry): New member page and alloc_length.
7487 (grub_scsi_request_sense): New structure.
7488 (grub_scsi_request_sense_data): Likewise.
7489 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7490 control.
7491 * disk/scsi.c (grub_scsi_request_sense): New function.
7492 (grub_scsi_test_unit_ready): Likewise.
7493 (grub_scsi_inquiry): Fill new fields.
7494 (grub_scsi_read_capacity): Likewise.
7495 (grub_scsi_read10): Add request sense at the end.
7496 (grub_scsi_read12): Likewise.
7497 (grub_scsi_write10): Likewise.
7498 (grub_scsi_write12): Likewise.
7499 (grub_scsi_open): Add Test Unit Ready.
7500 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7501 Support additional subclasses. Con't clear halt yet. Activate the
7502 proper config. Calculate LUNs correctly.
7503 (grub_usbms_transfer): Various important fixups.
7504
75052010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7508 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7509 (grub_ohci_fini_hw): New function.
7510 (grub_ohci_restore_hw): Likewise.
7511 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7512 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7513 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7514
75152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Dedicated DMA allocations.
7518
7519 * bus/pci.c (grub_memalign_dma32): New function
7520 (grub_dma_free): Likewise.
7521 (grub_dma_get_virt): Likewise.
7522 (grub_dma_get_phys): Likewise.
7523 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7524 (grub_ohci_pci_iter): Use dma32_alloc.
7525 (grub_ohci_transfer): Likewise.
7526 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7527 (grub_usb_bulk_readwrite): Likewise.
7528 * include/grub/pci.h: Add declarations.
7529
75302010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 CS5536 support.
7533
7534 * bus/cs5536.c: New file.
7535 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7536 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7537 (cs5536_mod_SOURCES): New variable.
7538 (cs5536_mod_CFLAGS): Likewise.
7539 (cs5536_mod_LDFLAGS): Likewise.
7540 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7541 machine/pci.h.
7542 (kernel_img_SOURCES): Add bus/cs5536.c.
7543 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7544 usb_keyboard.mod.
7545 (usb_mod_SOURCES): New variable.
7546 (usb_mod_CFLAGS): New variable.
7547 (usb_mod_LDFLAGS): New variable.
7548 (usbtest_mod_SOURCES): New variable.
7549 (usbtest_mod_CFLAGS): New variable.
7550 (usbtest_mod_LDFLAGS): New variable.
7551 (ohci_mod_SOURCES): New variable.
7552 (ohci_mod_CFLAGS): New variable.
7553 (ohci_mod_LDFLAGS): New variable.
7554 (usbms_mod_SOURCES): New variable.
7555 (usbms_mod_CFLAGS): New variable.
7556 (usbms_mod_LDFLAGS): New variable.
7557 (usb_keyboard_mod_SOURCES): New variable.
7558 (usb_keyboard_mod_CFLAGS): New variable.
7559 (usb_keyboard_mod_LDFLAGS): New variable.
7560 * include/grub/smbus.h: New file.
7561 * include/grub/cs5536.h: New file.
7562
0b35b2a9
CW
75632010-06-02 Colin Watson <cjwatson@ubuntu.com>
7564
7565 * util/grub.d/00_header.in: Add safety check to make sure that
7566 ${locale_dir} exists before trying to probe it.
7567
ca0afd5b
CW
75682010-06-02 Colin Watson <cjwatson@ubuntu.com>
7569
7570 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
7571 per the GNU Coding Standards; this is now too obscure to be worth
7572 documenting.
7573 (QNX): Likewise.
7574 (chainloader): Remove cross-reference to `SCO UnixWare'.
7575
1c41aa78
CW
75762010-06-02 Colin Watson <cjwatson@ubuntu.com>
7577
7578 * docs/grub.texi (Chain-loading): New section.
7579 (DOS/Windows): New section, borrowed from GRUB Legacy with details
7580 adjusted for GRUB 2.
7581 (SCO UnixWare): Likewise.
7582 (QNX): Likewise.
7583 (chainloader): Add reference to `Block list syntax'.
7584 (drivemap): New section.
7585 (parttool): New section.
7586
bb8ea0f5
CW
75872010-06-02 Colin Watson <cjwatson@ubuntu.com>
7588
7589 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
7590 the grub shell'.
7591 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
7592 (Installing GRUB using grub-install): Remove reference to the grub
7593 shell; mention `grub-mkimage' and `grub-setup' instead.
7594 (Invoking grub-install): Likewise.
7595 (Interface): Add reference to `Menu entry editor'.
7596 (serial): Remove `--device' option.
7597
288dd6ed
CW
75982010-06-02 Colin Watson <cjwatson@ubuntu.com>
7599
7600 * docs/grub.texi (Configuration): New section, documenting
7601 configuration file generation using grub-mkconfig. I've left a slot
7602 for documenting the full shell scripting format but have not yet
7603 started on writing that up.
7604 (Invoking grub-mkconfig): New section.
7605
34c9f0e9
CW
76062010-06-02 Colin Watson <cjwatson@ubuntu.com>
7607
7608 * docs/grub.texi (direntry): Remove grub-terminfo reference.
7609 (GNU GRUB manual): Likewise.
7610 (General commands): Update description of `terminfo' for GRUB 2.
7611
9121567e
CW
76122010-06-02 Colin Watson <cjwatson@ubuntu.com>
7613
7614 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
7615 (GRUB_MOD_INIT): Fix capitalisation.
7616 * docs/grub.texi (Command-line and menu entry commands): Document
7617 gettext and gptsync commands.
7618
ab631611
CW
76192010-06-02 Colin Watson <cjwatson@ubuntu.com>
7620
7621 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
7622 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
7623
bde4a9ac
CW
76242010-06-01 Colin Watson <cjwatson@ubuntu.com>
7625
7626 Add btrfs probing support, currently only in the single-device case.
7627
7628 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
7629 function.
7630 (grub_guess_root_device): Call find_root_device_from_mountinfo
7631 before looking in /dev.
7632
b1d17e10
VS
76332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7634
7635 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
7636 GRUB_DISK_SIZE_UNKNOWN.
7637 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
7638
dfbfe004
JS
76392010-05-31 Jiro SEKIBA <jir@unicus.jp>
7640
7641 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
7642 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
7643 corrupted or not synced properly.
7644
c2ffc8e9
VS
76452010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
7648 Reported by: Seth Goldberg.
7649
56293166
VS
76502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7651
7652 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
7653 addition of dest.
7654 Reported by: Seth Goldberg.
7655
7620e7de
VS
76562010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
7659 Reported by: Seth Goldberg.
7660
c837af3f
VS
76612010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
7664 64-bit address as signed on MIPS.
7665
c7c75cf4
CW
76662010-05-28 Colin Watson <cjwatson@ubuntu.com>
7667
7668 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
7669 to the empty string.
7670
fa4b8490
BC
76712010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
7672
7673 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
7674
7675 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
7676 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
7677 * kern/misc.c (__enable_execute_stack): Disable on
7678 GRUB_MACHINE_EMU.
7679
a33075b9
CW
76802010-05-28 Colin Watson <cjwatson@ubuntu.com>
7681
7682 Make grub-probe work with symbolic links under /dev/mapper as well
7683 as with real block devices. The Linux world seems to be (at best)
7684 in transition here, and GRUB shouldn't get caught in the middle.
7685
7686 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
7687 /dev/mapper.
7688
d8708134
CW
76892010-05-27 Colin Watson <cjwatson@ubuntu.com>
7690
7691 * util/grub-script-check.c (main): Ensure defined behaviour on empty
7692 input files (in which case exit zero).
7693
db2102a0
CW
76942010-05-27 Colin Watson <cjwatson@ubuntu.com>
7695
7696 * kern/emu/misc.c (canonicalize_file_name): realpath can still
7697 return NULL for various reasons even if it has a maximum-length
7698 buffer: for example, there might be a symlink loop, or the path
7699 might exceed PATH_MAX. If this happens, return NULL.
7700
5fdba519
RM
77012010-05-27 Robert Millan <rmh@gnu.org>
7702
7703 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
7704 partmap module to handle cross-partmap setups.
7705 Reported by Orestes Mas. Gràcies!
7706
d1d368e4
CW
77072010-05-27 Colin Watson <cjwatson@ubuntu.com>
7708
7709 * util/grub-mkrescue.in: Initialise override_dir rather than
7710 assuming that it's unset or empty in the environment.
7711
95ac3c73
GS
77122010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
7713
7714 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
7715 variable index into p_index to suppress a warning with -Wshadow.
7716
7d8c0213
BC
77172010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
7718
7719 * INSTALL: Added flex >= 2.5.35 requirement.
7720
db4d5813
VS
77212010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
7724
f24f4300
VS
77252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 cmostest support.
7728
7729 * commands/i386/cmostest.c: New file.
7730 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
7731 (cmostest_mod_SOURCES): New variable.
7732 (cmostest_mod_CFLAGS): Likewise.
7733 (cmostest_mod_LDFLAGS): Likewise.
7734 * conf/i386-pc.rmk: Likewise.
7735 * docs/grub.texi (Vendor power-on keys): New section.
7736 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
7737 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
7738 and GRUB_BUTTON_CMOS_ADDRESS.
7739 * util/grub.d/00_header.in: Handle powering-on by separate button.
7740
ad603f61
VS
77412010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7742
7743 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
7744 Removed drawing_scrollbar argument. All users updated
7745 Fixes #29792.
7746 Reported by Jo Shields
7747
3ecb080a
VS
77482010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
7751 buffer since gfxterm handles double repaint.
7752
5f2316c1
VS
77532010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
7756 * term/gfxterm.c (real_scroll): Likewise.
7757
9a25f885
VS
77582010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
7761 before calling BIOS.
7762
39fbb79a
VS
77632010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * include/grub/i18n.h: Always enable grub_gettext.
7766
228cfa97
VS
77672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
7770 partition naming style.
7771
21717c8f
CW
77722010-05-21 Colin Watson <cjwatson@ubuntu.com>
7773
7774 * util/grub-mkconfig.in: Fix handling of -o so that it works when
7775 not the first option.
7776
c0f48e65
CW
77772010-05-20 Colin Watson <cjwatson@ubuntu.com>
7778
7779 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
7780
96779aec
CW
77812010-05-20 Colin Watson <cjwatson@ubuntu.com>
7782
7783 * util/misc.c: Move inclusion of <limits.h> to ...
7784 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
7785
fa9d256e
GS
77862010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
7787
7788 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
7789 Fix merge error in NetBSD code.
7790 (find_partition_start) [__NetBSD__]: Likewise.
7791
123b7a85
BC
77922010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
7793
7794 Fix grub-mkrescue usage unit testing.
7795
7796 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
7797
74276c0d
CF
77982010-05-18 Christian Franke <franke@computer.org>
7799
7800 * util/grub.d/10_windows.in: Use path names instead of
7801 drive letters to prevent warning from Cygwin 1.7.
7802 Add drivemap command to menuentry if needed.
7803
c4f7b523
ST
78042010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
7805
7806 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
7807 gnumach and gnumach.gz.
7808
95b97950
VS
78092010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * include/grub/i18n.h (gettext): Inline instead of using #define.
7812 (grub_gettext): Likewise.
7813 (_): Likewise.
7814
01b8d2d7
VS
78152010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
7818 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
7819 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
7820 (main): Add a slash after pkglibdirroot.
7821
654e1d1e
VS
78222010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * util/grub-install.in: Add missing "in" keyword.
7825
26966aeb
VS
78262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
7829 Reported by: Seth Goldberg.
7830
75006747
VS
78312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
7834
74cbf5bd
CW
78352010-05-18 Colin Watson <cjwatson@ubuntu.com>
7836
7837 * configure.ac: Check for Linux device-mapper support.
7838
7839 * util/hostdisk.c (device_is_mapped): New function.
7840 (find_partition_start): New function, partly broken out from
7841 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
7842 device-mapper support added.
7843 (linux_find_partition): Use find_partition_start.
7844 (convert_system_partition_to_system_disk): Add `st' argument.
7845 Support Linux /dev/mapper/* devices if device-mapper support is
7846 available; only DM-RAID devices are understood at present.
7847 (find_system_device): Add `st' argument. Pass it to
7848 convert_system_partition_to_system_disk.
7849 (grub_util_biosdisk_get_grub_dev): Pass stat result to
7850 find_system_device and convert_system_partition_to_system_disk. Use
7851 find_partition_start.
7852
7853 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
7854 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
7855 * util/deviceiter.c [__linux__]: Define MINOR.
7856 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
7857 * util/mkdevicemap.c (grub_putchar): New function.
7858 (grub_getkey): New function.
7859 (grub_refresh): New function.
7860 (main): Set debug=all if -v -v is used.
7861
355b51e9
CW
78622010-05-18 Colin Watson <cjwatson@ubuntu.com>
7863
7864 Fix build with non-GNU libcs.
7865
7866 * util/misc.c (canonicalize_file_name): Move to ...
7867 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
7868 grub_make_system_path_relative_to_its_root.
7869
7fb5c25f
CW
78702010-05-18 Colin Watson <cjwatson@ubuntu.com>
7871
7872 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
7873 we handle finding grub-mkimage. Default to finding grub-mkimage in
7874 ${bindir} with program_transform_name applied, and provide a
7875 --grub-mkimage option to override this.
7876
1d3293d6
VS
78772010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Remove grub-mkisofs.
7880
7881 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
7882 (grub_mkisofs_SOURCES): Removed.
7883 (grub_mkisofs_CFLAGS): Removed.
7884 * util/mkisofs/defaults.h: Removed.
7885 * util/mkisofs/eltorito.c: Likewise.
7886 * util/mkisofs/exclude.h: Likewise.
7887 * util/mkisofs/hash.c: Likewise.
7888 * util/mkisofs/include/: Likewise.
7889 * util/mkisofs/include/fctldefs.h: Likewise.
7890 * util/mkisofs/include/mconfig.h: Likewise.
7891 * util/mkisofs/include/prototyp.h: Likewise.
7892 * util/mkisofs/include/statdefs.h: Likewise.
7893 * util/mkisofs/iso9660.h: Likewise.
7894 * util/mkisofs/joliet.c: Likewise.
7895 * util/mkisofs/match.c: Likewise.
7896 * util/mkisofs/match.h: Likewise.
7897 * util/mkisofs/mkisofs.c: Likewise.
7898 * util/mkisofs/mkisofs.h: Likewise.
7899 * util/mkisofs/msdos_partition.h: Likewise.
7900 * util/mkisofs/multi.c: Likewise.
7901 * util/mkisofs/name.c: Likewise.
7902 * util/mkisofs/rock.c: Likewise.
7903 * util/mkisofs/tree.c: Likewise.
7904 * util/mkisofs/write.c: Likewise.
7905
5dde9afe
VS
79062010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Unify grub-mkimage accross platforms.
7909
7910 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
7911 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
7912 (grub_mkelfimage_SOURCES): Removed.
7913 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
7914 (util/grub-mkimage.c_DEPENDENCIES): .. this.
7915 (bin_UTILITIES): Add grub-mkimage.
7916 (grub_mkimage_SOURCES): New variable.
7917 (kernel_img_HEADERS): Remove machine/kernel.h.
7918 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
7919 (pkglib_PROGRAMS): Add kernel.img.
7920 (kernel_img_HEADERS): Add machine/kernel.h.
7921 (kernel_img_FORMAT): Removed.
7922 (bin_UTILITIES): Remove grub-mkimage.
7923 (grub_mkimage_SOURCES): Removed.
7924 (grub_mkimage_CFLAGS): Likewise.
7925 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7926 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
7927 (pkglib_PROGRAMS): Add kernel.img.
7928 (bin_UTILITIES): Remove grub-mkimage.
7929 (grub_mkimage_SOURCES): Removed.
7930 (grub_mkimage_CFLAGS): Likewise.
7931 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7932 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
7933 (pkglib_PROGRAMS): Add kernel.img.
7934 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
7935 (pkglib_PROGRAMS): Add kernel.img.
7936 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
7937 (grub_mkimage_SOURCES): Removed.
7938 (grub_mkimage_CFLAGS): Likewise.
7939 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7940 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
7941 (pkglib_PROGRAMS): Add kernel.img.
7942 (bin_UTILITIES): Remove grub-mkimage.
7943 (grub_mkimage_SOURCES): Removed.
7944 (grub_mkimage_CFLAGS): Likewise.
7945 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7946 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
7947 (grub_mkimage_SOURCES): Removed.
7948 (grub_mkimage_CFLAGS): Likewise.
7949 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
7950 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
7951 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
7952 (grub_pe32_optional_header): ... this.
7953 (grub_pe64_optional_header): ... and this. All users updated.
7954 (GRUB_PE32_PE32_MAGIC): Split into ..
7955 (GRUB_PE32_PE32_MAGIC): .. this.
7956 (GRUB_PE32_PE64_MAGIC): .. and this.
7957 (GRUB_PE32_SIGNATURE_SIZE): New definition.
7958 * include/grub/elf.h (PT_GNU_STACK): New definition.
7959 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
7960 * include/grub/i386/efi/kernel.h: Likewise.
7961 * include/grub/i386/kernel.h: Likewise.
7962 * include/grub/i386/pc/kernel.h: Likewise.
7963 * include/grub/i386/qemu/boot.h: Likewise.
7964 * include/grub/mips/kernel.h: Likewise.
7965 * include/grub/mips/qemu-mips/kernel.h: Likewise.
7966 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
7967 * include/grub/powerpc/kernel.h: Likewise.
7968 * include/grub/sparc64/ieee1275/boot.h: Likewise.
7969 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
7970 * include/grub/sparc64/kernel.h: Likewise.
7971 * include/grub/x86_64/efi/kernel.h: Likewise.
7972 * include/grub/x86_64/kernel.h: Likewise.
7973 * include/grub/offsets.h: New file.
7974 * include/grub/kernel.h (grub_module_info): Split into ...
7975 (grub_module_info32): ... this.
7976 (grub_module_info64): ... and this.
7977 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
7978 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
7979 (grub_boot_blocklist): Moved from here ...
7980 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
7981 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
7982 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
7983 * include/grub/types.h (grub_target_to_host16): Removed.
7984 (grub_target_to_host32): Likewise.
7985 (grub_target_to_host64): Likewise.
7986 (grub_host_to_target16): Likewise.
7987 (grub_host_to_target32): Likewise.
7988 (grub_host_to_target64): Likewise.
7989 (grub_host_to_target_addr): Likewise.
7990
7991 Support grub-mkrescue for efi, coreboot and qemu.
7992
7993 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
7994 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
7995 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
7996 * util/grub-mkrawimage.c: Moved from here ...
7997 * util/grub-mkimage.c: ... here. All users updated.
7998 (ALIGN_ADDR): Use image_target.
7999 (TARGET_NO_FIELD): New const.
8000 (image_target_desc): New type.
8001 (image_targets): New array.
8002 (grub_target_to_host64): Use image_target.
8003 (grub_target_to_host32): Likewise.
8004 (grub_target_to_host16): Likewise.
8005 (grub_host_to_target64): Likewise.
8006 (grub_host_to_target32): Likewise.
8007 (grub_host_to_target16): Likewise.
8008 (grub_host_to_target_addr): Likewise.
8009 (generate_image): Handle multiimage.
8010 (main): Require -O parameter. All users updated.
8011 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8012 util/efi/grub-mkimage.c
8013 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8014 New option --rom-directory.
8015 Use xorriso.
8016 * util/i386/efi/grub-mkimage.c: Removed.
8017 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8018 (grub_target_to_host32): Likewise.
8019 (grub_target_to_host64): Likewise.
8020 (grub_host_to_target16): Likewise.
8021 (grub_host_to_target32): Likewise.
8022 (grub_host_to_target64): Likewise.
8023 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8024 (grub_target_to_host32): Likewise.
8025 (grub_target_to_host64): Likewise.
8026 (grub_host_to_target16): Likewise.
8027 (grub_host_to_target32): Likewise.
8028 (grub_host_to_target64): Likewise.
8029
f4fc97d0
BC
80302010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8031
8032 Source tree is reorganized for emu build.
8033
8034 * include/grub/util/console.h: Move from here...
8035 * include/grub/emu/console.h: ...to here.
8036 * include/grub/util/getroot.h: Move from here...
8037 * include/grub/emu/getroot.h: ...to here.
8038 * include/grub/util/hostdisk.h: Move from here...
8039 * include/grub/emu/hostdisk.h: ...to here.
8040 * util/console.c: Move from here...
8041 * kern/emu/console.c: ...to here.
8042 * util/getroot.c: Move from here...
8043 * kern/emu/getroot.c: ...to here.
8044 * util/grub-emu.c: Move from here...
8045 * kern/emu/main.c: ...to here.
8046 * util/hostdisk.c: Move from here...
8047 * kern/emu/hostdisk.c: ...to here.
8048 * util/hostfs.c: Move from here...
8049 * kern/emu/hostfs.c: ...to here.
8050 * util/mm.c: Move from here...
8051 * kern/emu/mm.c: ...to here.
8052 * util/pci.c: Move from here...
8053 * bus/emu/pci.c: ...to here.
8054 * util/sdl.c: Move from here...
8055 * video/emu/sdl.c: ...to here.
8056 * util/time.c: Move from here...
8057 * kern/emu/time.c: ...to here.
8058 * util/usb.c: Move from here...
8059 * bus/usb/emu/usb.c: ...to here.
8060
8061 * include/grub/emu/misc.h: New header for grub-emu functions.
8062 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8063
8064 * conf/any-emu.rmk: Rule updates for above renames.
8065 * conf/common.rmk: Likewise.
8066 * conf/i386-pc.rmk: Likewise.
8067 * conf/i386-qemu.rmk: Likewise.
8068 * conf/mips.rmk: Likewise.
8069 * conf/sparc64-ieee1275.rmk: Likewise.
8070 * conf/x86-efi.rmk: Likewise.
8071
8072 * disk/lvm.h: #include updates for above renames.
8073 * util/grub-mkrelpath.c: Likewise.
8074 * util/grub-probe.c: Likewise.
8075 * util/i386/pc/grub-setup.c: Likewise.
8076 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8077 * kern/emu/console.c: Likewise.
8078 * kern/emu/getroot.c: Likewise.
8079 * kern/emu/hostdisk.c: Likewise.
8080 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8081
8082 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8083 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8084 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8085 * util/misc.c: Remove grub-emu functions.
8086
cced9145
VS
80872010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 Fix gfxmenu crash.
8090 Reported by: Thorsten Grützmacher.
8091
8092 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8093 timeout hook.
8094 (circprog_set_property): Register and unregister timeout hook.
8095 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8096 (label_destroy): Free template. and unregister hook.
8097 (label_set_state): New function.
8098 (label_set_property): Handle templates and hooks.
8099 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8100 timeout hook.
8101 (progress_bar_set_property): Register and unregister timeout hook.
8102 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8103 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8104 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8105 (update_timeout_visit): Removed.
8106 (update_timeouts): New function.
8107 (redraw_timeouts): Likewise.
8108 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8109 (grub_gfxmenu_clear_timeout): Likewise.
8110 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8111 (grub_gfxmenu_timeout_notify): Likewise.
8112 (grub_gfxmenu_timeout_notifications): New external variable.
8113 (grub_gfxmenu_timeout_register): New function.
8114 (grub_gfxmenu_timeout_unregister): Likewise.
8115
c6e5caab
VS
81162010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 Transform (broken) vga terminal into (working) vga video driver.
8119
8120 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8121 video/i386/pc/vga.c.
8122 * include/grub/video.h (grub_video_driver_id):
8123 Add GRUB_VIDEO_DRIVER_VGA.
8124 * term/i386/pc/vga.c: Renamed to ...
8125 * video/i386/pc/vga.c: ...this
8126 (DEBUG_VGA): Removed.
8127 (CHAR_WIDTH): Likewise.
8128 (CHAR_HEIGHT): Likewise.
8129 (TEXT_WIDTH): Likewise.
8130 (TEXT_HEIGHT): Likewise.
8131 (DEFAULT_FG_COLOR): Likewise.
8132 (DEFAULT_BG_COLOR): Likewise.
8133 (colored_char): Likewise.
8134 (xpos): Likewise.
8135 (ypos): Likewise.
8136 (cursor_state): Likewise.
8137 (fg_color): Likewise.
8138 (bg_color): Likewise.
8139 (text_buf): Likewise.
8140 (page): Likewise.
8141 (font): Likewise.
8142 (framebuffer): New variable.
8143 (set_read_map): Disabled.
8144 (setup): New variable.
8145 (is_target): Likewise.
8146 (grub_vga_mod_init): Likewise.
8147 (grub_vga_mod_fini): Likewise.
8148 (check_vga_mem): Likewise.
8149 (write_char): Likewise.
8150 (write_cursor): Likewise.
8151 (scroll_up): Likewise.
8152 (grub_vga_putchar): Likewise.
8153 (grub_vga_getcharwidth): Likewise.
8154 (grub_vga_getwh): Likewise.
8155 (grub_vga_getxy): Likewise.
8156 (grub_vga_gotoxy): Likewise.
8157 (grub_vga_cls): Likewise.
8158 (grub_vga_setcolorstate): Likewise.
8159 (grub_vga_setcursor): Likewise.
8160 (grub_video_vga_init): New function.
8161 (grub_video_vga_setup): Likewise.
8162 (grub_video_vga_fini): Likewise.
8163 (update_target): Likewise.
8164 (grub_video_vga_blit_bitmap): Likewise.
8165 (grub_video_vga_blit_render_target): Likewise.
8166 (grub_video_vga_set_active_render_target): Likewise.
8167 (grub_video_vga_get_active_render_target): Likewise.
8168 (grub_video_vga_swap_buffers): Likewise.
8169 (grub_video_vga_set_palette): Likewise.
8170 (grub_video_vga_get_info_and_fini): Likewise.
8171 (grub_vga_term): Removed.
8172 (grub_video_vga_adapter): New variable.
8173 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8174 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8175
2bf61a98
VS
81762010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8177
8178 * video/readers/jpeg.c: Indented.
8179
09ddcd11
VS
81802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 Various jpeg cleanups.
8183
8184 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8185 (grub_jpeg_decode_quan_table): Use sizeof.
8186 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8187
e5507505
PH
81882010-05-05 Peter Hurley <No e-mail available> (tiny change)
8189
8190 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8191 tables. Ignore non-last ac bit.
8192 (grub_jpeg_decode_quan_table): Likewise.
8193
7e720a9b
VS
81942010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8197 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8198 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8199 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8200 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8201 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8202
a7fc080b
VS
82032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8206 error.
8207
2bf6012d
VS
82082010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8211
265d68cd
VS
82122010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8215 condition.
8216
82172010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
8218
8219 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8220 part.
8221
265d68cd 82222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
8223
8224 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8225 pointers.
8226
265d68cd 82272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
8228
8229 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8230
d1b61374
CF
82312010-05-01 Christian Franke <franke@computer.org>
8232
8233 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8234 Remove broken Cygwin path conversion.
8235 * util/misc.c: [__CYGWIN__] Add include and define.
8236 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8237 for Cygwin 1.7.
8238 (make_system_path_relative_to_its_root): Simplify loop, replace early
8239 return by break.
8240 [__CYGWIN__] Add conversion to win32 path.
8241 Include "/" case in trailing slash removal.
8242
3558c6e9
VS
82432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8246 Reported by: Seth Goldberg
8247
f5f3ff93
VS
82482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * commands/help.c (grub_cmd_help): Fix a typo.
8251 Reported by: Seth Goldberg
8252
d8b5cd40
VS
82532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8256 name and add N_.
8257 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8258 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8259 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8260 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8261 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8262 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8263 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8264 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8265 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8266 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8267 * normal/context.c (GRUB_MOD_INIT): Likewise.
8268 * normal/main.c (GRUB_MOD_INIT): Likewise.
8269 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8270 * term/serial.c (GRUB_MOD_INIT): Likewise.
8271 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8272
88c14915
VS
82732010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8276 extra == 0.
8277
165134bc
VS
82782010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * commands/iorw.c: New file.
8281 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8282 (iorw_mod_SOURCES): New variable.
8283 (iorw_mod_CFLAGS): Likewise.
8284 (iorw_mod_LDFLAGS): Likewise.
8285
c5ac9b32
VS
82862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 Hotkey support
8289
8290 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8291 * normal/main.c (hotkey_aliases): New variable.
8292 (grub_normal_add_menu_entry): Parse "--hotkey".
8293 * normal/menu_text.c (run_menu): Handle hotkeys.
8294
ce60689c
VS
82952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 * kern/i386/coreboot/init.c (grub_machine_init): Call
8298 grub_machine_mmap_init on qemu.
8299
0359d006
VS
83002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * boot/i386/qemu/boot.S: Add a missing .code16.
8303
7819a456
VS
83042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 Use LBIO on coreboot.
8307
8308 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8309 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8310 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8311 New declaration.
8312 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8313 grub_machine_mmap_init on coreboot.
8314 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8315 GRUB_LINUXBIOS_MEMBER_LINK.
8316 (grub_machine_mmap_iterate): Fix declaration.
8317 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8318
7210dca9
VS
83192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 Split coreboot and multiboot ports.
8322
8323 * conf/i386-multiboot.rmk: New file.
8324 * configure.ac: Add multiboot port.
8325 * include/grub/i386/multiboot/boot.h: New file.
8326 * include/grub/i386/multiboot/console.h: Likewise.
8327 * include/grub/i386/multiboot/init.h: Likewise.
8328 * include/grub/i386/multiboot/kernel.h: Likewise.
8329 * include/grub/i386/multiboot/loader.h: Likewise.
8330 * include/grub/i386/multiboot/memory.h: Likewise.
8331 * include/grub/i386/multiboot/serial.h: Likewise.
8332 * include/grub/i386/multiboot/time.h: Likewise.
8333 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8334 * loader/multiboot.c: Likewise.
8335 * loader/multiboot_mbi2.c: Likewise.
8336 * util/grub-mkrescue.in: Generate multiboot rescue.
8337
6f8aaf68
VS
83382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8339
3080f7a7
VS
8340 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8341
83422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
8345
8346 * commands/terminal.c (abstract_terminal): New struct.
8347 (handle_command): New function. Based on grub_cmd_terminal_input.
8348 (grub_cmd_terminal_input): Use handle_command.
8349 (grub_cmd_terminal_output): Use handle_command.
8350
a8ebb841
BC
83512010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8352
8353 Fix comment handling.
8354
8355 * tests/grub_script_comments.in: New testcase.
8356 * conf/tests.rmk: Rules for new testcase.
8357 * script/yylex.l: Updated flex rules.
8358
bb06ba08
ST
83592010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8360
8361 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
8362 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8363 if argc is 1.
bb06ba08 8364
cc9d2425
VS
83652010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8368 autogen issues.
8369
460d8402
CF
83702010-04-26 Christian Franke <franke@computer.org>
8371
8372 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8373 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8374 (grub_get_prefix): Remove function.
8375 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8376 make_system_path_relative_to_its_root ().
8377 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8378
553c01f9
CF
83792010-04-24 Christian Franke <franke@computer.org>
8380
8381 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8382 (kernel_img_LDFLAGS): Remove -static-libgcc.
8383
2aec1692
CF
83842010-04-24 Christian Franke <franke@computer.org>
8385
8386 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8387 and CHECK_END_SYMBOL if grub-emu is built.
8388 Unset TARGET_OBJ2ELF if grub-emu is built
8389 without module support.
8390
f67dc308
JS
83912010-04-24 Jiro SEKIBA <jir@unicus.jp>
8392
8393 Nilfs2 support.
8394
8395 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8396 (grub_fstest_SOURCES): Likewise.
8397 (pkglib_MODULES): Add nilfs2.mod.
8398 (nilfs2_mod_SOURCES): New variable.
8399 (nilfs2_mod_CFLAGS): Likewise.
8400 (nilfs2_mod_LDFLAGS): Likewise.
8401 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8402 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8403 * fs/nilfs2.c: New file.
8404
4ba8d354
VS
84052010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8408 is not supported.
8409
0d2c20c6
GS
84102010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8411
8412 Add grub-mkconfig support for NetBSD.
8413
8414 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8415 * util/grub-mkconfig.in: export new NetBSD specific variables.
8416 * po/POTFILES-shell: added 10_netbsd.in.
8417 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8418
bc4a2d83
BC
84192010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8420
8421 Fix emu build with grub-emu-pci and grub-emu-modules.
8422
8423 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8424 functions.
8425 * include/grub/libpciaccess.h: New file.
8426 * conf/any-emu.rmk: Update kernel headers for emu build.
8427
f48c87aa
VS
84282010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8429
8430 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8431
18959385
VS
84322010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8435
0037de3f
VS
84362010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8439 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8440 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8441 util/ieee1275/ofpath.c.
8442 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8443 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8444 * include/grub/sparc64/ieee1275/boot.h
8445 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8446 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8447 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8448 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8449 const char *.
8450 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8451 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8452 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8453 install.
8454
38e55e90
GS
84552010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8456
8457 * util/grub-mkconfig.in: Corrected two == equality tests.
8458 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8459 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8460 expect a number appended to it.
8461 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8462 expects a number appended to it.
8463
a9e6ff28
VS
84642010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8467
0b830b8f
VS
84682010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 * util/hostdisk.c (make_device_name): Change to new partition naming.
8471
0973daeb
VS
84722010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8475
460d8402 84762010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
8477
8478 * Makefile.in: Add missing localedir setting.
8479
0b456309
CW
84802010-04-14 Colin Watson <cjwatson@ubuntu.com>
8481
8482 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8483 mistake in r2156. Noticed by Anthony Fok.
8484
8485 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8486 @localedir@.
8487 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8488
08f46d62
BC
84892010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8490
8491 Fix a spurious, uninitialized variable warning.
8492
8493 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8494 Initialize variable, shdr.
8495 (grub_freebsd_load_elfmodule): Likewise.
8496 (grub_freebsd_load_elf_meta): Likewise.
8497
8c4a72d4
BC
84982010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8499
8500 Fix for escaped dollar in double quoted strings.
8501
8502 * script/yylex.l: Updated flex rules.
8503 * conf/tests.rmk: Rule for new testcase.
8504 * tests/grub_script_dollar.in: New testcase.
8505
ce44826e
CPE
85062010-04-13 Carles Pina i Estany <carles@pina.cat>
85072010-04-13 Colin Watson <cjwatson@ubuntu.com>
8508
8509 Enclose all translated strings in grub.cfg in single quotes, and
8510 escape them appropriately (Ubuntu bug #552921).
8511
8512 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8513 * util/grub.d/10_hurd.in: Use it.
8514 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8515 * util/grub.d/10_linux.in (linux_entry): Likewise.
8516
4b0cd8f8
VS
85172010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8518
8519 Fix cygwin compilation.
8520
8521 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8522 * include/grub/misc.h (__register_frame_info)
8523 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8524 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8525 * kern/misc.c (__register_frame_info)
8526 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8527 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8528
01fcf061
VS
85292010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8532
5d04b11e
VS
85332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 Unify libgcc processing.
8536
8537 * Makefile.in (kernel_img_LDFLAGS): New variable.
8538 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8539 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8540 overwriting.
8541 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8542 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8543 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8544 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8545 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8546 overwriting. Remove -lgcc and -static-libgcc
8547 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8548 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8549 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8550 (kernel_img_LDFLAGS): Append instead of overwriting.
8551 Remove -lgcc and -static-libgcc
8552 * conf/sparc64-ieee1275.rmk: Likewise.
8553 * include/grub/powerpc/libgcc.h: Move to ...
8554 * include/grub/libgcc.h: .. this.
8555 * include/grub/libgcc.h: Don't export most of the function on x86.
8556 (__bswapsi2): New export.
8557 (__bswapdi2): Likewise.
8558 * include/grub/mips/libgcc.h: Removed.
8559 * include/grub/sparc64/libgcc.h: Likewise.
8560
b7f3ac29
VS
85612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
8564 disk_info_msg (conflicts with gettexting into languages with cases).
8565
2c7031b1
GS
85662010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
8567
8568 Add grub-probe support for NetBSD.
8569
8570 * util/getroot.c (find_root_device): Convert block device to
8571 character device on NetBSD.
8572 * util/probe.c (probe): Require character device on NetBSD.
8573 * util/hostdisk.c: NetBSD specific headers.
8574 (configure_device_driver): new function to tune device driver
8575 parameters (currently only for NetBSD floppy driver).
8576 (grub_util_biosdisk_open): NetBSD specific code (get disk size
8577 via disklabel ioctl).
8578 (open_device): call configure_device_driver on NetBSD.
8579 (convert_system_partition_to_system_disk): NetBSD specific code.
8580 (device_is_wholedisk): Likewise.
8581 (grub_util_biosdisk_get_grub_dev): Likewise.
8582 (make_device_name): Fixed a typo in bsd_part_str.
8583 * configure.ac: check for opendisk() and getrawpartition() on
8584 NetBSD and set LIBUTIL.
8585 * Makefile.in: add LIBUTIL to LIBS.
8586
f516290c
BC
85872010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8588
8589 Documentation fix.
8590
8591 * util/grub-script-check.c: Better help message.
8592
d8dcc0df
BC
85932010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
8594
8595 Fix FreeBSD build.
8596
8597 * configure.ac: Flex version check.
8598 * conf/common.rmk: Add -Wno-error to sh.mod.
8599 * script/yylex.l: Remove all #pragma.
8600
6734334a
VS
86012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * include/grub/util/misc.h (canonicalise_file_name): Add missing
8604 prototype.
8605 Reported by: Seth Goldberg.
8606
daea6abd
VS
86072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
8610 Rename "module" to "module2".
8611 Reported by: Seth Goldberg.
8612
f2fd9d2b
VS
86132010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
8616 EXPORT_FUNC.
8617 Reported by: Seth Goldberg.
8618
be124579
VS
86192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * lib/posix_wrap/locale.h: Add missing file.
8622 Reported by: Seth Goldberg.
8623
ef5da797
VS
86242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 grub-emu module load support.
8627
8628 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
8629 NO_DYNAMIC_MODULES switched to this.
8630 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
8631 (CFLAGS): Likewise.
8632 * conf/any-emu.rmk: Generate symlist.
8633 (kernel_img_HEADERS): Add util/datetime.h.
8634 (kernel_img_HEADERS) [sdl]: Add sdl.h.
8635 (kernel_img_HEADERS) [libusb]: Add libusb.h.
8636 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
8637 kern/$(target_cpu)/cache.S.
8638 * configure.ac (grub-emu-modules): New option.
8639 * genmk.rb: Handle multiple source lists.
8640 * include/grub/sdl.h: New file.
8641 * include/grub/libusb.h: Likewise.
8642 * util/grub-emu.c (main): Hanle (host) root.
8643 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
8644 GRUB_ERR_UNKNOWN_DEVICE.
8645 * util/misc.c: Move mm functions to ...
8646 * util/mm.c: ... here. All users updated.
8647
47822096
VS
86482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
8651 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
8652 missing files.
8653 (maintainer-clean): Remove libgcrypt-grub.
8654
5d7e7445
VS
86552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
8658
25f4e252
EC
86592010-04-09 EFI Coder <eficoder@hotmail.com>
8660
8661 * normal/menu_text.c (print_message): Clean up the message and show
8662 the Fn information when on EFI
8663 * term/efi/console.c (grub_console_checkkey): Add F4 support.
8664
027de555
VS
86652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
8668 All users updated.
8669 * normal/crypto.c (read_crypto_list): Likewise.
8670 * normal/dyncmd.c (read_command_list): Likewise.
8671 * normal/term.c (read_terminal_list): Likewise.
8672 * normal/main.c (read_lists): Use explicit prefix.
8673 (read_lists_hook): Use read_lists.
8674 (grub_normal_execute): Likewise.
8675
47779711
VS
86762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
8679 Reported by: Thomas Schmitt.
8680 Add -no-emul-boot to grub-mkisofs parameters.
8681
1118c32e
VS
86822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * font/font.c: Indented.
8685
7d652447
BC
86862010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8687
8688 Elif support to GRUB script (by Deepak Vankadaru).
8689
8690 * tests/grub_script_if.in: New testcase.
8691 * conf/tests.rmk: Rule for new testcase.
8692 * script/parser.y: Grammar rules for elif.
8693
34bb22df
BC
86942010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
8695
8696 While and until loops support to GRUB script.
8697
8698 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
8699 (grub_script_create_cmdwhile): New function prototype.
8700 (grub_script_execute_cmdwhile): New function prototype.
8701 * script/execute.c (grub_script_execute_cmdwhile): New function.
8702 * script/parser.y (command): New commands.
8703 (whilecmd): New grammar rule.
8704 (untilcmd): New grammar rule.
8705 * script/script.c (grub_script_create_cmdwhile): New function.
8706 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
8707 function.
8708
8709 * tests/grub_script_while1.in: New testcase.
8710 * conf/tests.rmk: Rule for new testcase.
8711
e215d8e0
VS
87122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
8715 as *.jpg.
8716
d7c43ba1
MV
87172010-04-09 Mario Vazquez <mariovazq@gmail.com>
8718
8719 GRUB_BACKGROUND support.
8720
8721 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
8722 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
8723
d64795c0
VS
87242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 8727 Idea by: Mario Vazquez
d64795c0
VS
8728
8729 * util/grub.d/00_header.in: Load pf2 and image modules.
8730
f267f83a
VS
87312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 grub-mkconfig multiple terminal support.
8734
8735 * util/grub-mkconfig.in: Handle multiple terminals correctly.
8736 * util/grub.d/00_header.in: Likewise.
8737
b7841ceb
VS
87382010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * Makefile.in: Specify files explicitly instead of using $< and $@ since
8741 we use cd $(srcdir).
8742
df60998c
CW
87432010-04-08 Colin Watson <cjwatson@ubuntu.com>
8744
8745 * util/grub.d/10_linux.in: Only use the first word of
8746 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
8747 spaces in GRUB_DISTRIBUTOR.
8748 * util/grub.d/10_kfreebsd.in: Likewise.
8749 * util/grub.d/10_hurd.in: Likewise.
8750
fa09c82e
BC
87512010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
8752
14e18ae3 8753 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
8754
8755 * tests/util/grub-shell.in: Remove -serial stdio option.
8756
daf892b3
BC
87572010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 POSIX header file wrappers.
8760
8761 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
8762 equivalents.
8763 * lib/posix_wrap/ctype.h: Likewise.
8764 * lib/posix_wrap/errno.h: Likewise.
8765 * lib/posix_wrap/langinfo.h: Likewise.
8766 * lib/posix_wrap/limits.h: Likewise.
8767 * lib/posix_wrap/localcharset.h: Likewise.
8768 * lib/posix_wrap/stdint.h: Likewise.
8769 * lib/posix_wrap/stdio.h: Likewise.
8770 * lib/posix_wrap/stdlib.h: Likewise.
8771 * lib/posix_wrap/string.h: Likewise.
8772 * lib/posix_wrap/sys/types.h: Likewise.
8773 * lib/posix_wrap/unistd.h: Likewise.
8774 * lib/posix_wrap/wchar.h: Likewise.
8775 * lib/posix_wrap/wctype.h: Likewise.
8776 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
8777 (grub_script.yy.h): Likewise.
8778 * script/yylex.l: Remove POSIX emulation #defines.
8779 * Makefile.in (POSIX_CFLAGS): New variable.
8780 (GNULIB_UTIL_CFLAGS): Likewise.
8781
8782 Regexp support.
8783
8784 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
8785 (regexp_mod_SOURCES): New variable.
8786 (regexp_mod_CFLAGS): Likewise.
8787 (regexp_mod_LDFLAGS): Likewise.
8788 * commands/regexp.c: New file.
8789 * gnulib/regcomp.c: New file. Imported from gnulib.
8790 * gnulib/regex.c: Likewise.
8791 * gnulib/regex_internal.c: Likewise.
8792 * gnulib/regex_internal.h: Likewise.
8793 * gnulib/regexec.c: Likewise.
8794 * gnulib/regex.h: Likewise.
8795
974ac4f7
VS
87962010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
8799 unsupported video mode types.
8800
2622c3ff
VS
88012010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
8804
064cb524
VS
88052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
8808 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
8809
a8c3b552
VS
88102010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 Remove unused grub_vga_get_font.
8813
8814 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
8815 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
8816
187bbe3d
GS
88172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8818
8819 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
8820 * include/grub/misc.h: Likewise.
8821
b9396631
GS
88222010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8823
8824 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
8825 for which failure is fatal.
8826
50479feb
GS
88272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8828
8829 * util/grub-install.in: Use mkdir -p to create grub directory.
8830 * util/i386/efi/grub-install.in: Likewise.
8831 * util/ieee1275/grub-install.in: Likewise.
8832
b1654fdf
GS
88332010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8834
8835 * Makefile.in (LEX): new variable.
8836
bd5a6415
GS
88372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
8838
8839 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
8840 `=' and added double quotes on operands of this equality test.
8841
3db3a82b
VS
88422010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * Makefile.in (uninstall): Remove a leftover debug echo.
8845 Reported by: Grégoire Sutre
8846
38023412
VS
88472010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 MIPS multiboot2 support.
8850
8851 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
8852 (multiboot2_mod_SOURCES): New variable.
8853 (multiboot2_mod_CFLAGS): Likewise.
8854 (multiboot2_mod_LDFLAGS): Likewise.
8855 (multiboot2_mod_ASFLAGS): Likewise.
8856 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
8857 definition.
8858 (MULTIBOOT_ENTRY_REGISTER): Likewise.
8859 (MULTIBOOT_MBI_REGISTER): Likewise.
8860 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
8861 (MULTIBOOT_ELF32_MACHINE): Likewise.
8862 (MULTIBOOT_ELF64_MACHINE): Likewise.
8863 * include/grub/mips/multiboot.h: New file.
8864 * include/grub/video.h (grub_video_driver_id): New type
8865 GRUB_VIDEO_DRIVER_SM712.
8866 (grub_video_get_info_and_fini): Export.
8867 (grub_video_get_palette): Likewise.
8868 (grub_video_get_driver_id): Likewise.
8869 * include/multiboot2.h: Resynced with spec.
8870 * loader/i386/multiboot.c: Moved from here ...
8871 * loader/multiboot.c: ... here. All users updated.
8872 (grub_multiboot_boot): Use platform-specific macros.
8873 * loader/i386/multiboot_elfxx.c: Moved from here ...
8874 * loader/multiboot_elfxx.c: ... here. All users updated.
8875 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
8876 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
8877 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
8878
47674667
VS
88792010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 Import gnulib argp module.
8882
8883 * gnulib/argp-ba.c: New file.
8884 * gnulib/argp-eexst.c: Likewise.
8885 * gnulib/argp-fmtstream.c: Likewise.
8886 * gnulib/argp-fmtstream.h: Likewise.
8887 * gnulib/argp-fs-xinl.c: Likewise.
8888 * gnulib/argp-help.c: Likewise.
8889 * gnulib/argp-namefrob.h: Likewise.
8890 * gnulib/argp-parse.c: Likewise.
8891 * gnulib/argp-pin.c: Likewise.
8892 * gnulib/argp-pv.c: Likewise.
8893 * gnulib/argp-pvh.c: Likewise.
8894 * gnulib/argp-version-etc.c: Likewise.
8895 * gnulib/argp-version-etc.h: Likewise.
8896 * gnulib/argp-xinl.c: Likewise.
8897 * gnulib/argp.h: Likewise.
8898
495442ed
VS
88992010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * kern/device.c (grub_device_iterate): Clear errors after failed
8902 opening device.
8903
f9fd65df
VS
89042010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
8907 returned by firmware.
8908
af09641e
VS
89092010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
8912 compilation on coreboot and qemu
8913
016883a5
VS
89142010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * include/multiboot2.h: Resync with spec.
8917
f97e1f7d
VS
89182010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 Multiboot2 tag support
8921
8922 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
8923 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
8924 Remove loader/multiboot_loader.c.
8925 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
8926 (grub_multiboot2_real_boot): Likewise.
8927 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
8928 (grub_get_multiboot_mmap_count): New proto.
8929 (grub_fill_multiboot_mmap): Likewise.
8930 (grub_multiboot_set_video_mode): Likewise.
8931 (grub_multiboot_set_console): Likewise.
8932 (grub_multiboot_load): Likewise.
8933 (grub_multiboot_load_elf): Likewise.
8934 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
8935 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
8936 * include/multiboot.h: Resynced with specification.
8937 * include/multiboot2.h: Resynced with specification.
8938 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
8939 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
8940 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
8941 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
8942 users updated.
8943 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
8944 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
8945 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
8946 Removed.
8947 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
8948 Moved from here...
8949 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
8950 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8951 Moved from here...
8952 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
8953 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
8954 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
8955 All users updated.
8956 * loader/i386/multiboot_mbi2.c: New file.
8957
3506b90b
VS
89582010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 Resync with gnulib.
8961
8962 * Makefile.in (GNULIB_CFLAGS): New variable.
8963 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
8964 (grub_script_check_CFLAGS): New variable.
8965 * gnulib/alloca.h: Resync with gnulib.
8966 * gnulib/error.c: Likewise.
8967 * gnulib/error.h: Likewise.
8968 * gnulib/fnmatch.c: Likewise.
8969 * gnulib/fnmatch_loop.c: Likewise.
8970 * gnulib/getdelim.c: Likewise.
8971 * gnulib/getline.c: Likewise.
8972 * gnulib/getopt.c: Likewise.
8973 * gnulib/getopt1.c: Likewise.
8974 * gnulib/getopt_int.h: Likewise.
8975 * gnulib/gettext.h: Likewise.
8976 * gnulib/progname.c: Likewise.
8977 * gnulib/progname.h: Likewise.
8978
394a3120
GS
89792010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
8980
8981 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
8982 which is the case with --disabled-nls.
8983
8984 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
8985 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
8986 * util/misc.c: Likewise.
8987 * util/mkisofs/mkisofs.c: Likewise.
8988 * util/mkisofs/mkisofs.h: Likewise.
8989
969d1c78
VS
89902010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 Simplify Apple CC support.
8993
8994 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
8995 Add 0 byte at the end not to have a symbol with empty target.
8996 * mmap/i386/pc/mmap_helper.S: Likewise.
8997 * genmk.rb: Ignore errors 2030 and 2050.
8998 * kern/i386/pc/startup.S: Use LOCAL when possible.
8999
8d2977bb
BC
90002010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9001
9002 Testcase and the fix for final semicolon on cmdline.
9003
9004 * tests/grub_script_final_semicolon.in: New testcase.
9005 * conf/tests.rmk: Rules for the new testcase.
9006 * script/parser.y: Grammar fix.
9007
a7bd6915
BC
90082010-03-26 BVK Chaitanya <bvk@localhost>
9009
9010 Blank lines testcase for GRUB script.
9011
9012 * tests/grub_script_blanklines.in: New testcase.
9013 * conf/tests.rmk: Rules for the new testcase.
9014
e4ff6628
VS
90152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 Don't use __FILE__.
9018
9019 * genmk.rb: Add -DGRUB_FILE to all C targets.
9020 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9021 * include/grub/list.h: Likewise.
9022 * include/grub/misc.h: Likewise.
9023 * include/grub/mm.h: Likewise.
9024 * include/grub/test.h: Likewise.
9025 * kern/mm.c: Likewise.
9026 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9027
6a5cf6b6
VS
90282010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 Sunpc partitions support.
9031
9032 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9033 (grub_fstest_SOURCES): Likewise.
9034 (pkglib_MODULES): Add part_sunpc.mod.
9035 (part_sunpc_mod_SOURCES): New variable.
9036 (part_sunpc_mod_CFLAGS): Likewise.
9037 (part_sunpc_mod_LDFLAGS): Likewise.
9038 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9039 * partmap/sunpc.c: New file.
9040
746d9045
BC
90412010-03-26 BVK Chaitanya <bvk@localhost>
9042
9043 For loop support to GRUB script.
9044
9045 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9046 (grub_script_create_cmdfor): New function prototype.
9047 (grub_script_execute_cmdfor): New function prototype.
9048 * script/execute.c (grub_script_execute_cmdfor): New function.
9049 * script/parser.y (command): New for command.
9050 (forcmd): New grammar rule.
9051 * script/script.c (grub_script_create_cmdfor): New function.
9052 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9053 function.
9054 * tests/grub_script_for1.in: New testcase.
9055 * conf/tests.rmk: Rules for new testcase.
9056
18486b18
VS
90572010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 Nested partitions
9060
9061 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9062 'partition' is NULL, grub_partition_get_start already does that.
9063 * commands/loadenv.c (check_blocklists): Likewise.
9064 (write_blocklists): Likewise.
9065 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9066 (grub_fstest_SOURCES): Likewise.
9067 (pkglib_MODULES): Add part_bsd.mod.
9068 (part_bsd_mod_SOURCES): New variable.
9069 (part_bsd_mod_CFLAGS): Likewise.
9070 (part_bsd_mod_LDFLAGS): Likewise.
9071 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9072 (grub_emu_SOURCES): Likewise.
9073 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9074 * include/grub/bsdlabel.h: New file.
9075 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9076 'get_name'.
9077 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9078 (grub_partition_map_list): New variable.
9079 (grub_partition_map_register): Inline.
9080 (grub_partition_map_unregister): Likewise.
9081 (FOR_PARTITION_MAPS): New macro.
9082 (grub_partition_map_iterate): Removed.
9083 (grub_partition_get_start): Handle nested partitions.
9084 * include/grub/msdos_partition.h: Remove bsd-related entries.
9085 (grub_pc_partition): Remove.
9086 * kern/disk.c (grub_disk_close): Free partition data.
9087 (grub_disk_adjust_range): Handle nested partitions.
9088 * kern/partition.c (grub_partition_map_probe): New function.
9089 (grub_partition_probe): Parse name to number, handle subpartitions.
9090 (get_partmap): New function.
9091 (grub_partition_iterate): Handle subpartitions.
9092 (grub_partition_get_name): Likewise.
9093 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9094 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9095 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9096 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9097 Set 'number'.
9098 (acorn_partition_map_probe): Remove.
9099 (acorn_partition_map_get_name): Likewise.
9100 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9101 Set 'number'.
9102 Set 'index' to 0 since there can be only one partition entry per sector.
9103 (amiga_partition_map_probe): Remove.
9104 (amiga_partition_map_get_name): Likewise.
9105 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9106 Set 'number'.
9107 Set 'offset' and 'index' to real positions of partitions.
9108 (apple_partition_map_probe): Remove.
9109 (apple_partition_map_get_name): Likewise.
9110 * partmap/bsdlabel.c: New file.
9111 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9112 Set 'number'.
9113 Allocate 'data' so it can be correctly freed.
9114 Set 'index' to offset inside sector.
9115 (gpt_partition_map_probe): Remove.
9116 (gpt_partition_map_get_name): Likewise.
9117 * partmap/msdos.c (grub_partition_parse): Remove.
9118 (pc_partition_map_iterate): Don't force raw access.
9119 Set 'number'.
9120 Make 'ext_offset' a local variable.
9121 (pc_partition_map_probe): Remove.
9122 (pc_partition_map_get_name): Remove.
9123 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9124 Set 'number'.
9125 (sun_partition_map_probe): Remove.
9126 (sun_partition_map_get_name): Likewise.
9127 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9128 (grub_pcpart_type): Likewise.
9129 * util/hostdisk.c (open_device): Handle new numbering scheme.
9130 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9131 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9132 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9133 * util/grub-install.in: Insert all subpartition modules.
9134 * util/ieee1275/grub-install.in: Likewise.
9135
a3940f88
AG
91362010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9137
9138 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9139 grammar.
9140
21b99926 91412010-03-24 Colin Watson <cjwatson@ubuntu.com>
9142
9143 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9144
bed1d352
CW
91452010-03-21 Colin Watson <cjwatson@ubuntu.com>
9146
9147 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9148 match where 'make install' puts them.
9149 * util/i386/efi/grub-install.in: Likewise.
9150
c9f58427
CW
91512010-03-19 Colin Watson <cjwatson@ubuntu.com>
9152
9153 * .bzrignore: Add gentrigtables, grub-script-check,
9154 grub_script_check_init.c, grub_script_check_init.h, and
9155 trigtables.c.
9156
f84afb27
VS
91572010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * kern/parser.c: Indented.
9160
ed0e3d30
VS
91612010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9164
0ea81d98
VS
91652010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9168 alpha_mask_size == 0 case.
9169
0cdc2a09
BC
91702010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9171
9172 GRUB shell lexer and parser improvements.
9173
9174 * conf/any-emu.rmk: Build rule updates.
9175 * conf/common.rmk: Likewise.
9176 * conf/i386-coreboot.rmk: Likewise.
9177 * conf/i386-efi.rmk: Likewise.
9178 * conf/i386-ieee1275.rmk: Likewise.
9179 * conf/i386-pc.rmk: Likewise.
9180 * conf/powerpc-ieee1275.rmk: Likewise.
9181 * conf/x86_64-efi.rmk: Likewise.
9182
9183 * configure.ac: Configure check for flex.
9184
9185 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9186 types.
9187 (grub_lexer_param): Struct member updates.
9188 (grub_parser_param): Likewise.
9189 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9190 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9191 (grub_script_lexer_init): Prototype update.
9192 (grub_script_lexer_record_start): Likewise.
9193 (grub_script_lexer_record_stop): Likewise.
9194 (grub_script_lexer_yywrap): New function prototype.
9195 (grub_script_lexer_fini): Likewise.
9196 (grub_script_execute_argument_to_string): Removed by...
9197 (grub_script_execute_argument_to_argv): ...better version.
9198
9199 * script/execute.c (ROUND_UPTO): New macro.
9200 (grub_script_execute_cmdline): Out of memory fixes.
9201 (grub_script_execute_menuentry): Likewise.
9202 (grub_script_execute_argument_to_string): Removed. Update all
9203 users by...
9204 (grub_script_execute_argument_to_argv): ...better version.
9205 * script/function.c (grub_script_function_create): Use
9206 grub_script_execute_argument_to_argv instead of
9207 grub_script_execute_argument_to_string.
9208
9209 * script/lexer.c (check_varstate): Removed.
9210 (check_textstate): Removed.
9211 (grub_script_lexer_record_start): Likewise.
9212 (grub_script_lexer_record_stop): Likewise.
9213 (recordchar): Replaced with...
9214 (grub_script_lexer_record): ...new function.
9215 (nextchar): Removed.
9216 (grub_script_lexer_init): Rewritten.
9217 (grub_script_yylex): Rewritten.
9218 (append_newline): New function.
9219 (grub_script_lexer_yywrap): New function.
9220 (grub_script_lexer_fini): New function.
9221 (grub_script_yyerror): Sets error flag.
9222
9223 * script/yylex.l: New file.
9224 (grub_lexer_yyfree): Wrapper for flex yyffre.
9225 (grub_lexer_yyalloc): Likewise.
9226 (grub_lexer_yyrealloc): Likewise.
9227 * script/parser.y: Refactored.
9228
9229 * script/script.c (grub_script_arg_add): Out of memory fixes.
9230 (grub_script_add_arglist): Likewise.
9231 (grub_script_create_cmdline): Likewise.
9232 (grub_script_create_cmdmenu): Likewise.
9233 (grub_script_add_cmd): Likewise.
9234 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9235 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9236 unnecessary code.
9237
9238 * tests/grub_script_echo1.in: New testcase.
9239 * tests/grub_script_vars1.in: New testcase.
9240 * tests/grub_script_echo_keywords.in: New testcase.
9241
1d63a066
VS
92422010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 Remove some redundancy in build system.
9245
9246 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9247 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9248 (TARGET_LDFLAGS): Add -nostdlib.
9249 (TARGET_IMG_LDFLAGS): Likewise.
9250 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9251 anything since mmap isn't available.
9252 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9253 Add util/time.c.
9254 (pkglib_MODULES): Remove reboot.mod.
9255 (reboot_mod_SOURCES): Removed.
9256 (reboot_mod_CFLAGS): Likewise.
9257 (reboot_mod_LDFLAGS): Likewise.
9258 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9259 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9260 (DEFSYMFILES): Add kernel_syms.lst.
9261 (kernel_img_HEADERS): Add common headers.
9262 (symlist.c): New target.
9263 (kernel_syms.lst): Likewise.
9264 (pkglib_MODULES): Add memdisk.mod.
9265 (memdisk_mod_SOURCES): New variable.
9266 (memdisk_mod_CFLAGS): Likewise.
9267 (memdisk_mod_LDFLAGS): Likewise.
9268 (pkglib_MODULES): Add reboot.mod.
9269 (reboot_mod_SOURCES): New variable.
9270 (reboot_mod_CFLAGS): Likewise.
9271 (reboot_mod_LDFLAGS): Likewise.
9272 (pkglib_MODULES): Add date.mod.
9273 (date_mod_SOURCES): New variable.
9274 (date_mod_CFLAGS): Likewise.
9275 (date_mod_LDFLAGS): Likewise.
9276 (pkglib_MODULES): Add datehook.mod.
9277 (datehook_mod_SOURCES): New variable.
9278 (datehook_mod_CFLAGS): Likewise.
9279 (datehook_mod_LDFLAGS): Likewise.
9280 (pkglib_MODULES): Add lsmmap.mod.
9281 (lsmmap_mod_SOURCES): New variable.
9282 (lsmmap_mod_CFLAGS): Likewise.
9283 (lsmmap_mod_LDFLAGS): Likewise.
9284 (pkglib_MODULES): Add boot.mod.
9285 (boot_mod_SOURCES): New variable.
9286 (boot_mod_CFLAGS): Likewise.
9287 (boot_mod_LDFLAGS): Likewise.
9288 * conf/i386-coreboot.rmk: Removed redundant parts.
9289 * conf/i386-ieee1275.rmk: Likewise.
9290 * conf/i386-pc.rmk: Likewise.
9291 * conf/mips-yeeloong.rmk: Likewise.
9292 * conf/mips.rmk: Likewise.
9293 * conf/powerpc-ieee1275.rmk: Likewise.
9294 * conf/sparc64-ieee1275.rmk: Likewise.
9295 * conf/x86_64-efi.rmk: Likewise.
9296 * conf/i386-coreboot.rmk: Moved qemu parts ..
9297 * conf/i386-qemu.rmk: ... here
9298 * conf/i386-efi.rmk: Moved common parts to...
9299 * conf/x86-efi.rmk: ... here.
9300 * conf/i386.rmk: Added modules common to all x86 variants.
9301 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9302 * disk/memdisk.c: Remove grub/machine/kernel.h.
9303 * gensymlist.sh.in: Include symbol.h.
9304 * hook/datehook.c: Correct module name.
9305 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9306 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9307 * include/grub/i386/efi/serial.h: New file.
9308 * include/grub/x86_64/efi/serial.h: Likewise.
9309 * util/time.c: Likewise.
9310 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9311
463ac55f
CK
93122010-03-14 Colin King <colin.king@ubuntu.com>
93132010-03-14 Colin Watson <cjwatson@ubuntu.com>
9314
9315 Shrink the pre-partition-table part of boot.img by eight bytes.
9316
9317 * boot/i386/pc/boot.S (ERR): New macro.
9318 (chs_mode): Use ERR.
9319 (geometry_error): Likewise.
9320 (hd_probe_error): Remove. This is only used once, so we wrwite
9321 it inline instead.
9322 (read_error): Instead of printing read_error_string, just set up
9323 %si and fall through to ...
9324 (error_message): ... this new function, also used by ERR.
9325
08e46ede
CW
93262010-03-14 Colin Watson <cjwatson@ubuntu.com>
9327
9328 Speed up consecutive hostdisk operations on the same device.
9329
9330 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9331 (grub_util_biosdisk_open): Initialise disk->data.
9332 (struct linux_partition_cache): New structure.
9333 (linux_find_partition): Cache partition start positions; these are
9334 expensive to compute on every read and write.
9335 (open_device): Cache open file descriptor in disk->data, so that we
9336 don't have to reopen it and flush the buffer cache for consecutive
9337 operations on the same device.
9338 (grub_util_biosdisk_close): New function.
9339 (grub_util_biosdisk_dev): Set `close' member.
9340
9341 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9342 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9343 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9344 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9345 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9346
4a6d2d06
VS
93472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 Compile parts of grub-emu as modules.
9350
9351 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9352 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9353 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9354 (all-local): Add $(GRUB_EMU).
9355 (install-local): Install $(GRUB_EMU).
9356 (uninstall): Uninstall $(GRUB_EMU).
9357 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9358 * kern/dl.c: Likewise.
9359 * commands/sleep.c: Not include machine/time.h.
9360 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9361 (COMMON_CFLAGS): Likewise.
9362 (sbin_UTILITIES): Remove grub-emu.
9363 (grub_emu_SOURCES): Removed.
9364 (kernel_img_RELOCATABLE): New variable.
9365 (pkglib_PROGRAMS): Add kernel.img.
9366 (kernel_img_SOURCES): New variable
9367 (kernel_img_CFLAGS): Likewise.
9368 (kernel_img_LDFLAGS): Likewise.
9369 (TARGET_NO_STRIP): Likewise.
9370 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9371 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9372 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9373 (grub-emu): New target.
9374 (GRUB_EMU): New variable.
9375 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9376 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9377 * loader/xnu.c: Likewise.
9378 * include/grub/pci.h: Likewise.
9379 * genemuinit.sh: New file.
9380 * genemuinitheader.sh: Likewise.
9381 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9382 Support TARGET_NO_DYNAMIC_MODULES.
9383 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9384 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9385 * disk/loopback.c: Likewise.
9386 * font/font_cmd.c: Likewise.
9387 * partmap/acorn.c: Likewise.
9388 * partmap/amiga.c: Likewise.
9389 * partmap/apple.c: Likewise.
9390 * partmap/gpt.c: Likewise.
9391 * partmap/msdos.c: Likewise.
9392 * partmap/sun.c: Likewise.
9393 * parttool/msdospart.c: Likewise.
9394 * term/gfxterm.c: Likewise.
9395 * video/bitmap.c: Likewise.
9396 * video/readers/jpeg.c: Likewise.
9397 * video/readers/png.c: Likewise.
9398 * video/readers/tga.c: Likewise.
9399 * video/video.c: Likewise.
9400 * util/grub-emu.c (read_command_list): Removed.
9401 (main): Don't call util_init_nls.
9402 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9403 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9404
91fdd2ed
VS
94052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9406
9407 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9408 date.mod, datehook.mod.
9409 (datetime_mod_SOURCES): New variable.
9410 (datetime_mod_CFLAGS): Likewise.
9411 (datetime_mod_LDFLAGS): Likewise.
9412 (date_mod_SOURCES): Likewise.
9413 (date_mod_CFLAGS): Likewise.
9414 (date_mod_LDFLAGS): Likewise.
9415 (datehook_mod_SOURCES): Likewise.
9416 (datehook_mod_CFLAGS): Likewise.
9417 (datehook_mod_LDFLAGS): Likewise.
9418 * conf/sparc64-ieee1275.rmk: Likewise.
9419 * lib/ieee1275/datetime.c: New file.
9420
873ccae6
VS
94212010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9424 (ieee1275_fb_mod_SOURCES): New variable.
9425 (ieee1275_fb_mod_CFLAGS): Likewise.
9426 (ieee1275_fb_mod_LDFLAGS): Likewise.
9427 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9428 New proto.
9429 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9430 (HEAP_MAX_ADDR): Likewise.
9431 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9432 type.
9433 Correct stop condition.
9434 (grub_ieee1275_devices_iterate): New function.
9435 * video/ieee1275.c: New file.
9436
601c97c0
VS
94372010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9440
9441 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9442 as scratch.
9443 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9444 SCRATCH_PAD_DISKBOOT as scratch.
9445 (bootit): Pass Openfirmware pointer in %o4.
9446 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9447 of 0x200000.
9448 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9449 with util/grub-mkrawimage.c.
9450 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9451 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9452 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9453 (grub_aout_load) [GRUB_UTIL]: Likewise.
9454 * include/grub/kernel.h (grub_modules_get_end): New proto.
9455 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9456 (SCRATCH_PAD_BOOT): New definition.
9457 (SCRATCH_PAD_DISKBOOT): Likewise.
9458 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9459 * include/grub/sparc64/ieee1275/ieee1275.h
9460 (grub_ieee1275_original_stack): New variable
9461 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9462 New definition
9463 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9464 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9465 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9466 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9467 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9468 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9469 (grub_platform_image_format_t): New type.
9470 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9471 * kern/main.c (grub_modules_get_end)
9472 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9473 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9474 (codestart): Switch stacks.
9475 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9476 variable.
9477 (grub_heap_init): Use grub_modules_get_end.
9478 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9479 stack.
9480 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9481 (main): Likewise.
9482 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9483
d68b491e
TG
94842010-03-14 Thorsten Glaser <tg@mirbsd.org>
9485
9486 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9487
4e02ed50
MK
94882010-03-08 Matt Kraai <kraai@ftbfs.org>
9489
9490 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9491 bug #559005).
9492
1f15fc1e
VS
94932010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * genmoddep.awk: Output all missing symbols and not only first.
9496
fce5d8ff
VS
94972010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * NEWS: Put the date of 1.98 release.
9500
d1e8a02f
VS
95012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9502
9503 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9504 ft2build.h.
9505
696fd607
VS
95062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9509 completition in the middle of string.
9510
33e2e6f3
VS
95112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * util/grub-mkrescue.in: Use mktemp with explicit template.
9514
b1f6d291
VS
95152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9518
2ac227c7
VS
95192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9522 right pointer.
9523
8f9a632b
VS
95242010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 Fix FreeBSD compilation.
9527
9528 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9529 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9530
60b03859
VS
95312010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9534
48a5a769
VS
95352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9538
3ab4bd77
VS
95392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9542
d116e0d8
RM
95432010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9544
9545 Support relative image path in theme file.
9546
9547 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9548 (image_set_property): Handle theme_dir and relative path.
9549
c7ef54aa
VS
95502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * configure.ac: Alias amd64 to x86_64.
9553
fcee14ed
VS
95542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * NEWS: mention multiboot on EFI.
9557
d0780363
VS
95582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * kern/main.c (grub_load_modules): Handle errors from init functions of
9561 embeded modules.
9562
41168ea4
VS
95632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * normal/autofs.c (autoload_fs_module): Handle errors.
9566
b54d93ac
VS
95672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 Disable linux.mod on qemu-mips since it's not functional and leads
9570 to compilation failure.
9571
9572 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
9573 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
9574 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
9575 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
9576 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
9577 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
9578 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
9579 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
9580 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
9581 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
9582 Reported by: BVK Chaitanya
9583
fc8345da
JU
95842010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
9585
9586 * INSTALL: Add gettext as a dependency and add qemu to a new section
9587 "Prerequisites for make-check".
9588
4760f979
CF
95892010-03-04 Christian Franke <franke@computer.org>
9590
9591 * util/grub-pe2elf.c: Add missing include "progname.h".
9592
f209b5b2
VS
95932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9594
9595 * normal/crypto.c (read_crypto_list): Fix a typo.
9596 Reported by: Seth Goldberg.
9597
b4b7be98
VS
95982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 9601 Reported by: Seth Goldberg.
b4b7be98 9602
c0ee0385
VS
96032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
9606 ascii.bitmaps.
9607
a8efbf64
VS
96082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 9611 Reported by: Seth Goldberg.
a8efbf64 9612
08dcd913
VS
96132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * util/i386/efi/grub-install.in: Copy gettext files.
9616
c4d0b332
VS
96172010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
9620
c6f2fe52
VS
96212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 Wait for user entry basing on presence of output rather than on errors.
9624
9625 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
9626 (grub_install_newline_hook): Likewise.
9627 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
9628 * normal/menu.c (show_menu): Check line_counter to determine presence
9629 of output.
9630 * normal/term.c (grub_normal_line_counter): New variable.
9631 (grub_normal_get_line_counter): New function.
9632 (grub_install_newline_hook): Likewise.
9633
5382b1e4
VS
96342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
9637
5519963b
VS
96382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
9639
9640 * configure.ac: Update version to 1.98.
9641
72b28631
VS
96422010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 * util/grub.d/10_linux.in (linux_entry): Don't default to
9645 gfxpayload=keep if Linux doesn't support video handover.
9646
c140a180
VS
96472010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9648
9649 Don't compile video modules on yeeloong since video subsystem is part
9650 of kernel.
9651
9652 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
9653 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
9654 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
9655 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
9656 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
9657 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
9658 * include/grub/bitmap_scale.h: Likewise.
9659 * include/grub/bufio.h: Likewise.
9660 * include/grub/font.h: Likewise.
9661 * include/grub/gfxterm.h: Likewise.
9662 * include/grub/video.h: Likewise.
9663 * include/grub/vbe.h: Don't include video_fb.h.
9664 * video/i386/pc/vbe.c: Include video_fb.h.
9665 * commands/i386/pc/vbetest.c: Include video.h.
9666
a0ca21c2
CW
96672010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
9668
9669 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
9670 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
9671 default entry if GRUB_SAVEDEFAULT=true. This allows using
9672 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
9673 saving a new default on every boot.
9674
4a8a763c
VS
96752010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * normal/crypto.c (read_crypto_list): Fix a memory leak.
9678 * normal/term.c (read_terminal_list): Likewise.
9679 * normal/main.c (grub_normal_init_page): Likewise.
9680 (grub_normal_read_line_real): Likewise.
9681
607ffde2
VS
96822010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
9685 memory leak.
9686 Reported by: Seth Goldberg.
9687
2b8fa975
CW
96882010-02-24 Joey Korkames <joey+lists@kidfixit.com>
9689
9690 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
9691 duplicate declaration of `start'.
9692
618307dd
VS
96932010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
9696 filename.
9697 Reported by: Georgy Buranov
9698
7dd05b96 96992010-02-20 Carles Pina i Estany <carles@pina.cat>
9700
9701 * util/grub-mkrawimage.c (usage): Change string formatting to
9702 improve gettext.
9703
d1484a42
MRA
97042010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9705
9706 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
9707 backspace keys.
9708
42b1d186
VS
97092010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
9710
9711 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
9712 Reported by: Michael Suchanek.
9713
97142010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
9715
9716 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
9717 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
9718
d9f31a41
VS
97192010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 Remove any reference to non-free fonts.
9722
9723 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
9724 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
9725 uses non-free components.
9726 * font/font.c (grub_font_get_name): Remove example name.
9727 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
9728 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9729 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
9730 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
9731
2793c71e
GB
97322010-02-16 Georgy Buranov <gburanov@gmail.com>
9733
9734 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
9735
402e3779
VS
97362010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
9739 Double divisor.
9740 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
9741 features.
9742 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
9743
0dd1e0dd
VS
97442010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
9745
9746 * gensymlist.sh.in: Use TARGET_CC instead of CC.
9747
6fa7cfce
ST
97482010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9749
9750 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
9751 * docs/grub.texi (Command-line and menu entry commands): Document play
9752 command.
9753
37c8483b
ST
97542010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9755
9756 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
9757 parse arguments as inline tempo and notes. Move code for playing notes
9758 to...
9759 (play): ... new function.
9760
14da0fb7
ST
97612010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
9762
9763 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
9764 grub_uint16_t instead of short.
9765 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
9766 disk from little endian to cpu endianness.
9767
04459e70
ST
97682010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
9769
9770 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
9771 GRUB_TICKS_PER_SECOND instead of 120.
9772
a0876943
VS
97732010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
9776 escape sequence after \e.
9777
e29f95dc
VS
97782010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
9781 non-ASCII characters.
9782
d27859b2
VS
97832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
9786 set root in single quotes to prevent \, from being unescaped.
9787
bc028f2f
VS
97882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 Prevent unknown commands from stopping menuentry execution.
9791
9792 * script/execute.c (grub_script_execute_cmdline): Print error after
9793 unknown command.
9794
095f5f82
VS
97952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
9798 Reported by: Pavel Pisa.
9799
8c717950
VS
98002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9801
9802 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
9803
904935c3
VS
98042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 Merge grub_ieee1275_map_physical into grub_map and rename to
9807 grub_ieee1275_map
9808
9809 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
9810 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
9811 Remove.
9812 * kern/ieee1275/openfw.c (grub_map): Rename to ...
9813 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
9814 necessary.
9815 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
9816
5b59a4e3
VS
98172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9818
9819 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
9820 opening and not after.
9821
69e137e8
VS
98222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9823
9824 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
9825 constants.
9826
2c0fcc36
VS
98272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
9830 (alloc_phys): Use ALIGN_UP instead of align_addr.
9831
8c6052ce
VS
98322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
9835
17cec782
VS
98362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
9839
e0128bbd
VS
98402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
9843 verbose dprintf.
9844
ca62070b
VS
98452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 Fix over-4GiB seek on sparc64.
9848
9849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
9850 Replace pos_i and pos_lo with pos. All users updated.
9851 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9852 New constant.
9853 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
9854 Likewise.
9855 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
9856 and pos_lo.
9857
bdca2607
VS
98582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9859
9860 * util/grub-mkrawimage.c (main): Call set_program_name.
9861
da278c4d
VS
98622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9863
9864 Properly align 64-bit targets.
9865
9866 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
9867 (generate_image): Use ALIGN_ADDR.
9868
b274d734
VS
98692010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 Properly create cross-endian images.
9872
9873 * include/grub/types.h (grub_host_to_target_addr): New macro
9874 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
9875
82da2062
VS
98762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
9879
7cae4377
VS
98802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
9883
9884 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
9885 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
9886 (grub_linux_boot): Divide by 64K when on VESA.
9887
65a533e7
VS
98882010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9889
9890 Support GRUB_GFXPAYLOAD_LINUX.
9891
9892 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
9893 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
9894
dd01d397
VS
98952010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
9898 to show messages instead of discarding them.
9899 Process errors after executing command and not before. Keep old method
9900 too as precaution.
9901
660960d6
VS
99022010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * configure.ac: Check for ft2build.h.
9905
62509f04
VS
99062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
9909
473df63d
VS
99102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * genkernsyms.sh.in: Use TARGET_CC.
9913
c98d2a13
CW
99142010-02-07 Colin Watson <cjwatson@ubuntu.com>
9915
9916 * NEWS: Update.
9917
6e14234c
VS
99182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
9921 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
9922 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 9923
b255e9cf
YB
99242010-02-07 Yves Blusseau <blusseau@zetam.org>
9925
6e14234c 9926 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 9927
98e6959d
VS
99282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9929
9930 Fix warnings in grub-emu when compiling with maximum warning options.
9931
9932 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
9933 (grub_arch_modules_addr): Return 0 and not NULL.
9934 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 9935 (xstrdup): Use newstr instead of dup.
f88d801b
VS
9936 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
9937 of disk to dsk to avoid shadowing.
74e4934e
VS
9938 (find_free_slot): Fix prototype.
9939 * util/getroot.c (grub_util_is_dmraid): Make static.
9940 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
9941 Add missing prototype.
9942 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 9943
74e31b5c
VS
99442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * loader/i386/linux.c (grub_linux_setup_video): Handle error
9947 appropriately.
9948
6b2ad14b
VS
99492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
9952 code out.
9953
8f891adc
VS
99542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
9957 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
9958 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
9959 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
9960 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
9961 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
9962
74b45184
VS
99632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * include/grub/err.h (grub_err_printf): Don't export.
9966
a4bced77
VS
99672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9968
9969 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
9970
007d0695
VS
99712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
9972
9973 * include/grub/i18n.h (grub_gettext_dummy): Removed.
9974 * kern/misc.c (grub_gettext_dummy): Make static.
9975
b6c0d9c2
VS
99762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9977
9978 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
9979 by non-valid ones.
9980 * kern/term.c (grub_putchar): Likewise.
9981
f51a90d0
VS
99822010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
9985 buggy hook call and memory leak.
9986
6846cec5
VS
99872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
9990
468d69fe
VS
99912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
9994
51906b8c
VS
99952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
9996
9997 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
9998 modevar.
9999 Return grub_errno on allocation error.
10000
09706ce5
VS
100012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10002
10003 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10004
911df80c
YB
100052010-02-06 Yves Blusseau <blusseau@zetam.org>
10006
10007 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10008 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10009
3746a6bc
VS
100102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10013 non-pxe disk.
10014 (grub_pxefs_open): Likewise.
10015
09706ce5
VS
100162010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10017
10018 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10019 * util/grub.d/10_kfreebsd.in: Likewise.
10020 * util/grub.d/10_linux.in: Likewise.
10021
7cc192d9
VS
100222010-02-06 Colin D Bennett <colin@gibibit.com>
10023
10024 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10025 (gfxmenu_mod_SOURCES): New variable.
10026 (gfxmenu_mod_CFLAGS): Likewise.
10027 (gfxmenu_mod_LDFLAGS): Likewise.
10028 * include/grub/term.h (grub_term_set_current_output): Declare
10029 argument as const.
10030 * docs/gfxmenu-theme-example.txt: New file.
10031 * gfxmenu/gfxmenu.c: Likewise.
10032 * gfxmenu/gui_box.c: Likewise.
10033 * gfxmenu/gui_canvas.c: Likewise.
10034 * gfxmenu/gui_circular_progress.c: Likewise.
10035 * gfxmenu/gui_image.c: Likewise.
10036 * gfxmenu/gui_label.c: Likewise.
10037 * gfxmenu/gui_list.c: Likewise.
10038 * gfxmenu/gui_progress_bar.c: Likewise.
10039 * gfxmenu/gui_string_util.c: Likewise.
10040 * gfxmenu/gui_util.c: Likewise.
10041 * gfxmenu/icon_manager.c: Likewise.
10042 * gfxmenu/model.c: Likewise.
10043 * gfxmenu/named_colors.c: Likewise.
10044 * gfxmenu/theme_loader.c: Likewise.
10045 * gfxmenu/view.c: Likewise.
10046 * gfxmenu/widget-box.c: Likewise.
10047 * include/grub/gfxmenu_model.h: Likewise.
10048 * include/grub/gfxmenu_view.h: Likewise.
10049 * include/grub/gfxwidgets.h: Likewise.
10050 * include/grub/gui.h: Likewise.
10051 * include/grub/gui_string_util.h: Likewise.
10052 * include/grub/icon_manager.h: Likewise.
10053
100542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 Agglomerate scrolling in gfxterm.
10057
10058 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10059 (grub_virtual_screen_setup): Initialise 'total_screen'.
10060 (write_char): Split to ...
10061 (paint_char): ... this ...
10062 (write_char): ... and this.
10063 (paint_char): Handle delayed scrolling.
10064 (draw_cursor): Likewise.
10065 (scroll_up): Split to ...
10066 (real_scroll): ... this ...
10067 (scroll_up): ... and this.
10068 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10069 characters.
10070 (grub_gfxterm_refresh): Call real_scroll.
10071
100722010-02-06 Colin D Bennett <colin@gibibit.com>
10073
10074 * include/grub/misc.h (grub_iscntrl): New inline function.
10075 (grub_isalnum): Likewise.
10076 (grub_strtol): Likewise.
10077
100782010-02-06 Colin D Bennett <colin@gibibit.com>
10079
10080 * normal/menu_text.c (get_entry_number): Move from here ...
10081 * normal/menu.c (get_entry_number): ... moved here.
10082 * include/grub/menu.h (grub_menu_get_default_entry_index):
10083 New prototype.
10084 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10085 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10086 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10087 (grub_menu_viewer_should_return): Likewise.
10088 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10089 * normal/menu_text.c (run_menu): Enable menu switching.
10090 * normal/menu_viewer.c (should_return): New variable.
10091 (menu_viewer_changed): Likewise.
10092 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10093 (grub_menu_viewer_should_return): New function.
10094 (menuviewer_write_hook): Likewise.
10095 (grub_menu_viewer_init): Likewise.
10096
100972010-02-06 Colin D Bennet <colin@gibibit.com>
100982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10099
10100 Support for gfxterm in a window.
10101
10102 * include/grub/gfxterm.h: New file.
10103 * include/grub/video.h (struct grub_video_rect): New declaration.
10104 (grub_video_rect_t): Likewise.
10105 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10106 (refcount): New variable.
10107 (render_target): Likewise.
10108 (window): Likewise.
10109 (repaint_callback): Likewise.
10110 (grub_virtual_screen_setup): Use 'render_target'.
10111 (init_window): New function.
10112 (grub_gfxterm_init_window): Likewise.
10113 (grub_gfxterm_init): Check reference counter.
10114 Use init_window.
10115 (destroy_window): New function.
10116 (grub_gfxterm_destroy_window): Likewise.
10117 (grub_gfxterm_fini): Check reference counter.
10118 Use destroy_window.
10119 (redraw_screen_rect): Restore viewport.
10120 Use 'render_target' and 'window'.
10121 Call 'repaint_callback'.
10122 (write_char): Use 'render_target'.
10123 (draw_cursor): Likewise.
10124 (scroll_up): Restore viewport.
10125 Use 'render_target' and 'window'.
10126 Call 'repaint_callback'.
10127 (grub_gfxterm_cls): Likewise.
10128 (grub_gfxterm_refresh): Use 'window'.
10129 (grub_gfxterm_set_repaint_callback): New function.
10130 (grub_gfxterm_background_image_cmd): Use 'window'.
10131 (grub_gfxterm_get_term): New function.
10132 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10133
101342010-02-06 Colin D Bennett <colin@gibibit.com>
10135
10136 Bitmap scaling support.
10137
10138 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10139 (bitmap_scale_mod_SOURCES): New variable.
10140 (bitmap_scale_mod_CFLAGS): Likewise.
10141 (bitmap_scale_mod_LDFLAGS): Likewise.
10142 * include/grub/bitmap_scale.h: New file.
10143 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10144 (background_image_cmd_options): New variable.
10145 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10146 (cmd): Rename and change type to ...
10147 (background_image_cmd_handle): ... this. All users updated.
10148 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10149 * video/bitmap_scale.c: New file.
10150
101512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 SDL support.
10154
10155 * Makefile.in (LIBSDL): New variable.
10156 (enable_grub_emu_sdl): Likewise.
10157 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10158 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10159 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10160 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10161 * util/sdl.c: New file.
10162
101632010-02-06 Colin D Bennett <colin@gibibit.com>
101642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10165
10166 Double buffering support.
10167
10168 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10169 * include/grub/video.h: Update comment.
10170 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10171 New type.
10172 (grub_video_fb_doublebuf_blit_init): New prototype.
10173 * term/gfxterm.c (scroll_up): Support double buffering.
10174 (grub_gfxterm_refresh): Likewise.
10175 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10176 (grub_video_fb_doublebuf_blit_init): Likewise.
10177 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10178 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10179 'displayed_page', 'render_page' and 'update_screen'.
10180 (grub_video_vbe_fini): Free offscreen buffer.
10181 (doublebuf_pageflipping_commit): New function.
10182 (doublebuf_pageflipping_update_screen): Likewise.
10183 (doublebuf_pageflipping_init): Likewise.
10184 (double_buffering_init): Likewise.
10185 (grub_video_vbe_setup): Enable doublebuffering.
10186 (grub_video_vbe_swap_buffers): Implement.
10187 (grub_video_vbe_set_active_render_target): Handle double buffering.
10188 (grub_video_vbe_get_active_render_target): Likewise.
10189 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10190 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10191 (grub_video_vbe_enable_double_buffering): Likewise.
10192 (grub_video_vbe_swap_buffers): Use update_screen.
10193 (grub_video_set_mode): Use double buffering.
10194
101952010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10196
10197 * maintainance/gentrigtables.py: Remove.
10198 * lib/trig.c: Likewise.
10199
10200 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10201
10202 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10203 `trigtables.c'.
10204 (trigtables.c): New rule.
10205 (gentrigtables): Likewise.
10206 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10207
102082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10209
10210 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10211 integer constants.
10212
102132010-02-06 Colin D Bennet <colin@gibibit.com>
10214
10215 Trigonometry support.
10216
10217 * include/grub/trig.h: New file.
10218 * lib/trig.c: Likewise.
10219 * maintainance/gentrigtables.py: Likewise.
10220 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10221 (trig_mod_SOURCES): New variable.
10222 (trig_mod_CFLAGS): Likewise.
10223 (trig_mod_LDFLAGS): Likewise.
10224
5562834e
VS
102252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10226
10227 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10228 disk devices.
10229
4f8528fc
VS
102302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10231
10232 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10233 error.
10234
2b4068e9
VS
102352010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * util/hostdisk.c (open_device): Don't use partition device when reading
10238 before the partition.
10239 (grub_util_biosdisk_read): Don't read from partition and before the
10240 partition in single operation.
10241 (grub_util_biosdisk_write): Don't write to partition and before the
10242 partition in single operation.
10243
399f6e4d
TL
102442010-02-03 Torsten Landschoff <torsten@debian.org>
10245
10246 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10247 last sectors.
10248
996649b0
VS
102492010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10250
10251 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10252 CDROM reads.
10253 (grub_biosdisk_write): Refuse to write to CDROM.
10254
3b205d4d
VS
102552010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10258
61e89d9d
VS
102592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 * font/font.c (find_glyph): Check that bmp_idx is available before
10262 using it.
10263 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10264 with (font == NULL).
10265
bf7fcba2
CS
102662010-01-28 Christian Schmitt <chris@ilovelinux.de>
10267
10268 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10269
f45d2663
BC
102702010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10271
10272 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10273 * util/grub-script-check.c (getline): Fix empty lines case.
10274
ec1444e6
RM
102752010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10276
10277 * Makefile.in (check): Exit with fail status when one of the tests
10278 fails.
10279 * tests/example_functional_test.c (example_test): Fix reversed assert.
10280 * tests/example_unit_test.c (example_test): Likewise.
10281
2e1cb9bb
CW
102822010-01-28 Colin Watson <cjwatson@ubuntu.com>
10283
10284 * util/grub.d/10_linux.in: This script does not use any of the
10285 contents of gettext.sh, only the external command `gettext', so stop
10286 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10287 the same prefix as GRUB.)
10288 * util/grub.d/10_kfreebsd.in: Likewise.
10289
63533ab0
VS
102902010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10293 of the line.
10294
989e1f93
VS
102952010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10298 last sectors.
10299
e709ebe2
VS
103002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10301
10302 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10303 having a 4KiB and not 32KiB buffer size.
10304
27dea7ed
RM
103052010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10306
10307 * util/hostfs.c: Include `<errno.h>'.
10308 (grub_hostfs_read): Handle errors from fseeko() and fread().
10309
67667b9c
RM
103102010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10311
10312 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10313 loop when using read hooks on files whose size isn't sector-aligned.
10314
c294d9d8
RM
103152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10316
10317 Remove unused parameter.
10318
10319 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10320 (grub_iso9660_open): Remove initialization of `data->length'.
10321
af75a9f1
RM
103222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10323
10324 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10325 memleak conditions.
10326
254e2ce5 103272010-01-27 Carles Pina i Estany <carles@pina.cat>
10328
10329 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10330 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10331
b510928c 103322010-01-26 Carles Pina i Estany <carles@pina.cat>
10333
10334 * util/bin2h.c (usage): Fix warning (space after backslash).
10335
aa2f9dd2 103362010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 10337
10338 * font/font.c: Include `grub/fontformat.h.
10339 Remove font file format constants.
10340 (grub_font_load): Use the new macros.
10341 * include/grub/fontformat.h: New file.
10342 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10343 (write_font_pf2): Use the new macros.
10344
94e7e712
RM
103452010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10346
10347 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10348 does.
10349
3973a59a
RM
103502010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10351
10352 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10353
10354 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10355 (_start): Macroify `0x7F'.
10356
10357 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10358 (make_install_device): Use "(pxe)" as fallback prefix when booting
10359 via PXE.
10360
42e0cba3
GS
103612010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * configure.ac: Reset LIBS after check for libgcc symbols.
10364
847effd8
CW
103652010-01-25 Colin Watson <cjwatson@ubuntu.com>
10366
10367 * util/hostdisk.c (open_device): Add trailing newline to debug
10368 message.
10369
ea4a7e35
GS
103702010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10371
10372 * configure.ac: Check for `limits.h'.
10373 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10374
67951a53
RM
103752010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10376
10377 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10378 capitalize error strings.
10379
c273d4ce
ST
103802010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10381
10382 * util/grub.d/10_hurd.in: Add a recovery mode.
10383
69be5b74
VS
103842010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * configure.ac: Check for libgcc symbols with -nostdlib.
10387
fc9e5810
BC
103882010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10389
10390 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10391
4b358c0a
VS
103922010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10393
10394 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10395 stack since heap may be unavailable at that point.
10396 (grub_ofconsole_gotoxy): Likewise.
10397
454fcd1c
VS
103982010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * configure.ac: Check for _restgpr_14_x.
10401 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10402 and _savegpr_* prototypes.
10403
566863ca
RM
104042010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10405
10406 Use generic grub_reboot() for i386-efi.
10407
10408 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10409 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10410 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10411
bf86e59a
VS
104122010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10415 presence of "prefix" variable as it breaks when normal.mod is
10416 embedded.
10417
d645e0f8
VS
104182010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10421 stack since heap is unavailable at that point.
10422
f9ab2e25
VS
104232010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10426 (grub_freebsd_bootinfo): Rewritten.
10427 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10428
01fc7054
VS
104292010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10432
caab4fd6
RM
104332010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10434
10435 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10436 domain now.
10437
67eb1427
FZ
104382010-01-20 Felix Zielcke <fzielcke@z-51.de>
10439
10440 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10441 around for handling "/" to the correct fix. Fix a memory leak. Use
10442 xstrdup instead of strdup.
10443
a9ed4ff3
VS
104442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10447
104482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
10449
10450 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10451
10452 * font/font.c (struct grub_font): New member 'bmp_idx'.
10453 (font_init): Initialise 'bmp_idx'.
10454 (load_font_index): Fill 'bmp_idx'.
10455 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10456
48209f4f
VS
104572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10460 unnecessary calls.
10461
9f0a4bb7
VS
104622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10463
10464 Move context handling out of the kernel.
10465
10466 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10467 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10468 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10469 * conf/i386-efi.rmk: Likewise.
10470 * conf/i386-ieee1275.rmk: Likewise.
10471 * conf/i386-pc.rmk: Likewise.
10472 * conf/powerpc-ieee1275.rmk: Likewise.
10473 * conf/sparc64-ieee1275.rmk: Likewise.
10474 * conf/x86_64-efi.rmk: Likewise.
10475 * include/grub/env.h: Include grub/menu.h.
10476 (grub_env_var_type): Removed.
10477 (grub_env_var): Replaced field 'type' with 'global'.
10478 (grub_env_find): New prototype.
10479 (grub_env_context_open): Remove EXPORT_FUNC.
10480 (grub_env_context_close): Likewise.
10481 (grub_env_export): Likewise.
10482 (grub_env_set_data_slot): Removed.
10483 (grub_env_get_data_slot): Likewise.
10484 (grub_env_unset_data_slot): Likewise.
10485 (grub_env_unset_menu): New prototype.
10486 (grub_env_set_menu): Likewise.
10487 (grub_env_get_menu): Likewise.
10488 * include/grub/env_private.h: New file.
10489 * include/grub/normal.h (grub_context_init): New prototype.
10490 (grub_context_fini): Likewise.
10491 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10492 * normal/context.c (grub_cmd_export): ... to here.
10493 * kern/env.c: Include env_private.h.
10494 (HASHSZ): Moved to include/grub/env_private.h.
10495 (grub_env_context): Likewise.
10496 (grub_env_sorted_var): Likewise.
10497 (current_context): Renamed from this ...
10498 (grub_current_context): ...to this. 'static' removed. All users updated.
10499 (grub_env_find): Removed 'static'.
10500 (grub_env_context_open): Moved to normal/context.c.
10501 (grub_env_context_close): Likewise.
10502 (grub_env_export): Likewise.
10503 (mangle_data_slot_name): Removed.
10504 (grub_env_set_data_slot): Likewise.
10505 (grub_env_get_data_slot): Likewise.
10506 (grub_env_unset_data_slot): Likewise.
10507 * kern/main.c (grub_set_root_dev): Don't export root.
10508 It will be done later.
10509 (grub_main): Don't export prefix.
10510 It will be done later.
10511 * normal/context.c: New file.
10512 * normal/main.c (free_menu): Use grub_env_unset_menu.
10513 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10514 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10515 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10516 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10517
8dd35b8c
VS
105182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 setpci support.
10521
10522 * commands/setpci.c: New file.
10523 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10524 (setpci_mod_SOURCES): New variable.
10525 (setpci_mod_CFLAGS): Likewise.
10526 (setpci_mod_LDFLAGS): Likewise.
10527
449193d5
VS
105282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10529
10530 Byte-addressable PCI configuration space.
10531
10532 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10533 dword address.
10534 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10535 GRUB_PCI_REG_CACHELINE.
10536 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10537 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10538 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10539 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10540 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10541 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10542 grub_pci_make_address.
10543 (lock_rom_area): Likewise.
10544 * commands/lspci.c (grub_lspci_iter): Use macroses
10545 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10546 of grub_pci_make_address.
10547 * disk/ata.c (grub_ata_pciinit): Likewise.
10548 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10549 (GRUB_PCI_REG_VENDOR): Likewise.
10550 (GRUB_PCI_REG_DEVICE): Likewise.
10551 (GRUB_PCI_REG_COMMAND): Likewise.
10552 (GRUB_PCI_REG_STATUS): Likewise.
10553 (GRUB_PCI_REG_REVISION): Likewise.
10554 (GRUB_PCI_REG_CLASS): Likewise.
10555 (GRUB_PCI_REG_CACHELINE): Likewise.
10556 (GRUB_PCI_REG_LAT_TIMER): Likewise.
10557 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
10558 (GRUB_PCI_REG_BIST): Likewise.
10559 (GRUB_PCI_REG_ADDRESSES): Likewise.
10560 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10561 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10562 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10563 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10564 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10565 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
10566 (GRUB_PCI_REG_CIS_POINTER): Likewise.
10567 (GRUB_PCI_REG_SUBVENDOR): Likewise.
10568 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
10569 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
10570 (GRUB_PCI_REG_CAP_POINTER): Likewise.
10571 (GRUB_PCI_REG_IRQ_LINE): Likewise.
10572 (GRUB_PCI_REG_IRQ_PIN): Likewise.
10573 (GRUB_PCI_REG_MIN_GNT): Likewise.
10574 (GRUB_PCI_REG_MAX_LAT): Likewise.
10575 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
10576 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
10577 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 10578 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
10579 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
10580 space.
10581
96d73208
RM
105822010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10583
10584 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
10585 can be reliably determined to be supported.
10586
d4484482
RM
105872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10588
10589 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
10590 that VESA is supported.
10591 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
10592 supported.
10593
00308ecf
VS
105942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
10597
f66924a4
RM
105982010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10599
10600 * util/misc.c (make_system_path_relative_to_its_root): Work around
10601 special-casing of "/", as previous incarnation of this routine did.
10602
cbca0ada
VS
106032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10604
10605 Fix any-emu compilation.
10606
10607 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
10608 * grub_bin2h_SOURCES: New variable.
10609
34a66d99
RM
106102010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10611
10612 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
10613
94fabf58
RM
106142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
10615
10616 * util/grub.d/00_header.in: Fix handling of locale_dir.
10617
02cf98ca
VS
106182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
10621 as possible unifont location (Gentoo).
10622 Reported by: Alexander Brüning
10623
327dbcd7
VS
106242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10625
10626 Don't try to generate lists for kernel.img.
10627
10628 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
10629 (pkglib_MODULES): Remove kernel.img.
10630 (kernel_img_EXPORTS): Removed.
10631 (kernel_img_RELOCATABLE): New variable.
10632 * conf/x86_64-efi.rmk: Likewise.
10633 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
10634
ca467290
VS
106352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
10638 grub_xasprintf or grub_snprintf.
10639 (grub_vsprintf): Likewise.
10640 (grub_snprintf): New proto.
10641 (grub_vsnprintf): Likewise.
10642 (grub_xasprintf): Likewise.
10643 (grub_xvasprintf): Likewise.
10644 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
10645 (grub_sprintf): Removed.
10646 (grub_vsnprintf): New function.
10647 (grub_snprintf): Likewise.
10648 (grub_xvasprintf): Likewise.
10649 (grub_xasprintf): Likewise.
10650 (grub_vsprintf): Renamed to ...
10651 (grub_vsnprintf_real): ...this. New argument max_len.
10652
aca655fd
BC
106532010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
10654
10655 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
10656 fix grub-script-check warning.
10657
7ee92c32
VS
106582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * include/grub/font.h (grub_font_load): Fix prototype.
10661
f80927ca
VS
106622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10663
10664 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
10665
119c50ea
VS
106662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * include/grub/x86_64/at_keyboard.h: New file.
10669
47d5f3c1
VS
106702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10671
10672 * loader/mips/linux.c: Include missing grub/i18n.h.
10673
55ff5266
RM
106742009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10675
10676 * normal/menu.c (notify_execution_failure): Clarify error message.
10677
c893cc87
RM
106782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10679
10680 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
10681 return value (and revert all return statements). Update users.
10682
917dd370
CW
106832010-01-20 Dan Merillat <debian@dan.merillat.org>
10684
10685 * kern/device.c (grub_device_iterate): Allocate new part_ent
10686 structure based on sizeof (*p) rather than sizeof (p->next), to
10687 account for structure padding.
10688
10689 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
10690 disk is NULL, which might happen for LVM physical volumes with no
10691 LVM signature.
10692
d4a4ee57
RM
106932009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10694
10695 * loader/mips/linux.c (grub_cmd_initrd)
10696 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
10697
106982009-12-20 Robert Millan <rmh.grub@aybabtu.com>
10699
10700 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
10701 (grub_video_video_init, grub_video_bitmap_init)
10702 (grub_font_manager_init, grub_term_gfxterm_init)
10703 (grub_at_keyboard_init): New extern declarations.
10704 (grub_machine_init): Initialize gfxterm and at_keyboard.
10705
10706 * kern/main.c (grub_main): Revert grub_printf delay kludge.
10707
10708 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
10709 `gfxterm.mod' into core image.
10710
10711 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10712 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10713 (kernel_img_FORMAT): Copy to ...
10714
10715 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10716 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10717 (kernel_img_FORMAT): ... here, and ...
10718
10719 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
10720 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
10721 (kernel_img_FORMAT): ... here.
10722
10723 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
10724 and input (at_keyboard) terminals in kernel.
10725 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
10726
10727 (pkglib_MODULES): Remove `pci.mod'.
10728 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
10729 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
10730 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
10731 (at_keyboard_mod_LDFLAGS): Remove variables.
10732
107332010-01-11 Felix Zielcke <fzielcke@z-51.de>
10734
10735 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
10736
107372009-12-10 Robert Millan <rmh.grub@aybabtu.com>
10738
10739 * include/grub/mips/libgcc.h: Only export symbols for functions
10740 that libgcc provides.
10741
107422009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 MIPS support.
10745
10746 * bus/bonito.c: New file.
10747 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
10748 GRUB_PCI_NUM_DEVICES.
10749 * term/i386/pc/serial.c: Move to ...
10750 * term/serial.c: ... here. All users updated.
10751 * util/i386/pc/grub-mkimage.c: Move to ...
10752 * util/grub-mkrawimage.c: ... here. All users updated.
10753 * term/i386/pc/at_keyboard.c: Move to ...
10754 * term/at_keyboard.c: ... here. All users updated.
10755 * conf/mips-qemu-mips.rmk: New file.
10756 * conf/mips-yeeloong.rmk: Likewise.
10757 * conf/mips.rmk: Likewise.
10758 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
10759 mipsel-qemu-mips.
10760 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
10761 to port addresses.
10762 (grub_ata_pciinit): Support CS5536.
10763 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
10764 * font/font_cmd.c (loadfont_command): Open file before passing it to
10765 grub_font_load.
10766 (pseudo_file_read): New function.
10767 (pseudo_file_close): Likewise.
10768 (pseudo_fs): New structure.
10769 (load_font_module): New function.
10770 (GRUB_MOD_INIT(font_manager)): Load embedded font.
10771 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
10772 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
10773 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
10774 * include/grub/i386/at_keyboard.h: Split into ...
10775 * include/grub/at_keyboard.h: ... this ...
10776 * include/grub/i386/at_keyboard.h: ... and this.
10777 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
10778 New prototype.
10779 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
10780 updated.
10781 (grub_elf64_size): Likewise.
10782 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
10783 filename.
10784 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
10785 * include/grub/i386/coreboot/serial.h: Rewritten.
10786 * include/grub/i386/ieee1275/serial.h: Include
10787 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
10788 * include/grub/i386/pc/serial.h: Moved from here ...
10789 * include/grub/serial.h: ... to here. All users updated.
10790 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
10791 (GRUB_PCI_NUM_BUS): Likewise.
10792 (GRUB_PCI_NUM_DEVICES): Likewise.
10793 (grub_pci_device_map_range): Add missing volatile keyword.
10794 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
10795 * include/grub/mips/at_keyboard.h: New file.
10796 * include/grub/mips/cache.h: Likewise.
10797 * include/grub/mips/io.h: Likewise.
10798 * include/grub/mips/kernel.h: Likewise.
10799 * include/grub/mips/libgcc.h: Likewise.
10800 * include/grub/mips/pci.h: Likewise.
10801 * include/grub/mips/qemu-mips/boot.h: Likewise.
10802 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10803 * include/grub/mips/qemu-mips/loader.h: Likewise.
10804 * include/grub/mips/qemu-mips/memory.h: Likewise.
10805 * include/grub/mips/qemu-mips/serial.h: Likewise.
10806 * include/grub/mips/qemu-mips/time.h: Likewise.
10807 * include/grub/mips/relocator.h: Likewise.
10808 * include/grub/mips/time.h: Likewise.
10809 * include/grub/mips/types.h: Likewise.
10810 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
10811 * include/grub/mips/yeeloong/boot.h: Likewise.
10812 * include/grub/mips/yeeloong/kernel.h: Likewise.
10813 * include/grub/mips/yeeloong/loader.h: Likewise.
10814 * include/grub/mips/yeeloong/memory.h: Likewise.
10815 * include/grub/mips/yeeloong/pci.h: Likewise.
10816 * include/grub/mips/yeeloong/serial.h: Likewise.
10817 * include/grub/mips/yeeloong/time.h: Likewise.
10818 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
10819 * kern/elf.c (grub_elf32_size): New parameter. All users
10820 updated.
10821 (grub_elf64_size): Likewise.
10822 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
10823 Load modules before saying "Welcome to GRUB!".
10824 Call grub_refresh after saying "Welcome to GRUB!".
10825 * kern/mips/cache.S: New file.
10826 * kern/mips/cache_flush.S: Likewise.
10827 * kern/mips/dl.c: Likewise.
10828 * kern/mips/init.c: Likewise.
10829 * kern/mips/qemu-mips/init.c: Likewise.
10830 * kern/mips/startup.S: Likewise.
10831 * kern/mips/yeeloong/init.c: Likewise.
10832 * kern/term.c (grub_putcode): Handle NULL terminal.
10833 (grub_getcharwidth): Likewise.
10834 (grub_getkey): Likewise.
10835 (grub_checkkey): Likewise.
10836 (grub_getkeystatus): Likewise.
10837 (grub_getxy): Likewise.
10838 (grub_getwh): Likewise.
10839 (grub_gotoxy): Likewise.
10840 (grub_cls): Likewise.
10841 (grub_setcolorstate): Likewise.
10842 (grub_setcolor): Likewise.
10843 (grub_getcolor): Likewise.
10844 (grub_refresh): Likewise.
10845 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
10846 (write_jump): Add hatch nop.
10847 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
10848 * lib/mips/setjmp.S: New file.
10849 * loader/mips/linux.c: Likewise.
10850 * term/i386/pc/at_keyboard.c: Move from here ...
10851 * term/at_keyboard.c: ... to here.
10852 * term/i386/pc/serial.c: Moved from here ...
10853 * term/serial.c: ... to here. All users updated.
10854 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
10855 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
10856 (serial_translate_key_sequence): Avoid deadlock.
10857 (grub_serial_getkey): Handle backspace.
10858 (grub_serial_putchar): Fix newline handling.
10859 * util/i386/pc/grub-mkimage.c: Move from here ...
10860 * util/grub-mkrawimage.c: ... to here. All users updated.
10861 (generate_image): New parameters 'font_path' and 'format'.
10862 Support embedding font.
10863 Use grub_host_to_target* instead of grub_cpu_to_le*.
10864 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
10865 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
10866 (options): New option "--font".
10867 (usage): Likewise.
10868 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
10869 (main): Handle "--font".
10870 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
10871 (grub_virtual_screen_setup): Set bg_color_display.
10872 (redraw_screen_rect): Use bg_color_display instead of incorrect
10873 bg_color.
10874 (grub_gfxterm_cls): Likewise.
10875 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
10876 Support embedding config file.
10877 (add_segments): Likewise.
10878 (options): New option "--config".
10879 (main): Handle "--config".
10880 * video/sm712.c: New file.
10881
25c2b5b3
RM
108822010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10883
10884 Fix parallel builds.
10885
10886 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
10887 font.c depend on ascii.h).
10888
108892010-01-12 Carles Pina i Estany <carles@pina.cat>
10890
10891 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
10892
108932010-01-11 Carles Pina i Estany <carles@pina.cat>
10894
10895 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
10896 By default: disabled.
10897 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
10898 parameter.
10899
109002010-01-10 Carles Pina i Estany <carles@pina.cat>
10901
10902 * font/font.c: Update copyright years.
10903 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
10904
109052010-01-10 Carles Pina i Estany <carles@pina.cat>
10906
10907 * font/font.c: Include `ascii.h'.
10908 (ASCII_BITMAP_SIZE): New macro.
10909 (ascii_font_glyph): Define.
10910 (ascii_glyph_lookup): New function.
10911 (grub_font_get_string_width): Change comment. If glyph not found, use
10912 ascii_glyph_lookup.
10913 (grub_font_get_glyph_with_fallback): If glyph not available returns
10914 ascii_glyph_lookup.
10915 * util/grub-mkfont.c (file_formats): New enum.
10916 (options): Add `ascii-bitmaps' new option.
10917 (usage): Add `asii-bitmaps' new option.
10918 (write_font_ascii_bitmap): New function.
10919 (write_font): Rename to ...
10920 (write_font_p2): ... this. Remove print_glyphs call.
10921 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
10922 used. Call print_glyphs.
10923 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
10924
109252010-01-14 Robert Millan <rmh.grub@aybabtu.com>
10926
10927 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
10928 (grub_bin2h_SOURCES): New variable.
10929 * util/bin2h.c: New file.
10930
915fc1b8
VS
109312010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10932
10933 * include/multiboot.h: Resynced with spec.
10934 * include/multiboot2.h: Likewise.
10935 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
10936 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
10937
9444b678
RM
109382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10939
10940 * include/grub/term.h (grub_term_register_input,
10941 grub_term_register_output): Check return of terminal init()
10942 routines, and abort if errors are raised.
10943
10944 * commands/terminal.c: Update copyright year.
10945
cba98e8d
RM
109462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10947
10948 * commands/terminal.c (grub_cmd_terminal_input)
10949 (grub_cmd_terminal_output): Check return of terminal init()
10950 routines, and abort if errors are raised.
10951
6f7db5d6
VS
109522010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10953
10954 * include/grub/i386/bsd.h: Fix include pathes.
10955
262bff8d
VS
109562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 Add missing *BSD copyright headers.
10959
10960 * include/grub/aout.h: Add BSD licence.
10961 * include/grub/i386/bsd.h: Parts under different licences moved to ...
10962 * include/grub/i386/freebsd_linker.h: ... here,
10963 * include/grub/i386/freebsd_reboot.h: ... here,
10964 * include/grub/i386/netbsd_bootinfo.h: ... here,
10965 * include/grub/i386/netbsd_reboot.h: ... here,
10966 * include/grub/i386/openbsd_bootarg.h: ... here,
10967 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
10968 licence to each file.
10969
b2cab848
RM
109702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10971
10972 * acinclude.m4: Remove `nop' assembly instruction; it's not
10973 implemented by all architectures.
10974
2cb6be4b
RM
109752010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10976
10977 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
10978 ELILO. This is no longer necessary.
10979
a2eaee15
BC
109802010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
10981
10982 Added new tool, grub-scrit-check to verify grub.cfg syntax.
10983
10984 * util/grub-script-check.c: grub-script-check tool.
10985 * conf/common.rmk: Make rules for grub-script-check.
10986
88d17012
RM
109872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10988
10989 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
10990 spotting it back in 2008. Shame on me for forgetting he did.
10991
10992 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
10993
8040619d
RM
109942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
10995
10996 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
10997 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
10998 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
10999 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11000 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11001 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11002
a0c2a0f6
RM
110032010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11004
11005 * include/grub/test.h: Add license header.
11006 * tests/example_functional_test.c: Likewise.
11007 * tests/example_unit_test.c: Likewise.
11008 * tests/lib/functional_test.c: Likewise.
11009 * tests/lib/test.c: Likewise.
11010 * tests/lib/unit_test.c: Likewise.
11011
b0b13907
VS
110122010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 Use flag-based instead of hook-based video mode selection and "auto"
11015 keyword.
11016
11017 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11018 (grub_video_set_mode): Changed prototype. All users updated.
11019 (grub_video_check_mode_flag): New inline function.
11020 * video/video.c (parse_modespec): New function.
11021 (grub_video_set_mode): Parse flags and keywords.
11022
ea379330 110232010-01-17 Carles Pina i Estany <carles@pina.cat>
11024
11025 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11026 fprintf call.
11027
e15c215e
FZ
110282010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11029
11030 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11031
409ae1c9 110322010-01-16 Carles Pina i Estany <carles@pina.cat>
11033
11034 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11035 string.
11036 * util/grub-emu.c (usage): Likewise.
11037 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11038 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11039 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11040 * util/i386/pc/grub-setup.c (usage): Likewise.
11041
70a14d3d 110422010-01-16 Carles Pina i Estany <carles@pina.cat>
11043
11044 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11045 the message.
11046 (grub_util_info): Likewise.
11047 (grub_util_error): Likewise.
11048 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11049 and/or new lines in `grub_util_warna', `grub_util_info',
11050 `grub_util_error' calls.
11051 * util/getroot.c: Likewise.
11052 * util/grub-editenv.c: Likewise.
11053 * util/grub-emu.c: Likewise.
11054 * util/grub-fstest.c: Likewise.
11055 * util/grub-mkdevicemap.c: Likewise.
11056 * util/grub-mkfont.c: Likewise.
11057 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11058 * util/grub-mkrelpath.c: Likewise.
11059 * util/grub-pe2elf.c: Likewise.
11060 * util/grub-probe.c: Likewise.
11061 * util/hostdisk.c: Likewise.
11062 * util/i386/efi/grub-mkimage.c: Likewise.
11063 * util/i386/pc/grub-mkimage.c: Likewise.
11064 * util/i386/pc/grub-setup.c: Likewise.
11065 * util/ieee1275/ofpath.c: Likewise.
11066 * util/mkisofs/eltorito.c: Likewise.
11067 * util/mkisofs/rock.c: Likewise.
11068 * util/mkisofs/write.c: Likewise.
11069 * util/raid.c: Likewise.
11070 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11071 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11072
a0b766fc
VS
110732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 Enable multiboot on non-pc.
11076
11077 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11078 multiboot.mod and multiboot2.mod to ...
11079 * conf/i386.rmk (pkglib_MODULES): ... here.
11080 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11081 Moved to ...
11082 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11083 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11084 Moved to ...
11085 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11086 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11087 Moved to ...
11088 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11089 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11090 Moved to ...
11091 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11092 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11093 relocator.mod.
11094 (ata_mod_SOURCES): Removed.
11095 (ata_mod_CFLAGS): Likewise.
11096 (ata_mod_LDFLAGS): Likewise.
11097 (relocator_mod_SOURCES): Removed.
11098 (relocator_mod_CFLAGS): Likewise.
11099 (relocator_mod_ASFLAGS): Likewise.
11100 (relocator_mod_LDFLAGS): Likewise.
11101 Include i386.mk.
11102 * include/grub/x86_64/multiboot.h: New file.
11103 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11104 Terminate EFI.
11105
884ade56
VS
111062010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11107
11108 Video multiboot support.
11109
11110 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11111 New prototype.
11112 * include/multiboot.h: Resynced with multiboot specification.
11113 * include/multiboot2.h: Likewise.
11114 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11115 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11116 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11117 (HAS_VGA_TEXT): Likewise.
11118 (accepts_video): New variable.
11119 (grub_multiboot_set_accepts_video): New function.
11120 (grub_multiboot_get_mbi_size): Account for video structures.
11121 (set_video_mode): New function.
11122 (retrieve_video_parameters): Likewise.
11123 (grub_multiboot_make_mbi): Fill video fields.
11124
0d90e8a6
VS
111252010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 Video driver ids.
11128
11129 * include/grub/video.h (grub_video_driver_id): New type.
11130 (grub_video_adapter): New member 'id'. All users updated.
11131 (grub_video_get_driver_id): New proto.
11132 * video/video.c (grub_video_get_driver_id): New function.
11133
5c71db1b 111342010-01-14 Carles Pina i Estany <carles@pina.cat>
11135
11136 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11137 `var=val'.
11138
cca15b52 111392010-01-14 Carles Pina i Estany <carles@pina.cat>
11140
11141 * normal/cmdline.c (print_completion): Gettextizze.
11142
c586fbb2 111432001-01-14 Carles Pina i Estany <carles@pina.cat>
11144
11145 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11146
ba2f6848 111472010-01-14 Carles Pina i Estany <carles@pina.cat>
11148
11149 * gettext/gettext.c (grub_gettext_translate): Push and pop
11150 grub_errno.
11151 (grub_gettext_delete_list): Change comment style.
11152 * kern/err.c (grub_error): Gettextizze.
11153 (grub_fatal): Gettextizze.
11154
0a46429a
RM
111552010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11156
11157 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11158 (grub_linux16_real_boot): ... this.
11159 * kern/i386/loader.S: Likewise.
11160 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11161 (grub_linux16_boot): New function. Switches to text mode and calls
11162 grub_linux16_real_boot().
11163
11164 * loader/i386/bsd.c: Include `<grub/video.h>'.
11165 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11166 text mode before calling grub_unix_real_boot().
11167
11168 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11169 (grub_multiboot_boot): Switch to text mode before calling
11170 grub_relocator32_boot().
11171
11172 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11173 (grub_chainloader_boot): Switch to text mode before calling
11174 grub_chainloader_real_boot().
11175
d6f93a66
RM
111762010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
111772010-01-05 Colin Watson <cjwatson@ubuntu.com>
11178
11179 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11180 non-empty value.
11181
111822010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
111832010-01-05 Colin Watson <cjwatson@ubuntu.com>
11184
11185 * util/grub.d/00_header.in: Define a "savedefault" function for use
11186 in menu entries.
11187 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11188
111892010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
111902010-01-05 Colin Watson <cjwatson@ubuntu.com>
11191
11192 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11193 saved_entry if boot_once is unset.
11194 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11195 previous saved entry (i.e. grub-reboot).
11196
111972009-12-08 Colin Watson <cjwatson@ubuntu.com>
11198
11199 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11200
112012009-12-08 Colin Watson <cjwatson@ubuntu.com>
11202
11203 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11204 `var=val'.
11205 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11206
112072009-12-08 Colin Watson <cjwatson@ubuntu.com>
11208
11209 * util/grub-reboot.in: Fix --version output.
11210 * util/grub-set-default.in: Likewise.
11211
112122009-12-08 Colin Watson <cjwatson@ubuntu.com>
11213
11214 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11215 blocks.
11216
112172009-12-08 Colin Watson <cjwatson@ubuntu.com>
11218
11219 * util/grub.d/00_header.in: Quote the value assigned to `default',
11220 in case it contains spaces.
11221
112222009-12-08 Colin Watson <cjwatson@ubuntu.com>
11223
11224 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11225 `save_default_entry' call from the macosx case to the linux case.
11226
112272009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
112282009-10-25 Colin Watson <cjwatson@ubuntu.com>
11229
11230 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11231 in `chosen' environment variable.
11232 * normal/menu_text.c (get_entry_number): Check if the variable
11233 matches the title of a menu entry.
11234 (run_menu): Pass menu to get_entry_number.
11235
11236 * util/grub-reboot.in: New file.
11237 * util/grub-set-default.in: New file.
11238 * conf/common.rmk (grub-reboot): New utility.
11239 (grub-set-default): New utility.
11240
11241 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11242 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11243 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11244 move it to `saved_entry' for the next boot. Load environment on
11245 initialisation.
11246 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11247 * util/grub.d/10_hurd.in: Likewise.
11248 * util/grub.d/10_linux.in (linux_entry): Likewise.
11249 * util/grub.d/10_windows.in: Likewise.
11250 * util/grub.d/30_os-prober.in: Likewise.
11251
11252 * util/grub-install.in: Create environment block.
11253 * util/i386/efi/grub-install.in: Likewise.
11254 * util/ieee1275/grub-install.in: Likewise.
11255 * util/sparc64/ieee1275/grub-install.in: Likewise.
11256
0934d184
BC
112572010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11258
11259 Unit testing framework for GRUB.
11260
11261 * Makefile.in: Test framework build rules for 'make check'.
11262 * conf/tests.rmk: Build rules for individual tests and framework.
11263
11264 * include/grub/test.h: Header file for whitebox tests.
11265 * tests/lib/functional_test.c: Framework support for whitebox
11266 functional tests.
11267 * tests/lib/test.c: Common whitebox testing code for unit and
11268 functional tests.
11269 * tests/lib/unit_test.c: Framework support for whitebox unit
11270 tests.
11271
11272 * tests/util/grub-shell-tester.in: Support utility for grub-script
11273 tests.
11274 * tests/util/grub-shell.in: Utility to execute grub-script
11275 commands in a Qemu instance.
11276
11277 * tests/example_functional_test.c: Example whitebox functional
11278 test.
11279 * tests/example_grub_script_test.in: Example grub-script test.
11280 * tests/example_scripted_test.in: Example scripted test.
11281 * tests/example_unit_test.c: Example whitebox unit test.
11282
9c4ffeeb
VS
112832010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11286 Add loader/i386/multiboot_mbi.c.
11287 (multiboot2_mod_SOURCES): Likewise.
11288 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11289 (multiboot2_mod_SOURCES): Likewise.
11290 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11291 (grub_multiboot_make_mbi): Likewise.
11292 (grub_multiboot_free_mbi): Likewise.
11293 (grub_multiboot_init_mbi): Likewise.
11294 (grub_multiboot_add_module): Likewise.
11295 (grub_multiboot_set_bootdev): Likewise.
11296 * loader/i386/multiboot.c (mbi): Removed.
11297 (mbi_dest): Likewise.
11298 (alloc_mbi): New variable.
11299 (grub_multiboot_payload_size): Removed. All users updated.
11300 (grub_multiboot_pure_size): New variable.
11301 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11302 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11303 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11304 (grub_fill_multiboot_mmap): Likewise.
11305 (grub_multiboot_get_bootdev): Likewise.
11306 (grub_multiboot): Use multiboot_mbi functions.
11307 * loader/i386/multiboot_mbi.c: New file.
11308
17383dfe
VS
113092010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11310
11311 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11312 it would result in module crash.
11313
c1f28820
VS
113142010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11317 (grub_ofconsole_getwh): Split to ...
11318 (grub_ofconsole_getwh): ... this.
11319 (grub_ofconsole_dimensions): ...and this.
11320 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11321
58655a16
RM
113222010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11323
11324 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11325
10891398
VS
113262010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 * loader/i386/pc/multiboot2.c: Removed stalled file.
11329
0b8a223c
VS
113302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11331
11332 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11333 Reported by: Grégoire Sutre
11334
92ab12b0
RM
113352010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11336
11337 * util/misc.c (canonicalize_file_name): New function.
11338 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11339 instead of realpath().
11340
a788afb6
CW
113412010-01-11 Colin Watson <cjwatson@ubuntu.com>
11342
11343 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11344 and make it clearer that it's optional. Based on confusion
11345 witnessed on IRC.
11346
ffa8e3d2
VS
113472010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11350 in premature implicit newline.
11351
e9060a9d
VS
113522010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11355 which resulted in garbled command line at the end of screen.
11356
f0d0c0b7
RM
113572010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11358
11359 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11360 initialization with similar approach as with other Linux loaders.
11361
0e60bae7
RM
113622010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11363
11364 Fix i386-ieee1275 build.
11365
11366 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11367 and grub_term_height() for video_{width,height} initialization.
11368
113692010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
11370
11371 Fix grub-emu build.
11372
11373 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11374
cdb3f378
RM
113752010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
113762010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11377
11378 Support for multiple terminals.
11379
11380 * Makefile.in (pkglib_DATA): terminal.lst.
11381 (terminal.lst): New target.
11382 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11383 (GRUB_MOD_INIT(handler)): Likewise.
11384 (GRUB_MOD_FINI(handler)): Likewise.
11385 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11386 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11387 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11388 (grub_cmd_sleep): Use grub_term_save_pos.
11389 * commands/terminal.c: New file.
11390 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11391 commands/terminal.c and lib/charset.c.
11392 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11393 (pkglib_MODULES): Add terminal.mod.
11394 (terminal_mod_SOURCES): New variable.
11395 (terminal_mod_CFLAGS): Likewise.
11396 (terminal_mod_LDFLAGS): Likewise.
11397 * genhandlerlist.sh: Don't handle terminals.
11398 * genmk.rb: Generate terminal-*.lst.
11399 * genterminallist.sh: New file.
11400 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11401 (grub_is_valid_utf8): Likewise.
11402 (grub_utf8_to_ucs4_alloc): Likewise.
11403 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11404 (grub_menu_register_viewer): Changed argument.
11405 (grub_menu_try_text): New proto.
11406 (grub_gfxmenu_try_hook): New declaration.
11407 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11408 (grub_menu_init_page): Additional argument term.
11409 (grub_normal_init_page): Likewise.
11410 (grub_cmdline_get): Arguments simplified.
11411 (grub_utf8_to_ucs4_alloc): Removed.
11412 (grub_print_ucs4): Additional argument term.
11413 (grub_getstringwidth): Likewise.
11414 (grub_print_message_indented): Likewise.
11415 (grub_menu_text_register_instances): New proto.
11416 (grub_show_menu): Likewise.
11417 (read_terminal_list): Likewise.
11418 (grub_set_more): Likewise.
11419 * include/grub/parser.h: Include handler.h.
11420 * include/grub/reader.h: Rewritten.
11421 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11422 (GRUB_TERM_WIDTH): Changed to function.
11423 (GRUB_TERM_HEIGHT): Likewise.
11424 (GRUB_TERM_BORDER_WIDTH): Likewise.
11425 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11426 (GRUB_TERM_NUM_ENTRIES): Likewise.
11427 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11428 (GRUB_TERM_CURSOR_X): Likewise.
11429 (grub_term_input_class): Likewise.
11430 (grub_term_output_class): Likewise.
11431 (grub_term_outputs_disabled): New declaration.
11432 (grub_term_inputs_disabled): Likewise.
11433 (grub_term_outputs): Likewise.
11434 (grub_term_inputs): Likewise.
11435 (grub_term_register_input): Rewritten.
11436 (grub_term_register_output): Likewise.
11437 (grub_term_unregister_input): Likewise.
11438 (grub_term_unregister_output): Likewise.
11439 (FOR_ACTIVE_TERM_INPUTS): New macro.
11440 (FOR_DISABLED_TERM_INPUTS): Likewise.
11441 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11442 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11443 * include/grub/terminfo.h: Add oterm argument to all protypes.
11444 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11445 Use grub_rescue_run.
11446 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11447 All users updated.
11448 * kern/reader.c: Removed. All users updated.
11449 * kern/rescue_reader.c (grub_rescue_init): Removed.
11450 (grub_rescue_reader): Likewise.
11451 (grub_register_rescue_reader): Likewise.
11452 (grub_rescue_run): New function based on kern/reader.c.
11453 * kern/term.c: Adapted for multiterm.
11454 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11455 (grub_is_valid_utf8): Likewise.
11456 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11457 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11458 right terminal.
11459 * loader/i386/linux.c (grub_linux_boot): Likewise.
11460 * normal/auth.c (grub_username_get): New function.
11461 (grub_auth_check_authentication): Use grub_username_get.
11462 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11463 * normal/color.c: Adapt for multiterm.
11464 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11465 (grub_normal_init_page): Additional argument term.
11466 (read_lists): Call read_terminal_lists.
11467 (grub_enter_normal_mode): Call grub_cmdline_run.
11468 Handle grub_normal_exit_level.
11469 (grub_cmd_normal): Make reentrant.
11470 (grub_cmd_normal_exit): New function.
11471 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11472 * normal/menu.c: Adapt for multiterm.
11473 * normal/menu_entry.c: Likewise.
11474 * normal/menu_text.c: Likewise.
11475 * normal/menu_viewer.c: Removed. All users updated.
11476 * normal/term.c: New file.
11477 * util/console.c: Change order of includes to workaround a bug in
11478 ncurses headers.
11479 * term/terminfo.c: New argument oterm on all exported functions.
11480 All users updated.
11481 * util/grub-editenv.c (grub_term_input_class): Removed.
11482 (grub_term_output_class): Likewise.
11483
1a064917
RM
114842010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11485
11486 Make loader output a bit more user-friendly.
11487
11488 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11489 is being loaded. Likewise for the Hurd.
11490
11491 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11492 that kernel of FreeBSD ${version} is being loaded.
11493
11494 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11495 grub_dprintf().
11496 (grub_cmd_initrd): Likewise.
11497 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11498 that Linux ${version} is being loaded. Likewise for initrd.
11499
5ce0a83a 115002010-01-09 Carles Pina i Estany <carles@pina.cat>
11501
11502 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11503
809bbfeb 115042010-01-08 Carles Pina i Estany <carles@pina.cat>
11505
11506 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11507 (GRUB_MOD_INIT): Gettextizze.
11508 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11509 (GRUB_MOD_INIT): Gettextizze.
11510 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11511 (grub_cmd_linux): Capitalise Linux.
11512 (GRUB_MOD_INIT): Gettextizze.
11513 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11514 (grub_cmd_linux): Capitalise Linux.
11515 (GRUB_MOD_INIT): Gettextizze.
11516 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11517 (grub_cmd_linux): Capitalise Linux.
11518 (GRUB_MOD_INIT): Gettextizze.
11519 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11520 (GRUB_MOD_INIT): Gettextizze.
11521 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11522 (grub_cmd_linux): Capitalise Linux.
11523 (GRUB_MOD_INIT): Gettextizze.
11524 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11525 (grub_cpu_xnu_init): Gettextizze.
11526 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11527 (GRUB_MOD_INIT): Gettextizze.
11528 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11529 (GRUB_MOD_INIT): Gettextizze.
11530 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11531 (grub_linux_load64): Capitalise Linux.
11532 (GRUB_MOD_INIT): Gettextizze.
11533 * loader/xnu.c: Include `<grub/i18n.h>'.
11534 (GRUB_MOD_INIT): Gettextizze.
11535 * po/POTFILES: Add `loader/efi/appleloader.c',
11536 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11537 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11538 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11539 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11540 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11541 and `loader/xnu.c'.
11542
b394b2ca
RM
115432010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11544
11545 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11546
115472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
11548
11549 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
11550 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
11551 * util/mkisofs/mkisofs.c (main): Readjust --version output.
11552
bc8b32b3
RM
115532010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11554
11555 Reset Multiboot 2 support. New loader implements the draft in
11556 /branches/multiboot2 and shares as much code as possible with the
11557 production Multiboot 1 implementation.
11558
11559 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
11560 * loader/multiboot2.c: Likewise.
11561 * loader/i386/multiboot_helper.S: Likewise.
11562 * include/multiboot2.h: Replace with latest version from the draft
11563 in /branches/multiboot2.
11564
11565 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
11566 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
11567 and `loader/multiboot2.c'.
11568 (pkglib_MODULES): Add `multiboot2.mod'.
11569 (multiboot2_mod_SOURCES): New variable.
11570 (multiboot2_mod_LDFLAGS): Likewise.
11571 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
11572
11573 * conf/i386-pc.rmk: Likewise.
11574
11575 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
11576 (multiboot_mod_SOURCES): Remove variable.
11577 (multiboot_mod_LDFLAGS): Likewise.
11578 (multiboot_mod_CFLAGS): Likewise.
11579
11580 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
11581 `<multiboot2.h>' instead of `<multiboot.h>'.
11582 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
11583 (MULTIBOOT_HEADER_MAGIC): New macros.
11584
11585 * loader/multiboot_loader.c (module_version_status): Remove variable.
11586 (find_multi_boot2_header): Remove function.
11587 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
11588 logic. Always check for the Multiboot version we're compiling for.
11589 (grub_cmd_module_loader): Likewise.
11590 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
11591 command instead of `multiboot'.
11592
5d2c52b8
RM
115932010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11594
11595 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
11596 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
11597 all users.
11598
53108d92
RM
115992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
116002010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11601
11602 Fix breakage introduced with previous commit.
11603
11604 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
11605 commands.
11606 * normal/handler.c (read_handler_list): Revert part of previous commit
11607 affecting this file.
11608 * normal/main.c (read_lists): Move read_handler_list() call back to ...
11609 (grub_normal_execute): ... here.
11610
e2e936b2
RM
116112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
11612
11613 Merge prefix-redefinition-fix branch.
11614
11615 * normal/autofs.c (read_fs_list): Make function capable of being
11616 run multiple times, gracefuly replacing the previous data
11617 structures.
11618 * normal/dyncmd.c (read_command_list): Likewise.
11619 * normal/handler.c (read_handler_list): Likewise.
11620 * normal/main.c (read_lists): New function. Calls all the
11621 list reading functions.
11622 (grub_normal_execute): Use read_lists() instead of calling all
11623 list reading functions explicitly. Register read_lists() as a
11624 variable hook attached to ${prefix}.
11625
607a3701
VS
116262010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 Merge crypto branch.
11629
11630 * Makefile.in (pkglib_DATA): Add crypto.lst.
11631 (crypto.lst): New target.
11632 * commands/hashsum.c: New file.
11633 * commands/password.c (check_password): Use grub_crypto_memcmp.
11634 * commands/password_pbkdf2.c: New file.
11635 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
11636 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
11637 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
11638 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
11639 -I$(srcdir)/lib/libgcrypt_wrap.
11640 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
11641 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
11642 password_pbkdf2.mod.
11643 (crypto_mod_SOURCES): New variable.
11644 (crypto_mod_CFLAGS): Likewise.
11645 (crypto_mod_LDFLAGS): Likewise.
11646 (hashsum_mod_SOURCES): New variable.
11647 (hashsum_mod_CFLAGS): Likewise.
11648 (hashsum_mod_LDFLAGS): Likewise.
11649 (pbkdf2_mod_SOURCES): New variable.
11650 (pbkdf2_mod_CFLAGS): Likewise.
11651 (pbkdf2_mod_LDFLAGS): Likewise.
11652 (password_pbkdf2_mod_SOURCES): New variable.
11653 (password_pbkdf2_mod_CFLAGS): Likewise.
11654 (password_pbkdf2_mod_LDFLAGS): Likewise.
11655 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
11656 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
11657 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
11658 Include conf/gcry.rmk.
11659 * include/grub/auth.h: Rewritten.
11660 * include/grub/crypto.h: New file.
11661 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
11662 * include/grub/normal.h (read_crypto_list): New prototype.
11663 * lib/crypto.c: New file.
11664 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
11665 * lib/pbkdf2.c: Likewise.
11666 * normal/auth.c (grub_auth_strcmp): Removed.
11667 (grub_iswordseparator): Likewise.
11668 (grub_auth_strword): Likewise.
11669 (is_authenticated): Use grub_strword.
11670 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
11671 and grub_strword. Pass entered password to authentication callback.
11672 * normal/crypto.c: New file.
11673 * normal/main.c: Call read_crypto_list.
11674 * util/grub-mkpasswd-pbkdf2.c: New file.
11675 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
11676
42841caa
VS
116772010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
11678
11679 Fix descent and ascent calculation.
11680
11681 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
11682 (options): New option "asce".
11683 (usage): Likewise.
11684 (add_char): Ignore invalid glyphs for descent calculation.
11685 Calculate ascent from actual content.
11686 (print_glyphs): Use 'asce'.
11687 (write_font): Likewise. Allow ascent override.
11688 (main): Handle "asce" option.
11689
e7730de7 116902010-01-06 Carles Pina i Estany <carles@pina.cat>
11691
11692 * kern/err.c: Include `<grub/i18n.h>'.
11693 (grub_print_error): Add full stop. Gettextizze.
11694 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
11695 (grub_bsd_load_elf): Capitalise ELF.
11696 (grub_cmd_freebsd_loadenv): Add `s' in error string.
11697 (grub_cmd_freebsd_module): Likewise.
11698 (grub_cmd_freebsd_module_elf): Likewise.
11699 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
11700
40e3a41f 117012010-01-06 Carles Pina i Estany <carles@pina.cat>
11702
11703 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
11704 * commands/search_file.c (HELP_MESSAGE): New macro.
11705 * commands/search_label.c (HELP_MESSAGE): Likewise.
11706 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
11707 * po/POTFILES: Add `commands/search_file.c',
11708 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
11709 `commands/search.c'.
11710
83507e68
RM
117112010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11712
11713 * config.rpath: Update from Gnulib.
11714
465c787b
YB
117152010-01-05 Yves Blusseau <blusseau@zetam.org>
11716
11717 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
11718
6581dd3a
YB
117192010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
11720
11721 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
11722
3bff18c5
CW
117232010-01-05 Colin Watson <cjwatson@ubuntu.com>
11724
11725 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
11726 arguments to fread so that we get a return value in bytes, rather
11727 than something that will normally be rounded down to 0.
11728 Adjust error handling to avoid producing garbage when size_t is not
11729 the same size as long long.
11730
a1368118
CW
117312010-01-05 Colin Watson <cjwatson@ubuntu.com>
11732
11733 * util/mkisofs/write.c (padblock_write): Check return value of
11734 fread.
11735
7c302978
RM
117362010-01-05 Robert Millan <rmh.grub@aybabtu.com>
11737
11738 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
11739 floppy images now.
11740
11741 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
11742
e33ace06
RM
117432010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11744
11745 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
11746 instead of manual alignment.
11747 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
11748 verbose). Avoid attempts to read past end of the device
11749 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
11750 but GRUB_DISK_CACHE_SIZE may exceed that).
11751
4b856776
RM
117522010-01-04 Robert Millan <rmh.grub@aybabtu.com>
11753
11754 * commands/crc.c (grub_cmd_crc): Abort on read errors.
11755 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
11756 it to upper layer.
11757
52c2d97f
VS
117582010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11759
11760 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
11761 New constant.
11762 (grub_efi_piwg_device_path): New structure
11763 (grub_efi_piwg_device_path_t): New type.
11764 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
11765 (devpath_1): Transform to a structure. All users updated.
11766 (devpath_2): Likewise.
11767 (devpath_3): Likewise.
11768 (devpath_4): Likewise.
11769 (devpath_5): Likewise.
11770
98ff6a54
VS
117712010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
11772
11773 * loader/efi/appleloader.c: Restored. Update all users.
11774
3a73dcb6
RM
117752010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11776
11777 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
11778
11779 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
11780 (struct boot_blocklist): Move from here ...
11781 * include/grub/i386/pc/boot.h [ASM_FILE]
11782 (struct grub_boot_blocklist): ... to here. Update all users.
11783 (setup): Only initialize `start' member of `first_block'
11784 structure. Add assert() calls to verify the other members.
11785
11786 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
11787 (generate_image): Fix broken blocklist length initialization.
11788 Add assert() call to verify blocklist `segment' field.
11789
ab0eeb0c
RM
117902010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11791
11792 * loader/efi/appleloader.c: Remove. Update all users.
11793
58bc8bd5
RM
117942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
11795
11796 * boot/i386/pc/boot.S: Update copyright year.
11797 * boot/i386/pc/cdboot.S: Likewise.
11798 * boot/i386/pc/diskboot.S: Likewise.
11799 * boot/i386/pc/lnxboot.S: Likewise.
11800 * boot/i386/pc/pxeboot.S: Likewise.
11801 * bus/pci.c: Likewise.
11802 * commands/cmp.c: Likewise.
11803 * commands/help.c: Likewise.
11804 * commands/hexdump.c: Likewise.
11805 * commands/i386/pc/halt.c: Likewise.
11806 * commands/i386/pc/play.c: Likewise.
11807 * commands/i386/pc/vbeinfo.c: Likewise.
11808 * commands/ls.c: Likewise.
11809 * commands/test.c: Likewise.
11810 * disk/dmraid_nvidia.c: Likewise.
11811 * disk/i386/pc/biosdisk.c: Likewise.
11812 * disk/ieee1275/nand.c: Likewise.
11813 * disk/ieee1275/ofdisk.c: Likewise.
11814 * disk/lvm.c: Likewise.
11815 * disk/raid.c: Likewise.
11816 * disk/raid6_recover.c: Likewise.
11817 * disk/scsi.c: Likewise.
11818 * fs/affs.c: Likewise.
11819 * fs/cpio.c: Likewise.
11820 * fs/ext2.c: Likewise.
11821 * fs/hfs.c: Likewise.
11822 * fs/iso9660.c: Likewise.
11823 * fs/ntfs.c: Likewise.
11824 * fs/sfs.c: Likewise.
11825 * fs/udf.c: Likewise.
11826 * fs/ufs.c: Likewise.
11827 * fs/xfs.c: Likewise.
11828 * gencmdlist.sh: Likewise.
11829 * genmk.rb: Likewise.
11830 * include/grub/disk.h: Likewise.
11831 * include/grub/efi/api.h: Likewise.
11832 * include/grub/efi/efi.h: Likewise.
11833 * include/grub/efi/pe32.h: Likewise.
11834 * include/grub/elf.h: Likewise.
11835 * include/grub/fs.h: Likewise.
11836 * include/grub/i386/at_keyboard.h: Likewise.
11837 * include/grub/i386/pc/memory.h: Likewise.
11838 * include/grub/i386/pc/vbe.h: Likewise.
11839 * include/grub/i386/pci.h: Likewise.
11840 * include/grub/i386/tsc.h: Likewise.
11841 * include/grub/ieee1275/ieee1275.h: Likewise.
11842 * include/grub/ntfs.h: Likewise.
11843 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
11844 * include/grub/sparc64/libgcc.h: Likewise.
11845 * include/grub/symbol.h: Likewise.
11846 * include/grub/types.h: Likewise.
11847 * include/multiboot2.h: Likewise.
11848 * io/gzio.c: Likewise.
11849 * kern/device.c: Likewise.
11850 * kern/disk.c: Likewise.
11851 * kern/efi/efi.c: Likewise.
11852 * kern/efi/mm.c: Likewise.
11853 * kern/elf.c: Likewise.
11854 * kern/file.c: Likewise.
11855 * kern/i386/dl.c: Likewise.
11856 * kern/i386/pc/init.c: Likewise.
11857 * kern/i386/pc/startup.S: Likewise.
11858 * kern/ieee1275/ieee1275.c: Likewise.
11859 * kern/ieee1275/init.c: Likewise.
11860 * kern/main.c: Likewise.
11861 * kern/mm.c: Likewise.
11862 * kern/powerpc/dl.c: Likewise.
11863 * kern/sparc64/dl.c: Likewise.
11864 * kern/x86_64/dl.c: Likewise.
11865 * lib/hexdump.c: Likewise.
11866 * loader/efi/appleloader.c: Likewise.
11867 * loader/i386/ieee1275/linux.c: Likewise.
11868 * loader/i386/pc/chainloader.c: Likewise.
11869 * loader/i386/pc/linux.c: Likewise.
11870 * loader/i386/pc/multiboot2.c: Likewise.
11871 * loader/ieee1275/multiboot2.c: Likewise.
11872 * loader/multiboot2.c: Likewise.
11873 * loader/multiboot_loader.c: Likewise.
11874 * loader/powerpc/ieee1275/linux.c: Likewise.
11875 * normal/completion.c: Likewise.
11876 * normal/menu_entry.c: Likewise.
11877 * partmap/apple.c: Likewise.
11878 * util/grub.d/10_hurd.in: Likewise.
11879 * util/hostfs.c: Likewise.
11880 * video/readers/png.c: Likewise.
11881
e2d70b5c
CW
118822010-01-03 Colin Watson <cjwatson@ubuntu.com>
11883
11884 * include/grub/misc.h (GNUC_PREREQ): New macro.
11885 (ATTRIBUTE_ERROR): New macro.
11886 * include/grub/list.h (grub_bad_type_cast_real): Use
11887 ATTRIBUTE_ERROR.
11888
a173283f 118892010-01-03 Carles Pina i Estany <carles@pina.cat>
11890
11891 * normal/menu_text.c (print_message): Change messages.
11892
7fa7ff74 118932010-01-03 Carles Pina i Estany <carles@pina.cat>
11894
11895 * normal/menu_entry.c (store_completion): Gettextizze.
11896
136d24f6 118972010-01-03 Carles Pina i Estany <carles@pina.cat>
11898
11899 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
11900
f936862e 119012010-01-03 Carles Pina i Estany <carles@pina.cat>
11902
11903 * po/POTFILES: Sort correctly.
11904
29c44ad1 119052010-01-03 Carles Pina i Estany <carles@pina.cat>
11906
11907 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
11908 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
11909 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
11910 full stop.
11911 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
11912 summary. Gettextizze the strings.
11913 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
11914 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
11915 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
11916 full stop.
11917 (GRUB_MOD_INIT): Remove command name from summary.
11918 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
11919 summary.
11920 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
11921 * term/i386/pc/serial.c (options): Add full stops.
11922 (GRUB_MOD_INIT): Remove command name from the summary.
11923
77a79592 119242010-01-03 Carles Pina i Estany <carles@pina.cat>
11925
11926 * commands/acpi.c: Gettextizze help strings and/or options. Include
11927 `grub/i18n.h' if needed.
11928 * commands/blocklist.c: Likewise.
11929 * commands/boot.c: Likewise.
11930 * commands/cat.c: Likewise.
11931 * commands/cmp.c: Likewise.
11932 * commands/configfile.c: Likewise.
11933 * commands/crc.c: Likewise.
11934 * commands/date.c: Likewise.
11935 * commands/echo.c: Likewise.
11936 * commands/efi/fixvideo.c: Likewise.
11937 * commands/efi/loadbios.c: Likewise.
11938 * commands/gptsync.c: Likewise.
11939 * commands/halt.c: Likewise.
11940 * commands/handler.c: Likewise.
11941 * commands/hdparm.c: Likewise.
11942 * commands/hexdump.c: Likewise.
11943 * commands/i386/cpuid.c: Likewise.
11944 * commands/i386/pc/drivemap.c: Likewise.
11945 * commands/i386/pc/halt.c: Likewise.
11946 * commands/i386/pc/pxecmd.c: Likewise.
11947 * commands/i386/pc/vbeinfo.c: Likewise.
11948 * commands/i386/pc/vbetest.c: Likewise.
11949 * commands/ieee1275/suspend.c: Likewise.
11950 * commands/keystatus.c: Likewise.
11951 * commands/loadenv.c: Likewise.
11952 * commands/ls.c: Likewise.
11953 * commands/lsmmap.c: Likewise.
11954 * commands/lspci.c: Likewise.
11955 * commands/memrw.c: Likewise.
11956 * commands/minicmd.c: Likewise.
11957 * commands/parttool.c: Likewise.
11958 * commands/password.c: Likewise.
11959 * commands/probe.c: Likewise.
11960 * commands/read.c: Likewise.
11961 * commands/reboot.c: Likewise.
11962 * commands/search.c: Likewise.
11963 * commands/sleep.c: Likewise.
11964 * commands/test.c: Likewise.
11965 * commands/true.c: Likewise.
11966 * commands/usbtest.c: Likewise.
11967 * commands/videotest.c: Likewise.
11968 * commands/xnu_uuid.c: Likewise.
11969 * disk/loopback.c: Likewise.
11970 * hello/hello.c: Likewise.
11971 * loader/i386/bsd.c: Likewise.
11972 * term/i386/pc/serial.c: Likewise.
11973 * po/POTFILES: Add new files.
11974
da8d5c53
CW
119752010-01-02 Colin Watson <cjwatson@ubuntu.com>
11976
11977 * term/i386/pc/at_keyboard.c
11978 (keyboard_controller_wait_untill_ready): Rename to ...
11979 (keyboard_controller_wait_until_ready): ... this. Update all users.
11980
33937904 119812010-01-01 Carles Pina i Estany <carles@pina.cat>
11982
11983 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
11984 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
11985 string using string width.
11986 * normal/menu_text.c (grub_print_message_indented): Use
11987 grub_print_spaces and not print_spaces.
11988 (print_timeout): Likewise.
11989 (print_spaces): Move to...
11990 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
11991
3fd3b8d8
RM
119922010-01-01 Robert Millan <rmh.grub@aybabtu.com>
11993
11994 Import from Gnulib.
11995
11996 * gnulib/getdelim.c: New file.
11997 * gnulib/getline.c: Likewise.
11998
33433555
VS
119992009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12000
12001 * include/grub/list.h (grub_assert_fail): Removed.
12002 (grub_bad_type_cast_real): New function.
12003 (grub_bad_type_cast): New macro.
12004 (GRUB_AS_LIST): Use grub_bad_type_cast.
12005 (GRUB_AS_LIST_P): Likewise.
e44721e8 12006 (GRUB_AS_NAMED_LIST): Likewise.
33433555 12007 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 12008 (GRUB_AS_PRIO_LIST): Likewise.
33433555 12009 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 12010 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 12011
f5a51306
VS
120122009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12013
12014 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12015 Fix syntax error.
12016
90d1e879
RM
120172009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12018
12019 * configure.ac: Check for TARGET_CFLAGS initialization before we
12020 initialize it ourselves (sigh).
12021 Move a few modifications to TARGET_CFLAGS to be unconditional
12022 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12023 eh_frame)
12024
12025 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12026 * term/i386/pc/at_keyboard.c
12027 (keyboard_controller_wait_untill_ready): Likewise.
12028 (keyboard_controller_led): Rename `led_status' paramter to avoid
12029 name conflict.
12030
465b5a81 120312009-12-28 Carles Pina i Estany <carles@pina.cat>
12032
12033 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12034 quotes.
12035
c181849b
VS
120362009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12039
9c8739a4
VS
120402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12041
12042 * normal/menu_text.c (grub_print_message_indented): Prevent
12043 past-the-end-of-array dereference.
12044
3e74249c
VS
120452009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12048 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12049
64fd18ed 120502009-12-27 Carles Pina i Estany <carles@pina.cat>
12051
12052 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12053 * normal/main.c (grub_normal_read_line): Remove a space from the
12054 default prompt.
12055
714af9b9 120562009-12-27 Carles Pina i Estany <carles@pina.cat>
12057
12058 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12059 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12060 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12061 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12062 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12063 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12064 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12065
82f3e412 120662009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 12067
12068 * video/readers/jpeg.c (cmd): Declare.
12069 (grub_cmd_jpegtest): Use `grub_command_t' type.
12070 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12071 Assign to `cmd'.
12072 (GRUB_MOD_FINI): Use `cmd' to unregister.
12073 * video/readers/png.c (cmd): Declare.
12074 (grub_cmd_pngtest): Use `grub_command_t' type.
12075 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12076 Assign to `cmd'.
12077 (GRUB_MOD_FINI): Use `cmd' to unregister.
12078 * video/readers/tga.c (cmd): Declare.
12079 (grub_cmd_tgatest): Use `grub_command_t' type.
12080 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12081 Assign to `cmd'.
12082 (GRUB_MOD_FINI): Use `cmd' to unregister.
12083
82f3e412 120842009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 12085
12086 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12087 stops.
12088 * kern/corecmd.c (grub_register_core_commands): Likewise.
12089 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12090 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12091 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12092 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12093 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12094 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12095 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12096 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12097 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12098 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12099 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12100 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12101 * normal/handler.c (insert_handler): Likewise.
12102 * normal/main.c (GRUB_MOD_INIT): Likewise.
12103 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12104
fdcdbb66 121052009-12-26 Carles Pina i Estany <carles@pina.cat>
12106
12107 * commands/help.c (grub_cmd_help): Print the command name before the
12108 summary.
12109 (GRUB_MOD_INIT): Remove command name from the summary.
12110 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 12111 string as summary.
fdcdbb66 12112 * lib/arg.c (find_long): Print the command name before the summary.
12113 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12114 summary.
12115 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12116 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12117 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12118 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12119 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12120 * commands/date.c (GRUB_MOD_INIT): Likewise.
12121 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12122 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12123 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12124 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12125 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12126 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12127 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12128 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12129 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12130 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12131 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12132 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12133 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12134 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12135 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12136 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12137 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12138 * commands/password.c (GRUB_MOD_INIT): Likewise.
12139 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12140 * commands/read.c (GRUB_MOD_INIT): Likewise.
12141 * commands/search.c (GRUB_MOD_INIT): Likewise.
12142 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12143 * commands/test.c (GRUB_MOD_INIT): Likewise.
12144 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12145 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12146 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12147 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12148 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12149 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12150 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12151 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12152 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12153 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12154 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12155 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12156 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12157 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12158
9c288be2
VS
121592009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12160
12161 Use search command for preliminar UUID search.
12162
12163 * commands/search.c: Split into ...
12164 * commands/search_wrap.c: ...this
12165 * commands/search.c: ...and this.
12166 * commands/search_file.c: New file.
12167 * commands/search_label.c: New file.
12168 * commands/search_uuid.c: New file.
12169 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12170 Add commands/search_wrap.c, commands/search_file.c,
12171 commands/search_label.c and commands/search_uuid.c.
12172 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12173 (search_mod_SOURCES): Set to commands/search_wrap.c.
12174 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12175 search_label.mod.
12176 (search_fs_file_mod_SOURCES): New variable.
12177 (search_fs_file_mod_CFLAGS): Likewise.
12178 (search_fs_file_mod_LDFLAGS): Likewise.
12179 (search_label_mod_SOURCES): Likewise.
12180 (search_label_mod_CFLAGS): Likewise.
12181 (search_label_mod_LDFLAGS): Likewise.
12182 (search_fs_uuid_mod_SOURCES): New variable.
12183 (search_fs_uuid_mod_CFLAGS): Likewise.
12184 (search_fs_uuid_mod_LDFLAGS): Likewise.
12185 (fs_file_mod_SOURCES): Removed.
12186 (fs_file_mod_CFLAGS): Likewise.
12187 (fs_file_mod_LDFLAGS): Likewise.
12188 (fs_uuid_mod_SOURCES): Removed.
12189 (fs_uuid_mod_CFLAGS): Likewise.
12190 (fs_uuid_mod_LDFLAGS): Likewise.
12191 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12192 Set to util/grub-install.in.
12193 * disk/fs_file.c: Removed.
12194 * disk/fs_uuid.c: Likewise.
12195 * include/grub/search.h: New file.
12196 * util/grub-install.in: Handle sparc64.
12197 Create and use load.cfg.
12198 * util/sparc64/ieee1275/grub-install.in: Removed.
12199
db943399
VS
122002009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12203 Ignore return status if CF is cleared.
12204 (grub_biosdisk_get_diskinfo_standard): Likewise.
12205
3fdae612
RM
122062009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12207
12208 * term/i386/pc/at_keyboard.c
12209 (keyboard_controller_wait_untill_ready): New function.
12210 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12211 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12212 for keyboard polling, rather than duplicate the same loop. This
12213 saves a few bytes in code size.
12214
7ebaa2b4
VS
122152009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12216
12217 Support for (pxe[:server[:gateway]]) syntax and
12218 use environment variable for PXE.
12219
12220 * commands/i386/pc/pxecmd.c (options): Removed.
12221 (print_ip): Removed.
12222 (grub_cmd_pxe): Removed
12223 (grub_cmd_pxe_unload): New function.
12224 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12225 (grub_pxe_your_ip): Made static.
12226 (grub_pxe_default_server_ip): Likewise.
12227 (grub_pxe_default_gateway_ip): Likewise.
12228 (grub_pxe_blksize): Likewise.
12229 (parse_ip): New function.
12230 (grub_pxe_open): Support server and gateway specification.
12231 (grub_pxe_close): Free disk->data.
12232 (grub_pxefs_open): Use disk->data.
12233 (grub_pxefs_read): Likewise.
12234 (grub_env_write_readonly): New function.
12235 (set_mac_env): Likewise.
12236 (set_env_limn_ro): Likewise.
12237 (parse_dhcp_vendor): Likewise.
12238 (grub_pxe_detect): Set the environment variables.
12239 (set_ip_env): New function.
12240 (write_ip_env): Likewise.
12241 (grub_env_write_pxe_default_server): Likewise.
12242 (grub_env_write_pxe_default_gateway): Likewise.
12243 (grub_env_write_pxe_blocksize): Likewise.
12244 (GRUB_MOD_INIT(pxe)): Set environment variables.
12245 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12246 (grub_pxe_mac_addr_t): ... this. All users updated.
12247 (grub_pxe_your_ip): Removed.
12248 (grub_pxe_server_ip): Likewise.
12249 (grub_pxe_gateway_ip): Likewise.
12250 (grub_pxe_blksize): Likewise.
12251
ec5f98ab 122522009-12-25 Carles Pina i Estany <carles@pina.cat>
12253
12254 * commands/help.c: Include `<grub/i18n.h>'.
12255 (grub_cmd_help): Gettextizze.
12256 (GRUB_MOD_INIT): Likewise.
12257 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12258 (GRUB_MOD_INIT): Gettextizze.
12259 * commands/search.c: Include `<grub/i18n.h>'.
12260 (options): Gettextizze.
12261 (GRUB_MOD_INIT): Gettextizze.
12262 * lib/arg.c: Include `<grub/i18n.h>'.
12263 (help_options): Gettextizze.
12264 (find_long): Likewise.
12265 (grub_arg_show_help): Likewise.
12266 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12267 (read_command_list): Gettextizze.
12268 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 12269 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 12270
22815526
RM
122712009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12272
12273 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12274 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12275 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12276 (led_status): New variable.
12277 (keyboard_controller_led): New function.
12278 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12279 update led status for caps lock, num lock and scroll lock.
12280
0ad46fd7
FZ
122812009-12-25 Felix Zielcke <fzielcke@z-51.de>
12282
12283 * util/hostdisk.c (open_device): Fix a comment.
12284
d0e158c2
RM
122852009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12286
12287 * util/grub-install.in (host_os): New variable.
12288 * util/i386/efi/grub-install.in (host_os): Likewise.
12289
401c0ad6
RM
122902009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12291
12292 * util/mkisofs/write.c (padblock_write): Abort when given an
12293 excedingly large embed image, instead of silently truncating it.
12294
d14d3370
RM
122952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12296
12297 * include/multiboot.h: Indentation fixes.
12298
eeed10b4
RM
122992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12300
12301 * include/multiboot.h (struct multiboot_aout_symbol_table)
12302 (struct multiboot_elf_section_header_table): New structure
12303 declarations (stolen from GRUB Legacy).
12304 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12305 table information.
12306
12307 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12308 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12309 type aliases.
12310
681c70ab
RM
123112009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12312
12313 * include/multiboot.h: Make comments src2texi-friendly.
12314
e4d47d8d
RM
123152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12316
12317 For consistency with [multiboot]/docs/boot.S.
12318
12319 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12320 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12321 (MULTIBOOT_MAGIC2): Rename from this ...
12322 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12323
a0b70bda
RM
123242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12325
12326 * include/multiboot.h: Remove `<grub/types.h>'.
12327 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12328 types. Update all users.
12329
61ba42be 123302009-12-25 Carles Pina i Estany <carles@pina.cat>
12331
12332 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12333 `couldn't' and `can not' by `cannot'.
12334 * commands/i386/pc/drivemap.c: Likewise.
12335 * disk/ata.c: Likewise.
12336 * disk/ieee1275/nand.c: Likewise.
12337 * fs/affs.c: Likewise.
12338 * fs/fat.c: Likewise.
12339 * fs/hfs.c: Likewise.
12340 * fs/hfsplus.c: Likewise.
12341 * fs/iso9660.c: Likewise.
12342 * fs/jfs.c: Likewise.
12343 * fs/minix.c: Likewise.
12344 * fs/reiserfs.c: Likewise.
12345 * fs/sfs.c: Likewise.
12346 * fs/udf.c: Likewise.
12347 * fs/ufs.c: Likewise.
12348 * fs/xfs.c: Likewise.
12349 * loader/powerpc/ieee1275/linux.c: Likewise.
12350 * loader/sparc64/ieee1275/linux.c: Likewise.
12351 * util/grub-probe.c: Likewise.
12352 * util/misc.c: Likewise.
12353
7fd0baee 123542009-12-24 Carles Pina i Estany <carles@pina.cat>
12355
12356 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12357 grub_errno calls.
12358 * commands/acpi.c: Likewise.
12359 * commands/blocklist.c: Likewise.
12360 * commands/efi/loadbios.c: Likewise.
12361 * commands/i386/pc/drivemap.c: Likewise.
12362 * commands/loadenv.c: Likewise.
12363 * commands/memrw.c: Likewise.
12364 * commands/password.c: Likewise.
12365 * commands/videotest.c: Likewise.
12366 * disk/ata.c: Likewise.
12367 * disk/ata_pthru.c: Likewise.
12368 * disk/dmraid_nvidia.c: Likewise.
12369 * disk/ieee1275/nand.c: Likewise.
12370 * disk/ieee1275/ofdisk.c: Likewise.
12371 * disk/loopback.c: Likewise.
12372 * disk/lvm.c: Likewise.
12373 * disk/mdraid_linux.c: Likewise.
12374 * disk/raid.c: Likewise.
12375 * disk/raid6_recover.c: Likewise.
12376 * disk/scsi.c: Likewise.
12377 * efiemu/main.c: Likewise.
12378 * efiemu/mm.c: Likewise.
12379 * efiemu/pnvram.c: Likewise.
12380 * efiemu/symbols.c: Likewise.
12381 * font/font.c: Likewise.
12382 * fs/cpio.c: Likewise.
12383 * fs/hfsplus.c: Likewise.
12384 * fs/iso9660.c: Likewise.
12385 * fs/jfs.c: Likewise.
12386 * fs/minix.c: Likewise.
12387 * fs/ntfs.c: Likewise.
12388 * fs/ntfscomp.c: Likewise.
12389 * fs/reiserfs.c: Likewise.
12390 * fs/ufs.c: Likewise.
12391 * fs/xfs.c: Likewise.
12392 * gettext/gettext.c: Likewise.
12393 * include/grub/auth.h: Likewise.
12394 * kern/elf.c: Likewise.
12395 * kern/file.c: Likewise.
12396 * kern/ieee1275/init.c: Likewise.
12397 * kern/ieee1275/mmap.c: Likewise.
12398 * kern/ieee1275/openfw.c: Likewise.
12399 * kern/powerpc/dl.c: Likewise.
12400 * kern/sparc64/dl.c: Likewise.
12401 * lib/arg.c: Likewise.
12402 * loader/i386/bsd.c: Likewise.
12403 * loader/i386/bsdXX.c: Likewise.
12404 * loader/i386/efi/linux.c: Likewise.
12405 * loader/i386/efi/xnu.c: Likewise.
12406 * loader/i386/ieee1275/linux.c: Likewise.
12407 * loader/i386/linux.c: Likewise.
12408 * loader/i386/multiboot.c: Likewise.
12409 * loader/i386/pc/linux.c: Likewise.
12410 * loader/i386/pc/multiboot2.c: Likewise.
12411 * loader/i386/xnu.c: Likewise.
12412 * loader/ieee1275/multiboot2.c: Likewise.
12413 * loader/macho.c: Likewise.
12414 * loader/machoXX.c: Likewise.
12415 * loader/multiboot2.c: Likewise.
12416 * loader/multiboot_loader.c: Likewise.
12417 * loader/powerpc/ieee1275/linux.c: Likewise.
12418 * loader/sparc64/ieee1275/linux.c: Likewise.
12419 * loader/xnu.c: Likewise.
12420 * loader/xnu_resume.c: Likewise.
12421 * mmap/i386/pc/mmap.c: Likewise.
12422 * normal/menu_viewer.c: Likewise.
12423 * partmap/acorn.c: Likewise.
12424 * partmap/amiga.c: Likewise.
12425 * partmap/apple.c: Likewise.
12426 * script/lexer.c: Likewise.
12427 * term/gfxterm.c: Likewise.
12428 * term/i386/pc/serial.c: Likewise.
12429 * term/i386/pc/vga.c: Likewise.
12430 * term/ieee1275/ofconsole.c: Likewise.
12431 * term/terminfo.c: Likewise.
12432 * video/bitmap.c: Likewise.
12433 * video/efi_gop.c: Likewise.
12434 * video/efi_uga.c: Likewise.
12435 * video/fb/video_fb.c: Likewise.
12436 * video/i386/pc/vbe.c: Likewise.
12437 * video/readers/tga.c: Likewise.
12438 * video/video.c: Likewise.
12439
0ad46fd7 124402009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
12441
12442 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12443 * commands/lspci.c: Likewise.
12444 * commands/probe.c: Likewise.
12445 * commands/xnu_uuid.c: Likewise.
12446 * conf/i386-coreboot.rmk: Likewise.
12447 * conf/i386-efi.rmk: Likewise.
12448 * conf/i386-ieee1275.rmk: Likewise.
12449 * conf/i386-pc.rmk: Likewise.
12450 * conf/powerpc-ieee1275.rmk: Likewise.
12451 * conf/sparc64-ieee1275.rmk: Likewise.
12452 * conf/x86_64-efi.rmk: Likewise.
12453 * fs/i386/pc/pxe.c: Likewise.
12454 * gettext/gettext.c: Likewise.
12455 * include/grub/efi/graphics_output.h: Likewise.
12456 * include/grub/i386/pc/memory.h: Likewise.
12457 * kern/env.c: Likewise.
12458 * kern/i386/qemu/startup.S: Likewise.
12459 * lib/i386/pc/biosnum.c: Likewise.
12460 * lib/i386/relocator.c: Likewise.
12461 * lib/i386/relocator_asm.S: Likewise.
12462 * lib/relocator.c: Likewise.
12463 * loader/i386/bsd.c: Likewise.
12464 * loader/i386/multiboot.c: Likewise.
12465 * loader/i386/pc/chainloader.c: Likewise.
12466 * loader/i386/xnu.c: Likewise.
12467 * loader/xnu.c: Likewise.
12468 * normal/main.c: Likewise.
12469 * normal/menu_text.c: Likewise.
12470 * util/getroot.c: Likewise.
12471 * util/grub-mkconfig_lib.in: Likewise.
12472 * util/grub.d/00_header.in: Likewise.
12473 * util/i386/pc/grub-mkimage.c: Likewise.
12474 * util/mkisofs/eltorito.c: Likewise.
12475 * util/mkisofs/exclude.h: Likewise.
12476 * util/mkisofs/hash.c: Likewise.
12477 * util/mkisofs/iso9660.h: Likewise.
12478 * util/mkisofs/joliet.c: Likewise.
12479 * util/mkisofs/mkisofs.c: Likewise.
12480 * util/mkisofs/mkisofs.h: Likewise.
12481 * util/mkisofs/multi.c: Likewise.
12482 * util/mkisofs/name.c: Likewise.
12483 * util/mkisofs/rock.c: Likewise.
12484 * util/mkisofs/tree.c: Likewise.
12485 * util/mkisofs/write.c: Likewise.
12486 * video/efi_gop.c: Likewise.
12487
009ec743
VS
124882009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12491 size counting.
12492
0ad46fd7 124932009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
12494
12495 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12496 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12497
d3d30ea0
VS
124982009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12499
12500 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12501 (GRUB_MOD_INIT(memrw)): Update help line.
12502
a34f5c70
VS
125032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12506 Use grub_extcmd_t. All users updated.
12507 (options): New variable.
12508 (grub_cmd_read): Restructure for readability. Support "-v" option.
12509 (grub_cmd_write): Restructure for readability.
12510
0ad46fd7 125112009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
12512
12513 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12514
0ad46fd7 125152009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
12516
12517 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12518 with the actual contents of the correspondending make variable.
12519 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12520 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12521 specifying `*.lst' and `efiemu??.o'
12522
0ad46fd7 125232009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
12524
12525 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12526 after function name.
12527 Noticed by Rene Engelhard <rene@debian.org>.
12528
dc77a799
VS
125292009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12532 (options): New variable.
12533 (iospace): Likewise.
12534 (grub_lspci_iter): List IO spaces if "-i" was given.
12535 (grub_cmd_lspci): Parse options.
12536 (GRUB_MOD_INIT(lspci)): Use extcmd.
12537 (GRUB_MOD_FINI(lspci)): Likewise.
12538
0ad46fd7 125392009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
12540
12541 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12542 `function' keyword.
12543 Patch by Tony Mancill <tmancill@debian.org>.
12544
b5d5993b
VS
125452009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12548 (grub_uhci_portstatus): Likewise.
12549 (grub_uhci_portstatus): Add necessary delay.
11d18281 12550 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 12551
941903f2 125522009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 12553
941903f2 12554 * commands/acpi.c (options): Fix capitalizations and/or full stops.
12555 (GRUB_MOD_INIT): Likewise.
12556 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 12557 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
12558 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 12559 * commands/efi/loadbios.c (enable_rom_area): Likewise.
12560 (enable_rom_area): Likewise.
12561 (GRUB_MOD_INIT): Likewise.
12562 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12563 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
12564 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12565 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
12566 * commands/hexdump.c (options): Likewise.
12567 * commands/i386/cpuid.c (options): Likewise.
12568 (GRUB_MOD_INIT): Likewise.
12569 * commands/i386/pc/drivemap.c (options): Likewise.
12570 (GRUB_MOD_INIT): Likewise.
12571 * commands/i386/pc/halt (options): Likewise.
12572 (GRUB_MOD_INIT): Likewise.
12573 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12574 * commands/i386/pc/pxecmd.c (options): Likewise.
12575 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
12576 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
12577 * commands/keystatus.c (options): Likewise.
12578 (GRUB_MOD_INIT): Likewise.
12579 * commands/loadenv.c (options): Likewise.
12580 * commands/ls.c (options): Likewise.
12581 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12582 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12583 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12584 * commands/parttool.c (helpmsg): Likewise.
12585 * commands/probe.c (options): Likewise.
12586 * commands/read.c (GRUB_MOD_INIT): Likewise.
12587 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
12588 * commands/search.c (options): Likewise.
12589 * commands/sleep.c (options): Likewise.
12590 * commands/test.c (GRUB_MOD_INIT): Likewise.
12591 * commands/true.c (GRUB_MOD_INIT): Likewise.
12592 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
12593 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
12594 * lib/arg.c (help_options): Likewise.
e9bbb4e7 12595 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
12596 `$(XGETTEXT)'.
98a50553 12597 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 12598
0ad46fd7 125992009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 12600
ef3c2c3a 12601 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
12602 instead of specifying them explicit.
12603
7922f68b
RM
126042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12605
12606 * NEWS: Add grub-probe support for GNU/Hurd.
12607
537ce47f
RM
126082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12609
12610 * NEWS: gettext was added after 1.97.
12611
9b214e3a
RM
126122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12613
12614 * util/mkisofs/msdos_partition.h: New file (based on
12615 include/grub/msdos_partition.h).
12616 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
12617 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
12618 (ld_options, main): Recognize --protective-msdos-label.
12619 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
12620 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
12621 (padblock_write): If `use_protective_msdos_label' is set, patch a
12622 protective DOS-style label in the output image.
12623
12624 * util/grub-mkrescue.in: Use --protective-msdos-label.
12625
e9309813
RM
126262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12627
12628 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
12629 boot.
12630
0ae56929
RM
126312009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12632
12633 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
12634 variables.
12635 (ld_options, main): Recognize `--embedded-boot'.
12636 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
12637 declarations.
12638 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
12639 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
12640 (padblock_write): Likewise. Rewrite to support embedded boot image.
12641
12642 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
12643 for BIOS-based disk boot instead of only ElTorito.
12644
b15937b1
RM
126452009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12646
12647 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
12648 build (not needed for bootstrap).
12649
52cc3ce0
RM
126502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12651
12652 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
12653 from i386-pc build (not needed for bootstrap).
12654 Rewrite a pair of strings.
12655
36f5ff04
RM
126562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
12657
12658 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
12659
973c6c85 126602009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
12661
12662 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
12663
05d21547
AB
126642009-12-21 Andreas Born <futur.andy@googlemail.com>
12665
12666 * kern/env.c (grub_env_context_open): Mark exported variable for
12667 reexport.
12668
0175d51f
AB
126692009-12-21 Andreas Born <futur.andy@googlemail.com>
12670
12671 * kern/env.c (grub_env_export): Create nonexistent variables before
12672 exporting.
12673
7f39d92f 126742009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 12675
7f39d92f 12676 * include/grub/auth.h: Include `<grub/i18n.h>'.
12677 (GRUB_GET_PASSWORD): Gettextizze string.
12678 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
12679 menu_text.c.
12680 (grub_utf8_to_ucs4_alloc): Fix indentation.
12681 (grub_print_ucs4): Likewise.
12682 (grub_getstringwidth): Likewise.
12683 (print_message_indented): New declaration.
12684 * normal/auth.c: Include `<grub/i18n.h>'.
12685 (grub_auth_check_authentication): Gettexttize string.
12686 * normal/cmdline.c: Include `<grub/i18n.h>'.
12687 (grub_cmdline_get): Gettextizze.
12688 * normal/color.c: Include `<grub/i18n.h>'.
12689 (grub_parse_color_name_pair): Gettexttize strings.
12690 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
12691 string (use `print_message_indented').
12692 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
12693 `include/grub/normal.h'.
12694 (print_message_indented): Renamed to ...
12695 (grub_print_message_indented): ... this. Remove `static' qualifer (now
12696 used in normal/main.c).
12697 (print_message): Use `grub_print_message_indented' instead of
12698 `print_message_indented'.
12699 (print_timeout): Likewise.
12700 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
12701 (grub_normal_print_device_info): Gettexttize strings.
12702 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
12703
3041d898
VS
127042009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
12707 of arguments. Return number of tokens and not arguments. All users
12708 updated.
12709
de15bf8e
VS
127102009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
12713 non-MSDOS paritions.
12714
e0a6ca52
VS
127152009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 * include/grub/types.h (UNUSED): Removed since it conflicts with
12718 NetBSD headers. All users changed to direct __attribute__ ((unused)).
12719 Reported by Grégoire Sutre.
12720
b99518d1 127212009-12-19 Carles Pina i Estany <carles@pina.cat>
12722
12723 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
12724 (grub_print_ucs4_alloc): Likewise.
12725 (grub_getstringwidth): Likewise.
12726 * normal/main.c (grub_normal_init_page): Gettextize version string.
12727 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
12728 (getstringwidth): Renamed to ...
12729 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
12730 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
12731 (grub_print_ucs4): Remove `static' qualifer (now used in
12732 normal/main.c).
12733 * po/POTFILES: Add normal/main.c.
12734
bfd5e52b 127352009-12-19 Carles Pina i Estany <carles@pina.cat>
12736
12737 * normal/menu_text.c (STANDARD_MARGIN): New macro.
12738 (print_message_indented): Add `margin_left' and `margin_right'
12739 parameters.
12740 (print_message): Update `print_message_indented' calls. Adds '\n' to the
12741 strings.
12742 (print_timeout): Use `print_message_indented' to print the message.
12743 Deletes `second_stage' parameter.
12744 (run_menu): Update `print_timeout' calls.
12745
5a1ad2b9
VS
127462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12747
12748 Fix console palette on OpenFirmware.
12749
12750 * term/ieee1275/ofconsole.c (MAX): Removed.
12751 (colors): Redone based on VGA palette.
12752 (grub_ofconsole_setcolor): Discard brightness bit since only 8
12753 colors are supported.
12754 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
12755
b045f00a
VS
127562009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12757
12758 Fix potential EfiEmu double prepare.
12759
12760 * efiemu/main.c (prepared): New variable
12761 (grub_efiemu_unload): Set prepare to '0'.
12762 (grub_efiemu_prepare): Return if already prepared. Set prepared.
12763
12764 set_virtual_address_map support.
12765
12766 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
12767 prototype.
12768 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
12769 prototype.
12770 (grub_efiemu_crc32): Likewise.
12771 (grub_efiemu_crc64): Likewise.
12772 (grub_efiemu_set_virtual_address_map): Likewise.
12773 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
12774 New definition.
12775 (grub_autoefi_set_virtual_address_map): Likewise.
12776 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
12777 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
12778 Restructure flow to accomodate it.
12779 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
12780 (grub_efiemu_crc): Recompute CRC32.
12781 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
12782 (efiemu_ptv_relocated): ... this. Made global. All users updated.
12783 * efiemu/symbols.c (relocated_handle): New variable.
12784 (grub_efiemu_free_syms): Free relocated_handle.
12785 (grub_efiemu_alloc_syms): Allocate relocated_handle.
12786 (grub_efiemu_write_sym_markers): New function.
12787 (grub_efiemu_set_virtual_address_map): Likewise.
12788
12789 Newer XNU parameters.
12790
12791 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
12792 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
12793 (grub_xnu_fill_devicetree): New prototype.
12794 (grub_xnu_heap_real_start): New variable.
12795 * loader/xnu.c (get_name_ptr): New function.
12796 (grub_xnu_load_driver): Fill namelen and name.
12797
12798 64-bit xnu support.
12799
12800 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
12801 and 'loader/macho64.c'.
12802 * conf/i386-pc.rmk: Likewise.
12803 * conf/x86_64-efi.rmk: Likewise.
12804 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
12805 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
12806 * include/grub/macho.h (grub_macho_segment64): New structure.
12807 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
12808 (grub_macho_size32): ... to this.
12809 (grub_macho32_get_entry_point): Renamed from ...
12810 (grub_macho_get_entry_point32): ... to this.
12811 (grub_macho_contains_macho64): New prototype.
12812 (grub_macho_size64): Likewise.
12813 (grub_macho_get_entry_point64): Likewise.
12814 (grub_macho32_load): Renamed from ...
12815 (grub_macho_load32): ... to this.
12816 (grub_macho32_filesize): Renamed from ...
12817 (grub_macho_filesize32): ... to this.
12818 (grub_macho32_readfile): Renamed from ...
12819 (grub_macho_readfile32): ... to this.
12820 (grub_macho_filesize64): New prototype.
12821 (grub_macho_readfile64): Likewise.
12822 (grub_macho_parse32): Likewise.
12823 (grub_macho_parse64): Likewise.
12824 * loader/macho.c: Split into ...
12825 * loader/machoXX.c: ... and this. Replace 32 with XX.
12826 * loader/macho32.c: New file.
12827 * loader/macho64.c: Likewise.
12828 * loader/xnu.c (grub_xnu_is_64bit): New variable.
12829 (grub_cmd_xnu_kernel): Make 32-bit only.
12830 (grub_cmd_xnu_kernel64): New function.
12831 (grub_xnu_load_driver): Support Mach-O 64.
12832 (grub_cmd_xnu_mkext): Likewise.
12833 * util/grub.d/30_os-prober.in (osx_entry): New function.
12834 Generate entries for 64-bit boot too.
12835
12836 Eliminate ad-hoc tree format in XNU and EfiEmu.
12837
12838 * efiemu/main.c (grub_efiemu_prepare): Update comment.
12839 * efiemu/pnvram.c: Rewritten to use environment variables.
12840 All users updated.
12841
12842 Inline utf16_to_utf8.
12843
12844 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
12845 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
12846 All users updated.
12847 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
12848
12849 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
12850 * commands/usbtest.c (grub_usb_get_string): ... move here.
12851 (usb_print_str): Fix error handling.
12852 * include/grub/usb.h (grub_usb_get_string): Remove.
12853
12854 UTF-8 to UTF-16 transformation.
12855
12856 * conf/common.rmk (pkglib_MODULES): Add charset.mod
12857 (charset_mod_SOURCES): New variable.
12858 (charset_mod_CFLAGS): Likewise.
12859 (charset_mod_LDFLAGS): Likewise.
12860 * include/grub/utf.h: New file.
12861 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
12862
12863 Support for device properties.
12864
12865 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
12866 (grub_xnu_devprop_device_header): Likewise.
12867 (grub_xnu_devprop_device_descriptor): Likewise.
12868 (grub_xnu_devprop_add_device): New prototype.
12869 (grub_xnu_devprop_remove_device): Likewise.
12870 (grub_xnu_devprop_remove_property): Likewise.
12871 (grub_xnu_devprop_add_property_utf8): Likewise.
12872 (grub_xnu_devprop_add_property_utf16): Likewise.
12873 (grub_cpu_xnu_init): Likewise.
12874 (grub_cpu_xnu_fini): Likewise.
12875 (grub_cpu_xnu_unload): Likewise.
12876 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
12877 (property_descriptor): Likewise.
12878 (devices): New variable.
12879 (grub_xnu_devprop_remove_property): New function.
12880 (grub_xnu_devprop_add_device): Likewise.
12881 (grub_xnu_devprop_remove_device): Likewise.
12882 (grub_xnu_devprop_add_property): Likewise.
12883 (grub_xnu_devprop_add_property_utf8): Likewise.
12884 (grub_xnu_devprop_add_property_utf16): Likewise.
12885 (hextoval): Likewise.
12886 (grub_cpu_xnu_fill_devprop): Likewise.
12887 (grub_cmd_devprop_load): Likewise.
12888 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
12889 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
12890 (cmd_devprop_load): New variable.
12891 (grub_cpu_xnu_init): New function.
12892 (grub_cpu_xnu_fini): Likewise.
12893 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
12894 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
12895 (grub_cmd_xnu_devtree): Likewise.
12896 (hextoval): New function.
12897 (unescape): Likewise.
12898 (grub_xnu_fill_devicetree): Likewise.
12899
12900 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
12901 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
12902
0945f181
VS
129032009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 Workaround for broken ATI VBE.
12906
12907 * video/i386/pc/vbe.c (last_set_mode): New variable.
12908 (grub_vbe_set_video_mode): Set 'last_set_mode'.
12909 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
12910 (grub_video_vbe_setup): Don't check for reserved flag.
12911
0ad46fd7 129122009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
12913
12914 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
12915 the `find' command.
12916
c179ebe4
VS
129172009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
12918
12919 UUID support for HFS.
12920
12921 * fs/hfs.c (grub_hfs_uuid): New function.
12922 (grub_hfs_fs): New value .uuid.
12923 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
12924
0ad46fd7 129252009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
12926
12927 Fix a segfault with parsing unknown long options.
12928
12929 * util/grub-mkrelpath.c (options): Zero terminate it.
12930
c4a3e41a
CPE
129312009-12-13 Carles Pina i Estany <carles@pina.cat>
12932
12933 * include/grub/misc.h (grub_puts): New declaration.
12934 (grub_puts_): Likewise.
a22008a6 12935 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
12936 (grub_puts_): Likewise.
12937
2e8a7602
RM
129382009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12939
12940 * util/grub-probe.c (probe): Improve error message.
12941
b50b77b9
RM
129422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
12943
12944 * loader/i386/multiboot_elfxx.c
12945 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
12946 initialization.
12947
129482009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 Relocator framework
12951
12952 * loader/i386/xnu_helper.S: Removed. All users updated.
12953 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
12954 (relocator_mod_SOURCES): New variable.
12955 (relocator_mod_CFLAGS): Likewise.
12956 (relocator_mod_LDFLAGS): Likewise.
12957 (relocator_mod_ASFLAGS): Likewise.
12958 * conf/x86_64.rmk: Likewise.
12959 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
12960 (grub_multiboot_payload_entry_offset): Likewise.
12961 (grub_multiboot_forward_relocator): Likewise.
12962 (grub_multiboot_forward_relocator_end): Likewise.
12963 (grub_multiboot_backward_relocator): Likewise.
12964 (grub_multiboot_backward_relocator_end): Likewise.
12965 (grub_multiboot_payload_eip): New variable.
12966 (grub_multiboot_payload_orig): Likewise.
12967 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
12968 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
12969 * include/grub/i386/memory.h
12970 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
12971 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
12972 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
12973 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
12974 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
12975 * include/grub/i386/relocator.h: New file.
12976 * include/grub/x86_64/relocator.h: Likewise.
12977 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
12978 (XNU_RELOCATOR): New macro.
12979 (grub_xnu_launcher_start): Remove.
12980 (grub_xnu_launcher_end): Likewise.
12981 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
12982 (grub_xnu_heap_real_start): Remove.
12983 (grub_xnu_heap_start): Change to void *. All users updated.
12984 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
12985 * lib/i386/relocator.c: New file.
12986 * lib/i386/relocator_asm.S: Likewise.
12987 * lib/i386/relocator_backward.S: Likewise.
12988 * lib/mips/relocator.c: Likewise.
12989 * lib/mips/relocator_asm.S: Likewise.
12990 * lib/relocator.c: Likewise.
12991 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
12992 (entry): Removed.
12993 (playground): Likewise.
12994 (grub_multiboot_payload_orig): New variable.
12995 (grub_multiboot_payload_dest): Likewise.
12996 (grub_multiboot_payload_size): Likewise.
12997 (grub_multiboot_payload_eip): Likewise.
12998 (grub_multiboot_payload_esp): Likewise.
12999 (grub_multiboot_boot): Use grub_relocator32_boot.
13000 (grub_multiboot_unload): Free relocators.
13001 (grub_multiboot): Setup stack. Use relocators.
13002 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13003 (grub_multiboot_load_elfXX): Use relocators.
13004 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13005 (grub_multiboot_payload_size): Likewise.
13006 (grub_multiboot_payload_dest): Likewise.
13007 (grub_multiboot_payload_entry_offset): Likewise.
13008 (grub_multiboot_forward_relocator): Likewise.
13009 (grub_multiboot_backward_relocator): Likewise.
13010 (grub_multiboot_real_boot): Likewise.
13011 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13012 (grub_xnu_entry_point): Likewise.
13013 (grub_xnu_arg1): Likewise.
13014 (grub_xnu_stack): Likewise.
13015 (grub_xnu_launch): Removed.
13016 (grub_xnu_boot_resume): New function.
13017 (grub_xnu_boot): Use relocators.
13018 * loader/i386/xnu_helper.S: Removed.
13019 * loader/xnu.c (grub_xnu_heap_start): New variable.
13020 (grub_xnu_heap_size): Likewise.
13021 (grub_xnu_heap_malloc): Use relocators.
13022 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13023
29eb90c6
VS
130242009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13027 anything.
13028
31027430
CPE
130292009-12-13 Carles Pina i Estany <carles@pina.cat>
13030
13031 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13032 GRUB_ERR_NONE before calling grub_env_set.
13033
dc0c71d9
RM
130342009-12-12 Robert Millan <rmh@aybabtu.com>
13035
13036 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13037 * genmk.rb (video): New variable.
13038 (CLEANFILES, VIDEOFILES): Add #{video}.
13039 (#{video}): New target rule.
13040 * genvideolist.sh: New file.
13041 * Makefile.in (pkglib_DATA): Add video.lst.
13042 (video.lst): New target rule.
13043 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13044 `video.lst'.
13045 * util/grub.d/30_os-prober.in: Replace `vbe' with
13046 ${GRUB_VIDEO_BACKEND}.
13047
2a4bfcf0
RM
130482009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13049
13050 * THANKS: Add David Miller.
13051
2a3aa4d5
RM
130522009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 libpciaccess support.
13055
13056 * Makefile.in (LIBPCIACCESS): New variable.
13057 (enable_grub_emu_pci): Likewise.
13058 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13059 util/pci.c and commands/lspci.c.
13060 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13061 * configure.ac (grub-emu-pci): New option.
13062 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13063 (grub_pci_device_unmap_range): Likewise.
13064 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13065 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13066 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13067 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13068 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13069 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13070 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13071 * include/grub/pciutils.h: New file.
13072 * util/pci.c: Likewise.
13073
0ad46fd7 130742009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
13075
13076 * util/misc.c: Don't include <errno.h> twice.
13077
0ad46fd7 130782009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
13079
13080 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13081 name in an error message.
13082 (grub_biosdisk_rw): Likewise.
13083
2e59983c
VS
130842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13085
13086 Eliminate NTFS 4Gib barrier.
13087
13088 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13089 (read_run_data): Likewise.
13090 (grub_ntfs_read_run_list): Likewise.
13091 (grub_ntfs_read_block): Likewise.
13092 (grub_ntfs_iterate_dir): Likewise.
13093 (read_mft): Likewise.
13094 (read_data): Likewise.
13095 Use COM_LOG_LEN.
13096 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13097 to avoid 64-bit division
13098 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13099 (grub_ntfs_rlst): Use grub_disk_addr_t.
13100
71ee178a
VS
131012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13102
13103 Eliminate grub-fstest 4Gib barrier.
13104
13105 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13106 (read_file): Fix error reporting.
13107
2520d4b8
VS
131082009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13109
13110 Eliminate hexdump 4Gib barrier.
13111
13112 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13113 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13114
e1f27065
VS
131152009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13118 Fixes amarsh bug.
13119
1a0f7f45
RM
131202009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13121
13122 Remove miscellaneous files in distclean target.
13123
13124 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13125
c631d9fb
CW
131262009-12-09 Colin Watson <cjwatson@ubuntu.com>
13127
13128 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13129 if they're already set. This resolves the conflict between my
13130 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13131 fixing the --grub-probe option again.
13132 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13133 change on 2009-10-06, so that we now once again source
13134 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13135
7c7b6106
RM
131362009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13137
13138 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13139 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13140 `util/devicemap.c'.
13141
e3069ec1
CPE
131422009-12-08 Carles Pina i Estany <carles@pina.cat>
13143
13144 * include/grub/misc.h (grub_printf_): New declaration.
13145 * kern/misc.c (grub_printf_): New definition.
13146 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13147 instead of `grub_printf' and `_'.
13148 * normal/menu_entry.c (store_completion): Likewise.
13149 (run): Likewise.
13150 (grub_menu_entry_run): Likewise.
13151 * normal/menu_text.c (grub_wait_after_message): Likewise.
13152 (notify_booting): Likewise.
13153 (notify_fallback): Likewise.
13154 (notify_execution_failure): Likewise.
13155
d6ceebf1
CW
131562009-12-07 Colin Watson <cjwatson@ubuntu.com>
13157
13158 * configure.ac: Check for vasprintf.
13159 * util/misc.c (asprintf): Move allocation from here ...
13160 (vasprintf): ... to here. New function.
13161 (xasprintf): New function.
13162 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13163 prototypes.
13164 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13165 * util/grub-mkfont.c (write_font): Likewise.
13166 * util/grub-probe.c (probe): Likewise.
13167 * util/hostdisk.c (make_device_name): Likewise.
13168
de6daa8b
DM
131692009-12-06 David S. Miller <davem@sunset.davemloft.net>
13170
13171 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13172 anything even prefixed with 'cdrom' as a cdrom.
13173
0ad46fd7 131742009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
13175
13176 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13177 mount points.
13178
98d3dc02
CPE
131792009-12-05 Carles Pina i Estany <carles@pina.cat>
13180
13181 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13182 grub_gettext_msg_list.
13183 (grub_gettext_gettranslation_from_position): Return const char *
13184 and not char *.
a2c1332b 13185 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
13186 returns from the list if existing there.
13187 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13188 (grub_gettext_delete_list): Delete the list.
13189 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13190 lang environment variable is changed.
13191 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13192
b283f108
VS
131932009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13194
13195 Rename kernel.mod to kernel.img.
13196
13197 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13198 (kernel_mod_EXPORTS): Rename to ...
13199 (kernel_img_EXPORTS): ... this.
13200 (kernel_mod_SOURCES): Rename to ...
13201 (kernel_img_SOURCES): ... this.
13202 (kernel_mod_HEADERS): Rename to ...
13203 (kernel_img_HEADERS): ... this. All users updated.
13204 (kernel_mod_CFLAGS): Rename to ...
13205 (kernel_img_CFLAGS): ... this.
13206 (kernel_mod_ASFLAGS): Rename to ...
13207 (kernel_img_ASFLAGS): ... this.
13208 (kernel_mod_LDFLAGS): Rename to ...
13209 (kernel_img_LDFLAGS): ... this.
13210 * conf/x86_64-efi.rmk: Likewise.
13211 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13212 (read_kernel_image): ... this. All users updated.
13213 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13214
69055f8a
CPE
132152009-12-05 Carles Pina i Estany <carles@pina.cat>
13216
13217 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13218 (print_spaces): New function.
13219 (grub_print_ucs4): New function.
13220 (getstringwidth): New function.
13221 (print_message_indented): New function.
13222 (print_message): Gettexttize strings using print_message_indented.
13223 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13224 width.
13225 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 13226 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
13227 Gettextize.
13228 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13229 string.
13230 (run): Likewise.
13231 (grub_menu_entry_run): Likewise.
13232 * PO/POTFILES: Add normal/menu_entry.c.
13233
f616f51c
VS
132342009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13235
13236 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13237
57bbe3be
CPE
132382009-12-05 Carles Pina i Estany <carles@pina.cat>
13239
13240 * util/grub-install.in: Install gettext .mo files.
13241 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13242
013d67a1
CPE
132432009-12-05 Carles Pina i Estany <carles@pina.cat>
13244
13245 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13246 grub_dprintf.
13247
fb954db0
RM
132482009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13249
13250 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13251 non-firmware-dependant one in realmode.S takes precedence.
13252
6b8474f8
RM
132532009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13254
13255 * commands/halt.c: Replace misc arch-specific headers with
13256 `<grub/misc.h>'.
13257 * commands/reboot.c: Likewise.
13258 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13259 `<grub/misc.h>'.
13260 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13261 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13262 (kernel_img_SOURCES): ... to here.
13263
13264 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13265 * include/grub/i386/pc/init.h: Likewise.
13266 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13267 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13268
13269 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13270
13271 * include/grub/i386/halt.h: Remove.
13272 * include/grub/i386/reboot.h: Likewise.
13273
13274 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13275
4b2e6ca2
DM
132762009-12-03 David S. Miller <davem@sunset.davemloft.net>
13277
13278 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13279 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13280 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13281 "progname.h"
13282 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13283 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13284 (usage): Add missing comma in printf.
13285
5239348f
RM
132862009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13287
13288 Use the same reboot approach on i386 coreboot and qemu as we do on
13289 BIOS.
13290
13291 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13292 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13293 * kern/i386/reboot.c: Remove.
13294 * include/grub/i386/reboot.h (grub_reboot): Export function.
13295 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13296 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13297 0xf000:0xfff0 instead of 0xffff:0x0000.
13298 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13299 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13300
ef34cbd4
RM
133012009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13302
13303 Fix $srcdir != $objdir build.
13304
13305 * Makefile.in (po/%.po): Rewrite as ...
13306 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13307
dc9837ea
ST
133082009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13309
13310 Fix GNU/Hurd grub-install crash.
13311 * util/grub-probe.c (probe): Try to access `path' only when it is not
13312 NULL.
13313
2f857f98
VS
133142009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13315
13316 Correct module naming.
13317
13318 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13319 (GRUB_MOD_INIT(efi_uga)): ... to this
13320 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13321 (GRUB_MOD_FINI(efi_uga)): ... to this
13322 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13323 (GRUB_MOD_INIT(efi_gop)): ... to this
13324 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13325 (GRUB_MOD_FINI(efi_gop)): ... to this
13326
c5448046
RM
133272009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13328
13329 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13330 translatable.
13331 (usage): Translate `arg' strings using gettext().
13332 Thanks to Jordi Mallach for the suggestion.
13333
c85184ad
VS
133342009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 GOP support. Based on patch from Bean
13337 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13338
13339 * video/efi_gop.c: New file.
13340 * include/grub/efi/graphics_output.h: Likewise.
13341 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13342 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13343 variables.
13344 * conf/x86_64-efi.rmk: Likewise.
13345
8a4c48d8
VS
133462009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 Rename efi_fb to efi_uga.
13349
13350 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13351 'efi_uga.mod'.
13352 (efi_fb_mod_SOURCES): Rename this ...
13353 (efi_uga_mod_SOURCES): ... to this.
13354 (efi_fb_mod_CFLAGS): Rename this ...
13355 (efi_uga_mod_CFLAGS): ... to this.
13356 (efi_fb_mod_LDFLAGS): Rename this ...
13357 (efi_uga_mod_LDFLAGS): ... to this.
13358 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13359 'efi_uga.mod'.
13360 (efi_fb_mod_SOURCES): Rename this ...
13361 (efi_uga_mod_SOURCES): ... to this.
13362 (efi_fb_mod_CFLAGS): Rename this ...
13363 (efi_uga_mod_CFLAGS): ... to this.
13364 (efi_fb_mod_LDFLAGS): Rename this ...
13365 (efi_uga_mod_LDFLAGS): ... to this.
13366 * video/efi_fb.c: Move this ...
13367 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13368
fb6c1a7b
RM
133692009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13370
13371 * po/README: New file. Explain our PO file workflow.
13372
3bc7896c
RM
133732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13374
13375 * po/ChangeLog: Remove. Move relevant entries back to ...
13376 * ChangeLog: ... here.
13377 * po/ca.po: Remove (now handled by TLP).
13378 * po/id.po: Likewise.
13379 * po/zh_CN.po: Likewise.
13380 * Makefile.in (LINGUAS): Initialize in a way that supports
13381 empty set.
13382
9ed4841d
RM
133832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13384
13385 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13386 reliing on po/LINGUAS.
13387 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13388 (po/%.po): ... this.
13389
0ad46fd7 133902009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
13391
13392 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13393 (main): Use `program_name' instead of nonexistent `progname'.
13394
e30dd392
FZ
133952009-11-26 Felix Zielcke <fzielcke@z-51.de>
13396
13397 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13398 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13399
7656de4f
RM
134002009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13401
13402 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13403 commit.
13404 * conf/i386-efi.rmk: Likewise.
13405 * conf/i386-ieee1275.rmk: Likewise.
13406 * conf/powerpc-ieee1275.rmk: Likewise.
13407 * conf/sparc64-ieee1275.rmk: Likewise.
13408 * conf/x86_64-efi.rmk: Likewise.
13409
db77c4d4
FZ
134102009-11-26 Felix Zielcke <fzielcke@z-51.de>
13411
13412 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13413
a755bb04
FZ
134142009-11-26 Felix Zielcke <fzielcke@z-51.de>
13415
13416 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13417
8a4c07fd
RM
134182009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13419
13420 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13421 (grub_mkdevicemap_SOURCES): New variable.
13422 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13423 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13424 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13425 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13426 (grub_mkdevicemap_SOURCES): Remove.
13427 * conf/i386-efi.rmk: Likewise.
13428 * conf/i386-ieee1275.rmk: Likewise.
13429 * conf/i386-pc.rmk: Likewise.
13430 * conf/powerpc-ieee1275.rmk: Likewise.
13431 * conf/sparc64-ieee1275.rmk: Likewise.
13432 * conf/x86_64-efi.rmk: Likewise.
13433 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13434 (usage): Fix strings to use `program_name'.
13435 (main): Initialize gettext.
13436 * util/grub-editenv.c: Likewise.
13437 * util/grub-emu.c: Likewise.
13438 * util/grub-fstest.c: Likewise.
13439 * util/grub-mkdevicemap.c: Likewise.
13440 * util/grub-mkfont.c: Likewise.
13441 * util/grub-mkrelpath.c: Likewise.
13442 * util/grub-pe2elf.c: Likewise.
13443 * util/grub-probe.c: Likewise.
13444 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13445 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13446 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13447
13448 * util/misc.c: Include `"progname.h"'.
13449 (progname): Remove variable.
13450 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13451
6f61ed55
FZ
134522009-11-25 Felix Zielcke <fzielcke@z-51.de>
13453
13454 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13455 printf and print a newline after the menuentry header line.
13456 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13457
f022876b
FZ
134582009-11-25 Felix Zielcke <fzielcke@z-51.de>
13459
13460 autoconf >= 2.60 support $(localedir).
13461
13462 * INSTALL: Note that autoconf 2.60 is required.
13463 * configure.ac (AC_PREREQ): Bump to 2.60.
13464 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13465 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13466
6717926e
YB
134672009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13468
13469 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13470 aclocal is run.
13471
08806a54
RM
134722009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13473
13474 * normal/main.c (grub_normal_read_line): Fix off-by-one
13475 buffer overflow.
13476
13b33fba
RM
134772009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13478
13479 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13480 "parser.grub" in grub_command_execute() call.
13481
4a8572e9
CPE
134822009-11-24 Carles Pina i Estany <carles@pina.cat>
13483
13484 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13485 * conf/i386-efi.rmk: Likewise.
13486 * conf/i386-ieee1275.rmk: Likewise.
13487 * conf/i386-pc.rmk: Likewise.
13488 * conf/powerpc-ieee1275.rmk: Likewise.
13489 * conf/sparc64-ieee1275.rmk: Likewise.
13490 * conf/x86_64-efi.rmk: Likewise.
13491 * gettext/gettex.c: Include <grub/i18n.h>.
13492 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13493 here ...
13494 * include/grub/i18n.h: ... to here
13495 * include/grub/i18n.h: ... to here.
13496 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 13497 (grub_gettext_dummy): Move above user.
4a8572e9 13498
bee48093
FZ
134992009-11-24 Felix Zielcke <fzielcke@z-51.de>
13500
13501 * util/Makefile.in (install-local): Convert a `for' into a normal
13502 shell expansion.
13503
a031e91c
RM
135042009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13505
13506 * autogen.sh: Add automake call.
13507 * config.guess: Remove.
13508 * config.sub: Likewise.
13509 * install-sh: Likewise.
13510
26bec39d
FZ
135112009-11-24 Felix Zielcke <fzielcke@z-51.de>
13512
13513 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13514
8e2532fd
FZ
135152009-11-24 Felix Zielcke <fzielcke@z-51.de>
13516
13517 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13518 function to a normal shell `for'.
13519
fefa1b7d
FZ
135202009-11-24 Felix Zielcke <fzielcke@z-51.de>
13521
13522 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13523
4501250b
FZ
135242009-11-24 Felix Zielcke <fzielcke@z-51.de>
13525
13526 * util/grub-mkrelpath.c: New file.
13527 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13528 (grub_mkrelpath_SOURCES): New variable.
13529 * include/grub/util/misc.h: New function prototype.
13530 * util/misc.c (make_system_path_relative_to_its_root): New function.
13531
13532 * util/grub-mkconfig_lib.in (bindir): New variable.
13533 (grub_mkrelpath): Likewise.
13534 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13535
13536 * util/probe.c (probe): Make the file path relative to its root.
13537 Change a info message to use the GRUB path. Enable again the
13538 check if we can read the file with GRUB facilities.
13539
13540 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13541 to its root.
13542
11d9778b
FZ
135432009-11-24 Felix Zielcke <fzielcke@z-51.de>
13544
13545 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13546 platform.
13547
4465287d
FZ
135482009-11-24 Felix Zielcke <fzielcke@z-51.de>
13549
13550 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
13551 strncmp().
13552
62b47f22
FZ
135532009-11-24 Felix Zielcke <fzielcke@z-51.de>
13554
13555 * util/getroot.c (grub_util_is_dmraid): New function.
13556 (grub_util_get_dev_abstraction): Treat dmraid and multipath
13557 devices as normal ones, not as LVM.
13558
1eafb9b9 135592009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
13560
13561 * conf/common.rmk: Add grub-gettext_lib target and updates
13562 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
13563 LDFLAGS.
13564 * gettext/gettext.c: New file. (Reads mo files).
13565 * include/grub/file.h (grub_file_pread): New prototype.
13566 * include/grub/i18n.h (_): New prototype.
13567 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
13568 prototypes.
13569 * kern/misc.c (grub_gettext_dummy): New function.
13570 * normal/menu_text.c: Include <grub/i18n.h>.
13571 * normal/menu_text.c (print_timeout): Gettexttize string.
13572 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
13573 * po/POTFILES: Add `normal/menu_text.c'.
13574 * po/ca.po: Add new translations.
c3ea6bd4
CPE
13575 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
13576 gettext module and defines locale_dir and lang in grub.cfg.
13577 * NEWS: Add gettext support.
13578
0fdb2568
RM
135792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13580
13581 * util/hostdisk.c: Include `<grub/i18n.h>'.
13582 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
13583 (make_device_name): Rewrite using asprintf.
13584 (convert_system_partition_to_system_disk): Replace 0 with NULL.
13585 (find_system_device): If a device is not found, generate one just
13586 by reusing the OS path name.
13587 (read_device_map): Make it permissible for device.map not to exist.
13588
f515aa62
RM
135892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13590
13591 * script/sh/execute.c: Move from here ...
13592 * script/execute.c: ... to here. Update all users.
13593 * script/sh/function.c: Move from here ...
13594 * script/function.c: ... to here. Update all users.
13595 * script/sh/lexer.c: Move from here ...
13596 * script/lexer.c: ... to here. Update all users.
13597 * script/sh/main.c: Move from here ...
13598 * script/main.c: ... to here. Update all users.
13599 * script/sh/parser.y: Move from here ...
13600 * script/parser.y: ... to here. Update all users.
13601 * script/sh/script.c: Move from here ...
13602 * script/script.c: ... to here. Update all users.
13603
f84b481b
RM
136042009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13605
13606 * configure.ac: Detect all `emu' platforms. Define
13607 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
13608 --enable-grub-emu logic. Disable include/grub/machine
13609 symlink on `emu' platforms.
13610
13611 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
13612 * gensymlist.sh.in: Likewise.
13613
13614 * include/grub/i386/coreboot/machine.h: Remove file.
13615 * include/grub/i386/efi/machine.h: Likewise.
13616 * include/grub/i386/ieee1275/machine.h: Likewise.
13617 * include/grub/i386/pc/machine.h: Likewise.
13618 * include/grub/i386/qemu/machine.h: Likewise.
13619 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13620 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13621 * include/grub/x86_64/efi/machine.h: Likewise.
13622
13623 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
13624 * commands/halt.c: Likewise.
13625 * commands/reboot.c: Likewise.
13626 * include/grub/autoefi.h: Likewise.
13627 * include/grub/i386/at_keyboard.h: Likewise.
13628 * include/grub/i386/kernel.h: Likewise.
13629 * include/grub/i386/loader.h: Likewise.
13630 * include/grub/i386/pc/memory.h: Likewise.
13631 * kern/dl.c: Likewise.
13632 * kern/i386/coreboot/init.c: Likewise.
13633 * loader/i386/bsd.c: Likewise.
13634 * loader/i386/linux.c: Likewise.
13635 * loader/multiboot_loader.c: Likewise.
13636 * term/i386/pc/serial.c: Likewise.
13637 * term/usb_keyboard.c: Likewise.
13638
13639 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
13640 `<grub/machine/machine.h>'
13641 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
13642 * util/misc.c: Remove `<grub/machine/machine.h>' and
13643 `<grub/machine/time.h>'.
13644
13645 * Makefile.in (enable_grub_emu): Remove variable.
13646 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
13647
13648 * conf/any-emu.rmk: New file.
13649 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
13650 (grub_emu_init.c): Move from here ...
13651 * conf/any-emu.rmk: ... to here.
13652
13653 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
13654 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
13655 * conf/any-emu.rmk: ... to here.
13656
4efeab03
RM
136572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13658
13659 * include/grub/parser.h (grub_parser_register): Document need
13660 of `name' parameter.
13661 * normal/main.c (grub_normal_read_line): Simplify prompt string.
13662 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
13663 "sh" to "grub".
13664
ea1dd8bf
RM
136652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13666
13667 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
13668 `$(XGETTEXT)'.
13669 * include/grub/i18n.h (N_): New macro.
13670 * util/mkisofs/mkisofs.h: Likewise.
13671 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
13672 around N_().
13673 (usage): Use gettext() to translate help strings when printing them.
13674
0c140626
RM
136752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13676
13677 Based on patch from Bean
13678 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13679
13680 * video/efi_fb.c: New file.
13681 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
13682 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13683 variables.
13684 * conf/x86_64-efi.rmk: Likewise.
13685
87d58298
RM
136862009-11-22 Robert Millan <rmh.grub@aybabtu.com>
13687
13688 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
13689 * util/i386/pc/grub-setup.c: Likewise.
13690
994cc3a3
ST
136912009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13692
13693 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
13694 <hurd/fs.h>
13695 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
13696 file_get_storage_info to implement grub_guess_root_device.
13697
26a61d6a
FZ
136982009-11-21 Felix Zielcke <fzielcke@z-51.de>
13699
13700 * Makefile.in (target): Use make's builtin $(shell) function
13701 instead of calling directly $(SHELL) to create the locale directories,
13702 inside the $(foreach) function.
13703
74ff1dd5
FZ
137042009-11-21 Felix Zielcke <fzielcke@z-51.de>
13705
13706 * util/grub-mkrescue.in: Print an error and usage if output option
13707 has not been given.
13708
0b787d0e
FZ
137092009-11-21 Felix Zielcke <fzielcke@z-51.de>
13710
13711 Patch from Loïc Minier <loic.minier@ubuntu.com>.
13712 * util/grub.d/30_os-prober.in: Cope with Linux entries where
13713 root and /boot are on different devices.
13714
1164b270
RM
137152009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13716
13717 Fix build for srcdir != objdir.
13718
13719 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
13720 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
13721 $(srcdir).
13722 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
13723 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
13724 reference for input.
13725
13774a2f
RM
137262009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13727
13728 * util/grub-mkrescue.in: Use source directory direcly (without copiing
13729 or hardlinking it). Remove -J option, Joliet is not compatible with
13730 multiple source directories.
13731
efda854e
RM
137322009-11-21 Carles Pina i Estany <carles@pina.cat>
137332009-11-21 Robert Millan <rmh.grub@aybabtu.com>
13734
13735 * util/grub-mkrescue.in: Recognize `--override-directory' option.
13736 (process_input_dir): New function. Process an arbitrary input
13737 directory.
13738 Misc adjustments to support both "override mode" and system-wide mode.
13739
6c09890c
FZ
137402009-11-20 Felix Zielcke <fzielcke@z-51.de>
13741
13742 * configure.ac (UNIFONT_BDF): Rename to ...
13743 (FONT_SOURCE): ... this. Update all users.
13744
a797824f
FZ
137452009-11-20 Felix Zielcke <fzielcke@z-51.de>
13746
13747 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
13748 to the list of unifont files to look for.
13749
cd4f42b0
RM
137502009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13751
13752 Patch from Joe Auricchio <jauricchio@gmail.com>
13753 * commands/minicmd.c (grub_mini_cmd_clear): New function.
13754 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
13755 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
13756
393c783d
FZ
137572009-11-19 Felix Zielcke <fzielcke@z-51.de>
13758
13759 * Makefile.in (install-local): Add a missing backslash.
13760
b2f1e327
FZ
137612009-11-19 Felix Zielcke <fzielcke@z-51.de>
13762
13763 * include/grub/x86_64/io.h: New file.
13764
f577f7a0
RM
137652009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13766
13767 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
13768 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
13769 Include `"progname.h"'.
13770 (main): Initialize gettext.
13771 * util/i386/pc/grub-setup.c: Gettexttize.
13772 * util/i386/pc/grub-mkimage.c: Likewise.
13773
13774 * Makefile.in (po/*.po): Redefine as ...
13775 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
13776
3bc7896c
RM
13777 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
13778
c37943b6
RM
137792009-11-19 Robert Millan <rmh.grub@aybabtu.com>
13780
13781 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
13782 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
13783 (program_name): Remove.
13784 (main): Initialize gettext support.
6323f705
RM
13785 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
13786 Include `<libintl.h>'.
13787 (_): New macro.
c37943b6
RM
13788
13789 * util/mkisofs/eltorito.c: Gettexttize.
13790 * util/mkisofs/joliet.c: Likewise.
13791 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
13792 * util/mkisofs/multi.c: Likewise.
13793 * util/mkisofs/rock.c: Likewise.
13794 * util/mkisofs/tree.c: Likewise.
13795 * util/mkisofs/write.c: Likewise.
13796
3bc7896c
RM
13797 * po/POTFILES: Update with new files.
13798
5ce77c6e
RM
137992009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13800
13801 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
13802 * util/mkisofs/iso9660.h: Likewise.
13803 * util/mkisofs/joliet.c: Likewise.
13804 * util/mkisofs/mkisofs.c: Likewise.
13805 * util/mkisofs/mkisofs.h: Likewise.
13806 * util/mkisofs/rock.c: Likewise.
13807 * util/mkisofs/tree.c: Likewise.
13808 * util/mkisofs/write.c: Likewise.
13809
13810 * util/mkisofs/eltorito.c (rcsid): Remove.
13811 * util/mkisofs/hash.c: Likewise.
13812 * util/mkisofs/joliet.c: Likewise.
13813 * util/mkisofs/name.c: Likewise.
13814 * util/mkisofs/rock.c: Likewise.
13815 * util/mkisofs/tree.c: Likewise.
13816 * util/mkisofs/write.c: Likewise.
13817
1dabbc77
RM
138182009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13819
13820 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
13821 instead of static allocation.
13822 * util/mkisofs/match.h: Likewise.
13823
633877cb
RM
138242009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13825
3bc7896c
RM
13826 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
13827 and `util/grub.d/10_linux.in'.
633877cb
RM
13828 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
13829 translatable Shell files.
13830
af1c0c85
RM
138312009-11-18 Robert Millan <rmh.grub@aybabtu.com>
13832
13833 * Makefile.in ($(srcdir)/aclocal.m4): New target.
13834
769ae37b
RM
138352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13836
13837 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 13838 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
13839 * util/grub.d/10_kfreebsd.in (bindir): New variable.
13840 Add gettext initialization.
13841 (kfreebsd_entry): Make menuentry output translatable.
13842
138432009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13844
13845 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
13846 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
13847 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
13848 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
13849 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 13850 * po/LINGUAS: New file.
769ae37b
RM
13851
138522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13853
13854 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
13855 other things).
13856 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
13857 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
13858 bindtextdomain() calls for gettext initialization.
13859
138602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13861
13862 * gnulib/progname.c: New file (imported from Gnulib).
13863 * gnulib/progname.h: Likewise.
13864 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13865 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
13866 (usage): Replace `progname' with `program_name'.
13867 (main): Use set_program_name() for program name initialization.
13868
138692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13870
13871 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
13872 from here ...
13873 * Makefile.in (CPPFLAGS): ... to here.
13874
138752009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13876
13877 * aclocal.m4: Move from here ...
13878 * acinclude.m4: ... to here.
13879 * autogen.sh: Add call to `aclocal'.
13880 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
13881
138822009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13883
13884 * Makefile.in (CLEANFILES): Add `po/*.mo'.
13885 (LINGUAS): New variable.
13886 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
13887 (install-local): Install MO files.
13888 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
13889 * include/grub/i18n.h: New file.
3bc7896c
RM
13890 * po/POTFILES: New file.
13891 * po/ca.po: New file.
769ae37b
RM
13892 * util/grub.d/10_linux.in (bindir): New variable.
13893 Add gettext initialization.
13894 (linux_entry): Make menuentry output translatable.
13895 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
13896 (usage): Make --help output translatable.
13897 (main): Initialize gettext.
13898
02c0a6ad
RM
138992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13900
13901 * import_gcry.py: New file (written by Vladimir with minor
13902 adjustments).
13903 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
13904 ciphers.
13905 * INSTALL: Document that Python is required for bootstrap.
13906
139072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
13908
13909 Import ciphers from libgcrypt 1.4.4.
13910
13911 * lib/libgcrypt/cipher/ChangeLog
13912 * lib/libgcrypt/cipher/ac.c
13913 * lib/libgcrypt/cipher/arcfour.c
13914 * lib/libgcrypt/cipher/bithelp.h
13915 * lib/libgcrypt/cipher/blowfish.c
13916 * lib/libgcrypt/cipher/camellia-glue.c
13917 * lib/libgcrypt/cipher/camellia.c
13918 * lib/libgcrypt/cipher/camellia.h
13919 * lib/libgcrypt/cipher/cast5.c
13920 * lib/libgcrypt/cipher/cipher.c
13921 * lib/libgcrypt/cipher/crc.c
13922 * lib/libgcrypt/cipher/des.c
13923 * lib/libgcrypt/cipher/dsa.c
13924 * lib/libgcrypt/cipher/ecc.c
13925 * lib/libgcrypt/cipher/elgamal.c
13926 * lib/libgcrypt/cipher/hash-common.c
13927 * lib/libgcrypt/cipher/hash-common.h
13928 * lib/libgcrypt/cipher/hmac-tests.c
13929 * lib/libgcrypt/cipher/md.c
13930 * lib/libgcrypt/cipher/md4.c
13931 * lib/libgcrypt/cipher/md5.c
13932 * lib/libgcrypt/cipher/primegen.c
13933 * lib/libgcrypt/cipher/pubkey.c
13934 * lib/libgcrypt/cipher/rfc2268.c
13935 * lib/libgcrypt/cipher/rijndael-tables.h
13936 * lib/libgcrypt/cipher/rijndael.c
13937 * lib/libgcrypt/cipher/rmd.h
13938 * lib/libgcrypt/cipher/rmd160.c
13939 * lib/libgcrypt/cipher/rsa.c
13940 * lib/libgcrypt/cipher/seed.c
13941 * lib/libgcrypt/cipher/serpent.c
13942 * lib/libgcrypt/cipher/sha1.c
13943 * lib/libgcrypt/cipher/sha256.c
13944 * lib/libgcrypt/cipher/sha512.c
13945 * lib/libgcrypt/cipher/tiger.c
13946 * lib/libgcrypt/cipher/twofish.c
13947 * lib/libgcrypt/cipher/whirlpool.c
13948
af2f93ac
RM
139492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13950
13951 Fix build for systems without error().
13952
13953 * gnulib/error.c: New file (imported from Gnulib).
13954 * gnulib/error.h: Likewise.
13955 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
13956 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
13957 (this variable is now used by error()).
13958
73fb3dd5
FZ
139592009-11-16 Felix Zielcke <fzielcke@z-51.de>
13960
814f5e96
FZ
13961 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
13962 instead of relying that char is signed.
73fb3dd5 13963
a691ca33
VS
139642009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
13967 blocksize different from specified.
13968 (grub_pxefs_read): Likewise.
13969
2af8f0f4
FZ
139702009-11-16 Felix Zielcke <fzielcke@z-51.de>
13971
13972 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
13973
13974 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
13975 (grub_ata_readwrite): Likewise. Update 2 format strings.
13976 (grub_atapi_read): Likewise.
13977
13978 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
13979 * conf/i386.rmk (pkglib_MODULES): ... to here ...
13980 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
13981 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
13982 (ata_mod_LDFLAGS): Move from here ...
13983 * conf/i386.rmk: ... to here ...
13984 * conf/x86_64-efi.rmk: ... and here.
13985 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
13986 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
13987
83bdecaf
RM
139882009-11-16 Robert Millan <rmh.grub@aybabtu.com>
13989
13990 Relicense multiboot.h, with RMS' blessing.
13991
13992 * include/multiboot.h: Change to X11 license.
13993
fd6fd3d7
RM
139942009-11-15 Robert Millan <rmh.grub@aybabtu.com>
13995
13996 Support --version in grub-mkisofs.
13997
13998 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
13999 (OPTION_VERSION): New macro.
14000 (ld_options): Recognize --version.
14001 (usage): Move `program_name' from here ...
14002 (program_name): ... to here. Add `static' qualifier.
14003 (main): Recognize `OPTION_VERSION'.
14004
16a88c49
FZ
140052009-11-15 Felix Zielcke <fzielcke@z-51.de>
14006
14007 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14008 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14009
a4158476
RM
140102009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14011
14012 Fix help2man generation for mkisofs.
14013
14014 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14015 (usage): Send output to stdout (rather than stderr).
14016
fc2208b0
RM
140172009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14018
14019 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14020 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14021 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14022 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14023 (bin_SCRIPTS): Add `grub-mkfloppy'.
14024 (grub_mkfloppy_SOURCES): New variable.
14025
14026 * util/grub-mkrescue.in: New file.
14027 * util/i386/pc/grub-mkfloppy.in: New file.
14028
14029 * util/i386/coreboot/grub-mkrescue.in: Remove.
14030 * util/i386/pc/grub-mkrescue.in: Remove.
14031
8d0edf4a
RM
140322009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14033
14034 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14035 from here ...
14036 * include/multiboot.h (struct multiboot_header): ... to here. Update
14037 all users.
14038 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14039 from here ...
14040 * include/multiboot.h (struct multiboot_info): ... to here. Update
14041 all users.
14042 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14043 from here ...
14044 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14045 Update all users.
14046 * include/grub/multiboot.h (struct grub_mod_list): Move
14047 from here ...
14048 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14049 Update all users.
14050
a73f5969
RM
140512009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14052
14053 * include/multiboot2.h (multiboot_word): Rename from this ...
14054 (multiboot2_word): ... to this. Update all users.
14055 (multiboot_header): Rename from this ...
14056 (multiboot2_header): ... to this. Update all users.
14057 (multiboot_tag_header): Rename from this ...
14058 (multiboot2_tag_header): ... to this. Update all users.
14059 (multiboot_tag_start): Rename from this ...
14060 (multiboot2_tag_start): ... to this. Update all users.
14061 (multiboot_tag_name): Rename from this ...
14062 (multiboot2_tag_name): ... to this. Update all users.
14063 (multiboot_tag_module): Rename from this ...
14064 (multiboot2_tag_module): ... to this. Update all users.
14065 (multiboot_tag_memory): Rename from this ...
14066 (multiboot2_tag_memory): ... to this. Update all users.
14067 (multiboot_tag_unused): Rename from this ...
14068 (multiboot2_tag_unused): ... to this. Update all users.
14069 (multiboot_tag_end): Rename from this ...
14070 (multiboot2_tag_end): ... to this. Update all users.
14071
1c8927f0
RM
140722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14073
14074 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14075 this platform we should support Multiboot1 first.
14076
14077 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14078 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14079 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14080
6e1e0d89
RM
140812009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14082
14083 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14084 of write calls (converting them to fwrite() if they aren't already).
14085 (get_torito_desc): Likewise.
14086 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14087
7f2b34d8
RM
140882009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14089
14090 * util/i386/pc/grub-install.in: Move from here ...
14091 * util/grub-install.in: ... to here. Update all users.
14092
c0ef3311
CW
140932009-11-11 Colin Watson <cjwatson@ubuntu.com>
14094
14095 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14096
e1f240ff
RM
140972009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14098
14099 Support for El Torito without floppy emulation.
14100
14101 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14102 (init_boot_catalog): Improve error handling.
14103 (get_torito_desc): Don't use floppy emulation unless requested by
14104 user. Patch boot information table when requested via
14105 `-boot-info-table'.
14106 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14107 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14108 (use_boot_info_table): New variables.
14109 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14110 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14111 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14112 `--eltorito-emul-floppy'.
14113 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14114 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14115 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14116 (use_boot_info_table, get_731): New prototypes.
14117 * util/mkisofs/write.c (get_731): New function.
14118
af7d4de5
FZ
141192009-11-11 Felix Zielcke <fzielcke@z-51.de>
14120
14121 Fix the generation of the man page.
14122
14123 * util/pc/i386/grub-install.in: Source
14124 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14125
2c55dbc0
RM
141262009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14127
14128 Large file support for grub-mkisofs.
14129
14130 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14131 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14132 (session_start): Upgrade type to `uint64_t'. Update all users.
14133 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14134 (struct directory_entry): Upgrade type of `starting_block' and
14135 `size' to `uint64_t'. Update all users.
14136 (struct deferred): Remove unused structure.
14137 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14138 Update all users.
14139 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14140 file is larger than `UINT32_MAX'.
14141 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14142 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14143 return value.
14144 (struct deferred_write): Upgrade type of `extent' and `size' to
14145 `uint64_t'. Update all users.
14146 (last_extent_written): Upgrade type to `uint64_t'. Update all
14147 users.
14148 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14149 Update all users. Upgrade type of `remain' to `int64_t' and
14150 `use' to `size_t'. Use error() to handle fread() errors.
14151 (write_files): Rely on write_one_file() rather than calling
14152 xfwrite() directly.
14153
6a9cead5
FZ
141542009-11-09 Felix Zielcke <fzielcke@z-51.de>
14155
14156 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14157
4825d790
RM
141582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14159
14160 * util/mkisofs/fnmatch.c: Remove.
14161 * util/mkisofs/getopt1.c: Likewise.
14162 * util/mkisofs/getopt.c: Likewise.
14163 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14164 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14165 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14166 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14167 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14168
14169 * configure.ac: Detect `mingw32msvc' host_os.
14170 Check for lstat(), getuid() and getgid().
14171
14172 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14173 instances of `u_char' with `uint8_t'.
14174
14175 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14176 [!HAVE_GETUID] (getuid): New function (stub).
14177 [!HAVE_GETGID] (getgid): Likewise.
14178 [!HAVE_LSTAT] (lstat): Likewise.
14179 [!S_IROTH] (S_IROTH): New macro (dummy).
14180 [!S_IRGRP] (S_IRGRP): Likewise.
14181
84b860d8
RM
141822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14183
14184 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14185 conditional expression).
14186
66e9b712
RM
141872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14188
14189 Import from Gnulib.
14190
14191 * gnulib/fnmatch.c: New file.
14192 * gnulib/fnmatch.h: Likewise.
14193 * gnulib/fnmatch_loop.c: Likewise.
14194 * gnulib/getopt.c: Likewise.
14195 * gnulib/getopt.h: Likewise.
14196 * gnulib/getopt1.c: Likewise.
14197 * gnulib/getopt_int.h: Likewise.
14198 * gnulib/gettext.h: Likewise.
14199
34f4a5b0
RM
142002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14201
14202 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14203 * normal/handler.c (read_handler_list): Likewise.
14204
ac451143
RM
142052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14206
14207 Misc cleanup.
14208
14209 * kern/command.c (grub_register_command_prio): Use
14210 grub_zalloc() instead of explicitly zeroing data.
14211 * kern/list.c: Include `<grub/mm.h>'.
14212 (grub_named_list_find): Replace `0' with `NULL'.
14213 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14214 (fs_module_list): Change type to `grub_named_list_t'. Update all
14215 users.
14216 * normal/dyncmd.c (read_command_list): Add space between function
14217 call and parenthesis.
14218 * normal/handler.c (read_handler_list): Likewise.
14219
4089b167
RM
142202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14221
14222 * normal/auth.c (punishment_delay): Moved from here ...
14223 (grub_auth_strcmp): ... to here (inside function).
14224
325f5037
RM
142252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14226
14227 * include/grub/list.h (struct grub_named_list): Remove `const'
14228 qualifier from `name'.
14229 (struct grub_prio_list): Likewise.
14230
7aea29a3
RM
142312009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14232
14233 * normal/auth.c: Include `<grub/time.h>'.
14234 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14235
3fd6f044
RM
142362009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14237
14238 * normal/auth.c (punishment_delay): New variable.
14239 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14240 (grub_auth_check_authentication): Punish failed login attempts with
14241 an incremental (2^N) delay.
14242
a4cd68e4
RM
142432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14244
14245 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14246 path with $(srcdir).
14247
7ad12f43
VS
142482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14251
c1129f03
RM
142522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14253
14254 * util/i386/coreboot/grub-mkrescue.in: New file.
14255 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14256 variables.
14257
14258 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14259 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14260 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14261 requirements.
14262 * util/mkisofs/defaults.h: New file.
14263 * util/mkisofs/eltorito.c: Likewise.
14264 * util/mkisofs/exclude.h: Likewise.
14265 * util/mkisofs/fnmatch.c: Likewise.
14266 * util/mkisofs/getopt.c: Likewise.
14267 * util/mkisofs/getopt1.c: Likewise.
14268 * util/mkisofs/hash.c: Likewise.
14269 * util/mkisofs/include/fctldefs.h: Likewise.
14270 * util/mkisofs/include/mconfig.h: Likewise.
14271 * util/mkisofs/include/prototyp.h: Likewise.
14272 * util/mkisofs/include/statdefs.h: Likewise.
14273 * util/mkisofs/iso9660.h: Likewise.
14274 * util/mkisofs/joliet.c: Likewise.
14275 * util/mkisofs/match.c: Likewise.
14276 * util/mkisofs/match.h: Likewise.
14277 * util/mkisofs/mkisofs.c: Likewise.
14278 * util/mkisofs/mkisofs.h: Likewise.
14279 * util/mkisofs/multi.c: Likewise.
14280 * util/mkisofs/name.c: Likewise.
14281 * util/mkisofs/rock.c: Likewise.
14282 * util/mkisofs/tree.c: Likewise.
14283 * util/mkisofs/write.c: Likewise.
14284
ec8bb77d
VS
142852009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14286
14287 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14288 being insecure.
14289
3716b12c
RM
142902009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14291
14292 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14293 `grub-mkimage' (and use $0 when possible).
14294
b97b7b91
RM
142952009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14296
14297 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14298 error message for excessively large memory map.
14299
04114812
RM
143002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14301
14302 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14303 executable bit.
14304
e4eb2373
RM
143052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14306
14307 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14308 message for coreboot users.
14309
c926e1d5 143102009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14311
14312 Fix build with GNU gold.
14313
14314 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14315 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14316 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14317 link addresses.
14318 * aclocal.m4: Likewise.
14319
86e5b1db 143202009-11-04 Felix Zielcke <fzielcke@z-51.de>
14321
14322 * configure.ac (AC_PREREQ): Bump to 2.59d.
14323 * INSTALL: Make it more clear when Autoconf and Ruby are
14324 needed and when to run `./autogen.sh'.
14325
246cd78f 143262009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14327
14328 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14329 OSes.
14330
4f9dfb37 143312009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14332
14333 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14334
b82bd5e1 143352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14336
14337 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14338 giving it to GNU Mach.
14339
ff1a9bca 143402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14341
14342 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14343 GNU partition number to get internal GRUB partition number.
14344
61697d9c 143452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14346
14347 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14348 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14349
a50569e1 143502009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14351
14352 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14353 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14354 case.
14355
5b153867 143562009-11-01 Felix Zielcke <fzielcke@z-51.de>
14357
14358 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14359
d9e2cd70 143602009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14361
14362 Fix build problem.
14363
14364 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14365 `-isystem=$(srcdir)/include'.
14366
805111a4 143672009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14368
14369 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14370 checked (grub-install doesn't currently rely on it).
14371
fa6e945f 143722009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14373
14374 Revert SVN r2660.
14375
14376 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14377 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14378 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14379 * conf/i386-ieee1275.rmk: Likewise.
14380 * conf/i386-pc.rmk: Likewise.
14381 * conf/powerpc-ieee1275.rmk: Likewise.
14382 * conf/sparc64-ieee1275.rmk: Likewise.
14383 * conf/x86_64-efi.rmk: Likewise.
14384
cee15086 143852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14386
14387 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14388
95b9239e 143892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14390
14391 * include/grub/misc.h: Stop checking for APPLE_CC.
14392
2ed19dfd 143932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14394
14395 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14396 doesn't cause an infinite call loop.
14397
fdcdde19 143982009-10-28 Felix Zielcke <fzielcke@z-51.de>
14399
14400 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14401 strings.
14402
cefabfe1 144032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14404
14405 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14406 variable.
14407 * Makefile.in: Likewise.
14408
ed96ab6d 144092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14410
14411 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14412
0579b753 144132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14414
14415 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14416
478df409 144172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14418
14419 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14420
083d1679 144212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14422
14423 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14424 from here ...
14425 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14426
5947ae32 144272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14428
14429 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14430 in $(MAKEINFO) invocation. This makes it clear in output that
14431 errors are being ignored.
14432
94180ff6 144332009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14434
14435 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14436 from here ...
14437 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14438 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14439 * conf/i386-ieee1275.rmk: Likewise.
14440 * conf/i386-pc.rmk: Likewise.
14441 * conf/powerpc-ieee1275.rmk: Likewise.
14442 * conf/sparc64-ieee1275.rmk: Likewise.
14443 * conf/x86_64-efi.rmk: Likewise.
14444
9031b03a 144452009-10-26 Colin Watson <cjwatson@ubuntu.com>
14446
14447 * util/grub-editenv.c (main): If only a command is given, use
14448 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14449 (usage): FILENAME is now optional and has a default.
14450
e4f6809b 144512009-10-26 Colin Watson <cjwatson@ubuntu.com>
14452
14453 Improve grub-mkconfig performance when there are several menu
14454 entries on a single filesystem.
14455
14456 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14457 prepare_grub_to_access_device.
14458 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14459 * util/grub.d/30_os-prober.in: Likewise.
14460
67937d4d 144612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14462
14463 * util/grub.d/10_freebsd.in: Remove.
14464 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14465 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14466
ee3756cc 144672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14468
5c35048e 14469 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 14470
4dea1c6f 144712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14472
14473 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14474 grub_util_error() call.
14475
042484d7 144762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14477
14478 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14479 `reserved_first_sector' member.
14480 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14481 `reserved_first_sector' to 1.
14482 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14483 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14484 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14485 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14486 filesystems which begin at first sector.
14487 (options): New option --skip-fs-probe.
14488 (main): Handle --skip-fs-probe and pass it to setup().
14489
d64448a7 144902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14491
14492 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14493 (memset): Fix function prototype.
14494
508d42ec 144952009-10-25 Robert Millan <rmh.grub@aybabtu.com>
144962009-10-25 Vasily Averin <vvs@parallels.com>
14497
14498 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14499 `dirent.direntlen == 0'.
14500
b240e30c 145012009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14502
14503 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14504 `cpio'.
14505 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14506
346e7fbe 145072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14508
14509 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14510 `__trampoline_setup' and `__ucmpdi2'.
14511 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14512 that libgcc provides.
14513
cdb308b0 145142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14515
14516 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14517 * include/grub/sparc64/libgcc.h (memset): Likewise.
14518 * include/grub/misc.h (memset, memcmp): New function prototypes.
14519
fb26abc2 145202009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14521
14522 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14523 `cpio'.
14524 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14525
f6693890 145262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14527
14528 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14529 * docs/grub.cfg: Compensate for recent change in multiboot
14530 loader (since 2009-08-14 it won't pass filename to payload).
14531 * util/grub.d/10_hurd.in: Likewise.
14532
0933cdc0 145332009-10-21 Felix Zielcke <fzielcke@z-51.de>
14534
14535 * config.guess: Update to latest version from config git
14536 repository.
14537 * config.sub: Likewise.
14538
3b2fe8c2 145392009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14540
14541 Fix build on sparc64.
14542
14543 * configure.ac: Perform checks for libgcc symbols before
14544 adding `-nostdlib' to LDFLAGS.
14545
46695a62 145462009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14547
14548 Let user specify OpenBSD root device.
14549
14550 * loader/i386/bsd.c (openbsd_root): New variable.
14551 (openbsd_opts): New option 'root'.
14552 (OPENBSD_ROOT_ARG): New macro.
14553 (grub_openbsd_boot): Use 'openbsd_root'.
14554 (grub_cmd_openbsd): Fill 'openbsd_root'.
14555
d2b6b7fc 145562009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14557
14558 * NEWS: Misc adjustments.
14559
421bd7ac 145602009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
14563
f1d29d87 145642009-10-16 Robert Millan <rmh.grub@aybabtu.com>
14565
14566 * configure.ac: Bump version to 1.97.
14567
6f3cd880 145682009-10-16 Colin Watson <cjwatson@ubuntu.com>
14569
14570 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
14571 -mno-3dnow on x86 architectures. Some toolchains enable these
14572 features by default, but they rely on registers that aren't enabled
14573 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
14574
035f7122 145752009-10-15 Robert Millan <rmh.grub@aybabtu.com>
14576
14577 Make entry text a bit more readable.
14578
14579 * util/grub.d/10_linux.in: Add `with' before `Linux'.
14580
44998e58 145812009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
14584
cd2851b3 145852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
14588 operations.
14589
c6f3b249 145902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 * configure.ac: Add missing dollar.
14593
6b5886ba 145942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
14595
14596 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
14597
14598 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
14599 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
14600 exports.
14601 * include/grub/sparc64/libgcc.h: Likewise. Use
14602 preprocessor conditionals.
14603
e9d66f6d 146042009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14605
14606 * conf/common.rmk (grub-dumpbios): Remove rule.
14607 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
14608 * util/grub-dumpbios.in: Remove file.
14609
9155bc17 146102009-10-14 Robert Millan <rmh.grub@aybabtu.com>
14611
14612 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
14613 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
14614
14615 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
14616 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
14617 users.
14618
14619 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
14620 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
14621 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
14622 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
14623 users.
14624
bf7f7a18 146252009-10-12 Robert Millan <rmh.grub@aybabtu.com>
14626
14627 * term/tparm.c: Switch to GPLv3.
14628
86564c26 146292009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14630
14631 * include/grub/i386/cpuid.h: Add header protection.
14632
5c936493 146332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
14634
14635 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
14636
14637 * include/grub/i386/cpuid.h: New file.
14638 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
14639 (has_longmode): Rename to ...
14640 (grub_cpuid_has_longmode): ... this. Update all users. Remove
14641 `static' attribute.
14642 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
14643 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
14644 on a CPU that doesn't implement AMD64 instruction set.
14645
186e7cf2 146462009-10-06 Colin Watson <cjwatson@ubuntu.com>
14647
14648 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
14649 that version.texi is rebuilt on version number changes.
14650
83b65c4a 146512009-10-06 Colin Watson <cjwatson@ubuntu.com>
14652
14653 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
14654 Fixes bug #27602.
14655
d244281c 146562009-10-06 Colin Watson <cjwatson@ubuntu.com>
14657
14658 * util/i386/pc/grub-install.in: Source
14659 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
14660 that the --grub-probe option will work.
14661 * util/sparc64/ieee1275/grub-install.in: Likewise.
14662
da25306d 146632009-10-05 Robert Millan <rmh.grub@aybabtu.com>
14664
14665 * configure.ac: Bump version to 1.97~beta4.
14666
e8ee83c0 146672009-10-03 Robert Millan <rmh.grub@aybabtu.com>
14668
14669 Resync grub-mkdevicemap in x86_64-efi.
14670
14671 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
14672 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
14673 `util/devicemap.c'.
14674
50dcabcf 146752009-10-01 Colin Watson <cjwatson@ubuntu.com>
14676
14677 * util/grub-editenv.c (create_envblk_file): Write new block with a
14678 .new suffix and then rename it into place, to ensure atomic
14679 creation.
14680
0e51c3a7 146812009-09-28 Robert Millan <rmh.grub@aybabtu.com>
14682
14683 Do not automatically install headers.
14684
14685 * Makefile.in (include_DATA): Remove. Update all users.
14686
31299a95 146872009-09-26 Robert Millan <rmh.grub@aybabtu.com>
14688
14689 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
14690 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
14691
14692 * util/osdetect.lua: Remove.
14693 * script/lua/lauxlib.c: Likewise.
14694 * script/lua/ldebug.c: Likewise.
14695 * script/lua/grub_main.c: Likewise.
14696 * script/lua/lauxlib.h: Likewise.
14697 * script/lua/ldebug.h: Likewise.
14698 * script/lua/ltablib.c: Likewise.
14699 * script/lua/liolib.c: Likewise.
14700 * script/lua/lstrlib.c: Likewise.
14701 * script/lua/lualib.h: Likewise.
14702 * script/lua/ldo.c: Likewise.
14703 * script/lua/ldump.c: Likewise.
14704 * script/lua/ldo.h: Likewise.
14705 * script/lua/loslib.c: Likewise.
14706 * script/lua/lundump.c: Likewise.
14707 * script/lua/grub_lib.c: Likewise.
14708 * script/lua/ldblib.c: Likewise.
14709 * script/lua/lundump.h: Likewise.
14710 * script/lua/lmem.c: Likewise.
14711 * script/lua/grub_lib.h: Likewise.
14712 * script/lua/lmathlib.c: Likewise.
14713 * script/lua/lstate.c: Likewise.
14714 * script/lua/ltm.c: Likewise.
14715 * script/lua/lvm.c: Likewise.
14716 * script/lua/lmem.h: Likewise.
14717 * script/lua/lstate.h: Likewise.
14718 * script/lua/ltm.h: Likewise.
14719 * script/lua/ltable.c: Likewise.
14720 * script/lua/lvm.h: Likewise.
14721 * script/lua/llex.c: Likewise.
14722 * script/lua/lgc.c: Likewise.
14723 * script/lua/grub_lua.h: Likewise.
14724 * script/lua/loadlib.c: Likewise.
14725 * script/lua/lfunc.c: Likewise.
14726 * script/lua/lopcodes.c: Likewise.
14727 * script/lua/lparser.c: Likewise.
14728 * script/lua/ltable.h: Likewise.
14729 * script/lua/llex.h: Likewise.
14730 * script/lua/lgc.h: Likewise.
14731 * script/lua/lfunc.h: Likewise.
14732 * script/lua/lbaselib.c: Likewise.
14733 * script/lua/lopcodes.h: Likewise.
14734 * script/lua/lparser.h: Likewise.
14735 * script/lua/lzio.c: Likewise.
14736 * script/lua/linit.c: Likewise.
14737 * script/lua/lobject.c: Likewise.
14738 * script/lua/llimits.h: Likewise.
14739 * script/lua/lstring.c: Likewise.
14740 * script/lua/lzio.h: Likewise.
14741 * script/lua/lapi.c: Likewise.
14742 * script/lua/lcode.c: Likewise.
14743 * script/lua/lua.h: Likewise.
14744 * script/lua/lobject.h: Likewise.
14745 * script/lua/lstring.h: Likewise.
14746 * script/lua/lapi.h: Likewise.
14747 * script/lua/lcode.h: Likewise.
14748 * script/lua/luaconf.h: Likewise.
14749
cb8a2c38 147502009-09-26 Colin Watson <cjwatson@ubuntu.com>
14751
14752 * docs/grub.texi (Command-line and menu entry commands): Document
14753 date and echo commands.
14754
6b9b6276 147552009-09-24 Pavel Roskin <proski@gnu.org>
14756
14757 * include/grub/kernel.h (struct grub_module_header): Remove
14758 `grub_module_header_types'. Make `type' unsigned. Make `size'
14759 32-bit on all platforms.
14760 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
14761 8-bit field. Use grub_host_to_target32() for `size'.
14762 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
14763 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
14764 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
14765
4e5a02a7 147662009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14767
14768 Fix "lost keypress" bug in at_keyboard.
14769
14770 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
14771 Checks for readyness of input buffer (without flushing it).
14772 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
14773 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
14774
c6dcedf6 147752009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14776
14777 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
14778 size check within GRUB_MACHINE_PCBIOS section.
14779
74c958b1 147802009-09-24 Robert Millan <rmh.grub@aybabtu.com>
14781
14782 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
14783 return value.
14784 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
14785 KEYBOARD_ISREADY check.
14786 (grub_at_keyboard_checkkey): Rename to ...
14787 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
14788 Remove gratuitous cast.
14789
ff420223 147902009-09-23 Colin Watson <cjwatson@ubuntu.com>
14791
14792 * configure.ac: Call AC_PROG_MKDIR_P.
14793 * Makefile.in (docs/stamp-vti): Create docs directory. Create
14794 version.texi in $(builddir) rather than $(srcdir).
14795 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
14796 to makeinfo's @include search path.
14797
d96875df 147982009-09-23 Felix Zielcke <fzielcke@z-51.de>
14799
14800 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
14801
9b3f8365 148022009-09-23 Felix Zielcke <fzielcke@z-51.de>
14803
14804 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
14805 for `*.dpkg-new'.
14806
c44c90db 148072009-09-21 Colin Watson <cjwatson@ubuntu.com>
14808
14809 Build info documentation. Some code borrowed from Automake.
14810
14811 * configure.ac: Check for makeinfo.
14812 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
14813 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
14814 docs/version.texi.
14815 (MOSTLYCLEANFILES): Add vti.tmp.
14816 (docs/version.texi, docs/stamp-vti): Update automatically.
14817 (docs/grub.info): Build info documentation. Use --force and ignore
14818 errors for now.
14819 (all-local): Add $(INFOS).
14820 (install-local): Install info files.
14821 (uninstall): Uninstall info files.
14822 * docs/version.texi: Remove from revision control. This file is
14823 automatically generated on build now.
14824 * gendistlist.sh: Add `*.info'.
14825
e0b37bb5 148262009-09-21 Felix Zielcke <fzielcke@z-51.de>
14827
14828 * kern/term.c: Fix indentation.
14829
5a78865b 148302009-09-21 Felix Zielcke <fzielcke@z-51.de>
14831
14832 * util/hostdisk.c: Fix a comment.
14833
dace7e8a 148342009-09-20 Robert Millan <rmh.grub@aybabtu.com>
14835
14836 Fix regression introduced in r2539.
14837
14838 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
14839 to 0xA1.
14840
a83d079b 148412009-09-19 Colin Watson <cjwatson@ubuntu.com>
14842
14843 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 14844 os-prober. Under normal operation, it does not print anything to
14845 stderr; if it does, we need to debug it, and throwing away stderr
14846 makes that excessively difficult.
a83d079b 14847
be94a509 148482009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
14851
63f745e8 148522009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14853
14854 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
14855 AC_LANG_PROGRAM from autoconf.
14856 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
14857 prototypes (fixes warning).
14858
14859 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
14860 `--disable-werror' was used.
14861
bbb2a70f 148622009-09-16 Robert Millan <rmh.grub@aybabtu.com>
14863
14864 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
14865 uninitialized `lastaddr'.
14866
77c24f1d 148672009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
14868
0f0b8c87 14869 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 14870
07197f23 148712009-09-14 Colin Watson <cjwatson@ubuntu.com>
14872
14873 * commands/test.c (get_fileinfo): Return immediately if
14874 grub_fs_probe fails.
14875
dabf1798 148762009-09-14 José Martínez <xosemp@gmail.com>
14877
14878 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
14879
d52109a7 148802009-09-14 Colin Watson <cjwatson@ubuntu.com>
14881
14882 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
14883 output.
14884
56532179 148852009-09-13 Robert Millan <rmh.grub@aybabtu.com>
14886
14887 * configure.ac: Remove --enable-grub-pe2elf. Only build
14888 grub-pe2elf when needed by the build system itself.
14889 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
14890
8ef070f5 148912009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14892
14893 * configure.ac: Bump version to 1.97~beta3.
14894 * docs/version.texi: Likewise.
14895
61229557 148962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14897
14898 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
14899 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
14900 from here ...
14901 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
14902 (grub_linux_setup_video): ... to here (with some adjustments).
14903
5c9f8d84 149042009-09-12 Robert Millan <rmh.grub@aybabtu.com>
14905
14906 Fix memory corruption issue (spotted by Colin Watson).
14907
14908 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
14909 causing returned size to be stored in an incorrect memory location.
14910 Fix use of uninitialized value when storing the returned size.
14911
e8f5d6e9 149122009-09-12 Yves Blusseau <blusseau@zetam.org>
14913
14914 Change clean rules to properly remove files
14915
14916 * genmk.rb: add new clean rules
14917 * Makefile.in (clean): add the new targets
14918 (mostlyclean): likewise
14919
cda2a409 149202009-09-11 Colin Watson <cjwatson@ubuntu.com>
14921
14922 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
14923 to grub_uint64_t.
14924 * fs/ntfs.c (init_file): Understand 64-bit sizes for
14925 non-resident files.
14926
86695375 149272009-09-11 Colin Watson <cjwatson@ubuntu.com>
14928
14929 * configure.ac: Don't look for help2man when cross-compiling. Fixes
14930 part of bug #27349.
14931
8aa1541a 149322009-09-10 Felix Zielcke <fzielcke@z-51.de>
14933
14934 * util/grub-mkconfig.in: Make the created config mode 400 and
14935 print a warning if it fails.
14936
48d9bb0a 149372009-09-10 Robert Millan <rmh.grub@aybabtu.com>
14938
14939 * util/grub.d/40_custom.in: Ask user to type custom entries below
14940 comment, rather than below 'exec tail' line.
14941
3b0521be 149422009-09-10 Colin Watson <cjwatson@ubuntu.com>
14943
14944 * util/grub.d/40_custom.in: Make sure that the explanatory text is
14945 visible in grub.cfg.
14946
50051d55 149472009-09-10 Colin Watson <cjwatson@ubuntu.com>
14948
14949 * util/grub.d/40_custom.in: Make it a little clearer how to use this
14950 file.
14951
c0d34387 149522009-09-10 Felix Zielcke <fzielcke@z-51.de>
14953
14954 * docs/grub.cfg: Add an example menu entry for memtest86+.
14955
80a608f3 149562009-09-09 Felix Zielcke <fzielcke@z-51.de>
14957
a2094832 14958 * config.guess: Update to latest version from config git.
80a608f3 14959 * config.sub: Likewise.
14960
99423078 149612009-09-08 Colin Watson <cjwatson@ubuntu.com>
14962
14963 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
14964 unknown-command case. Fixes bug #27320.
14965
44454e4c 149662009-09-08 Felix Zielcke <fzielcke@z-51.de>
14967
14968 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
14969 `help' if the command exists.
14970
e30d87ad 149712009-09-06 Robert Millan <rmh.grub@aybabtu.com>
14972
14973 * INSTALL: Require GCC 4.1.3 or later.
14974
9a86f1ec 149752009-09-06 Yves Blusseau <blusseau@zetam.org>
14976
14977 * Makefile.in (RMKFILES): add i386-qemu.rmk
14978 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
14979 $(srcdir)/stamp-h.in
14980
7f26d466 149812009-09-05 Robert Millan <rmh.grub@aybabtu.com>
14982
14983 * util/grub-probe.c (probe): Comment out buggy codepath, which
14984 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
14985 should be re-enabled after 1.97.
14986
3a613259 149872009-09-05 Felix Zielcke <fzielcke@z-51.de>
14988
14989 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
14990 find searches for.
14991
197f76c7 149922009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
14995 unnecessary calls to grub_error.
14996
70ba68ce 149972009-09-04 Colin Watson <cjwatson@ubuntu.com>
14998
14999 * NEWS: Mention `keystatus' and Unicode fonts.
15000
4ff0d7a4 150012009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15002
15003 * configure.ac: Bump version to 1.97~beta2.
15004 * docs/version.texi: Likewise.
15005
77c55a87 150062009-09-03 Colin Watson <cjwatson@ubuntu.com>
15007
15008 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15009 containing unwind information in some cases where it previously did
15010 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15011 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15012 discussion.
15013
f79572cd 150142009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15015
15016 Embedding loadenv module into grub-emu
15017
15018 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15019 commands/loadenv.c
15020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15021 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15022 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15025 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15026
93a81088 150272009-09-03 Magnus Granberg <zorry@ume.nu>
15028
15029 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15030 include -fPIE in the default specs.
15031 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15032 to TARGET_CFLAGS.
15033
160034b2 150342009-09-03 Felix Zielcke <fzielcke@z-51.de>
15035
15036 * INSTALL: Note that GNU Bison 2.3 or later is required.
15037
087c07c4 150382009-09-03 Colin Watson <cjwatson@ubuntu.com>
15039
15040 * kern/i386/pc/startup.S: Fix typo.
15041
cbf978c0 150422009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15043
15044 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15045 according to GCS.
15046
150472009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 15048
15049 * docs/grub.texi (Naming convention): Describe one-based partition
15050 numbering.
15051 (Device syntax): Likewise.
15052 (File name syntax): Likewise.
15053 (Block list syntax): Likewise.
15054 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15055 menu.lst.
15056 (File name syntax): Likewise.
15057 (Command-line and menu entry commands): Document acpi, blocklist,
15058 crc, export, insmod, keystatus, ls, set, and unset commands.
15059
f3e8cdfd 150602009-09-02 Colin Watson <cjwatson@ubuntu.com>
15061
15062 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15063 to avoid implying that only one of --shift, --ctrl, or --alt may be
15064 used.
15065
c0bc232b 150662009-09-02 Colin Watson <cjwatson@ubuntu.com>
15067
15068 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15069 rather than comparing against S_IFREG, which will almost never work.
15070
aa0f752d 150712009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15074 (write_blocklists): Likewise.
15075
ecb3166a 150762009-09-01 Colin Watson <cjwatson@ubuntu.com>
15077
15078 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15079 argument to grub_printf.
15080
c403a125 150812009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 15082
15083 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 15084 non GNU test.
31aba781 15085
b5e7312c 150862009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 * kern/file.c (grub_file_read): Spelling fix
15089
fe00f472 150902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15091
15092 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15093 loading of headers in some cases.
15094
cc55302e 150952009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15096
15097 * configure.ac: Bump version to 1.97~beta1.
15098 * docs/version.texi: Likewise.
15099
5c90cdd2 151002009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 15101
15102 * include/grub/i386/xnu.h: Add license header.
15103 include grub/err.h explicitly.
15104
c90edae4 151052009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15106
15107 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15108 to `ufs' in the vfs.root.mountfrom kernel parameter.
15109
d8888b5c 151102009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15111
15112 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15113
15114 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15115 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15116
15117 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15118 `ARRAY_SIZE' macro.
15119
6f07b921 151202009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 * kern/file.c (grub_file_read): Check offset.
15123 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15124 * fs/jfs.c (grub_jfs_read_file): Likewise.
15125 * fs/ntfs.c (grub_ntfs_read): Likewise.
15126 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15127 * fs/minix.c (grub_minix_read_file): Correct offset check.
15128 * fs/ufs.c (grub_ufs_read_file): Likewise.
15129
b4f34077 151302009-08-28 Colin Watson <cjwatson@ubuntu.com>
15131
15132 * term/i386/pc/console.c (bios_data_area): Cast
15133 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15134
e7c69859 151352009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 1-bit optimised blitters.
15138
15139 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15140 prototype.
15141 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15142 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15143 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15144 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15145 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15146 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15147 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15148 function.
15149 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15150 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15151 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15152 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15153 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15154 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15155 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15156 when possible.
15157 * video/video.c (grub_video_get_blit_format): Return
15158 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15159
a57da43f 151602009-08-28 Colin Watson <cjwatson@ubuntu.com>
15161
15162 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15163 the first argument to grub_printf.
15164
4cbe67e5 151652009-08-28 Colin Watson <cjwatson@ubuntu.com>
151662009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15167
15168 Add `getkeystatus' terminal method. Add a new `keystatus' command
15169 to query it.
15170
15171 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15172 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15173 modifier key bitmasks.
15174 (struct grub_term_input): Add `getkeystatus' member.
15175 (grub_getkeystatus): Add prototype.
15176 * kern/term.c (grub_getkeystatus): New function.
15177
15178 * include/grub/i386/pc/memory.h
15179 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15180 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15181 Data Area layout.
15182 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15183 (grub_console_term_input): Set `getkeystatus' member.
15184 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15185 constants.
15186 (grub_usb_keyboard_getreport): Likewise.
15187 (grub_usb_keyboard_checkkey): Likewise.
15188 (grub_usb_keyboard_getkeystatus): New function.
15189 (grub_usb_keyboard_term): Set `getkeystatus' member.
15190
15191 * commands/keystatus.c: New file.
15192 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15193 (keystatus_mod_SOURCES): New variable.
15194 (keystatus_mod_CFLAGS): Likewise.
15195 (keystatus_mod_LDFLAGS): Likewise.
15196 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15197 commands/keystatus.c.
15198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15200 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15202 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 15204
6e2a9085 152052009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15206
15207 Split befs.mod and afs.mod into *_be.mod and *.mod
15208
15209 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15210 (grub_fstest_SOURCES): Likewise.
15211 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15212 (afs_be_mod_SOURCES): New variable.
15213 (afs_be_mod_CFLAGS): Likewise.
15214 (afs_be_mod_LDFLAGS): Likewise.
15215 (befs_be_mod_SOURCES): Likewise.
15216 (befs_be_mod_CFLAGS): Likewise.
15217 (befs_be_mod_LDFLAGS): Likewise.
15218 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15219 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15221 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15222 (grub_emu_SOURCES): Likewise.
15223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15226 * fs/afs_be.c: New file.
15227 * fs/befs_be.c: New file.
15228 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15229 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15230 (U16): Replaced with ...
15231 (grub_afs_to_cpu16): ...this. All users updated.
15232 (U32): Replaced with ...
15233 (grub_afs_to_cpu32): ...this. All users updated.
15234 (U64): Replaced with ...
15235 (grub_afs_to_cpu64): ...this. All users updated.
15236 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15237 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 15238 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 15239 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15240 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15241 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15242 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15243 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15244 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15245 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15246 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15247
32a71655 152482009-08-26 Bean <bean123ch@gmail.com>
15249
15250 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15251 64-bit number.
15252 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15253 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15254 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15255
552bf6c5 152562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 NetBSD memory map support.
15259
15260 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15261 (grub_netbsd_btinfo_mmap_header): New structure.
15262 (grub_netbsd_btinfo_mmap_entry): Likewise.
15263 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15264
1ae2078c 152652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 Enable bsd.mod on coreboot.
15268
15269 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15270 (bsd_mod_SOURCES): New variable.
15271 (bsd_mod_CFLAGS): Likewise.
15272 (bsd_mod_LDFLAGS): Likewise.
15273 (bsd_mod_ASFLAGS): Likewise.
15274 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15275 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15276
beefc598 152772009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 Cleanup NetBSD root support.
15280
15281 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15282 grub_bsd_get_device.
15283 Fix typo.
15284
3b76e68b 152852009-08-25 Felix Zielcke <fzielcke@z-51.de>
15286
15287 * util/grub.d/00_header.in: Move check for the video backend of
15288 gfxterm from here ...
15289 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15290 a suitable video backend.
15291
aea664ea 152922009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15293
15294 Fix breakage in grub-setup.
15295
15296 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15297 "msdos_partition_map".
15298
ff747d50 152992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 Fix breakage in normal/auth.c.
15302
15303 * normal/auth.c (grub_iswordseparator): New function.
15304
e7e1f93f 153052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15306
15307 Authentication support.
15308
15309 * commands/password.c: New file.
15310 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15311 (password_mod_SOURCES): New variable.
15312 (password_mod_CFLAGS): Likewise.
15313 (password_mod_LDFLAGS): Likewise.
15314 (normal_mod_SOURCES): Add normal/auth.c.
15315 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15316 normal/auth.c.
15317 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15318 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15319 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15321 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15322 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15323 * include/grub/auth.h: New file.
15324 * include/grub/err.h (grub_err_t): New enum value
15325 GRUB_ERR_ACCESS_DENIED.
15326 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15327 'users'.
15328 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15329 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15330 users updated.
15331 * normal/auth.c: New file.
15332 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15333 (grub_cmdline_run): Don't allow to go to command line without
15334 authentication.
15335 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15336 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15337 menuentry without superuser rights.
15338 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15339 user isn't a superuser.
15340
70f1161d 153412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15342
15343 Save space by inlining misc.c functions.
15344
15345 * kern/misc.c (grub_iswordseparator): Made static.
15346 * kern/misc.c (grub_strcat): Moved from here ...
15347 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15348 * kern/misc.c (grub_strncat): Moved from here ...
15349 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15350 * kern/misc.c (grub_strcasecmp): Moved from here ...
15351 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15352 * kern/misc.c (grub_strncasecmp): Moved from here ...
15353 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15354 * kern/misc.c (grub_isalpha): Moved from here ...
15355 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15356 * kern/misc.c (grub_isdigit): Moved from here ...
15357 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15358 * kern/misc.c (grub_isgraph): Moved from here ...
15359 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15360 * kern/misc.c (grub_tolower): Moved from here ...
15361 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15362
48e40bff 153632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * script/sh/function.c (grub_script_function_find): Cut error message
15366 not to flood terminal.
15367 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15368 limit.
15369 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15370
c385bfc3 153712009-08-24 Colin Watson <cjwatson@ubuntu.com>
15372
15373 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15374 `report' grub_uint8_t *.
15375 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15376 Use a 50-millisecond timeout rather than just repeating
15377 grub_usb_keyboard_getreport 50 times.
15378 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15379
2d21e3e8 153802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 Rename *_partition_map to part_*
15383
15384 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15385 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15386 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15387 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15388 All users updated.
15389 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15390 All users updated.
15391 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15392 * util/grub-probe.c (probe_partmap): Don't transform partition name
15393 to get module name.
15394
dd103c4e 153952009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 Fix OpenBSD and NetBSD support.
15398
15399 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15400 memory address conflict.
15401 (OPENBSD_MMAP_ACPI): New definition.
15402 (OPENBSD_MMAP_NVS): Likewise.
15403 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15404 and OPENBSD_MMAP_NVS.
15405 Add memory map terminator
15406 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 15407 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 15408
16c84d74 154092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 Let user specify NetBSD root device.
15412
15413 * loader/i386/bsd.c (netbsd_root): New variable.
15414 (netbsd_opts): New option 'root'.
15415 (NETBSD_ROOT_ARG): New macro.
15416 (grub_netbsd_boot): Use 'netbsd_root'.
15417 (grub_bsd_unload): Free 'netbsd_root'.
15418 (grub_cmd_netbsd): Fill 'netbsd_root'.
15419
adb29902 154202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 Support for 64-bit NetBSD.
15423
15424 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15425 point when booting non-FreeBSD.
15426
f5ae9f74 154272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 Support --no-smp and --no-acpi for NetBSD.
15430
15431 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15432 (NETBSD_AB_NOACPI): Likewise.
15433 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15434 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15435
de74f136 154362009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15439 errors.
15440 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15441 errors. Call grub_error when needed.
15442
e9a925da 154432009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * commands/search.c (search_fs): Try searching without autoload first.
15446 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15447 filesystem module explicitly for faster booting.
15448
5174302b 154492009-08-23 Colin Watson <cjwatson@ubuntu.com>
15450
15451 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15452
c8c80635 154532009-08-23 Colin Watson <cjwatson@ubuntu.com>
15454
15455 * util/grub.d/30_os-prober.in: Disable os-prober if
15456 `GRUB_DISABLE_OS_PROBER' was set to true.
15457
71acf5e5 154582009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15459
15460 * partmap/pc.c: Rename to ...
15461 * partmap/msdos.c: ... this. Update all users.
15462 (grub_pc_partition_map): Rename to ...
15463 (grub_msdos_partition_map): ... this. Update all users.
15464
15465 * parttool/pcpart.c: Rename to ...
15466 * parttool/msdospart.c: ... this. Update all users.
15467
15468 * include/grub/pc_partition.h: Rename to ...
15469 * include/grub/msdos_partition.h: ... this. Update all users.
15470 (grub_pc_partition_bsd_entry): Rename to ...
15471 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15472 (grub_pc_partition_disk_label): Rename to ...
15473 (grub_msdos_partition_disk_label): ... this. Update all users.
15474 (grub_pc_partition_entry): Rename to ...
15475 (grub_msdos_partition_entry): ... this. Update all users.
15476 (grub_pc_partition_mbr): Rename to ...
15477 (grub_msdos_partition_mbr): ... this. Update all users.
15478 (grub_pc_partition): Rename to ...
15479 (grub_msdos_partition): ... this. Update all users.
15480 (grub_pc_partition_is_empty): Rename to ...
15481 (grub_msdos_partition_is_empty): ... this. Update all users.
15482 (grub_pc_partition_is_extended): Rename to ...
15483 (grub_msdos_partition_is_extended): ... this. Update all users.
15484 (grub_pc_partition_is_bsd): Rename to ...
15485 (grub_msdos_partition_is_bsd): ... this. Update all users.
15486
15487 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15488 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15489 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15490 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15491 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15492 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15493 (gpt_mod_LDFLAGS): Rename to ...
15494 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15495 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15496 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15497 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15498 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15499 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15500 (part_gpt_mod_LDFLAGS): ... this.
15501 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15502 `pcpart.mod' to `msdospart.mod'.
15503 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15504 to ...
15505 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15506 (msdospart_mod_LDFLAGS): ... this.
15507
c11fded5 155082009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15511 (openbsd_opts): Likewise.
15512 (netbsd_opts): Likewise.
15513 (freebsd_flags): Added 0 terminator.
15514 (openbsd_flags): Likewise.
15515 (netbsd_flags): Likewise.
15516 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15517 (grub_cmd_freebsd): Transformed into extended command.
15518 (grub_cmd_openbsd): Likewise.
15519 (grub_cmd_netbsd): Likewise.
15520 (cmd_freebsd): Changed type to grub_extcmd_t.
15521 (cmd_openbsd): Likewise.
15522 (cmd_netbsd): Likewise.
15523 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15524 grub_cmd_openbsd as extended commands.
15525 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15526 cmd_netbsd and cmd_openbsd
15527
11d1c769 155282009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15531
7a9094e5 155322009-08-21 Pavel Roskin <proski@gnu.org>
15533
5496c37e 15534 * Makefile.in (install-local): When checking if a file is in the
15535 build directory, use "test -e" to detect symlinks.
15536
7a9094e5 15537 * Makefile.in (install-local): Remove all files in
15538 $(DESTDIR)$(pkglibdir) before installing new files there.
15539
e53cea11 155402009-08-18 Felix Zielcke <fzielcke@z-51.de>
15541
15542 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15543 grub-mkelfimage.
15544
9aced544 155452009-08-18 Felix Zielcke <fzielcke@z-51.de>
15546
15547 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15548 explicitly specified by the user.
15549
b7da6bab 155502009-08-18 Pavel Roskin <proski@gnu.org>
15551
15552 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
15553 grub_uint8_t pointer for data.
15554 * include/grub/fbutil.h (struct grub_video_fbblit_info):
15555 Likewise.
15556 * video/fb/fbutil.c: Remove unnecessary casts.
15557
19f1b335 155582009-08-17 Michal Suchanek <hramrach@centrum.cz>
15559
15560 VBE cleanup.
15561
15562 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
15563 (grub_vbe_set_video_mode): Save active mode info
15564 only after setting the mode.
15565 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
15566 second argument.
15567
2f467aa9 155682009-08-17 Michal Suchanek <hramrach@centrum.cz>
15569
15570 Rename variables for clarity.
15571
15572 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
15573 (active_vbe_mode_info): ... this. All users updated.
15574 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
15575 All users updated.
15576 (initial_mode): Rename to ...
15577 (initial_vbe_mode): ... this. All users updated.
15578 (mode_in_use): Rename to ..
15579 (vbe_mode_in_use): ... this. All users updated.
15580 (mode_list): Rename to ..
15581 (vbe_mode_list): ... this. All users updated.
15582 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
15583 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
15584 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
15585 'mode_list_size' to 'vbe_mode_list_size'.
15586 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
15587 'best_mode_info' to 'best_vbe_mode_info' and
15588 'best_mode' to 'best_vbe_mode'
15589
6025fcd7 155902009-08-17 Michal Suchanek <hramrach@centrum.cz>
15591
15592 Remove duplicate grub_video_fb_get_video_ptr.
15593
15594 * include/grub/fbutil.h (get_data_ptr): Rename to ...
15595 (grub_video_fb_get_video_ptr): ... this.
15596 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
15597 * video/fb/fbutil.c: Add comment about addressing.
15598 (get_data_ptr): Rename to ...
15599 (grub_video_fb_get_video_ptr): ... this. All users updated.
15600 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
15601
cc8c6faf 156022009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15603
15604 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
15605 grub_dprintf() that was just added.
15606
08aa61f0 156072009-08-17 Robert Millan <rmh.grub@aybabtu.com>
15608
15609 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
15610 (DEFAULT_VIDEO_MODE): Remove macros.
15611 (grub_linux_boot): Remove assumption that Linux has FB support,
15612 and use "text" as default video mode.
15613
7cef4f75 156142009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
15615
15616 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
15617 grub_dprintf.
15618 * fs/fat.c (grub_fat_read_data): Likewise.
15619
e1f39873 156202009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
15623 payload.
15624 (grub_module): Likewise.
15625
c166d79e 156262009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15627
15628 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
15629 mbi->cmdline but free playground.
15630
c60cee8e 156312009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 Handle group offset on UFS1.
15634
15635 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
15636 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
15637
c0d8b5d4 156382009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 Split ufs.mod into ufs1.mod and ufs2.mod.
15641
15642 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
15643 (grub_fstest_SOURCES): Likewise.
15644 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
15645 (ufs_mod_SOURCES): Remove.
15646 (ufs_mod_CFLAGS): Likewise.
15647 (ufs_mod_LDFLAGS): Likewise.
15648 (ufs1_mod_SOURCES): New variable.
15649 (ufs1_mod_CFLAGS): Likewise.
15650 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 15651 (ufs2_mod_SOURCES): New variable.
15652 (ufs2_mod_CFLAGS): Likewise.
15653 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 15654 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
15655 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15656 Likewise.
15657 (grub_emu_SOURCES): Likewise.
15658 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15659 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15660 (grub_setup_SOURCES): Likewise.
15661 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15662 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
15663 (grub_setup_SOURCES): Likewise.
15664 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
15665 Likewise.
15666 * fs/ufs2.c: New file.
15667 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
15668
d3539132 156692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 Framebuffer split.
15672
15673 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
15674 subsystem at the end.
15675 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
15676 (video_fb_mod_SOURCES): New variable.
15677 (video_fb_mod_CFLAGS): Likewise.
15678 (video_fb_mod_LDFLAGS): Likewise.
15679 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
15680 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
15681 * video/i386/pc/vbeblit.c: Moved from here ...
15682 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
15683 * video/i386/pc/vbefill.c: Moved from here ...
15684 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
15685 * video/i386/pc/vbeutil.c: Moved from here ...
15686 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
15687 * include/grub/i386/pc/vbeblit.h: Moved from here ...
15688 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
15689 * include/grub/i386/pc/vbefill.h: Moved from here ...
15690 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
15691 * include/grub/i386/pc/vbeutil.h: Moved from here ...
15692 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
15693 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
15694 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
15695 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
15696 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
15697 (grub_video_adapter): Added 'get_info_and_fini'.
15698 (grub_video_get_info_and_fini): New prototype.
15699 (grub_video_set_mode): make modestring const char *.
15700 * loader/i386/linux.c (grub_linux_setup_video): Use
15701 grub_video_get_info_and_fini.
15702 (grub_linux_boot): Move modesetting just before booting.
15703 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
15704 grub_video_get_info_and_fini.
15705 * video/i386/pc/vbe.c: Moved framebuffer part ...
15706 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
15707 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
15708 grub_video_fbstd_colors and grub_video_fb_set_palette.
15709 (grub_video_vbe_init): Clear 'framebuffer' variable and use
15710 grub_video_fb_init.
15711 (grub_video_vbe_fini): Use grub_video_fb_fini.
15712 (grub_video_vbe_setup): Use framebuffer.render_target instead of
15713 render_target and use grub_video_fb_set_active_render_target and
15714 grub_video_fb_set_palette.
15715 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
15716 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
15717 (grub_video_vbe_adapter): Use framebuffer.
15718 * video/video.c (grub_video_get_info_and_fini): New function.
15719 (grub_video_set_mode): Make modestring const char *.
15720 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
15721 values are already initialised.
15722
d404ee56 157232009-08-14 Pavel Roskin <proski@gnu.org>
15724
15725 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
15726 ABS and APPLE_CC.
15727 * boot/i386/pc/diskboot.S: Likewise.
15728 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
15729 sectors allow compilation on MacOSX.
15730 * conf/i386-pc.rmk: Enable unconditional compilation of
15731 lnxboot.img.
15732
9a10df16 157332009-08-13 Colin Watson <cjwatson@ubuntu.com>
15734
15735 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
15736 * util/grub.d/00_header.in: Enter interruptible sleep if
15737 GRUB_HIDDEN_TIMEOUT is set.
15738
be3c9ca7 157392009-08-13 Yves Blusseau <blusseau@zetam.org>
15740
15741 * include/grub/symbol.h: Add the LOCAL macro.
15742 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
15743 starting with "L_".
15744
1f9e557e 157452009-08-13 Pavel Roskin <proski@gnu.org>
15746
9ca62843 15747 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
15748 any modern compilers we support.
15749
1f9e557e 15750 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
15751 Use local labels starting with "L_" so that Apple assembler
15752 knows they are local.
15753
81623db6 157542009-08-10 Robert Millan <rmh.grub@aybabtu.com>
15755
15756 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
15757 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
15758 (bsd_kernel_types): ... this enum.
15759
15760 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
15761 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
15762 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
15763
15764 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
15765 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
15766 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
15767 messages.
15768
f5d35e7a 157692009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15770
15771 * util/grub-dumpdevtree: Moved from here ...
15772 * util/i386/efi/grub-dumpdevtree: ... to here.
15773 (hexify): New function. Converts a string to its hex version.
15774 Generate hex versions of "efi" and "device-properties" by calling
15775 hexify() on the ASCII strings rather than by hardcoding numbers.
15776
d1e1d527 157772009-08-08 Robert Millan <rmh.grub@aybabtu.com>
15778
15779 * fs/jfs.c: Update copyright year.
15780
1ebbe064 157812009-08-08 Felix Zielcke <fzielcke@z-51.de>
15782
15783 * util/grub.d/00_header.in: Fix a comment.
15784 * util/grub.d/10_linux.in: Likewise.
15785 * util/grub.d/10_windows.in: Likewise.
15786 * util/grub.d/10_hurd.in: Likewise.
15787
a78c8d24 157882009-08-08 Felix Zielcke <fzielcke@z-51.de>
15789
15790 * util/grub-mkconfig.in: Allow the user to specify the used font
15791 with GRUB_FONT.
15792
29a6b9e8 157932009-08-08 Pavel Roskin <proski@gnu.org>
15794
b5f16cc4 15795 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
15796 available, xfs.mod needs it now.
15797
2f5cb827 15798 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
15799 the "g" modifier in sed when the intention is to strip something
15800 once. This fixes comparison of kernels with multiple dashes.
15801
29a6b9e8 15802 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
15803 on it. Add missing space before closing bracket. Fix
15804 misleading formatting.
15805
892a3d98 158062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15807
15808 * docs/grub.texi: Major overhaul. Remove all sections that are
15809 specific to GRUB Legacy, or mostly composed of Legacy-specific
15810 information.
15811
ed94253f 158122009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15813
15814 * docs/version.texi: New file. Provides version information for
15815 grub.texi.
15816
126d6628 158172009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15818
15819 * docs/grub.texi: Update CVS information to SVN.
15820 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
15821
998b5aa9 158222009-08-07 Felix Zielcke <fzielcke@z-51.de>
15823
15824 * util/grub-mkconfig.in: Remove a wrong `fi'.
15825
818e094a 158262009-08-07 Felix Zielcke <fzielcke@z-51.de>
15827
15828 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
15829 (grub_jfs_uuid): New function.
15830 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
15831
b969c52f 158322009-08-07 Felix Zielcke <fzielcke@z-51.de>
15833
15834 * util/grub-mkconfig_lib.in (font_path): Move the functionality
15835 of it to ...
15836 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
15837 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
15838
7a4894cc 158392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15840
15841 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
15842 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
15843 Update all users.
15844
15845 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
15846 not just "vmlinu[zx]".
15847 Moved from here ...
15848 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
15849 all users.
15850
15851 * util/grub.d/10_linux.in (find_latest): Moved from here ...
15852 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
15853 all users.
15854
4e2171f8 158552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
15856
15857 * util/grub.d/10_freebsd.in: Use an absolute device path for
15858 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
15859
6dcfcb32 158602009-08-06 Felix Zielcke <fzielcke@z-51.de>
15861
15862 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
15863 handling of multiple abstraction modules.
15864
f56a8756 158652009-08-04 Robert Millan <rmh.grub@aybabtu.com>
15866
15867 Fix a bug resulting in black screen when loading Linux using a
15868 packed video mode.
15869
15870 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
15871 function.
15872
15873 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
15874 (grub_vbe_bios_getset_dac_palette_width): New function.
15875 (grub_vbe_bios_get_dac_palette_width)
15876 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
15877 grub_vbe_bios_getset_dac_palette_width()).
15878
15879 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
15880 check for return status.
15881 (grub_vbe_get_video_mode_info): When getting information for a packed
15882 mode (<= 8 bpp), obtain DAC palette width using
15883 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
15884 {red,green,blue}_mark_size.
15885
222671b2 158862009-08-04 Felix Zielcke <fzielcke@z-51.de>
15887
ecb1a6d9 15888 * commands/search.c (options): Fix help output to match actual code.
222671b2 15889
f84114f5 158902009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
15891
15892 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
15893 of homegrown code.
15894
bd288a20 158952009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 15896
15897 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
15898 on XFS or ReiserFS.
15899
8aab5e25 159002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 Support Apple partition map with sector size different from 512 bytes.
15903
15904 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
15905 (apple_partition_map_iterate): Respect 'aheader.blocksize'
15906 and 'apart.partmap_size'.
15907
6ad6258a 159082009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
159092009-08-01 Robert Millan <rmh.grub@aybabtu.com>
15910
15911 Fix cpuid command.
15912
15913 * commands/i386/cpuid.c (options): New variable.
15914 (grub_cmd_cpuid): Return real error.
15915 (GRUB_MOD_INIT(cpuid)): Declare options.
15916
67459bc6 159172009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
15918
15919 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
15920 valid.
15921
fbc6ab54 159222009-07-31 Bean <bean123ch@gmail.com>
15923
15924 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
15925 log2_inode.
15926 (grub_fshelp_node): Move inode field to the end.
15927 (grub_xfs_data): Remove inode field.
15928 (grub_xfs_inode_block): Calculate inode size using sblock.
15929 (grub_xfs_inode_offset): Likewise.
15930 (grub_xfs_read_inode): Calculate inode size using sblock.
15931 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
15932 (grub_xfs_iterate_dir): Calculate inode size using sblock.
15933 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
15934 to match inode size.
15935 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
15936 not accessible when data is null.
15937 (grub_xfs_open): Likewise.
15938
f45d6cfc 159392009-07-31 Bean <bean123ch@gmail.com>
15940
15941 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
15942 Don't change pv->disk if it's already set.
15943
15944 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
15945 (grub_raid_register): ... here.
15946 (grub_raid_rescan): Removed.
15947
15948 * include/grub/raid.h (grub_raid_rescan): Removed.
15949
15950 * util/grub-fstest.c: Remove include file <grub/raid.h>.
15951 (fstest): Replace grub_raid_rescan with module fini function followed
15952 by init function.
15953
15954 * util/grub-probe.c: Add include file <grub/raid.h>.
15955 (probe_raid_level): New function.
15956 (probe): Detect abstraction by walking the disk device, support two
15957 level of abstraction (LVM on RAID) when detecting partition map.
15958
24443b5a 159592009-07-31 Pavel Roskin <proski@gnu.org>
15960
15961 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
15962 to grub_zalloc(), it was erroneous.
15963 Reported by Bean <bean123ch@gmail.com>
15964
a275d9e7 159652009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
15966
15967 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 15968 embedding zone, not only the first one.
a275d9e7 15969
56c5a47f 159702009-07-29 Joe Auricchio <jauricchio@gmail.com>
15971
15972 * term/gfxterm.c (clear_char): New function.
15973 (grub_virtual_screen_setup): Use clear_char.
15974 (scroll_up): Likewise.
15975 (grub_virtual_screen_cls): Likewise.
15976
67bb323a 159772009-07-29 Felix Zielcke <fzielcke@z-51.de>
15978
15979 * util/deviceiter.c (get_acceleraid_disk_name): New static
15980 function.
15981 (grub_util_iterate_devices): Handle Accelraid devices.
15982 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
15983
388a7c75 159842009-07-28 Robert Millan <rmh.grub@aybabtu.com>
15985
15986 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
15987 separator for the suggested gfxpayload string (';' collides with the
15988 parser and needs escaping).
15989
3bb7abcf 159902009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
15993 Clear direction flag before jumping to OS.
15994 (grub_multiboot2_real_boot): Likewise.
15995
2ddd36d7 159962009-07-28 Felix Zielcke <fzielcke@z-51.de>
15997
15998 * util/i386/pc/grub-install: Fix parsing of --disk-module
15999 option.
16000
c521b62b 160012009-07-28 Felix Zielcke <fzielcke@z-51.de>
16002
16003 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16004 when embedding.
16005
880e0a0c 160062009-07-26 Felix Zielcke <fzielcke@z-51.de>
16007
16008 * util/grub-mkconfig.in (package_version): New variable.
16009 Use it do display the version.
16010
2366e356 160112009-07-25 Felix Zielcke <fzielcke@z-51.de>
16012
16013 * kern/file.c (grub_file_open): Revert to previous check with
16014 grub_errno.
16015
7ad8c80e 160162009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16019 from help line. It's out of sync with code.
16020
72b9658b 160212009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16022
16023 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16024 entries on failed boot.
16025
77435277 160262009-07-25 Felix Zielcke <fzielcke@z-51.de>
16027
16028 * kern/file.c (grub_file_open): Fix an error check.
16029
fcaa8b21 160302009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16031
35d16c74 16032 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16033 partition map couldn't be identified.
fcaa8b21 16034
48904cd1 160352009-07-23 Pavel Roskin <proski@gnu.org>
16036
ef3c317f 16037 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16038 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16039 case of little endian words becomes just an optimization.
16040 Respect const modifier.
ad8ea1f4 16041 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 16042
48904cd1 16043 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16044 to avoid loss of upper bits if align is unsigned and shorter
16045 than addr.
16046
260c9a89 160472009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 UUID support for UFS
16050
16051 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16052 (grub_ufs_uuid): New function.
16053 (grub_ufs_fs): add .uuid
16054
f76ce889 160552009-07-21 Pavel Roskin <proski@gnu.org>
16056
16057 * kern/dl.c (grub_dl_check_header): Make static.
16058
6a6cbcaf 160592009-07-21 Felix Zielcke <fzielcke@z-51.de>
16060
16061 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16062 add drivemap for Vista. It breaks Windows 7.
16063
cffcddb2 160642009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16067 128 bytes
16068
1ef44b80 160692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 Add BFS support
16072
16073 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16074 (grub_fstest_SOURCES): Likewise.
16075 (pkglib_MODULES): Add befs.mod.
16076 (befs_mod_SOURCES): New variable.
16077 (befs_mod_CFLAGS): Likewise.
16078 (befs_mod_LDFLAGS): Likewise.
16079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16080 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16081 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16082 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16083 (grub_setup_SOURCES): Likewise.
16084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16085 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16086 (grub_setup_SOURCES): Likewise.
16087 * fs/befs.c: New file.
16088 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16089 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16090 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16091 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16092 (B_KEY_INDEX_ALIGN): New declaration.
16093 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16094 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16095 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16096 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16097 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16098 (grub_afs_mount) [MODE_BFS]: Likewise.
16099 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16100 (grub_afs_fs): Use GRUB_AFS_FSNAME
16101 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16102 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16103 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16104 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16105
4f253044 161062009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16107
16108 * util/getroot.c (find_root_device): Add support for MacOSX.
16109 * util/hostdisk.c: Likewise.
16110
57a55913 161112009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 * font/font.c (find_glyph): Check whether a font is present to avoid
16114 segmentation fault.
75421ca9 16115
161162009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 16117
16118 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16119
e98cd0c2 161202009-07-20 Pavel Roskin <proski@gnu.org>
16121
16122 * configure.ac: Trim excessively wordy excuses.
16123
1d2d169a 161242009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 Add symlink, mtime and label support to AtheFS.
16127
16128 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16129 (grub_afs_iterate_dir): Handle symlinks.
16130 (grub_afs_open): Use grub_afs_read_symlink.
16131 (grub_afs_dir): Likewise.
16132 Pass mtime.
16133 (grub_afs_label): New function.
16134 (grub_afs_fs): Add grub_afs_label.
16135 (grub_afs_read_symlink): New function.
16136
186f3189 161372009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16138
16139 Fix AtheFS support.
16140
16141 * fs/afs.c: Fix comments style.
16142 (grub_afs_blockrun): Declare as packed.
16143 (grub_afs_datastream): Likewise.
16144 (grub_afs_bnode): Likewise.
16145 (grub_afs_btree): Likewise.
16146 (grub_afs_sblock): Likewise.
16147 Declare `name' as char.
16148 (grub_afs_inode): Declare as packed.
16149 Change void *vnode to grub_uint32_t unused.
16150 (grub_afs_iterate_dir): Check that key_size is positive.
16151 (grub_afs_mount): Don't read superblock twice.
75421ca9 16152 (grub_afs_dir): Don't free node in case of error,
186f3189 16153 grub_fshelp_find_file already handles this.
16154 (grub_afs_open): Likewise.
16155
5680109e 161562009-07-19 Pavel Roskin <proski@gnu.org>
16157
16158 * Makefile.in: Remove LIBLZO and enable_lzo.
16159 * conf/i386-pc.rmk: Remove lzo support.
16160 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16161 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16162 support.
16163 * kern/i386/pc/lzo1x.S: Remove.
16164 * kern/i386/pc/startup.S: Remove lzo support.
16165 * util/i386/pc/grub-mkimage.c: Likewise.
16166
ac70fa32 161672009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16170 * fs/xfs.c (grub_xfs_dir): Likewise.
16171 * fs/afs.c (grub_afs_dir): Likewise.
16172 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16173 (grub_iso9660_open): Likewise.
16174 * fs/jfs.c (grub_jfs_open): Likewise.
16175 * fs/ext2.c (grub_ext2_dir): Likewise.
16176 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16177 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 16178
eab58da2 161792009-07-16 Pavel Roskin <proski@gnu.org>
16180
d2838156 16181 * configure.ac: Never add "-c" to CFLAGS.
16182
55c70904 16183 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16184
43e6200c 16185 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16186 grub_cv_cc_efiemu should be used.
16187
ce7a733d 16188 * configure.ac: Typo fixes.
16189
eab58da2 16190 * kern/mm.c (grub_zalloc): New function.
16191 (grub_debug_zalloc): Likewise.
16192 * include/grub/mm.h: Declare grub_zalloc() and
16193 grub_debug_zalloc().
16194 * util/misc.c (grub_zalloc): New function.
16195 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16196 instead of grub_malloc(), remove unneeded initializations.
16197 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16198 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16199 * commands/parttool.c (grub_cmd_parttool): Likewise.
16200 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16201 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16202 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16203 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16204 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16205 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16206 (grub_cmd_efiemu_pnvram): Likewise.
16207 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16208 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16209 (grub_iso9660_iterate_dir): Likewise.
16210 * fs/jfs.c (grub_jfs_opendir): Likewise.
16211 * fs/ntfs.c (list_file): Likewise.
16212 (grub_ntfs_mount): Likewise.
16213 * kern/disk.c (grub_disk_open): Likewise.
16214 * kern/dl.c (grub_dl_load_core): Likewise.
16215 * kern/elf.c (grub_elf_file): Likewise.
16216 * kern/env.c (grub_env_context_open): Likewise.
16217 (grub_env_set): Likewise.
16218 (grub_env_set_data_slot): Likewise.
16219 * kern/file.c (grub_file_open): Likewise.
16220 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16221 * loader/i386/multiboot.c (grub_module): Likewise.
16222 * loader/xnu.c (grub_xnu_create_key): Likewise.
16223 (grub_xnu_create_value): Likewise.
16224 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16225 (read_config_file): Likewise.
16226 * normal/menu_entry.c (make_screen): Likewise.
16227 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16228 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16229 * script/sh/script.c (grub_script_parse): Likewise.
16230 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16231 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16232 * video/readers/png.c (grub_png_output_byte): Likewise.
16233 (grub_video_reader_png): Likewise.
16234
830afef7 162352009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 16236
16237 Enable all targets that can be built by default
16238
830afef7 16239 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 16240 grub-mkfont and grub-fstest if they can be built
16241
ee293aee 162422009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 Fix hang and segmentation fault in grub-emu-usb
16245
16246 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16247 * util/usb.c (grub_libusb_devices): likewise
16248 (grub_libusb_init): rename to ...
16249 (GRUB_MOD_INIT (libusb)):...this
16250 (grub_libusb_fini): rename to ..
16251 (GRUB_MOD_FINI (libusb)):...this
16252 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16253 * include/grub/disk.h (grub_raid_init): removed, it's useless
16254 (grub_raid_fini): likewise
16255 (grub_lvm_init): likewise
16256 (grub_lvm_fini): likewise
16257 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16258 by grub_init_all
16259
94414221 162602009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 Fix libusb
16263
16264 * Makefile.in (LIBUSB): new macro
16265 * genmk.rb (Utility/print_tail): new method
16266 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16267 (top level): call util.print_tail at the end.
16268
59ade63d 162692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Make FreeBSD accept zpool.cache
16272
16273 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16274 type is /boot/zfs/zpool.cache
16275
a58da8c7 162762009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16277
16278 Fix 64-bit efiemu
16279
16280 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16281 correct wrong typedef
16282 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16283
20591577 162842009-07-15 Pavel Roskin <proski@gnu.org>
16285
560ca572 16286 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16287 * kern/disk.c (struct grub_disk_cache): Likewise.
16288
e8e8e4fd 16289 * commands/probe.c (options): Typo fix.
16290
fde24e10 16291 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16292 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16293 accordingly.
16294 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16295
379c54c1 16296 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16297 the end of "Error" to make the message more readable.
16298
7bd8f5bf 16299 * boot/i386/pc/boot.S (kernel_segment): Remove.
16300 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16301 for destination.
16302
40b132c5 16303 * boot/i386/pc/boot.S (boot_version): Remove.
16304 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16305 Remove.
16306
20591577 16307 * include/grub/i386/pc/boot.h: Sort all offsets.
16308 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16309 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16310 * boot/i386/pc/boot.S: Assert location of every offset listed in
16311 include/grub/i386/pc/boot.h.
16312
2df32b2c 163132009-07-13 Pavel Roskin <proski@gnu.org>
16314
44b5d879 16315 * include/grub/i386/coreboot/machine.h: Rename
16316 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16317 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16318 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16319
17dc3751 16320 * kern/dl.c: Force native word size to suppress warnings when
16321 compiling grub-emu.
16322
2df32b2c 16323 * kern/device.c (grub_device_iterate): Change struct part_ent to
16324 hold the name, not a pointer to it. Use one grub_malloc() per
16325 partition, not two. Free partition_name if grub_malloc() fails.
16326 Set ents to NULL only before grub_partition_iterate() is called.
16327
75c59f59 163282009-07-11 Bean <bean123ch@gmail.com>
16329
16330 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16331 childname.
16332
0ae1bf88 163332009-07-10 Bean <bean123ch@gmail.com>
163342009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16335
16336 * kern/ieee1275/openfw.c (grub_children_iterate)
16337 (grub_devalias_iterate): Fix size evaluation for property or path
16338 strings, which was broken since r2132.
16339
8279cade 163402009-07-07 Pavel Roskin <proski@gnu.org>
16341
7d8a52d3 16342 * commands/search.c (search_file): Merge into ...
16343 (search_fs): ... this. Accept search type as argument.
16344 (grub_cmd_search): Pass search type to search_fs().
16345
25f9a05a 16346 * include/grub/util/console.h: New file.
16347 * util/console.c: Use it instead of grub/machine/console.h.
16348 * util/grub-emu.c: Likewise.
16349
8279cade 16350 * lib/arg.c (find_long_option): Remove.
16351 (find_long): Add `len' argument, make `s' const char *.
16352 (grub_arg_parse): Parse long options in place, not in a
16353 temporary buffer.
16354
4a11b60f 163552009-07-06 Pavel Roskin <proski@gnu.org>
16356
99f68041 16357 * commands/search.c (search_fs): Fix potential NULL pointer
16358 dereference.
16359
4a11b60f 16360 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16361 function pointer.
16362
e110f4de 163632009-07-06 Daniel Mierswa <impulze@impulze.org>
16364
16365 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16366 comparison.
16367
46eeb6a2 163682009-07-05 Pavel Roskin <proski@gnu.org>
16369
bab74958 16370 * include/grub/i386/linux.h (struct linux_kernel_params):
16371 Restore padding3, it's still needed.
16372
46eeb6a2 16373 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16374 FreeBSD.
16375 * util/osdetect.lua: Likewise.
16376
b4a1dc79 163772009-07-05 Bean <bean123ch@gmail.com>
16378
16379 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16380
16381 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16382 (grub_lua_getenv): Likewise.
16383 (grub_lua_setenv): Likewise.
16384 (save_errno): New function.
16385 (push_result): Likewise.
16386 (grub_lua_enum_device): Likewise.
16387 (grub_lua_enum_file): Likewise.
16388 (grub_lua_file_open): Likewise.
16389 (grub_lua_file_close): Likewise.
16390 (grub_lua_file_seek): Likewise.
16391 (grub_lua_file_read): Likewise.
16392 (grub_lua_file_getline): Likewise.
16393 (grub_lua_file_getsize): Likewise.
16394 (grub_lua_file_getpos): Likewise.
16395 (grub_lua_file_eof): Likewise.
16396 (grub_lua_file_exist): Likewise.
16397 (grub_lua_add_menu): Likewise.
16398
16399 * script/lua/grub_lua.h (isupper): New inline function.
16400 (islower): Likewise.
16401 (ispunct): Likewise.
16402 (isxdigit): Likewise.
16403 (strcspn): Change to normal function.
16404 (strpbkr): New function declaration.
16405 (memchr): Likewise.
16406
16407 * script/lua/grub_main.c (scan_str): New function.
16408 (strcspn): Likewise.
16409 (strpbrk): Likewise.
16410 (memchr): Likewise.
16411
16412 * script/lua/linit.c (lualibs): Enable the string library.
16413
16414 * util/osdetect.lua: New file.
16415
2da92295 164162009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16417
16418 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16419 `capabilities' member.
16420
b2582ec9 164212009-07-02 Pavel Roskin <proski@gnu.org>
16422
16423 * genparttoollist.sh: Add missing newline at the end.
16424
32622956 164252009-07-01 Pavel Roskin <proski@gnu.org>
16426
87a7339e 16427 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16428
d23af54e 16429 * util/hostdisk.c (open_device): Remove `const' from
16430 `sysctl_size', as sysctlbyname() can change it (in this case it
16431 doesn't actually happen).
16432
c94b18a9 16433 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16434 using signed long int constants.
16435
c6cd3ef0 16436 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16437 constant to avoid a warning on FreeBSD.
16438
0df63420 16439 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16440 where it's needed.
16441
999577f1 16442 * Makefile.in: Install include/grub/machine symlink.
16443
6f41557f 16444 * Makefile.in: When installing symlinks, use "cp -fR", which
16445 works on FreeBSD and MacOSX.
16446 From Yves Blusseau <cl7m42e02@sneakemail.com>
16447
c8d22988 16448 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16449 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16450
1b96e952 16451 * util/misc.c: Move grub_reboot() and grub_halt() ...
16452 * util/grub-emu.c: ... here. Make main_env static.
16453 * include/grub/util/misc.h: Remove main_env.
16454
2ef0084d 16455 * kern/mm.c: Use correct format to print size_t.
16456
32622956 16457 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16458 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16459 * kern/powerpc/dl.c: Likewise.
16460 * kern/sparc64/dl.c: Likewise.
16461 * kern/x86_64/dl.c: Likewise.
16462
3f7f0cd0 164632009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16464
16465 Fix grub-emu build on sparc64-ieee1275.
16466
75421ca9 16467 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 16468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16469
211d06b5 164702009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16471
16472 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16473 (grub_reboot, grub_halt): New functions.
16474
16475 * util/i386/pc/misc.c: Delete. Update all users.
16476 * util/sparc64/ieee1275/misc.c: Likewise.
16477 * util/powerpc/ieee1275/misc.c: Likewise.
16478
aaf53e3c 164792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16480
16481 * conf/i386.rmk (setjmp_mod_SOURCES)
16482 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16483 * conf/common.rmk (setjmp_mod_SOURCES)
16484 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16485 to use $(target_cpu).
16486 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16487 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16488 * conf/powerpc-ieee1275.rmk: Likewise.
16489 * conf/sparc64-ieee1275.rmk: Likewise.
16490
16491 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16492 $(target_cpu) for kern/$(target_cpu)/dl.c.
16493 * conf/i386-efi.rmk: Likewise.
16494 * conf/i386-ieee1275.rmk: Likewise.
16495 * conf/x86_64-efi.rmk: Likewise.
16496 * conf/i386-coreboot.rmk: Likewise.
16497 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16498 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16499 kern/$(target_cpu)/cache.S.
16500 * conf/sparc64-ieee1275.rmk: Likewise.
16501
a337130b 165022009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16503
16504 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16505 type to `grub_uint8_t', and adjust `padding9' accordingly.
16506
c6fe4d53 165072009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16508
b09db61d 16509 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16510
c6fe4d53 16511 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16512 assembly in final jump, using register constraints.
16513
b09db61d 16514 (grub_linux_boot): For text mode, initialize `have_vga' using
16515 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16516
16517 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16518 right before the final jump.
16519
16520 Set `video_mode' to 0x3.
16521
16522 Document initialization of `video_page', `video_mode' and
16523 `video_ega_bx'.
16524
28333ad0 165252009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16526
16527 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16528 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 16529 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 16530
02164e1b 165312009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16532
16533 Fix build on Debian / sparc.
16534
16535 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16536
18b6c557 165372009-06-28 Pavel Roskin <proski@gnu.org>
16538
85f2aab6 16539 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16540 fix a warning.
16541
18b6c557 16542 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16543
ad760f81 165442009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16545
16546 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16547 `err'.
16548
87a4623b 165492009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16550
16551 Revert r2338.
16552
16553 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
16554 file can't be opened. grub_file_open() is already supposed to set
75421ca9 16555 grub_errno / grub_errmsg appropriately.
87a4623b 16556 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16557
8231fb77 165582009-06-27 Pavel Roskin <proski@gnu.org>
165592009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16560
16561 * include/grub/dl.h: Include grub/elf.h.
16562 (struct grub_dl): Add symtab field.
16563 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
16564 GRUB_MODULES_MACHINE_READONLY.
16565 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
16566 of the header for read-only modules.
16567 (grub_dl_unload): Free mod->symtab for read-only modules.
16568 * kern/i386/dl.c: Use mod->symtab.
16569 * kern/powerpc/dl.c: Likewise.
16570 * kern/sparc64/dl.c: Likewise.
16571 * kern/x86_64/dl.c: Likewise.
16572
16573 * conf/i386-qemu.rmk: New file.
16574 * kern/i386/qemu/startup.S: Likewise.
16575 * kern/i386/qemu/mmap.c: Likewise.
16576 * boot/i386/qemu/boot.S: Likewise.
16577 * include/grub/i386/qemu/time.h: Likewise.
16578 * include/grub/i386/qemu/serial.h: Likewise.
16579 * include/grub/i386/qemu/kernel.h: Likewise.
16580 * include/grub/i386/qemu/console.h: Likewise.
16581 * include/grub/i386/qemu/boot.h: Likewise.
16582 * include/grub/i386/qemu/init.h: Likewise.
16583 * include/grub/i386/qemu/machine.h: Likewise.
16584 * include/grub/i386/qemu/loader.h: Likewise.
16585 * include/grub/i386/qemu/memory.h: Likewise.
16586
16587 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
16588 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
16589 [qemu] (pkglib_IMAGES): Add `boot.img'.
16590 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
16591 [qemu] (boot_img_FORMAT): New variables.
16592 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
16593 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
16594 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
16595 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16596 [qemu] (kernel_img_FORMAT): New variables.
16597
16598 * configure.ac: Recognise `i386-qemu'.
16599
16600 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
16601 (for no compression).
16602 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
16603 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
16604 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
16605 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
16606 ifdefs).
16607
97fe384e 166082009-06-27 Pavel Roskin <proski@gnu.org>
16609
16610 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
16611 read.
16612 * efiemu/prepare32.c: Likewise.
16613 * efiemu/prepare64.c: Likewise.
16614
c402ab17 166152009-06-26 Pavel Roskin <proski@gnu.org>
16616
16617 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
16618 * include/grub/elf.h: Define symbols without "32" or "64" based
16619 on GRUB_TARGET_WORDSIZE.
16620 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
16621 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
16622 ELF definitions.
16623 * efiemu/loadcore64.c: Likewise.
16624 * loader/i386/bsd32.c: Likewise.
16625 * loader/i386/bsd64.c: Likewise.
16626 * kern/dl.c: Remove own ELF definitions.
16627 * util/i386/efi/grub-mkimage.c: Likewise.
16628
9bbdfd4d 166292009-06-23 Robert Millan <rmh.grub@aybabtu.com>
16630
16631 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
16632 segment 0x0 unconditionally, because the reference generated by
16633 GAS is an absolute address.
16634
a42ce6e9 166352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16636
16637 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
16638 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
16639
c952cf92 166402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16641
16642 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
16643 indexes. Check for -f explicitly.
cc3752ad 16644 (search_file): Improve error message.
16645 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 16646
132a0a59 166472009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16648
16649 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
16650 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
16651
387a140c 166522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16653
16654 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
16655 * conf/i386-ieee1275.rmk: Likewise.
16656 * conf/i386-coreboot.rmk: Likewise.
16657
16658 * kern/i386/pc/startup.S (grub_stop): Remove function.
16659 * kern/i386/ieee1275/startup.S: Likewise.
16660 * kern/i386/coreboot/startup.S: Likewise.
16661 * kern/i386/misc.S (grub_stop): New function.
16662
41da9665 166632009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16664
16665 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
16666 * kern/i386/realmode.S (real_to_prot): ... to here.
16667
bf337234 166682009-06-22 Robert Millan <rmh.grub@aybabtu.com>
16669
16670 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
16671 with `kernel.img'.
16672 (kernel_elf_SOURCES): Rename to ...
16673 (kernel_img_SOURCES): ... this.
16674 (kernel_elf_HEADERS): Rename to ...
16675 (kernel_img_HEADERS): ... this. Update all users.
16676 (kernel_elf_ASFLAGS): Rename to ...
16677 (kernel_img_ASFLAGS): ... this.
16678 (kernel_elf_CFLAGS): Rename to ...
16679 (kernel_img_CFLAGS): ... this.
16680 (kernel_elf_LDFLAGS): Rename to ...
16681 (kernel_img_LDFLAGS): ... this.
16682 * conf/i386-coreboot.rmk: Likewise.
16683 * conf/powerpc-ieee1275.rmk: Likewise.
16684
16685 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
16686 with "kernel.img".
16687
f52196ff 166882009-06-21 Pavel Roskin <proski@gnu.org>
16689
c3cee413 16690 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
16691 to match nested functions.
16692 * loader/sparc64/ieee1275/linux.c: Likewise.
16693
f52196ff 16694 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
16695
58750afc 166962009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16697
16698 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
16699 all i386 platforms.
16700
15355c7d 167012009-06-21 Robert Millan <rmh.grub@aybabtu.com>
16702
16703 Fix asm file handling on ELF, and remove workarounds.
16704
16705 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 16706 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 16707 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
16708 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
16709
3f3ec72b 167102009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
16711
16712 Load BSD ELF modules
16713
16714 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
16715 and loader/i386/bsd64.c
16716 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
16717 (FREEBSD_MODTYPE_ELF_MODULE): New definition
16718 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
16719 (grub_freebsd_load_elfmodule32): New declaration
16720 (grub_freebsd_load_elfmoduleobj64): Likewise
16721 (grub_freebsd_load_elf_meta32): Likewise
16722 (grub_freebsd_load_elf_meta64): Likewise
16723 (grub_freebsd_add_meta): Likewise
16724 (grub_freebsd_add_meta_module): Likewise
16725 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
16726 (grub_freebsd_add_meta_module): Likewise and move module-specific
16727 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
16728 (grub_cmd_freebsd): Add elf-kernel specific parts
16729 based on grub_freebsd_add_meta_module
16730 (grub_cmd_freebsd_module): Add type parsing moved from
16731 grub_freebsd_add_meta_module
16732 (grub_cmd_freebsd_module_elf): New function
16733 (cmd_freebsd_module_elf): New variable
16734 (GRUB_MOD_INIT): Register freebsd_module_elf
16735 * loader/i386/bsd32.c: New file
16736 * loader/i386/bsd64.c: Likewise
16737 * loader/i386/bsdXX.c: Likewise
16738 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
16739 (grub_elf64_load): Likewise
16740 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
16741 All users updated
16742 (grub_elf64_load_hook_t): Likewise
16743
0db15301 167442009-06-21 Colin Watson <cjwatson@ubuntu.com>
16745
16746 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
16747 variable.
16748 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
16749 don't write a menu entry for recovery mode.
16750
546796c1 167512009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16752
16753 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
16754 after it's no longer needed.
16755
cd7310d5 167562009-06-20 Robert Millan <rmh.grub@aybabtu.com>
16757
16758 * include/grub/i386/loader.h (grub_linux_prot_size)
16759 (grub_linux_tmp_addr, grub_linux_real_addr)
16760 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
16761 GRUB_MACHINE_PCBIOS.
16762 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
16763 common grub_util_info() call to ...
16764 (generate_image): ... here.
16765 Fix use of uninitialized memory, comparison of signed with
16766 unsigned integers and memory leak.
16767 Remove bogus module address message.
16768
ab32d3b5 167692009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16770
16771 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
16772 grub_raid_register
16773 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
16774
024ef597 167752009-06-19 Pavel Roskin <proski@gnu.org>
16776
16777 * configure.ac: Remove stray AC_MSG_CHECKING.
16778
3ac72b51 167792009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
16780
16781 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 16782
e14cd814 167832009-06-18 Pavel Roskin <proski@gnu.org>
16784
16785 * conf/common.rmk: Add fs_file.mod.
16786 * disk/fs_file.c: New file.
16787 * include/grub/disk.h (enum grub_disk_dev_id): Add
16788 GRUB_DISK_DEVICE_FILE_ID.
16789
26586d98 167902009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 Fix build with Apple's toolchain. Part 2
16793
16794 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
16795 a fake start
16796
26de2bcd 167972009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 Fix build with Apple's toolchain. Part 1
16800
16801 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
16802 for long calls
16803 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 16804 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 16805 Apple's toolchain
16806
09b3490b 168072009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 Fix warnings
16810
16811 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
16812 (decomp_block): initialize ch
16813 use grub_memcpy instead of memcpy
16814
c22a006a 168152009-06-17 Pavel Roskin <proski@gnu.org>
16816
d3638678 16817 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
16818 version, use declarations needed to use vga_text as the startup
16819 console.
16820
c22a006a 16821 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
16822 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
16823 the kernel.
16824 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
16825 and grub_at_keyboard_fini(), it's done on module load and
16826 unload.
16827
05b129e0 168282009-06-17 Felix Zielcke <fzielcke@z-51.de>
16829
16830 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
16831 file can't be found.
16832 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16833
cf24ed9e 168342009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 Fix newline handling
16837
16838 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 16839 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 16840 (grub_script_yylex): don't segfault on unterminated script
16841 newline terminates command and variable
16842
74aa8e4b 168432009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
16844
16845 avoid double grub_adjust_range call. Bug reported by David Simner
16846
16847 * kern/disk.c (grub_disk_write): change to raw disk access before
16848 calling disk_read
16849
1bd265f3 168502009-06-17 Colin Watson <cjwatson@ubuntu.com>
16851
16852 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
16853 spaces, for the benefit of help2man.
16854 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16855
a2d08c06 168562009-06-16 Pavel Roskin <proski@gnu.org>
16857
16858 * kern/i386/halt.c: Include grub/machine/init.h.
16859 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
16860
b97bcb19 168612009-06-16 Felix Zielcke <fzielcke@z-51.de>
16862
16863 * util/grub.d/30_os-prober.in: Use ${root} in the generated
16864 drivemap menuentry.
16865
0644f96c 168662009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
16867
16868 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
16869 `echo' command.
16870
3ef17a2e 168712009-06-16 Pavel Roskin <proski@gnu.org>
16872
16873 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
16874 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
16875 save %dx, we only need %dl and we never change it.
16876 * boot/i386/pc/cdboot.S: Don't set the root drive.
16877 * boot/i386/pc/pxeboot.S: Likewise.
16878 * include/grub/i386/pc/boot.h: Remove
16879 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
16880 GRUB_BOOT_MACHINE_DRIVE_CHECK.
16881 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
16882 * kern/i386/pc/init.c (make_install_device): Remove references
16883 to grub_root_drive.
16884 * kern/i386/pc/startup.S: Likewise.
16885 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
16886
693fe637 168872009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16888
16889 xnu_uuid command
16890
16891 * commands/xnu_uuid.c: new file
16892 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
16893 (xnu_uuid_mod_SOURCES): new variable
16894 (xnu_uuid_mod_CFLAGS): likewise
16895 (xnu_uuid_mod_LDFLAGS): likewise
16896 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16897 * conf/i386-ieee1275.rmk: likewise
16898 * conf/i386-pc.rmk: likewise
16899 * conf/powerpc-ieee1275.rmk: likewise
16900 * conf/sparc64-ieee1275.rmk: likewise
16901 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
16902
c9da87d0 169032009-06-16 Pavel Roskin <proski@gnu.org>
16904
16905 * configure.ac: Avoid '==' in test command, it's not portable.
16906
9c6f4596 169072009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
16908
16909 Probe command
16910
16911 * commands/probe.c: new file
16912 * conf/common.rmk (pkglib_MODULES): add probe.mod
16913 (probe_mod_SOURCES): new variable
16914 (probe_mod_CFLAGS): likewise
16915 (probe_mod_LDFLAGS): likewise
16916 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
16917 * conf/i386-ieee1275.rmk: likewise
16918 * conf/i386-pc.rmk: likewise
16919 * conf/powerpc-ieee1275.rmk: likewise
16920 * conf/sparc64-ieee1275.rmk: likewise
16921
70b7f9fd 169222009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
16923
16924 Fix handling of string like \"hello\" and "a
16925 b"
16926
16927 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
16928 (grub_script_yylex): fix parsing of quoting, escaping and newline
16929
71c79a6b 169302009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
16931
dd74360c 16932 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 16933 handling
dd74360c 16934
0644f96c 169352009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 16936
16937 * util/grub-mkconfig.in: Fix parsing of --output option.
16938
e40893c3 169392009-06-12 Pavel Roskin <proski@gnu.org>
16940
16941 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
16942 genmk.rb don't need to be generated or installed.
16943
3a1acfe2 169442009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16945
16946 * commands/i386/pc/drivemap_int13h.S: add more comments
16947
3a4575d4 169482009-06-11 Pavel Roskin <proski@gnu.org>
16949
0658e928 16950 * Makefile.in (uninstall): Uninstall manuals.
16951
ca0388f0 16952 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
16953 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
16954 and update-grub_lib in two places.
16955 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
16956
e3b27c39 16957 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
16958 a compiler warning.
16959
3a4575d4 16960 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
16961 `entry_lo' to fix variable shadowing.
16962
af1f4f55 169632009-06-11 Christian Franke <franke@computer.org>
16964
16965 * kern/misc.c (__enable_execute_stack): Add missing return type
16966 to prevent gcc warning.
16967
5225e649 169682009-06-11 Felix Zielcke <fzielcke@z-51.de>
16969
16970 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
16971
7d83bd47 169722009-06-11 Pavel Roskin <proski@gnu.org>
16973
c1cb63ba 16974 * Makefile.in: Don't rely on any scripts being executable.
16975 Always use $(SHELL) to run shell scripts.
16976
7d83bd47 16977 * configure.ac: Always define ___main if using -nostdlib. This
16978 fixes tests on Cygwin.
16979
948f48e7 169802009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
16981
16982 UDF fix
16983
7d83bd47 16984 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 16985 is in bytes and not in blocks
7d83bd47 16986
8ada9bc1 169872009-06-11 Pavel Roskin <proski@gnu.org>
16988
16989 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
16990 warning.
16991
25ad2323 169922009-06-11 Felix Zielcke <fzielcke@z-51.de>
16993
16994 * util/grub.d/30_os-prober.in: Fix a comment. Source
16995 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
16996 to set the root device. Place drivemap command in the generated
16997 chain entry.
16998
e65acb0c 169992009-06-11 Pavel Roskin <proski@gnu.org>
17000
17001 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17002 have long been resolved.
17003
f285fe2d 170042009-06-11 Colin Watson <cjwatson@ubuntu.com>
17005
bd47b0b5 17006 * util/grub.d/10_linux.in: Capitalise "Linux".
17007
f285fe2d 17008 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17009
a0c62e4e 170102009-06-11 Pavel Roskin <proski@gnu.org>
17011
b6783cb2 17012 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17013 fix a gcc warning and ensure that the function won't ever exit.
17014
dde032e8 17015 * kern/i386/ieee1275/init.c: Add missing prototype for
17016 grub_stop_floppy().
17017
22cd079d 17018 * loader/ieee1275/multiboot2.c [__i386__]: Include
17019 grub/cpu/multiboot.h.
17020
a0c62e4e 17021 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17022 casts to short - they are not portable and cause warnings. Fix
17023 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17024
63963d17 170252009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17026
17027 Drivemap fixes
17028
17029 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17030 new function
17031 (grub_get_root_biosnumber_saved): new variable
17032 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17033 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 17034 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 17035 %dx after the call if necessary
17036 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17037 (boot_mod_SOURCES): remove
17038 (boot_mod_CFLAGS): remove
17039 (boot_mod_LDFLAGS): remove
17040 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17041 (boot_mod_SOURCES): new variable
17042 (boot_mod_CFLAGS): likewise
17043 (boot_mod_LDFLAGS): likewise
17044 * conf/i386-efi.rmk: likewise
17045 * conf/i386-ieee1275.rmk: likewise
17046 * conf/i386-pc.rmk: likewise
17047 * conf/powerpc-ieee1275.rmk: likewise
17048 * conf/sparc64-ieee1275.rmk: likewise
17049 * conf/x86_64-efi.rmk: likewise
17050 * include/grub/i386/pc/biosnum.h: new file
17051 * lib/i386/pc/biosnum.c: likewise
17052 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17053 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17054 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 17055
33abf7ae 170562009-06-10 Pavel Roskin <proski@gnu.org>
17057
5ac35b35 17058 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17059 Use separate variables. Read only the file size at the end, but
17060 not the checksum that we don't use.
17061
5c5215d5 17062 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17063 Adjust all callers.
17064
27d5fef7 17065 * kern/ieee1275/openfw.c: Remove libc includes.
17066 * kern/ieee1275/cmain.c: Likewise.
17067 * include/grub/ieee1275/ieee1275.h: Likewise.
17068
33abf7ae 17069 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17070 compiler warnings.
17071
19d50c2b 170722009-06-10 Felix Zielcke <fzielcke@z-51.de>
17073
17074 * Makefile.in: Remove all trailing whitespace.
17075 * conf/i386-pc.rmk: Likewise.
17076 * conf/powerpc-ieee1275.rmk: Likewise.
17077 * conf/sparc64-ieee1275.rmk: Likewise.
17078 * docs/grub.texi: Likewise.
17079 * docs/texinfo.tex: Likewise.
17080 * disk/fs_uuid.c: Likewise.
17081 * disk/lvm.c: Likewise.
17082 * disk/scsi.c: Likewise.
17083 * disk/ata.c: Likewise.
17084 * disk/ieee1275/ofdisk.c: Likewise.
17085 * disk/i386/pc/biosdisk.c: Likewise.
17086 * disk/host.c: Likewise.
17087 * disk/raid.c: Likewise.
17088 * disk/efi/efidisk.c: Likewise.
17089 * disk/usbms.c: Likewise.
17090 * disk/memdisk.c: Likewise.
17091 * disk/loopback.c: Likewise.
17092 * kern/powerpc/dl.c: Likewise.
17093 * kern/device.c: Likewise.
17094 * kern/dl.c: Likewise.
17095 * kern/sparc64/dl.c: Likewise.
17096 * kern/ieee1275/ieee1275.c: Likewise.
17097 * kern/term.c: Likewise.
17098 * kern/fs.c: Likewise.
17099 * kern/i386/dl.c: Likewise.
17100 * kern/i386/pc/startup.S: Likewise.
17101 * kern/i386/pc/init.c: Likewise.
17102 * kern/i386/pc/mmap.c: Likewise.
17103 * kern/i386/pc/lzo1x.S: Likewise.
17104 * kern/i386/ieee1275/init.c: Likewise.
17105 * kern/i386/realmode.S: Likewise.
17106 * kern/i386/tsc.c: Likewise.
17107 * kern/partition.c: Likewise.
17108 * kern/corecmd.c: Likewise.
17109 * kern/file.c: Likewise.
17110 * kern/efi/efi.c: Likewise.
17111 * kern/efi/init.c: Likewise.
17112 * kern/efi/mm.c: Likewise.
17113 * kern/main.c: Likewise.
17114 * kern/err.c: Likewise.
17115 * kern/env.c: Likewise.
17116 * kern/disk.c: Likewise.
17117 * kern/generic/millisleep.c: Likewise.
17118 * kern/generic/rtc_get_time_ms.c: Likewise.
17119 * kern/misc.c: Likewise.
17120 * kern/parser.c: Likewise.
17121 * genmk.rb: Likewise.
17122 * configure.ac: Likewise.
17123 * boot/i386/pc/diskboot.S: Likewise.
17124 * boot/i386/pc/pxeboot.S: Likewise.
17125 * boot/i386/pc/boot.S: Likewise.
17126 * boot/i386/pc/lnxboot.S: Likewise.
17127 * boot/i386/pc/cdboot.S: Likewise.
17128 * parttool/pcpart.c: Likewise.
17129 * video/readers/tga.c: Likewise.
17130 * video/video.c: Likewise.
17131 * video/bitmap.c: Likewise.
17132 * lib/envblk.c: Likewise.
17133 * lib/i386/setjmp.S: Likewise.
17134 * fs/xfs.c: Likewise.
17135 * fs/afs.c: Likewise.
17136 * fs/fat.c: Likewise.
17137 * fs/ntfs.c: Likewise.
17138 * fs/udf.c: Likewise.
17139 * fs/affs.c: Likewise.
17140 * fs/iso9660.c: Likewise.
17141 * fs/hfs.c: Likewise.
17142 * fs/fshelp.c: Likewise.
17143 * fs/ext2.c: Likewise.
17144 * fs/jfs.c: Likewise.
17145 * fs/reiserfs.c: Likewise.
17146 * fs/hfsplus.c: Likewise.
17147 * fs/minix.c: Likewise.
17148 * fs/cpio.c: Likewise.
17149 * fs/sfs.c: Likewise.
17150 * fs/ufs.c: Likewise.
17151 * efiemu/prepare.c: Likewise.
17152 * efiemu/loadcore_common.c: Likewise.
17153 * efiemu/runtime/efiemu.sh: Likewise.
17154 * efiemu/runtime/efiemu.S: Likewise.
17155 * efiemu/runtime/efiemu.c: Likewise.
17156 * efiemu/pnvram.c: Likewise.
17157 * efiemu/main.c: Likewise.
17158 * efiemu/i386/pc/cfgtables.c: Likewise.
17159 * efiemu/i386/loadcore64.c: Likewise.
17160 * efiemu/i386/loadcore32.c: Likewise.
17161 * efiemu/loadcore.c: Likewise.
17162 * efiemu/symbols.c: Likewise.
17163 * efiemu/mm.c: Likewise.
17164 * include/grub/autoefi.h: Likewise.
17165 * include/grub/datetime.h: Likewise.
17166 * include/grub/term.h: Likewise.
17167 * include/grub/hfs.h: Likewise.
17168 * include/grub/lvm.h: Likewise.
17169 * include/grub/i386/tsc.h: Likewise.
17170 * include/grub/i386/linux.h: Likewise.
17171 * include/grub/i386/xnu.h: Likewise.
17172 * include/grub/i386/efiemu.h: Likewise.
17173 * include/grub/i386/pc/biosdisk.h: Likewise.
17174 * include/grub/i386/pc/memory.h: Likewise.
17175 * include/grub/i386/pc/vbe.h: Likewise.
17176 * include/grub/parttool.h: Likewise.
17177 * include/grub/video.h: Likewise.
17178 * include/grub/memory.h: Likewise.
17179 * include/grub/fs.h: Likewise.
17180 * include/grub/partition.h: Likewise.
17181 * include/grub/xnu.h: Likewise.
17182 * include/grub/efi/api.h: Likewise.
17183 * include/grub/efi/pe32.h: Likewise.
17184 * include/grub/efi/memory.h: Likewise.
17185 * include/grub/multiboot.h: Likewise.
17186 * include/grub/usbdesc.h: Likewise.
17187 * include/grub/multiboot2.h: Likewise.
17188 * include/grub/acpi.h: Likewise.
17189 * include/grub/efiemu/efiemu.h: Likewise.
17190 * include/grub/disk.h: Likewise.
17191 * include/grub/ieee1275/ieee1275.h: Likewise.
17192 * include/grub/net.h: Likewise.
17193 * include/grub/machoload.h: Likewise.
17194 * include/grub/macho.h: Likewise.
17195 * include/multiboot.h: Likewise.
17196 * genmoddep.awk: Likewise.
17197 * normal/main.c: Likewise.
17198 * normal/menu_entry.c: Likewise.
17199 * normal/menu_viewer.c: Likewise.
17200 * normal/completion.c: Likewise.
17201 * normal/cmdline.c: Likewise.
17202 * normal/misc.c: Likewise.
17203 * normal/datetime.c: Likewise.
17204 * bus/usb/usbtrans.c: Likewise.
17205 * bus/usb/ohci.c: Likewise.
17206 * bus/usb/uhci.c: Likewise.
17207 * bus/usb/usb.c: Likewise.
17208 * mmap/efi/mmap.c: Likewise.
17209 * mmap/i386/pc/mmap_helper.S: Likewise.
17210 * mmap/i386/pc/mmap.c: Likewise.
17211 * mmap/i386/mmap.c: Likewise.
17212 * mmap/i386/uppermem.c: Likewise.
17213 * mmap/mmap.c: Likewise.
17214 * commands/acpi.c: Likewise.
17215 * commands/echo.c: Likewise.
17216 * commands/blocklist.c: Likewise.
17217 * commands/loadenv.c: Likewise.
17218 * commands/usbtest.c: Likewise.
17219 * commands/boot.c: Likewise.
17220 * commands/parttool.c: Likewise.
17221 * commands/search.c: Likewise.
17222 * commands/cat.c: Likewise.
17223 * commands/i386/pc/play.c: Likewise.
17224 * commands/i386/pc/drivemap.c: Likewise.
17225 * commands/i386/pc/vbeinfo.c: Likewise.
17226 * commands/i386/pc/acpi.c: Likewise.
17227 * commands/i386/pc/vbetest.c: Likewise.
17228 * commands/ls.c: Likewise.
17229 * commands/cmp.c: Likewise.
17230 * commands/test.c: Likewise.
17231 * commands/efi/acpi.c: Likewise.
17232 * commands/gptsync.c: Likewise.
17233 * commands/help.c: Likewise.
17234 * partmap/amiga.c: Likewise.
17235 * partmap/apple.c: Likewise.
17236 * partmap/acorn.c: Likewise.
17237 * partmap/pc.c: Likewise.
17238 * partmap/sun.c: Likewise.
17239 * partmap/gpt.c: Likewise.
17240 * script/sh/lexer.c: Likewise.
17241 * script/sh/function.c: Likewise.
17242 * font/font.c: Likewise.
17243 * font/font_cmd.c: Likewise.
17244 * loader/powerpc/ieee1275/linux.c: Likewise.
17245 * loader/efi/chainloader.c: Likewise.
17246 * loader/multiboot_loader.c: Likewise.
17247 * loader/macho.c: Likewise.
17248 * loader/i386/multiboot.c: Likewise.
17249 * loader/i386/linux.c: Likewise.
17250 * loader/i386/pc/linux.c: Likewise.
17251 * loader/i386/pc/multiboot2.c: Likewise.
17252 * loader/i386/pc/chainloader.c: Likewise.
17253 * loader/i386/pc/xnu.c: Likewise.
17254 * loader/i386/bsd_trampoline.S: Likewise.
17255 * loader/i386/efi/linux.c: Likewise.
17256 * loader/i386/multiboot_elfxx.c: Likewise.
17257 * loader/i386/bsd_helper.S: Likewise.
17258 * loader/i386/bsd.c: Likewise.
17259 * loader/i386/linux_trampoline.S: Likewise.
17260 * loader/i386/xnu_helper.S: Likewise.
17261 * loader/i386/xnu.c: Likewise.
17262 * loader/i386/bsd_pagetable.c: Likewise.
17263 * loader/i386/multiboot_helper.S: Likewise.
17264 * loader/xnu.c: Likewise.
17265 * loader/xnu_resume.c: Likewise.
17266 * io/gzio.c: Likewise.
17267 * term/efi/console.c: Likewise.
17268 * term/terminfo.c: Likewise.
17269 * term/ieee1275/ofconsole.c: Likewise.
17270 * term/i386/pc/serial.c: Likewise.
17271 * term/i386/pc/vesafb.c: Likewise.
17272 * term/i386/pc/vga.c: Likewise.
17273 * term/usb_keyboard.c: Likewise.
17274 * term/gfxterm.c: Likewise.
17275 * aclocal.m4: Likewise.
17276 * util/lvm.c: Likewise.
17277 * util/grub.d/30_os-prober.in: Likewise.
17278 * util/grub.d/10_hurd.in: Likewise.
17279 * util/console.c: Likewise.
17280 * util/grub-macho2img.c: Likewise.
17281 * util/grub-probe.c: Likewise.
17282 * util/hostfs.c: Likewise.
17283 * util/i386/pc/grub-mkimage.c: Likewise.
17284 * util/i386/pc/grub-setup.c: Likewise.
17285 * util/i386/efi/grub-mkimage.c: Likewise.
17286 * util/grub-mkconfig.in: Likewise.
17287 * util/raid.c: Likewise.
17288 * util/resolve.c: Likewise.
17289 * util/grub-mkdevicemap.c: Likewise.
17290 * util/grub-emu.c: Likewise.
17291 * util/getroot.c: Likewise.
17292 * util/hostdisk.c: Likewise.
17293 * util/usb.c: Likewise.
17294 * util/grub-editenv.c: Likewise.
17295 * util/misc.c: Likewise.
17296
d2d49665 172972009-06-10 Felix Zielcke <fzielcke@z-51.de>
17298
17299 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17300 `genparttoollist.sh'.
17301 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17302 Add `*.sh' to the list find searches for and change `mdate.sh'
17303 to `mdate-sh'.
17304
fe052e37 173052009-06-10 Pavel Roskin <proski@gnu.org>
17306
2763ac18 17307 * include/grub/multiboot2.h: Provide compatibility defines for
17308 multiboot2.h.
17309 * include/multiboot2.h: Include stdint.h only if needed, using
17310 angle brackets.
17311 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17312 grub/multiboot2.h.
17313 * loader/ieee1275/multiboot2.c: Likewise.
17314 * loader/multiboot2.c: Likewise.
17315 * loader/multiboot_loader.c: Likewise.
17316
437e6adc 17317 * configure.ac: Use -nostdlib when probing for the target. It
17318 should not be required to have libc for the target.
17319
06a6836c 17320 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17321 they fail without libc headers for the target.
17322 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17323 exports.
17324 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17325 preprocessor conditionals.
17326
fe052e37 17327 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17328 build system doesn't need to be aware of the tar.c internals.
17329
afd22553 173302009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 17331
afd22553 17332 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 17333
6b787c4f 173342009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17335
17336 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17337 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17338
173392009-06-09 Felix Zielcke <fzielcke@z-51.de>
17340
17341 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 17342 aren't available if ata.mod gets used.
6b787c4f 17343
473d1e45 173442009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 17345
473d1e45 17346 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 17347 initialising controller.
473d1e45 17348 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 17349
255a27d4 173502009-06-08 Felix Zielcke <fzielcke@z-51.de>
17351
17352 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17353 to choose between ata and biosdisk module on i386-pc.
17354
473d1e45 173552009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 17356
d55842d8 17357 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17358 Subclass and Programming Interface fields in terms of the 3 byte
17359 Class Code register.
17360 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17361
fa5db0b1 17362 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17363 interface is OHCI. Add grub_dprintf for symmetry with
17364 bus/usb/uhci.c.
17365 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17366 interface is UHCI. Add interf variable for programming
17367 interface. Print interface with class/subclass.
17368
c0947beb 17369 * bus/usb/ohci.c: Set interf with correct field.
17370
69da8877 17371 * bus/usb/uhci.c: Remove unneeded doubled lines.
17372 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17373 Remove whitespace inside comment.
17374
9e172e30 173752009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17376
17377 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17378 as fallback an equivalent option without depth.
17379
de65ee2b 173802009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 Not fail if unable to retrieve C/H/S on LBA disks
17383
473d1e45 17384 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 17385 if unable to retrieve C/H/S on LBA disks
17386
b57ea2c9 173872009-06-08 Pavel Roskin <proski@gnu.org>
17388
17389 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17390 about aliasing.
17391
af361263 173922009-06-08 Felix Zielcke <fzielcke@z-51.de>
17393
17394 * Makefile.in (uninstall): Remove all $lib_DATA files.
17395
4c9ec6b3 173962009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 Bugfix: install on partitionless device
17399
17400 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17401 is a whole disk
17402
e76fc924 174032009-06-08 Felix Zielcke <fzielcke@z-51.de>
17404
17405 * Makefile.in (uninstall): Remove all $include_DATA files.
17406
ba5a0d05 174072009-06-08 Felix Zielcke <fzielcke@z-51.de>
17408
17409 * commands/true.c: New file. Implement the true and false commands.
17410 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17411 (true_mod_SOURCES): New variable.
17412 (true_mod_CFLAGS): Likewise.
17413 (true_mod_LDFLAGS): Likewise.
17414
c8048e32 174152009-06-05 Colin D Bennett <colin@gibibit.com>
17416
17417 Optimized font character lookup using binary search instead of linear
17418 search. Fonts now are required to have the character index ordered by
17419 code point.
17420
17421 * font/font.c (load_font_index): Verify that fonts have ordered
17422 character indices.
17423 (find_glyph): Use binary search instead of linear search to find a
17424 character in a font.
17425
408305be 174262009-06-05 Michael Scherer <misc@mandriva.org>
17427
17428 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17429 uses case sensitive btree.
17430 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17431 only for case insensitive filesystems.
17432
8ee1e0d9 174332009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17434
17435 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17436 * conf/common.rmk (search_mod_CFLAGS): likewise
17437
a9966eb1 174382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17439
473d1e45 17440 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 17441 compensate a compiler bug
17442
9e7100fb 174432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17444
473d1e45 17445 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 17446 instead of '\b'
473d1e45 17447
ede21d71 174482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17449
17450 Definitions for creating asm symbols with Apple's CC
17451
17452 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17453 [APPLE_CC] (VARIABLE): likewise
17454
9dbf7653 174552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17456
17457 Disable lnxboot.img when compiled
17458 with Apple's CC
17459
17460 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17461 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17462 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17463 [! APPLE_CC] (CODE_LENG): skip
17464 [! APPLE_CC] (setup_sects): likewise
17465 [! APPLE_CC]: skip filling
473d1e45 17466
e93cdc3d 174672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17468
17469 Address in trampolines based on 32-bit registers when compiled
17470 with Apple's CC
17471
473d1e45 17472 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 17473 for addresses
17474 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17475
6c688477 174762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17479
17480 * kern/misc.c [APPLE_CC] (memcpy): new function
17481 [APPLE_CC] (memmove): likewise
17482 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 17483 (memcpy): define alias conditionally on !APPLE_CC
6c688477 17484 (memset): likewise
17485 (abort): likewise
17486 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17487 APPLE_CC are defined
17488 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17489 (grub_assert_fail): make prototype conditional
17490
e37ffc5c 174912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17492
17493 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17494
473d1e45 17495 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17496 grub-macho2img
e37ffc5c 17497 (CLEANFILES): add grub-macho2img
17498 (grub_macho2img_SOURCES): new variable
17499 * kern/i386/pc/startup.S (bss_start): new variable
17500 (bss_end): likewise
17501 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17502 * util/grub-macho2img.c: new file
17503
cf00df31 175042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 Use objconv when compiling with Apple's CC
17507
17508 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17509 (efiemu64.o): likewise
17510 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17511 when compiling with Apple's CC
17512 (efiemu64_s.o): likewise
17513 * configure.ac: check for objconv when compiling with Apple's CC
17514 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 17515
d119a20c 175162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 Define segment as well as section when compiling with
17519 Apple's CC
17520
17521 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17522 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17523 (efiemu_convert_pointer): likewise
17524 (efiemu_set_virtual_address_map): likewise
17525 (efiemu_convert_pointer): likewise
17526 (efiemu_getcrc32): likewise
17527 (init_crc32_table): likewise
17528 (reflect): likewise
17529 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17530 (GRUB_MOD_DEP): likewise
473d1e45 17531
c8600122 175322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 Allow a compilation without -mcmodel=large
17535
17536 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17537 when compiled without -mcmodel=large
473d1e45 17538 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 17539 without -mcmodel=large
473d1e45 17540 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 17541 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 17542
e8df1d4e 175432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 Remove nested functions in efiemu core
17546
17547 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 17548
cc6c3ac1 175492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17550
17551 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
17552
17553 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
17554 temporary storage
473d1e45 17555 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
17556 using Apple's CC
cc6c3ac1 17557 (grub_cpu_is_tsc_supported): likewise
17558 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 17559
3e325901 175602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 Absolute addressing through constant with Apple's cc
17563
17564 * kern/i386/pc/startup.S: Define necessary constants
17565 and address through it when using ABS with Apple's CC
17566 * boot/i386/pc/diskboot.S: likewise
17567 * boot/i386/pc/boot.S: likewise
17568 * boot/i386/pc/lnxboot.S: likewise
17569 * boot/i386/pc/cdboot.S: likewise
17570 * mmap/i386/pc/mmap_helper.S: likewise
17571 * commands/i386/pc/drivemap_int13h.S: likewise
17572
2b167a72 175732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17574
17575 Check if compiler is apple cc
17576
17577 * Makefile.in (ASFLAGS): new variable
17578 (TARGET_ASFLAGS): likewise
17579 (TARGET_MODULE_FORMAT): likewise
17580 (TARGET_APPLE_CC): likewise
17581 (OBJCONV): likewise
17582 (TARGET_IMG_CFLAGS): likewise
17583 (TARGET_CPPFLAGS): add includedir
17584 * configure.ac: call grub_apple_cc and grub_apple_target_cc
17585 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
17586 Check for linker script only if compiler isn't Apple's CC
17587 (TARGET_MODULE_FORMAT): set
17588 (TARGET_APPLE_CC): likewise
17589 (TARGET_ASFLAGS): likewise
17590 (ASFLAGS): likewise
17591 Check for objcopy only if compiler isn't Apple's CC
17592 Check for BSS symbol only if compiler isn't Apple's CC
17593 * genmk.rb: adapt nm options if we use Apple's utils
17594 * aclocal.m4 (grub_apple_cc): new test
17595 (grub_apple_target_cc): likewise
473d1e45 17596
fb14123e 175972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 Simplify sed expressions and improve awk
17600
17601 * Makefile.in (install-local): simplify sed expression
17602 * gencmdlist.sh: likewise
17603 * genmoddep.awk: avoid adding module as a dependency of itself
17604
5b889789 176052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 Add missing start symbols
17608
17609 * boot/i386/pc/boot.S: add start
fb14123e 17610 * boot/i386/pc/pxeboot.S: likewise
473d1e45 17611
fd2bf2e3 176122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17613
17614 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 17615
17616 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 17617 (relocate_addresses): consider both r_addend and value at offset
17618 (make_mods_section): zerofill modinfo and header
17619 (convert_elf): write prefix here
473d1e45 17620
5389763d 176212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 Use .asciz instead of .string
17624
17625 * i386/pc/diskboot.S: use .asciz instead of .string
17626 * i386/pc/boot.S: likewise
17627 * include/grub/dl.h (GRUB_MOD_DEP): likewise
17628 (GRUB_MOD_NAME): likewise
473d1e45 17629
3eb5ed4e 176302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 gfxpayload support
17633
17634 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
17635 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
17636 (grub_video_setup): remove
17637 (grub_video_set_mode): new prototype
17638 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
17639 (vid_mode): remove
17640 (linux_vesafb_res): compile only on PCBIOS
17641 (grub_linux_boot): support gfxpayload
17642 * loader/i386/pc/xnu.c (video_hook): new function
17643 (grub_xnu_set_video): support gfxpayload
17644 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
17645 (DEFAULT_VIDEO_HEIGHT): likewise
17646 (DEFAULT_VIDEO_FLAGS): likewise
17647 (DEFAULT_VIDEO_MODE): new definition
17648 (video_hook): new function
17649 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 17650 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 17651 loading xnu
17652 * video/video.c (grub_video_setup): removed
473d1e45 17653 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 17654 grub_video_setup
17655
4b0e1143 176562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17657
17658 Avoid calling biosdisk in drivemap
17659
17660 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
17661 (revparse_biosdisk): likewise
17662 (list_mappings): derive name from id directly
17663 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 17664
fda6cb98 176652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17666
17667 Script fixes
17668
17669 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
17670 (grub_lexer_param): add tokenonhold
17671 (grub_script_create_cmdline): remove cmdline. All callers updated
17672 (grub_script_function_create): make functionname
17673 grub_script_arg. All callers updated
17674 (grub_script_execute_argument_to_string): new prototype
17675 * kern/parser.c (state_transitions): reorder
17676 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 17677 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 17678 make global
17679 (grub_script_execute_cmdline): use new format
17680 * script/sh/function.c (grub_script_function_create): make functionname
17681 grub_script_arg. All callers updated
473d1e45 17682 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 17683 (grub_script_yylex): remove
17684 (grub_script_yylex2): renamed to ...
17685 (grub_script_yylex): ...renamed
17686 parse the expressions like a${b}c
17687 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
17688 (GRUB_PARSER_TOKEN_VAR): remove
17689 (GRUB_PARSER_TOKEN_NAME): likewise
17690 ("if"): declare as typeless
17691 ("while"): likewise
17692 ("function"): likewise
17693 ("else"): likewise
17694 ("then"): likewise
17695 ("fi"): likewise
17696 (text): remove
17697 (argument): likewise
17698 (script): accept empty scripts and make exit on error
17699 (arguments): use GRUB_PARSER_TOKEN_ARG
17700 (function): likewise
17701 (command): move error handling to script
17702 (menuentry): move grub_script_lexer_ref before
473d1e45 17703 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 17704 argument. All callers updated
17705
f4448a07 177062009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17707
17708 Prevent GRUB from probing floppies during boot.
17709
17710 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
17711 * commands/search.c (options): Add --no-floppy.
17712 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
17713 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
17714 --no-floppy when searching for UUIDs.
17715
2bf5885a 177162009-06-04 Robert Millan <rmh.grub@aybabtu.com>
17717
17718 Simplify the code duplication in commands/search.c.
17719
17720 * commands/search.c (search_label, search_fs_uuid): Merge into ...
17721 (search_fs): ... this. Update all users.
17722
f6fd460a 177232009-06-03 Felix Zielcke <fzielcke@z-51.de>
17724
17725 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
17726
cbb3c83e 177272009-05-28 Pavel Roskin <proski@gnu.org>
17728
57788cfd 17729 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
17730 Remove the original symlink explicitly.
17731
cbb3c83e 17732 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
17733 just one slash. That's how grub_fshelp_find_file() does it.
17734
cd0d5e30 177352009-05-26 Pavel Roskin <proski@gnu.org>
17736
f0f8bbe2 17737 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
17738 to `str'.
17739
cd0d5e30 17740 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
17741 possibly unused.
17742
8c2cab51 177432009-05-25 Christian Franke <franke@computer.org>
17744
17745 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
17746 register.
17747 (grub_atapi_identify): Add wait after drive select.
17748 (grub_ata_identify): Do more strict status register check before
17749 calling grub_atapi_identify (). Suppress error message if status
17750 register is 0x00 after command failure. Add status register
17751 check after PIO read to avoid bogus identify due to stuck DRQ.
17752 Thanks to Pavel Roskin for testing.
17753 (grub_device_initialize): Remove unsafe status register check.
17754 Thanks to 'phcoder' for problem report and patch.
17755 Prevent sign extension in debug message.
17756
230c0ad6 177572009-05-23 Colin D Bennett <colin@gibibit.com>
17758
17759 Cleaned up `include/grub/normal.h'. Grouped prototypes by
17760 definition file, and functions defined in `normal/menu.c' have had
17761 their prototypes moved to `include/grub/menu.h' for consistency.
17762
17763 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
17764 from normal.h.
17765 (grub_menu_get_entry): Likewise.
17766 (grub_menu_get_timeout): Likewise.
17767 (grub_menu_set_timeout): Likewise.
17768 (grub_menu_execute_entry): Likewise.
17769 (grub_menu_execute_with_fallback): Likewise.
17770 (grub_menu_entry_run): Likewise.
17771
17772 * include/grub/normal.h: Re-ordered and grouped function
17773 prototypes by file that the function is defined in.
17774 (grub_menu_execute_callback): Removed; moved to menu.h.
17775 (grub_menu_get_entry): Likewise.
17776 (grub_menu_get_timeout): Likewise.
17777 (grub_menu_set_timeout): Likewise.
17778 (grub_menu_execute_entry): Likewise.
17779 (grub_menu_execute_with_fallback): Likewise.
17780 (grub_menu_entry_run): Likewise.
17781 (grub_menu_addentry): Renamed from this ...
17782 (grub_normal_add_menu_entry): ... to this.
17783
17784 * normal/main.c (grub_menu_addentry): Renamed from this ...
17785 (grub_normal_add_menu_entry): ... to this.
17786
17787 * script/sh/execute.c (grub_script_execute_menuentry): Update
17788 reference to renamed grub_menu_addentry function.
17789
861f03a5 177902009-05-23 Felix Zielcke <fzielcke@z-51.de>
17791
17792 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
17793
96b1619a 177942009-05-22 Pavel Roskin <proski@gnu.org>
17795
bf6a5fb2 17796 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
17797 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
17798 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
17799 compiling for the i386 targets, but not for the utilities.
17800
96b1619a 17801 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
17802 to grub_uint8_t.
17803 (grub_root_drive): Likewise.
17804 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
17805 remove alignment.
17806 (grub_root_drive): Change size to byte.
17807 (grub_start_addr): Remove.
17808 (grub_end_addr): Likewise.
17809 (grub_apm_bios_info): Likewise.
17810
b729776b 178112009-05-21 Felix Zielcke <fzielcke@z-51.de>
17812
17813 * normal/i386: Remove.
17814 * normal/powerpc: Likewise.
17815 * normal/sparc64: Likewise.
17816 * normal/x86_64: Likewise.
17817
0a15ce80 178182009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17819
17820 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 17821 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 17822 * loader/i386/xnu_helper.S: Likewise
d6da58e6 17823
33db9015 178242009-05-18 Colin D Bennett <colin@gibibit.com>
17825
d6da58e6 17826 Display error messages when parsing a Lua statement fails.
17827 Previously, executing a syntactically invalid statement like
17828 ")foo" or "bar;" would silently fail.
33db9015 17829
17830 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 17831 (grub_lua_parse_line): Improved reporting of Lua parser and
17832 execution errors.
33db9015 17833
46422c89 178342009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17835
17836 Remove -Werror which causes build to fail on some systems
17837
17838 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
17839 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
17840 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 17841
22f53a96 178422009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 trampoline for linux on 64-bit platform
17845
18f547ad 17846 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
17847 loader/i386/efi/linux_trampoline.S
17848 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 17849 declaration
d6da58e6 17850 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
17851 here
22f53a96 17852 * loader/i386/linux_trampoline.S: moved here
d6da58e6 17853 * loader/i386/efi/linux.c (allocate_pages): reserve space for
17854 trampoline
22f53a96 17855 (jumpvector): removed
17856 (grub_linux_trampoline_start): new declaration
17857 (grub_linux_trampoline_end): likewise
17858 (grub_linux_boot): use trampoline when on 64-bit platform
17859 * loader/i386/linux.c: likewise
17860
cb5a0f40 178612009-05-16 Pavel Roskin <proski@gnu.org>
17862
17863 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
17864 const to avoid a warning.
17865 (grub_lua_setenv): Likewise.
17866 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
17867 lmsg to fix a warning.
17868
334f2c28 178692009-05-16 Felix Zielcke <fzielcke@z-51.de>
17870
17871 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 17872 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17873 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
17874 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17875 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17876 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
17877 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
17878 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 17879
59e5d3ec 178802009-05-16 Felix Zielcke <fzielcke@z-51.de>
17881
17882 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
17883
9d87a1ba 178842009-05-16 Bean <bean123ch@gmail.com>
17885
17886 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
17887 (lua_mod_SOURCES): New variable.
17888 (lua_mod_CFLAGS): Likewise.
17889 (lua_mod_LDFLAGS): Likewise.
17890
17891 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
17892 (setjmp_mod_SOURCES): New variable.
17893 (setjmp_mod_CFLAGS): Likewise.
17894 (setjmp_LDFLAGS): Likewise.
17895
17896 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
17897 (setjmp_mod_SOURCES): New variable.
17898 (setjmp_mod_CFLAGS): Likewise.
17899 (setjmp_LDFLAGS): Likewise.
17900
17901 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17902 (setjmp_mod_SOURCES): New variable.
17903 (setjmp_mod_CFLAGS): Likewise.
17904 (setjmp_LDFLAGS): Likewise.
17905
17906 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
17907 (setjmp_mod_SOURCES): New variable.
17908 (setjmp_mod_CFLAGS): Likewise.
17909 (setjmp_LDFLAGS): Likewise.
17910
17911 * normal/i386/setjmp.S: Moved from here ...
17912 * lib/i386/setjmp.S: ... Moved here
17913 * normal/x86_64/setjmp.S: Moved from here ...
17914 * lib/x86_64/setjmp.S: ... Moved here
17915 * normal/powerpc/setjmp.S: Moved from here ...
17916 * lib/powerpc/setjmp.S: ... Moved here
17917 * normal/sparc64/setjmp.S: Moved from here ...
17918 * lib/sparc64/setjmp.S: ... Moved here
17919
17920 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
17921 returns_twice in mingw.
17922
17923 * script/lua/grub_lib.c: New file.
17924 * script/lua/grub_lib.h: Likewise.
17925 * script/lua/grub_lua.h: Likewise.
17926 * script/lua/grub_main.c: Likewise.
17927 * script/lua/lapi.c: Likewise.
17928 * script/lua/lapi.h: Likewise.
17929 * script/lua/lauxlib.c: Likewise.
17930 * script/lua/lauxlib.h: Likewise.
17931 * script/lua/lbaselib.c: Likewise.
17932 * script/lua/lcode.c: Likewise.
17933 * script/lua/lcode.h: Likewise.
17934 * script/lua/ldblib.c: Likewise.
17935 * script/lua/ldebug.c: Likewise.
17936 * script/lua/ldebug.h: Likewise.
17937 * script/lua/ldo.c: Likewise.
17938 * script/lua/ldo.h: Likewise.
17939 * script/lua/ldump.c: Likewise.
17940 * script/lua/lfunc.c: Likewise.
17941 * script/lua/lfunc.h: Likewise.
17942 * script/lua/lgc.c: Likewise.
17943 * script/lua/lgc.h: Likewise.
17944 * script/lua/linit.c: Likewise.
17945 * script/lua/liolib.c: Likewise.
17946 * script/lua/llex.c: Likewise.
17947 * script/lua/llex.h: Likewise.
17948 * script/lua/llimits.h: Likewise.
17949 * script/lua/lmathlib.c: Likewise.
17950 * script/lua/lmem.c: Likewise.
17951 * script/lua/lmem.h: Likewise.
17952 * script/lua/loadlib.c: Likewise.
17953 * script/lua/lobject.c: Likewise.
17954 * script/lua/lobject.h: Likewise.
17955 * script/lua/lopcodes.c: Likewise.
17956 * script/lua/lopcodes.h: Likewise.
17957 * script/lua/loslib.c: Likewise.
17958 * script/lua/lparser.c: Likewise.
17959 * script/lua/lparser.h: Likewise.
17960 * script/lua/lstate.c: Likewise.
17961 * script/lua/lstate.h: Likewise.
17962 * script/lua/lstring.c: Likewise.
17963 * script/lua/lstring.h: Likewise.
17964 * script/lua/lstrlib.c: Likewise.
17965 * script/lua/ltable.c: Likewise.
17966 * script/lua/ltable.h: Likewise.
17967 * script/lua/ltablib.c: Likewise.
17968 * script/lua/ltm.c: Likewise.
17969 * script/lua/ltm.h: Likewise.
17970 * script/lua/lua.h: Likewise.
17971 * script/lua/luaconf.h: Likewise.
17972 * script/lua/lualib.h: Likewise.
17973 * script/lua/lundump.c: Likewise.
17974 * script/lua/lundump.h: Likewise.
17975 * script/lua/lvm.c: Likewise.
17976 * script/lua/lvm.h: Likewise.
17977 * script/lua/lzio.c: Likewise.
17978 * script/lua/lzio.h: Likewise.
17979
5e898c9d 179802009-05-16 Bean <bean123ch@gmail.com>
17981
17982 * include/grub/kernel.h (grub_module_header_types): Add type
17983 OBJ_TYPE_CONFIG.
17984
17985 * kern/main.c (grub_load_config): New function.
17986 (grub_main): Call grub_load_config to read boot config.
17987
17988 * grub-mkimage (generate_image): New parameter config_path.
17989 (options): New option --config.
17990 (main): Parse --config option, and pass it to generate_image.
17991
cf353a47 179922009-05-14 Christian Franke <franke@computer.org>
17993
17994 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
17995 This fixes build on Cygwin.
17996
3834887f 179972009-05-14 Pavel Roskin <proski@gnu.org>
17998
17999 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18000 jump. This saves two bytes, so the typical case of 2 swapped
18001 drives would fit 32 bytes.
18002
8090fc01 180032009-05-13 Pavel Roskin <proski@gnu.org>
18004
ac963883 18005 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18006 grub_uint32_t to avoid a warning.
18007
8090fc01 18008 * loader/i386/linux.c (allocate_pages): When assigning
18009 real_mode_mem, cast through grub_size_t to fix a warning. The
18010 code already makes sure that the value would fit a pointer.
18011 (grub_linux_setup_video): Cast render_target->data to
18012 grub_size_t to fix a warning.
18013
18f547ad 180142009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 18015
18016 * commands/i386/pc/drivemap.c: New file - implement drivemap
18017 command.
18018 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18019 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18020
6f6a8b28 180212009-05-13 Pavel Roskin <proski@gnu.org>
18022
18023 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18024 embedding_area_exists.
18025
15fbf4c4 180262009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18027
18028 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18029 it easier to understand / work with.
59978c8a 18030 Improve warning messages for cases where there's no embedding area,
18031 or when it is too small (or core.img too large).
15fbf4c4 18032
238e871f 180332009-05-13 Pavel Roskin <proski@gnu.org>
18034
0ab3a9a4 18035 * loader/i386/pc/multiboot2.c: Add necessary includes for
18036 grub_multiboot2_real_boot().
18037
a2c8c5f8 18038 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18039 PX record is always little-endian. We only need the lower 2
18040 bytes of the mode.
18041
faec96af 18042 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18043 facilitate code reuse.
18044 (grub_cpio_mount): Use "struct head", not a char buffer. This
18045 fixes a warning reported by gcc 4.4.
18046
238e871f 18047 * kernel/disk.c (grub_disk_read): Use void pointer for the
18048 buffer.
18049 (grub_disk_write): Use const void pointer for the buffer.
18050 Adjust all callers. Remove unnecessary casts.
18051
901d2f0c 180522009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18053
18054 * util/i386/pc/grub-install.in: Update copyright year.
18055
18f547ad 180562009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 18057
18058 gptsync
18059
18060 * commands/gptsync.c: new file
18061 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18062 (gptsync_mod_SOURCES): new variable
18063 (gptsync_mod_CFLAGS): likewise
18064 (gptsync_mod_LDFLAGS): likewise
18f547ad 18065 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 18066 new definition
18067 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18068 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18069 * conf/i386-ieee1275.rmk: likewise
18070 * conf/i386-pc.rmk: likewise
18071 * conf/powerpc-ieee1275.rmk: likewise
18072
b4ba690a 180732009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 Fixed grub-emu
18076
18077 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18078 (grub_dl_ref): likewise
18079
317e1a44 180802009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18081
18082 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18083 split in two functions (one for msdos and one for gpt).
18084
041b8094 180852009-05-08 Pavel Roskin <proski@gnu.org>
18086
752473c2 18087 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18088 not modified.
18089
041b8094 18090 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18091 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18092 Initialize them with -1. Add sanity check for bad1. Eliminate
18093 nerr variable.
18094
172800ce 180952009-05-08 David S. Miller <davem@davemloft.net>
18096
18097 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18098
29aa5e81 180992009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18100
18101 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 18102 existence.
29aa5e81 18103
96613b62 181042009-05-05 Felix Zielcke <fzielcke@z-51.de>
18105
18106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 18107 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 18108
eef73c8a 181092009-05-05 David S. Miller <davem@davemloft.net>
18110
18111 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18112
119494b5 181132009-05-05 Pavel Roskin <proski@gnu.org>
18114
18115 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18116 of grub_dl_ref() and grub_dl_unref().
18117 * commands/parttool.c: Remove preprocessor conditionals around
18118 grub_dl_ref() and grub_dl_unref().
18119 * fs/affs.c: Likewise.
18120 * fs/afs.c: Likewise.
18121 * fs/cpio.c: Likewise.
18122 * fs/ext2.c: Likewise.
18123 * fs/fat.c: Likewise.
18124 * fs/hfs.c: Likewise.
18125 * fs/hfsplus.c: Likewise.
18126 * fs/iso9660.c: Likewise.
18127 * fs/jfs.c: Likewise.
18128 * fs/minix.c: Likewise.
18129 * fs/ntfs.c: Likewise.
18130 * fs/reiserfs.c: Likewise.
18131 * fs/sfs.c: Likewise.
18132 * fs/udf.c: Likewise.
18133 * fs/ufs.c: Likewise.
18134 * fs/xfs.c: Likewise.
18135 * include/grub/dl.h: Likewise.
18136 * loader/xnu.c: Likewise.
18137
de5fd76e 181382009-05-04 Pavel Roskin <proski@gnu.org>
18139
18140 * commands/acpi.c: Remove unused variable my_mod.
18141 * partmap/amiga.c: Likewise.
18142 * partmap/apple.c: Likewise.
18143 * partmap/gpt.c: Likewise.
18144 * partmap/pc.c: Likewise.
18145 * partmap/sun.c: Likewise.
18146 * term/gfxterm.c: Likewise.
18147 * term/i386/pc/vesafb.c: Likewise.
18148 * term/i386/pc/vga.c: Likewise.
18149
983598ad 181502009-05-04 David S. Miller <davem@davemloft.net>
18151
18152 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18153 pointer args to grub_ieee1275_get_property().
18154
8aadec43 18155 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18156
9554b15e 18157 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18158 devices, and do not traverse down under controller nodes.
18159
67e23c90 18160 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18161 (grub_ofdisk_open): Use it to un-escape "," characters.
18162 * kern/disk.c (find_part_sep): New.
18163 (grub_disk_open): Use it to find the first non-escaped ','
18164 character in the disk name.
18165 * util/ieee1275/devicemap.c (escape_of_path): New.
18166 (grub_util_emit_devicemap_entry): Use it.
18167 * util/sparc64/ieee1275/grub-install.in: Update script to
18168 strip partition specifiers properly by not triggering on
18169 '\' escaped ',' characters.
18170
74bfdd2f 181712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18172
18173 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18174 to 0x300.
18175 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18176 resolutions.
18177 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18178 on documentation from Wikipedia).
18179
4241d2b1 181802009-05-04 Pavel Roskin <proski@gnu.org>
18181
18182 * disk/ata.c: Spelling fixes.
18183 * disk/raid.c: Likewise.
18184 * disk/usbms.c: Likewise.
18185 * disk/dmraid_nvidia.c: Likewise.
18186 * kern/ieee1275/openfw.c: Likewise.
18187 * kern/ieee1275/init.c: Likewise.
18188 * kern/ieee1275/cmain.c: Likewise.
18189 * boot/i386/pc/cdboot.S: Likewise.
18190 * video/readers/png.c: Likewise.
18191 * video/i386/pc/vbe.c: Likewise.
18192 * fs/udf.c: Likewise.
18193 * fs/hfs.c: Likewise.
18194 * fs/reiserfs.c: Likewise.
18195 * efiemu/runtime/efiemu.c: Likewise.
18196 * efiemu/main.c: Likewise.
18197 * efiemu/mm.c: Likewise.
18198 * include/grub/elf.h: Likewise.
18199 * include/grub/xnu.h: Likewise.
18200 * include/grub/usbdesc.h: Likewise.
18201 * include/grub/usb.h: Likewise.
18202 * include/grub/script_sh.h: Likewise.
18203 * include/grub/lib/LzmaEnc.h: Likewise.
18204 * include/grub/efiemu/efiemu.h: Likewise.
18205 * include/grub/command.h: Likewise.
18206 * normal/menu.c: Likewise.
18207 * normal/main.c: Likewise.
18208 * normal/datetime.c: Likewise.
18209 * bus/usb/uhci.c: Likewise.
18210 * mmap/i386/uppermem.c: Likewise.
18211 * mmap/mmap.c: Likewise.
18212 * commands/acpi.c: Likewise.
18213 * commands/test.c: Likewise.
18214 * partmap/apple.c: Likewise.
18215 * font/font.c: Likewise.
18216 * loader/sparc64/ieee1275/linux.c: Likewise.
18217 * loader/macho.c: Likewise.
18218 * loader/i386/bsd_trampoline.S: Likewise.
18219 * loader/i386/bsd.c: Likewise.
18220 * loader/xnu.c: Likewise.
18221 * term/i386/pc/vesafb.c: Likewise.
18222 * term/usb_keyboard.c: Likewise.
18223 * util/resolve.c: Likewise.
18224 * util/getroot.c: Likewise.
18225
0cfc0083 182262009-05-04 Felix Zielcke <fzielcke@z-51.de>
18227
18228 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18229
7c1d00cd 182302009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18231
18232 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18233 build error.
18234
b01f0548 182352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18236
18237 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18238 parameter only available on BIOS.
18239
ecc3eb22 182402009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 Removed wrong semicolon in declaration
18243
18244 * grub/misc.h (grub_dprintf): remove semicolon
18245
112972a9 182462009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18247
18248 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18249 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18250 is done by grub_cmd_linux() now).
18251 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18252 restore video to text mode.
18253 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18254 indicates lack of "vga=" parameter. "vga=0" is mapped to
18255 `GRUB_LINUX_VID_MODE_NORMAL'.
18256
afd5c115 182572009-05-04 Felix Zielcke <fzielcke@z-51.de>
18258
18259 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18260 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18261 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 18262 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 18263 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18264 `grub_script.tab.c'.
18265
18266 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18267 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18268 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18269 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18270 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18271
faa517ce 18272 * Makefile.in: Remove duplicated 2008 in Copyright line.
18273
ae0c0bdc 182742009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18275
473d1e45 18276 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 18277 unconditionally.
18278 * include/grub/util/misc.h (grub_util_warn): New declaration.
18279
18280 * util/i386/pc/grub-install.in: Understand --force and pass it down
18281 to grub-setup.
18282
18283 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18284 down to setup().
18285 (setup): Improve error messages and add warnings when requested to
18286 install in odd layouts. Refuse to install using blocklists unless
18287 --force was set.
18288
18f547ad 182892009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 18290
18291 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18292
6d260daa 182932009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 Updated copyright year
18296
18297 * fs/hfsplus.c: updated copyright year
18f547ad 18298
69f853f8 182992009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 HFS+ UUID
18302
18f547ad 18303 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 18304 in the space previously used by unused3
18305 (grub_hfsplus_uuid): new function
18306 (grub_hfsplus_fs): added uuid field
18307
4c402e73 183082009-05-03 Pavel Roskin <proski@gnu.org>
18309
18310 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18311 suppress warnings. It's no longer needed.
18312 * disk/host.c: Likewise.
18313 * disk/ata_pthru.c: Likewise.
18314 * disk/loopback.c: Likewise.
18315 * hook/datehook.c: Likewise.
18316 * parttool/pcpart.c: Likewise.
18317 * fs/i386/pc/pxe.c: Likewise.
18318 * fs/ntfscomp.c: Likewise.
18319 * efiemu/main.c: Likewise.
18320 * mmap/mmap.c: Likewise.
18321 * commands/crc.c: Likewise.
18322 * commands/hexdump.c: Likewise.
18323 * commands/hdparm.c: Likewise.
18324 * commands/acpi.c: Likewise.
18325 * commands/echo.c: Likewise.
18326 * commands/minicmd.c: Likewise.
18327 * commands/blocklist.c: Likewise.
18328 * commands/memrw.c: Likewise.
18329 * commands/loadenv.c: Likewise.
18330 * commands/usbtest.c: Likewise.
18331 * commands/lsmmap.c: Likewise.
18332 * commands/boot.c: Likewise.
18333 * commands/parttool.c: Likewise.
18334 * commands/configfile.c: Likewise.
18335 * commands/search.c: Likewise.
18336 * commands/ieee1275/suspend.c: Likewise.
18337 * commands/cat.c: Likewise.
18338 * commands/i386/pc/pxecmd.c: Likewise.
18339 * commands/i386/pc/play.c: Likewise.
18340 * commands/i386/pc/halt.c: Likewise.
18341 * commands/i386/pc/vbeinfo.c: Likewise.
18342 * commands/i386/pc/vbetest.c: Likewise.
18343 * commands/lspci.c: Likewise.
18344 * commands/date.c: Likewise.
18345 * commands/handler.c: Likewise.
18346 * commands/ls.c: Likewise.
18347 * commands/test.c: Likewise.
18348 * commands/cmp.c: Likewise.
18349 * commands/efi/loadbios.c: Likewise.
18350 * commands/efi/fixvideo.c: Likewise.
18351 * commands/halt.c: Likewise.
18352 * commands/help.c: Likewise.
18353 * commands/reboot.c: Likewise.
18354 * hello/hello.c: Likewise.
18355 * script/sh/main.c: Likewise.
18356 * loader/xnu.c: Likewise.
18357 * term/terminfo.c: Likewise.
18358 * term/i386/pc/serial.c: Likewise.
18359 * term/usb_keyboard.c: Likewise.
18360
515b5079 183612009-05-03 David S. Miller <davem@davemloft.net>
18362
18363 * normal/menu.c: Include grub/parser.h
18364
dfc31a22 183652009-05-03 Pavel Roskin <proski@gnu.org>
18366
2fee74f1 18367 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18368 not char*.
18369 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18370 Suggested by Javier Martín <lordhabbit@gmail.com>
18371
dfc31a22 18372 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18373 efiemu??.o doesn't exist.
18374 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18375 copying.
18376
18f547ad 183772009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 18378
18379 FreeBSD 64-bit support
18380
18f547ad 18381 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 18382 and loader/i386/bsd_trampoline.S
18383 (bsd_mod_ASFLAGS): new variable
18384 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18385 (FREEBSD_MODTYPE_KERNEL64): likewise
18386 (grub_bsd64_trampoline_start): likewise
18387 (grub_bsd64_trampoline_end): likewise
18388 (grub_bsd64_trampoline_selfjump): likewise
18389 (grub_bsd64_trampoline_gdt): likewise
18390 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18391 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18392 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18393 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 18394 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 18395 of "attrib" member
18396 * loader/i386/bsd_pagetable.c: new file
18397 * loader/i386/bsd_trampoline.S: likewise
18398 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18399 (ALIGN_VAR): likewise
18400 (entry_hi): new variable
18401 (kern_end_mdofs): likewise
18402 (is_64bit): likewise
18403 (grub_freebsd_add_meta): use ALIGN_VAR
18404 (grub_e820_mmap): new declaration
18405 (grub_freebsd_add_mmap): new function
18406 (grub_freebsd_add_meta_module): support 64 bit kernels
18407 (grub_freebsd_list_modules): use ALIGN_VAR
18408 (gdt_descriptor): new declaration
18409 (grub_freebsd_boot): support 64 bit kernels
18410 (grub_bsd_elf64_hook): new function
18411 (grub_bsd_load_elf): support elf64
18412
038c5720 184132009-05-03 Bean <bean123ch@gmail.com>
18414
18415 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18416 after we get the result of if statement.
18417
fc45fb58 184182009-05-03 Bean <bean123ch@gmail.com>
18419
18420 * Makefile.in (enable_efiemu): New variable.
18421
18422 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18423 set.
18424 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18425 path.
18426 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18427 path, add -mno-red-zone option.
18428 (efiemu64_s.o): Likewise.
18429 (efiemu64.o): Use macro $^ for source file.
18430
18431 * configure.ac (--enable-efiemu): New option.
18432
bbee0f2b 184332009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18434
18435 xnu support
18436
18437 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18438 (pkglib_MODULES): add xnu.mod
18439 (xnu_mod_SOURCES): new variable
18440 (xnu_mod_CFLAGS): likewise
18441 (xnu_mod_LDFLAGS): likewise
18442 (xnu_mod_ASFLAGS): likewise
18443 * conf/i386-pc.rmk: likewise
18444 * conf/x86_64-efi.rmk: likewise
7dd4a573 18445 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 18446 new declaration
18447 * include/grub/i386/macho.h: new file
18448 * include/grub/i386/xnu.h: likewise
18449 * include/grub/macho.h: likewise
18450 * include/grub/machoload.h: likewise
18451 * include/grub/x86_64/macho.h: likewise
18452 * include/grub/x86_64/xnu.h: likewise
18453 * include/grub/xnu.h: likewise
18454 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18455 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18456 * loader/i386/efi/xnu.c: new file
18457 * loader/i386/pc/xnu.c: likewise
18458 * loader/i386/xnu.c: likewise
18459 * loader/i386/xnu_helper.S: likewise
18460 * loader/macho.c: likewise
18461 * loader/xnu.c: likewise
18462 * loader/xnu_resume.c: likewise
18463 * util/grub-dumpdevtree: likewise
18464 * include/grub/i386/pit.h: include grub/err.h
18465 (grub_pit_wait): export
18466 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 18467
5caf964d 184682009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 Efiemu
7dd4a573 18471
5caf964d 18472 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 18473 _linux_efi, linux_efi.
18474 new files in grub-emu
5caf964d 18475 new targets efiemu32.o and efiemu64.o
18476 * loader/linux_normal_efiemu.c: likewise
18477 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 18478 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 18479 files to copy
18480 * include/grub/autoefi.h: new file
7dd4a573 18481 * include/grub/i386/efiemu.h: likewise
5caf964d 18482 * include/grub/i386/pc/efiemu.h: likewise
18483 * include/grub/efi/api.h: add LL suffix when necessary
18484 new definitions relating to tables
18485 * include/grub/efiemu/efiemu.h: new file
18486 * include/grub/efiemu/runtime.h: likewise
18487 * efiemu/prepare.c: likewise
18488 * efiemu/loadcore_common.c: likewise
18489 * efiemu/loadcore64.c: likewise
18490 * efiemu/runtime/efiemu.sh: likewise
18491 * efiemu/runtime/efiemu.S: likewise
18492 * efiemu/runtime/efiemu.c: likewise
18493 * efiemu/runtime/config.h: likewise
18494 * efiemu/prepare32.c: likewise
18495 * efiemu/main.c: likewise
18496 * efiemu/modules/pnvram.c: likewise
18497 * efiemu/modules/i386: likewise
18498 * efiemu/modules/i386/pc: likewise
18499 * efiemu/modules/acpi.c: likewise
18500 * efiemu/i386/pc/cfgtables.c: likewise
18501 * efiemu/i386/loadcore64.c: likewise
18502 * efiemu/i386/loadcore32.c: likewise
18503 * efiemu/prepare64.c: likewise
18504 * efiemu/loadcore.c: likewise
18505 * efiemu/symbols.c: likewise
18506 * efiemu/mm.c: likewise
18507 * efiemu/loadcore32.c: likewise
7dd4a573 18508
185092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 18510
18511 ACPI spoofing
18512
18513 * commands/acpi.c: new file
18514 * commands/i386/pc/acpi.c: likewise
18515 * commands/efi/acpi.c: likewise
18516 * include/grub/acpi.h: likewise
18517 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18518 (acpi_mod_SOURCES): new variable
18519 (acpi_mod_CFLAGS): likewise
18520 (acpi_mod_LDFLAGS): likewise
18521 * conf/i386-efi.rmk: likewise
18522 * conf/x86_64-efi.rmk: likewise
18523
7dd4a573 185242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 18525
18526 Missing part from mmap patch
18527
18528 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18529 (grub_mmap_unregister)
18530 (grub_mmap_free_and_unregister): use grub_mmap_register
18531
7dd4a573 185322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 18533
18534 Mmap services
18535
18536 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18537 * loader/i386/linux.c (find_mmap_size): likewise
18538 (allocate_pages): likewise
18539 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18540 (grub_fill_multiboot_mmap): likewise
18541 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18542 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18543 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18544 (OPENBSD_MMAP_RESERVED): likewise
18545 * include/grub/i386/pc/memory.h: include grub/memory.h
18546 (grub_lower_mem): removed
18547 (grub_upper_mem): likewise
18548 (GRUB_MACHINE_MEMORY_ACPI): new definition
18549 (GRUB_MACHINE_MEMORY_NVS): likewise
18550 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
18551 (GRUB_MACHINE_MEMORY_HOLE): likewise
18552 (grub_machine_mmap_register): likewise
18553 (grub_machine_mmap_unregister): likewise
18554 (grub_machine_get_upper): likewise
18555 (grub_machine_get_lower): likewise
18556 (grub_machine_get_post64): likewise
18557 * include/grub/i386/efi/memory.h: new file
18558 * include/grub/x86_64/efi/memory.h: likewise
18559 * include/grub/efi/memory.h: likewise
18560 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
18561 (mmap_mod_SOURCES): new variable
18562 (mmap_mod_LDFLAGS): likewise
18563 (mmap_mod_ASFLAGS): likewise
18564 * conf/i386-coreboot.rmk: likewise
18565 * conf/i386-ieee1275.rmk: likewise
18566 * conf/i386-efi.rmk: likewise
18567 * conf/x86_64-efi.rmk: likewise
18568 * include/grub/types.h (UINT_TO_PTR): new macro
18569 (PTR_TO_UINT32): likewise
18570 (PTR_TO_UINT64): likewise
18571 * include/grub/memory.h: new file
18572 * mmap/i386/pc/mmap.c: likewise
18573 * mmap/i386/pc/mmap_helper.S: likewise
18574 * mmap/i386/uppermem.c: likewise
18575 * mmap/mmap.c: likewise
18576 * mmap/efi/mmap.c: likewise
7dd4a573 18577 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 18578 grub_upper_mem
18579 * kern/i386/pc/init.c (grub_lower_mem): removed variable
18580 (grub_upper_mem): likewise
18581 (grub_machine_init): don't use grub_upper_mem,
18582 make grub_lower_mem local
18583 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
18584 grub_mmap_iterate and grub_mmap_get_upper
18585 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
18586
d558e6b5 185872009-05-02 Bean <bean123ch@gmail.com>
18588
18589 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
18590 script/sh/parser.y.
18591 (pkglib_MODULES): Add normal.mod and sh.mod.
18592 (normal_SOURCES): New variable.
18593 (normal_mod_CFLAGS): Likewise.
18594 (normal_mod_LDFLAGS): Likewise.
18595 (sh_mod_SOURCES): Likewise.
18596 (sh_mod_CFLAGS): Likewise.
18597 (sh_mod_LDFLAGS): Likewise.
18598
18599 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
18600 script/sh/lexer.c_DEPENDENCIES.
18601 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
18602 kern/rescue_reader.c and kern/rescue_parser.c.
18603 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
18604 (grub_emu_SOURCES): Change source files.
18605 (pkglib_MODULES): Remove normal.mod.
18606 (normal_SOURCES): Removed.
18607 (normal_mod_CFLAGS): Likewise.
18608 (normal_mod_LDFLAGS): Likewise.
18609 * conf/i386-coreboot.rmk: Likewise.
18610 * conf/i386-efi.rmk: Likewise.
18611 * conf/i386-ieee1276.rmk: Likewise.
18612 * conf/powerpc-ieee1275.rmk: Likewise.
18613 * conf/sparc64-ieee1275.rmk: Likewise.
18614 * conf/x86_64-efi.rmk: Likewise.
18615
18616 * include/grub/command.h (grub_command_execute): New inline function.
18617
18618 * include/grub/menu.h (grub_menu_entry): Removed commands field.
18619
18620 * include/grub/normal.h: Remove <grub/setjmp.h>.
18621 (grub_fs_module_list): Moved to normal/autofs.c.
18622 (grub_exit_env): Removed.
18623 (grub_command_execute): Likewise.
18624 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
18625 parameter script.
18626 (read_command_list): New function declaration.
18627 (read_fs_list): Likewise.
18628
18629 * include/parser.h: Include <grub/reader.h>.
18630 (grub_parser_split_cmdline): Change type of getline parameter.
18631 (grub_parser): New structure.
18632 (grub_parser_class): New variable.
18633 (grub_parser_execute): New function declaration.
18634 (grub_register_rescue_parser): Likewise.
18635 (grub_parser_register): New inline function.
18636 (grub_parser_unregister): Likewise.
18637 (grub_parser_get_current): Likewise.
18638 (grub_parser_set_current): Likewise.
18639
18640 * include/grub/reader.h: New file.
18641 * kern/reader.c: Likewise.
18642 * kern/rescue_parser.c: Likewise.
18643 * kern/rescue_reader.c: Likewise.
18644 * normal/autofs.c: Likewise.
18645 * normal/dyncmd.c: Likewise.
18646
18647 * include/grub/rescue.h: Removed.
18648 * normal/command.h: Likewise.
18649
18650 * include/grub/script.h: Moved to ...
18651 * include/grub/script_sh.h: ... Moved here.
18652 * normal/execute.c: Moved to ...
18653 * script/sh/execute.c: ... Moved here.
18654 * normal/function.c: Moved to ...
18655 * script/sh/function.c: ... Moved here.
18656 * normal/lexer.c: Moved to ...
18657 * script/sh/lexer.c: ... Moved here.
18658 * normal/parser.y: Moved to ...
18659 * script/sh/parser.y: ... Moved here.
18660 * normal/script.c: Moved to ...
18661 * script/sh/script.c: ... Moved here.
18662
18663 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
18664 <grub/reader.h>.
18665 (grub_exit_env): Removed.
18666 (fs_module_list): Moved to normal/autofs.c.
18667 (grub_file_getline): Don't handle comment here.
18668 (free_menu): Skip removed field entry->commands.
18669 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
18670 script parameter.
18671 (read_config_file): Removed nested parameter, change getline function.
18672 (grub_enter_normal_mode): Removed.
18673 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
18674 (read_command_list): Likewise.
18675 (autoload_fs_module): Moved to normal/autofs.c.
18676 (read_fs_list): Likewise.
18677 (reader_nested): New variable.
18678 (grub_normal_execute): Run parser.sh to switch to sh parser.
18679 (grub_cmd_rescue): Removed.
18680 (cmd_normal): Removed.
18681 (grub_cmd_normal): Unregister itself at the beginning. Don't register
18682 rescue command.
18683 (grub_cmdline_run): New function.
18684 (grub_normal_reader_init): Likewise.
18685 (grub_normal_read_line): Likewise.
18686 (grub_env_write_pager): Likewise.
18687 (cmdline): New variable.
18688 (grub_normal_reader): Likewise.
18689 (GRUB_MOD_INIT): Register normal reader and set as current, register
18690 pager hook, register normal command with grub_register_command_prio,
18691 so that it won't show up in command.lst.
18692 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
18693 grub_fs_autoload_hook.
18694
18695 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
18696 (grub_menu_execute_entry): Replace grub_script_execute with
18697 grub_parser_execute, change parameter to grub_command_execute.
18698
18699 * normal/menu_text.c: Remove <grub/script.h>.
18700
18701 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
18702 and <grub/parser.h>.
18703 (run): Change editor_getline to use new parser interface. Change
18704 parameter to grub_command_execute.
18705
18706 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
18707 <grub/reader.h> and <grub/parser.h>.
18708 (grub_load_normal_mode): Execute normal command.
18709 (grub_main): Call grub_register_core_commands,
18710 grub_register_rescue_parser and grub_register_rescue_reader, use
18711 grub_reader_loop to enter input loop.
18712
7dd4a573 18713 * kern/parser.c (grub_parser_split_cmdline): Change type of
18714 getline parameter.
d558e6b5 18715 (grub_parser_class): New variable.
18716 (grub_parser_execute): New function.
18717
18718 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
18719 * loader/multiboot2.c: Likewise.
18720 * loader/sparc64/ieee1275/linux.c: Likewise.
18721
18722 * util/grub-emu.c (read_command_list): New dummy function.
18723
18db813d 187242009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18725
18726 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
18727 count to 16 for CCISS and IDA.
18728
6c67de15 187292009-05-02 Robert Millan <rmh.grub@aybabtu.com>
18730
18731 * normal/menu_text.c (grub_wait_after_message): Print a newline
18732 after waiting for user input.
18733
18734 * loader/i386/linux.c: Include `<grub/normal.h>'.
18735 (grub_cmd_linux): Improve the error message about `ask' mode, by
18736 waiting for user input so it's not missed (we can do this, since
18737 user requested interaction).
18738
d9dc87b0 187392009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18740
18741 Added missing lst to grub-mkrescue
18742
18743 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
18744 and ${input_dir}/parttool.lst
18745
ac8a2baa 187462009-04-30 David S. Miller <davem@davemloft.net>
18747
ad22a610 18748 * util/hostdisk.c (device_is_wholedisk): New function.
18749 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
18750 zero only if device_is_wholedisk() returns true.
18751
6966215d 18752 * util/hostdisk.c (convert_system_partition_to_system_disk):
18753 Handle virtual disk devices named /dev/vdiskX as found on sparc
18754 and powerpc.
18755
ac8a2baa 18756 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
18757 lettered partition specifier is found, convert to numbered.
18758
979b4fb4 187592009-04-29 David S. Miller <davem@davemloft.net>
18760
e2bf39b2 18761 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
18762 * include/grub/sparc64/ieee1275/memory.h: Likewise.
18763
3c64e104 18764 * normal/command.c: Add missing newline at end of file.
18765
979b4fb4 18766 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
18767 warnings.
18768 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
18769 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
18770 grub_ofdisk_read): Likewise, and deal similarly with the fact that
18771 ihandles have a 32-bit type but need to be stored in a "void *".
18772
136d9f82 187732009-04-28 Pavel Roskin <proski@gnu.org>
18774
9459c306 18775 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
18776 not disk. Adjust all dependencies.
2e08a26a 18777 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 18778 grub_disk_close().
18779
136d9f82 18780 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
18781 parent's partition, don't copy it by reference, as it gets freed
18782 on close.
18783
7dd4a573 187842009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 18785
18786 Preboot hooks support
18787
18788 * commands/boot.c (struct grub_preboot_t): new declaration
18789 (preboots_head): new variable
18790 (preboots_tail): likewise
18791 (grub_loader_register_preboot_hook): new function
18792 (grub_loader_unregister_preboot_hook): likewise
18793 (grub_loader_set): launch preboot hooks
18794 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
18795 (grub_loader_register_preboot_hook): new declaration
18796 (grub_loader_unregister_preboot_hook): likewise
18797
5af922b5 187982009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
18799
18800 Warning fix
18801
7dd4a573 18802 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 18803 calling grub_dprintf
18804
a5562c30 188052009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 Bug and warning fixes
18808
7dd4a573 18809 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 18810 declaration
18811 * commands/test.c (test_parse): fixed bug with file tests and corrected
18812 declaration of find_file
18813
4006f85c 188142009-04-26 Pavel Roskin <proski@gnu.org>
18815
18816 * Makefile.in: Don't install empty manual pages if help2man is
18817 missing. Use help2man option for output, not shell redirection.
18818
5c77c3de 188192009-04-26 David S. Miller <davem@davemloft.net>
18820
18821 * util/grub-mkdevicemap.c (make_device_map): Add missing
18822 NESTED_FUNC_ATTR to process_device().
18823
033b10a8 188242009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 Test command
18827
18828 * commands/test.c: rewritten to use bash-like test
18829
e4343593 188302009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18831
18832 Parttool autoloading and improvements
18833
7dd4a573 18834 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 18835 (parttool.lst): new target
18836 * genmk.rb: generate parttool-*
18837 (CLEANFILES): add #{parttool}
18838 (PARTTOOLFILES): new variable
18839 * genparttoollist.sh: new file
7dd4a573 18840 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 18841 (grub_pcpart_type): likewise
18842 * commands/parttool.c (helpmsg): new variable
18843 (grub_cmd_parttool): output help if not enough arguments are supplied
18844 autoload modules
18845 (GRUB_MOD_INIT(parttool)): use helpmsg
18846
0d312500 188472009-04-24 David S. Miller <davem@davemloft.net>
18848
7dd4a573 18849 Avoiding opening same device multiple times in device iterator.
0d312500 18850
18851 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 18852 and use it to build a list of partitions in iterate_disk() and
0d312500 18853 iterate_partition().
18854
ac20caff 18855 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
18856 on disk->data.
18857
0dcf7495 18858 * disk/ieee1275/nand.c (grub_nand_iterate): Return
18859 grub_devalias_iterate() result instead of unconditional 0.
18860 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
18861 Also, capture hook return value, either directly or via
18862 grub_children_iterate(), and propagate to caller.
18863 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
18864 grub_children_iterate): Return value is now 'int' instead of
18865 'grub_err_t'.
18866 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
18867 like a proper iterator, stopping when hooks return non-zero.
18868 (grub_devalias_iterate): Likewise.
18869
c8c08833 188702009-04-23 David S. Miller <davem@davemloft.net>
18871
18872 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
18873
f01005a8 188742009-04-22 David S. Miller <davem@davemloft.net>
18875
18876 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
18877 is larger than address_cells, use that value for address_cells too.
18878
4e8269da 18879 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
18880 IEEE1275_MAX_PATH_LEN): Define.
18881 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
18882 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
18883 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
18884 'devtype'. Explicitly NULL terminate devalias expansion.
18885
a1447506 18886 * util/sparc64/ieee1275/misc.c: New file.
18887 * util/sparc64/ieee1275/grub-setup.c: New file.
18888 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
18889 * util/sparc64/ieee1275/grub-mkimage.c: New file.
18890 * util/sparc64/ieee1275/grub-install.in: New file.
18891 * util/ieee1275/ofpath.c: New file.
18892 * util/ieee1275/devicemap.c: New file.
18893 * util/devicemap.c: New file.
18894 * util/deviceiter.c: New file.
18895 * kern/sparc64/ieee1275/init.c: New file.
18896 * include/grub/util/ofpath.h: New file.
18897 * include/grub/util/deviceiter.h: New file.
18898 * util/grub-mkdevicemap.c: Include deviceiter.h.
18899 Implement using grub_util_emit_devicemap_entry and
18900 grub_util_iterate_devices.
18901 * conf/i386-corebook.rmk: Build util/deviceiter.c and
18902 util/devicemap.c into grub-mkdevicemap
18903 * conf/i386-efi.rmk: Likewise.
18904 * conf/i386-ieee1275.rmk: Likewise.
18905 * conf/i386-pc.rmk: Likewise.
18906 * conf/powerpc-ieee1275.rmk: Likewise.
18907 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
18908 images and installation utilities. Build kernel as image
18909 instead of as elf binary. Use common rules as much as possible.
18910
7dd4a573 189112009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 18912
18913 Correct GPT definition
18914
7dd4a573 18915 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 18916 of "attrib" member
18917
c6c5219f 189182009-04-19 Felix Zielcke <fzielcke@z-51.de>
18919
18920 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
18921
0552ff9f 189222009-04-19 David S. Miller <davem@davemloft.net>
18923
18924 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
18925 (grub_rescue_cmd_linux): Rename to...
18926 (grub_cmd_linux): and fix prototype.
18927 (grub_rescue_cmd_initrd): Rename to...
18928 (grub_cmd_initrd): and fix prototype.
18929 (cmd_linux, cmd_initrd): New.
18930 (GRUB_MOD_INIT(linux)): Use grub_register_command().
18931 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
18932
d1a282fc 189332009-04-17 Pavel Roskin <proski@gnu.org>
18934
07c5039f 18935 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
18936 format.
18937 (grub_ohci_transfer): Likewise.
18938
b012002d 18939 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
18940
1bc09c35 18941 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
18942 return without a value. Fix inconsistent indentation.
18943
e0ff9126 18944 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
18945 match struct grub_fs.
18946
d1a282fc 18947 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
18948 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
18949 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
18950 * commands/lspci.c (grub_lspci_iter): Likewise.
18951
a96df3f2 189522009-04-16 Bean <bean123ch@gmail.com>
18953
18954 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
18955 value.
18956
41bb0fe9 189572009-04-15 Pavel Roskin <proski@gnu.org>
18958
18959 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
18960 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
18961 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
18962 definitions.
18963
596c6970 189642009-04-15 Felix Zielcke <fzielcke@z-51.de>
18965
18966 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 18967 that no multiple data or metadata areas are supported and `Unknown
596c6970 18968 metadata header'.
18969
7dd4a573 189702009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 18971
18972 Move loader out of the kernel
18973
18974 * kern/loader.c: moved to ...
18975 * commands/boot.c: ... moved here
18976 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
18977 * commands/boot.c (grub_cmd_boot): moved here. All users updated
18978 * include/grub/kernel.h (grub_machine_fini): export
18979 * include/grub/loader.h (grub_loader_is_loaded): update declaration
18980 (grub_loader_set): likewise
18981 (grub_loader_unset): likewise
18982 (grub_loader_boot): likewise
18983 * conf/common.rmk: new module boot.mod
18984 (pkglib_MODULES): add boot.mod
18985 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
18986 (grub_emu_SOURCES): likewise
18987 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
18988 (grub_emu_SOURCES): likewise
18989 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
18990 (grub_emu_SOURCES): likewise
18991 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
18992 (grub_emu_SOURCES): likewise
18993 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
18994 (grub_emu_SOURCES): likewise
7dd4a573 18995 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
18996 (grub_emu_SOURCES): likewise
0d5d5653 18997 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 18998 (grub_emu_SOURCES): likewise
0d5d5653 18999
7dd4a573 190002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 19001
19002 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 19003
5999d619 19004 * kern/misc.c (grub_itoa): Removed function
19005 (grub_ltoa): likewise
19006 (grub_vsprintf): use grub_lltoa
19007
7dd4a573 190082009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 19009
19010 Restore grub-emu
19011
19012 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19013 * conf/i386-coreboot.rmk: likewise
19014 * conf/i386-ieee1275.rmk: likewise
19015 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19016
20318222 190172009-04-15 Felix Zielcke <fzielcke@z-51.de>
19018
19019 * INSTALL: Add that `./autogen.sh' needs to be run before
19020 `./configure.'.
19021
d05f0df3 190222009-04-14 Bean <bean123ch@gmail.com>
19023
19024 * Makefile.in (pkglib_DATA): Add handler.lst.
19025 (handler.lst): New rule.
19026
19027 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19028 * conf/i386-coreboot.rmk: Likewise.
19029 * conf/i386-ieee1275.rmk: Likewise.
19030 * conf/i386-efi.rmk: Likewise.
19031 * conf/x86_64-efi.rmk: Likewise.
19032 * conf/powerpc-ieee1275.rmk: Likewise.
19033 * conf/sparc64-ieee1275.rmk: Likewise.
19034
19035 * genhandlerlist.sh: New file.
19036
19037 * genmk.rb: Add rules to generate handler.lst.
19038
19039 * include/grub/normal.h (grub_file_getline): New function definition.
19040 (read_handler_list): Likewise.
19041 (free_handler_list): Likewise.
19042
19043 * include/grub/term.h (grub_term_register_input): Add name parameter
19044 for auto generation of handler.lst.
19045 (grub_term_register_output): Likewise.
19046
19047 * normal/handler.c: New file.
19048
19049 * normal/main.c (get_line): Renamed to grub_file_getline.
19050 (read_config_file): Use the newly renamed grub_file_getline.
19051 (read_command_list): Likewise.
19052 (read_fs_list): Likewise.
19053 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19054 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19055
19056 * term/efi/console.c (grub_console_init): Add name parameter for auto
19057 generation of handler.lst.
19058 * term/gfxterm.c: Likewise.
19059 * term/i386/pc/at_keyboard.c: Likewise.
19060 * term/i386/pc/console.c: Likewise.
19061 * term/i386/pc/serial.c: Likewise.
19062 * term/i386/pc/vesafb.c: Likewise.
19063 * term/i386/pc/vga.c: Likewise.
19064 * term/i386/pc/vga_text.c: Likewise.
19065 * term/ieee1275/ofconsole.c: Likewise.
19066 * term/usb_keyboard.c: Likewise.
19067
33c846be 190682009-04-14 Bean <bean123ch@gmail.com>
19069
19070 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19071 properly with null character.
19072
4484e01e 190732009-04-14 Felix Zielcke <fzielcke@z-51.de>
19074
19075 * configure: Remove.
19076 * config.h.in: Likewise.
f93d668e 19077 * stamp-h.in: Likewise.
4484e01e 19078 * DISTLIST: Likewise.
19079 * conf/common.mk: Likewise.
19080 * conf/i386-coreboot.mk: Likewise.
19081 * conf/i386-efi.mk: Likewise.
19082 * conf/i386-ieee1275.mk: Likewise.
19083 * conf/i386.mk: Likewise.
19084 * conf/i386-pc.mk: Likewise.
19085 * conf/powerpc-ieee1275.mk: Likewise.
19086 * conf/sparc64-ieee1275.mk: Likewise.
19087 * conf/x86_64-efi.mk: Likewise.
19088
19089 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19090 develop on GRUB.
19091
7dd4a573 190922009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 19093 David S. Miller <davem@davemloft.net>
19094
19095 * util/hostdisk.c (make_device_name): Fix buffer length
19096 calculations.
19097
e25b5a8c 190982009-04-14 Felix Zielcke <fzielcke@z-51.de>
19099
19100 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19101 <sys/param.h> and <sys/sysctl.h>.
19102 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19103 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19104 opening the device and reset them afterwards.
19105
1f1f580c 191062009-04-13 Pavel Roskin <proski@gnu.org>
19107
19108 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19109 Reported by John Stanley <jpsinthemix@verizon.net>
19110
7ebc2d6b 191112009-04-13 Robert Millan <rmh@aybabtu.com>
19112
19113 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 19114 that name for menuentries when appropriate.
7ebc2d6b 19115
d8ba3667 191162009-04-13 Felix Zielcke <fzielcke@z-51.de>
19117
19118 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19119
cba416eb 191202009-04-13 Robert Millan <rmh@aybabtu.com>
19121
19122 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19123 to Linux, simply abort telling the user it's no longer supported.
19124
a547a745 191252009-04-13 Felix Zielcke <fzielcke@z-51.de>
19126
19127 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 19128 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 19129 `freebsd_loadenv' only when devices.hints exist.
19130
232a769c 191312009-04-13 Pavel Roskin <proski@gnu.org>
19132
19133 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19134
c3012039 191352009-04-13 Felix Zielcke <fzielcke@z-51.de>
19136
19137 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19138 partition number.
19139 (grub_drive): Likewise.
19140
234022fe 191412009-04-13 David S. Miller <davem@davemloft.net>
19142
19143 * kern/sparc64/ieee1275/ieee1275.c: New file.
19144 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19145 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19146 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19147 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19148 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19149 grub_ieee1275_alloc_physmem): Declare new exported functions.
19150
d8e1836c 19151 * include/grub/sparc64/ieee1275/loader.h: New file.
19152 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19153 * include/grub/sparc64/kernel.h: Likewise.
19154 * loader/sparc64/ieee1275/linux.c: Likewise.
19155
96bd81ec 19156 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19157 (grub_fstest_SOURCES): Likewise.
19158
6a4737e5 19159 * util/hostdisk.c (make_device_name): Do not make any assumptions
19160 about the length of drive names.
19161
1d7a72fd 19162 * kern/dl.c (grub_dl_load_file): Close file immediately when
19163 we are done using it.
19164
56bc2471 191652009-04-12 David S. Miller <davem@davemloft.net>
19166
19167 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19168 values. Noticed by Pavel Roskin.
19169
df38d0bb 19170 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19171 target compiler.
7dd4a573 19172
e382e93a 19173 * genmk.rb: Add more flexible image type specification, also
19174 pass --strip-unneeded to objcopy.
19175 * conf/i386-pc.rmk: Use *_FORMAT.
19176 * conf/i386-pc.mk: Rebuilt.
19177
f5dbbca9 19178 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19179 (OFDISK_HASH_SZ): Define.
19180 (ofdisk_hash): New hash table.
19181 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19182 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19183 instead of device phandle which is not unique.
19184
91c88b12 19185 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19186 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19187 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19188 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19189 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19190 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19191 GRUB_KERNEL_MACHINE_DATA_END): Define.
19192 (grub_kernel_image_size, grub_total_module_size): Declare.
19193
5b5d4aa5 191942009-04-12 Pavel Roskin <proski@gnu.org>
19195
7dd4a573 19196 * configure.ac: Change the logic when we check for target tools.
19197 Do it when the target is specified and it's different from the
19198 specified value of the host.
5b5d4aa5 19199
c91e1793 192002009-04-11 Felix Zielcke <fzielcke@z-51.de>
19201
19202 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19203 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19204 GNU/kFreeBSD. Check if a device is a character device. Use
19205 DIOCGMEDIASIZE to get the size.
19206 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19207 support for GNU/kFreeBSD.
19208 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19209 is a character device instead of a block device. Add support for
19210 FreeBSD device names.
19211
19212 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19213 is a character device instead of a block device.
19214
19215 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19216 is a character device instead of a block device.
19217
b1ac8644 192182009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19219
19220 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19221 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19222 FreeBSD. Check if a device is a character device. Use
19223 DIOCGMEDIASIZE to get the size.
19224 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19225 support for FreeBSD.
19226 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19227 is a character device instead of a block device. Add support for
19228 FreeBSD device names.
19229
19230 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19231 a character device instead of a block device.
19232 (grub_util_check_char_device): New function.
19233
19234 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19235 a character device instead of a block device.
19236
19237 * include/grub/util/getroot.h (grub_util_check_char_device): New
19238 prototype.
19239
a3f7515a 192402009-04-11 David S. Miller <davem@davemloft.net>
19241
19242 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19243 static libgcc.
19244 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19245 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19246 function, if present.
19247 (__bswapdi2): Likewise.
19248
0d44993d 19249 * include/grub/sparc64/ieee1275/boot.h: New file.
19250 * boot/sparc64/ieee1275/boot.S: Likewise.
19251 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19252
ed3d2bc2 19253 * kern/misc.c (grub_ltoa): New function.
19254 (grub_vsprintf): Use it to format 'long' integers.
19255
d3bfb59c 192562009-04-10 David S. Miller <davem@davemloft.net>
19257
19258 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19259 slots are of type grub_ieee1275_cell_t.
19260 (grub_nand_read): Likewise.
19261 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19262 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19263 macros are used to compare values in arg/ret block of the call.
19264 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19265 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19266 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19267 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19268 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19269 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19270 grub_ieee1275_close, grub_ieee1275_set_property,
19271 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19272 grub_ieee1275_cell_t.
19273 * kern/ieee1275/openfw.c (grub_map): Likewise.
19274 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19275 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19276
450e2238 19277 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19278 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19279 (grub_devalias_iterate): Likewise.
19280
7dd4a573 192812009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 19282
19283 UFS improvements
19284
19285 * fs/ufs.c (INODE_NBLOCKS): new definition
19286 (struct grub_ufs_dirent): added fields for non-BSD dirents
19287 (grub_ufs_get_file_block): fixed double indirect handling
19288 (grub_ufs_lookup_symlink): use more robust way to determine whether
19289 symlink is inline
19290 (grub_ufs_find_file): support for non-BSD dirents
19291 (grub_ufs_dir): support for non-BSD dirents
19292
e7e6862a 192932009-04-10 Bean <bean123ch@gnail.com>
19294
19295 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19296 attribute, otherwise the size would be wrong for i386 platform.
19297
19298 * include/grub/pci.h (grub_pci_read_word): New inline function.
19299 (grub_pci_read_byte): Likewise.
19300 (grub_pci_write): Likewise.
19301 (grub_pci_write_word): Likewise.
19302 (grub_pci_write_byte): Likewise.
19303
19304 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19305
19306 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19307 (find_framebuf): Scan pci to locate the frame buffer address.
19308
19309 * commands/efi/fixvideo.c: New file.
19310
19311 * commands/efi/loadbios.c: Likewise.
19312
19313 * commands/memrw.c: Likewise.
19314
19315 * util/grub-dumpbios.in: Likewise.
19316
19317 * conf/common.rmk (grub-dumpbios): New utility.
19318 (pkglib_MODULES): New module memrw.mod.
19319 (memrw_mod_SOURCE): New macro.
19320 (memrw_mod_CFLAGS): Likewise.
19321 (memrw_mod_LDFLAGS): Likewise.
19322
7dd4a573 19323 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 19324 fixvideo.mod.
19325 (loadbios_mod_SOURCE): New macro.
19326 (loadbios_mod_CFLAGS): Likewise.
19327 (loadbios_mod_LDFLAGS): Likewise.
19328 (fixvideo_mod_SOURCE): Likewise.
19329 (fixvideo_mod_CFLAGS): Likewise.
19330 (fixvideo_mod_LDFLAGS): Likewise.
19331
7dd4a573 19332 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 19333 fixvideo.mod.
19334 (loadbios_mod_SOURCE): New macro.
19335 (loadbios_mod_CFLAGS): Likewise.
19336 (loadbios_mod_LDFLAGS): Likewise.
19337 (fixvideo_mod_SOURCE): Likewise.
19338 (fixvideo_mod_CFLAGS): Likewise.
19339 (fixvideo_mod_LDFLAGS): Likewise.
19340
af63ada2 193412009-04-08 Felix Zielcke <fzielcke@z-51.de>
19342
19343 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19344
c2cdde70 193452009-04-07 David S. Miller <davem@davemloft.net>
19346
19347 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19348 support for R_SPARC_OLO10 relocations. Fix compile warning for
19349 R_SPARC_WDISP30 case.
ea3f72cf 19350 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 19351
761319cf 193522009-04-06 Pavel Roskin <proski@gnu.org>
19353
1007d1f5 19354 * include/grub/misc.h (ARRAY_SIZE): New macro.
19355 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19356 New macro.
19357 * loader/i386/linux.c (allocate_pages): Use free_pages().
19358 (grub_linux_unload): Don't use free_pages().
19359 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19360 wrong index. Treat all other modes as text modes.
19361 (grub_cmd_linux): Initialize vid_mode unconditionally to
19362 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19363
761319cf 19364 * commands/help.c (print_command_help): Use cmd->prio, not
19365 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19366
ea761d40 193672009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 19368
ea761d40 19369 Parttool
19370
19371 * parttool/pcpart.c: new file
19372 * commands/parttool.c: likewise
19373 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19374 (parttool_mod_SOURCES): new variable
19375 (parttool_mod_CFLAGS): likewise
19376 (parttool_mod_LDFLAGS): likewise
19377 (pcpart_mod_SOURCES): likewise
19378 (pcpart_mod_CFLAGS): likewise
19379 (pcpart_mod_LDFLAGS): likewise
7dd4a573 19380 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 19381 and parttool/pcpart.c
19382 * conf/i386-efi.rmk: likewise
19383 * conf/i386-ieee1275.rmk: likewise
19384 * conf/i386-pc.rmk: likewise
19385 * conf/powerpc-ieee1275.rmk: likewise
19386 * conf/sparc64-ieee1275.rmk: likewise
19387 * conf/x86_64-ieee1275.rmk: likewise
19388
05aaebfb 193892009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19390
19391 Support for mtime and further expandability of dir command
19392
19393 * include/grub/lib/datetime.h: moved to ...
7dd4a573 19394 * include/grub/datetime.h: ... moved here and added
05aaebfb 19395 declaration of grub_unixtime2datetime. All users updated
7dd4a573 19396 * include/grub/fs.h: new syntax for dir and mtime functions in
19397 struct grub_fs
05aaebfb 19398 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19399 and GRUB_FSHELP_FLAGS_MASK
19400 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19401 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19402 (grub_ext2_mtime): new function
19403 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19404 (grub_hfsplus_mtime): new function
19405 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19406 (GRUB_UFS_ATTR_FILE): likewise
19407 (GRUB_UFS_ATTR_LNK): likewise
19408 (struct grub_ufs_sblock): new fields mtime
19409 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19410 all users updated
19411 (grub_ufs_dir): mtime support
19412 (grub_ufs_mtime): new function
19413 * fs/affs.c (grub_affs_dir): use new dir syntax
19414 * fs/afs.c (grub_afs_dir): likewise
19415 * fs/cpio.c (grub_cpio_dir): likewise
19416 * fs/fat.c (grub_fat_find_dir): likewise
19417 * fs/hfs.c (grub_hfs_dir): likewise
19418 * fs/iso9660.c (grub_iso9660_dir): likewise
19419 * fs/jfs.c (grub_jfs_dir): likewise
19420 * fs/minix.c (grub_minix_dir): likewise
19421 * fs/ntfs.c (grub_ntfs_dir): likewise
19422 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19423 * fs/sfs.c (grub_sfs_dir): likewise
19424 * fs/xfs.c (grub_xfs_dir): likewise
19425 * util/hostfs.c (grub_hostfs_dir): likewise
19426 * lib/datetime.c: moved to ...
19427 * normal/datetime.c: ... moved here
19428 (grub_unixtime2datetime): new function
19429 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 19430 * normal/completion.c (iterate_dir): use new dir syntax
19431 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 19432 last modification time of a volume
7dd4a573 19433 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 19434 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 19435 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 19436 (normal_mod_SOURCES): likewise
19437 (datetime_mod_SOURCES): Removed lib/datetime.c
19438 * conf/i386-efi.rmk: likewise
7dd4a573 19439 * conf/i386-ieee1275.rmk: likewise
05aaebfb 19440 * conf/i386-pc.rmk: likewise
19441 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19442 * conf/sparc64-ieee1275.rmk: likewise
19443 * conf/x86_64-efi.rmk: likewise
05aaebfb 19444
8a7e1a14 194452009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 19448
19449 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 19450 on grub_fat_find_dir
19451 (grub_fat_find_dir): use grub_fat_iterate_dir
19452 (grub_fat_label): likewise
19453
04186a9c 194542009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19455
7dd4a573 19456 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 19457 and command.h
19458 remove extraneous kernel_elf_HEADERS
19459
da4c0bb6 194602009-04-04 Bean <bean123ch@gnail.com>
19461
19462 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19463
19464 * util/misc.c: Likewise.
19465
54ad9555 194662009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19467
19468 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19469 instead of grub_printf.
19470
7a6bf9f2 194712009-04-03 Robert Millan <rmh@aybabtu.com>
19472
19473 * loader/i386/linux.c (grub_linux_setup_video): Fill
19474 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19475 values from `mode info' structure instead of hardcoded
19476 values.
19477
3fcc2083 194782009-04-01 Pavel Roskin <proski@gnu.org>
19479
19480 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19481 unused now.
19482 * genmk.rb: Likewise.
19483 * configure.ac: Likewise.
19484
5ec9740b 194852009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19486
19487 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19488 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19489
5270cec8 194902009-04-01 David S. Miller <davem@davemloft.net>
19491
19492 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 19493 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 19494 (grub_setjmp): Mark with 'returns_twice' attribute.
19495 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19496 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19497 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19498
9c3dd854 194992009-04-01 Robert Millan <rmh@aybabtu.com>
19500
19501 Reapply fix from 2008-07-28 which was accidentally reverted; also
19502 perform the same fix to a similar check in same function.
19503
19504 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19505 with the same number are found, just use issue a warning with
19506 grub_dprintf(), as this error has been reported to be non-fatal.
19507
0d818b7e 195082009-03-31 Pavel Roskin <proski@gnu.org>
19509
19510 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19511 for cross-compilation.
19512
95646d92 195132009-03-30 Robert Millan <rmh@aybabtu.com>
19514
19515 Fix i386-ieee1275 build.
19516
19517 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19518 Remove declaration.
19519
6a003ed1 195202009-03-30 Pavel Roskin <proski@gnu.org>
19521
19522 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19523 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19524 zero-terminated, rely only on the strlen value. Fix comparison
19525 of strings differing in length.
19526
92f33540 195272009-03-30 Robert Millan <rmh@aybabtu.com>
19528
19529 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19530 checking for abi version. Improve error messages on BIOS to notify
19531 user about `linux16' command.
19532
a8c48fd5 195332009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19534
f968172e 19535 Leak fixes
a8c48fd5 19536
f968172e 19537 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19538 in case of collision
19539 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 19540
9c323f09 195412009-03-29 Robert Millan <rmh@aybabtu.com>
19542
19543 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19544 set `vid_mode' accordingly.
19545 (grub_linux_boot): Process `vid_mode' and set video mode.
19546
ae68f423 195472009-03-29 Robert Millan <rmh@aybabtu.com>
19548
19549 * util/grub.d/10_linux.in (linux_entry): New function.
19550 Factorize generation of Linux boot entries.
19551
5709cfc4 195522009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
19553
19554 Make the format of Environment Block plain text. The boot loader
19555 part is not tested well yet.
7dd4a573 19556
5709cfc4 19557 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
19558 (buffer): Removed.
19559 (envblk): Likewise.
19560 (usage): Remove "info" and "clear". Add "unset". Update the
19561 description of "set", as this does not delete variables any
19562 longer.
19563 (create_envblk_file): Complete rewrite.
19564 (open_envblk_file): Likewise.
19565 (cmd_info): Removed.
19566 (cmd_list): Likewise.
19567 (cmd_set): Likewise.
19568 (cmd_clear): Likewise.
19569 (list_variables): New function.
19570 (write_envblk): Likewise.
19571 (set_variables): Likewise.
19572 (unset_variables): Likewise.
19573 (main): Complete rewrite.
19574
19575 * commands/loadenv.c (buffer): Removed.
19576 (envblk): Likewise.
19577 (open_envblk_file): New function.
19578 (read_envblk_file): Complete rewrite.
19579 (grub_cmd_load_env): Likewise.
19580 (grub_cmd_list_env): Likewise.
19581 (struct blocklist): New struct.
19582 (free_blocklists): New function.
19583 (check_blocklists): Likewise.
19584 (write_blocklists): Likewise.
19585 (grub_cmd_save_env): Complete rewrite.
19586
19587 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
19588 a plain text signature.
19589 (GRUB_ENVBLK_MAXLEN): Removed.
19590 (struct grub_envblk): Complete rewrite.
19591 (grub_envblk_find): Removed.
19592 (grub_envblk_insert): Likewise.
19593 (grub_envblk_open): New prototype.
19594 (grub_envblk_set): Likewise.
19595 (grub_envblk_delete): Put const to VALUE.
19596 (grub_envblk_iterate): Put const to NAME and VALUE.
19597 (grub_envblk_close): New prototype.
19598 (grub_envblk_buffer): New inline function.
19599 (grub_envblk_size): Likewise.
19600
19601 * lib/envblk.c: Include grub/mm.h.
19602 (grub_env_find): Removed.
19603 (grub_envblk_open): New function.
19604 (grub_envblk_close): Likewise.
19605 (escaped_value_len): Likewise.
19606 (find_next_line): Likewise.
19607 (grub_envblk_insert): Removed.
19608 (grub_envblk_set): New function.
19609 (grub_envblk_delete): Complete rewrite.
19610 (grub_envblk_iterate): Likewise.
19611
a9368fd3 196122009-03-28 Robert Millan <rmh@aybabtu.com>
19613
19614 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
19615 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
19616 variables. Use 16-bit loader.
19617 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
19618 loader.
19619 * kern/i386/loader.S (grub_linux_boot): Rename to ...
19620 (grub_linux16_boot): ... this. Update all users.
19621 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
19622 (grub_linux_boot): ... this. Update all users.
19623
19624 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
19625 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
19626 commands to `linux16' and `initrd16'.
19627 (GRUB_MOD_FINI(linux)): Rename to ...
19628 (GRUB_MOD_FINI(linux16)): ... this.
19629
e4dd5a7e 196302009-03-24 Pavel Roskin <proski@gnu.org>
19631
19632 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
19633 not just for compilation.
19634
c04d6e05 196352009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
19636
19637 Move multiboot helper out of kernel
19638
19639 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
19640 `loader/i386/multiboot_helper.S'.
19641 * conf/i386-coreboot.rmk: Likewise
19642 * conf/i386-ieee1275.rmk: Likewise
19643
19644 * kern/i386/loader.S: Move multiboot helpers from here...
19645 * loader/i386/multiboot_helper.S: ...moved here
19646 * include/grub/i386/loader.h: Move declarations of multiboot
19647 helpers from here...
19648 * include/grub/i386/multiboot.h: ...moved here
19649 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
19650
42a5b3fc 196512009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19652
19653 * kern/env.c (grub_env_context_open): Added an argument to specify
19654 whether a new context inherits exported variables from current
19655 one. This is useful when making a sandbox to interpret a config
19656 file.
19657 All callers updated.
19658
19659 * include/grub/env.h (grub_env_context_open): Updated the prototype.
19660
b28bbc4e 196612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19662
19663 * kern/env.c (grub_env_context_close): Fix memory leaks.
19664
f04f02e4 196652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
19666
19667 * normal/main.c (grub_normal_execute): Added an argument
19668 BATCH to specify if an interactive interface should be provided
19669 after reading a config file.
19670 All callers updated.
19671 (read_command_list): Prevent being executed twice.
19672 (read_fs_list): Likewise.
19673
42a5b3fc 19674 * include/grub/normal.h (grub_normal_execute): Updated the
19675 prototype.
f04f02e4 19676
41473ac2 196772009-03-22 Pavel Roskin <proski@gno.org>
19678
fbc00b0c 19679 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
19680 _start.
19681 * kern/i386/pc/startup.S: Likewise.
19682 * kern/i386/efi/startup.S: Likewise.
19683 * kern/i386/ieee1275/startup.S: Likewise.
19684 * kern/i386/coreboot/startup.S: Likewise.
19685 * kern/x86_64/efi/startup.S: Likewise.
19686
41473ac2 19687 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
19688 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
19689 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
19690
2274cc8f 196912009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
19692
19693 Bugfixes in multiboot for bugs uncovered by solaris kernel.
19694
19695 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
19696 limit detection.
19697 Use vaddr of correct segment for entry_point.
19698
b1b797cb 196992009-03-21 Bean <bean123ch@gmail.com>
19700
19701 * commands/blocklist.c: Add include file <grub/command.h>, remove
19702 <grub/normal.h> and <grub/arg.h>.
19703 (grub_cmd_blocklist): Use the new command interface.
19704 (GRUB_MOD_INIT): Likewise.
19705 (GRUB_MOD_FINI): Likewise.
19706 * commands/boot.c: Likewise.
19707 * commands/cat.c: Likewise.
19708 * commands/cmp.c: Likewise.
19709 * commands/configfile.c: Likewise.
19710 * commands/crc.c: Likewise.
19711 * commands/echo.c: Likewise.
19712 * commands/halt.c: Likewise.
19713 * commands/handler.c: Likewise.
19714 * commands/hdparm.c: Likewise.
19715 * commands/help.c: Likewise.
19716 * commands/hexdump.c: Likewise.
19717 * commands/loadenv.c: Likewise.
19718 * commands/ls.c: Likewise.
19719 * commands/lsmmap.c: Likewise.
19720 * commands/lspci.c: Likewise.
19721 * commands/loadenv.c: Likewise.
19722 * commands/read.c: Likewise.
19723 * commands/reboot.c: Likewise.
19724 * commands/search.c: Likewise.
19725 * commands/sleep.c: Likewise.
19726 * commands/test.c: Likewise.
19727 * commands/usbtest.c: Likewise.
19728 * commands/videotest.c: Likewise.
19729 * commands/i386/cpuid.c: Likewise.
19730 * commands/i386/pc/halt.c: Likewise.
19731 * commands/i386/pc/play.c: Likewise.
19732 * commands/i386/pc/pxecmd.c: Likewise.
19733 * commands/i386/pc/vbeinfo.c: Likewise.
19734 * commands/i386/pc/vbetest.c: Likewise.
19735 * commands/ieee1275/suspend.c: Likewise.
19736 * disk/loopback.c: Likewise.
19737 * font/font_cmd.c: Likewise.
19738 * hello/hello.c: Likewise.
19739 * loader/efi/appleloader.c: Likewise.
19740 * loader/efi/chainloader.c: Likewise.
19741 * loader/i386/bsd.c: Likewise.
19742 * loader/i386/efi/linux.c: Likewise.
19743 * loader/i386/ieee1275/linux.c: Likewise.
19744 * loader/i386/linux.c: Likewise.
19745 * loader/i386/pc/chainloader.c: Likewise.
19746 * loader/i386/pc/linux.c: Likewise.
19747 * loader/powerpc/ieee1275/linux.c: Likewise.
19748 * loader/multiboot_loader.c: Likewise.
19749 * term/gfxterm.c: Likewise.
19750 * term/i386/pc/serial.c: Likewise.
19751 * term/terminfo.c: Likewise.
19752
19753 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
19754 * term/i386/pc/vga.c: Likewise.
19755 * video/readers/jpeg.c: Likewise.
19756 * video/readers/png.c: Likewise.
19757 * video/readers/tga.c: Likewise.
19758
19759 * util/grub-fstest (cmd_loopback): Removed.
19760 (cmd_blocklist): Likewise.
19761 (cmd_ls): Likewise.
19762 (grub_register_command): Likewise.
19763 (grub_unregister_command): Likewise.
19764 (execute_command): Use grub_command_find to locate command and execute
19765 it.
19766
19767 * include/grub/efi/chainloader.h: Removed.
19768 * loader/efi/chainloader_normal.c: Likewise.
19769 * loader/i386/bsd_normal.c: Likewise.
19770 * loader/i386/pc/chainloader_normal.c: Likewise.
19771 * loader/i386/pc/multiboot_normal.c: Likewise.
19772 * loader/linux_normal.c: Likewise.
19773 * loader/multiboot_loader_normal.c: Likewise.
19774 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19775
19776 * gencmdlist.sh: Scan new registration command grub_register_extcmd
19777 and grub_register_command_p1.
19778
19779 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
19780 kern/command.c, lib/arg.c and commands/extcmd.c.
19781 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
19782 (minicmd_mod_SOURCES): New variable.
19783 (minicmd_mod_CFLAGS): Likewise.
19784 (minicmd_mod_LDFLAGS): Likewise.
19785 (extcmd_mod_SOURCES): Likewise.
19786 (extcmd_mod_CFLAGS): Likewise.
19787 (extcmd_mod_LDFLAGS): Likewise.
19788 (boot_mod_SOURCES): Removed.
19789 (boot_mod_CFLAGS): Likewise.
19790 (boot_mod_LDFLAGS): Likewise.
19791
19792 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
19793 kern/corecmd.c.
19794 (kernel_img_HEADERS): Add command.h.
19795 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
19796 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
19797 and lib/arg.c.
19798 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
19799 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
19800 remove the corresponding normal mode command.
19801 (normal_mod_SOURCES): Remove normal/arg.c.
19802 * conf/i386-coreboot.rmk: Likewise.
19803 * conf/i386-efi.rmk: Likewise.
19804 * conf/i386-ieee1275.rmk: Likewise.
19805 * conf/powerpc-ieee1275.rmk: Likewise.
19806 * conf/x86_64-efi.rmk: Likewise.
19807
19808 * include/grub/arg.h: Move from here ...
19809 * include/grub/lib/arg.h: ... to here.
19810
19811 * normal/arg.c: Move from here ...
19812 * lib/arg.c: ... to here.
19813
19814 * commands/extcmd.c: New file.
19815 * commands/minicmd.c: Likewise.
19816 * include/grub/command.h: Likewise.
19817 * include/grub/extcmd.h: Likewise.
19818 * kern/command.c: Likewise.
19819 * kern/corecmd.c: Likewise.
19820
19821 * kern/list.c (grub_list_iterate): Return int instead of void.
19822 (grub_list_insert): New function.
19823 (grub_prio_list_insert): Likewise.
19824
19825 * kern/rescue.c (grub_rescue_command): Removed.
19826 (grub_rescue_command_list): Likewise.
19827 (grub_rescue_register_command): Likewise.
19828 (grub_rescue_unregister_command): Likewise.
19829 (grub_rescue_cmd_boot): Move to minicmd.c
19830 (grub_rescue_cmd_help): Likewise.
19831 (grub_rescue_cmd_info): Likewise.
19832 (grub_rescue_cmd_boot): Likewise.
19833 (grub_rescue_cmd_testload): Likewise.
19834 (grub_rescue_cmd_dump): Likewise.
19835 (grub_rescue_cmd_rmmod): Likewise.
19836 (grub_rescue_cmd_lsmod): Likewise.
19837 (grub_rescue_cmd_exit): Likewise.
19838 (grub_rescue_print_devices): Moved to corecmd.c.
19839 (grub_rescue_print_files): Likewise.
19840 (grub_rescue_cmd_ls): Likewise.
19841 (grub_rescue_cmd_insmod): Likewise.
19842 (grub_rescue_cmd_set): Likewise.
19843 (grub_rescue_cmd_unset): Likewise.
7d074e3c 19844 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 19845 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 19846 commands, remove grub_rescue_register_command calls.
b1b797cb 19847
7d074e3c 19848 * normal/command.c (grub_register_command): Removed.
b1b797cb 19849 (grub_unregister_command): Likewise.
19850 (grub_command_find): Likewise.
19851 (grub_iterate_commands): Likewise.
19852 (rescue_command): Likewise.
19853 (export_command): Moved to corecmd.c.
19854 (set_command): Removed.
19855 (unset_command): Likewise.
19856 (insmod_command): Likewise.
19857 (rmmod_command): Likewise.
19858 (lsmod_command): Likewise.
19859 (grub_command_init): Likewise.
19860
19861 * normal/completion.c (iterate_command): Use cmd->prio to check for
19862 active command.
19863 (complete_arguments): Use grub_extcmd_t structure to find options.
19864 (grub_normal_do_completion): Change function grub_iterate_commands to
19865 grub_command_iterate.
19866
19867 * normal/execute.c (grub_script_execute_cmd): No need to parse
19868 argument here.
19869
19870 * normal/main.c (grub_dyncmd_dispatcher): New function.
19871 (read_command_list): Register unload commands as dyncmd.
19872 (grub_cmd_normal): Use new command interface, register rescue,
19873 unregister normal at entry, register normal, unregister rescue at exit.
19874
19875 * include/grub/list.h (grub_list_test_t): New type.
19876 (grub_list_iterate): Return int instead of void.
19877 (grub_list_insert): New function.
19878 (GRUB_AS_NAMED_LIST_P): New macro.
19879 (GRUB_AS_PRIO_LIST): Likewise.
19880 (GRUB_AS_PRIO_LIST_P): Likewise.
19881 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
19882 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
19883 (grub_prio_list): New structure.
19884 (grub_prio_list_insert): New function.
19885 (grub_prio_list_remove): New inline function.
19886
19887 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
19888 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
19889 (GRUB_COMMAND_FLAG_MENU): Likewise.
19890 (GRUB_COMMAND_FLAG_BOTH): Likewise.
19891 (GRUB_COMMAND_FLAG_TITLE): Likewise.
19892 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
19893 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
19894 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
19895 (grub_command): Likewise.
19896 (grub_register_command): Likewise.
19897 (grub_command_find): Likewise.
19898 (grub_iterate_commands): Likewise.
19899 (grub_command_init): Likewise.
19900 (grub_arg_parse): Likewise.
19901 (grub_arg_show_help): Likewise.
19902
19903 * include/grub/rescue.h (grub_rescue_register_command): Removed.
19904 (grub_rescue_unregister_command): Likewise.
19905
19906 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
19907 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
19908 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
19909
19910 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
19911 grub_rescue_cmd_initrd.
19912 * include/grub/i386/loader.h: Likewise.
19913 * include/grub/x86_64/loader.h: Likewise.
19914
19915 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
19916
1f4147aa 199172009-03-21 Bean <bean123ch@gmail.com>
19918
19919 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
19920 instead of stat in mingw environment.
19921
19922 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
19923
19924 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
19925
19926 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
19927 AC_CONFIG_LINKS.
19928
2156d5ba 199292009-03-21 Bean <bean123ch@gmail.com>
19930
19931 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
19932 out of range error.
19933
177b82ca 199342009-03-18 Michel Dänzer <michel@daenzer.net>
19935
19936 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
19937 checking inode flags for EXT4_EXTENTS_FLAG.
19938
14aad807 199392009-03-18 Robert Millan <rmh@aybabtu.com>
19940
19941 * loader/i386/linux.c: Include `<grub/video.h>' and
19942 `<grub/i386/pc/vbe.h>'..
19943 (grub_linux_setup_video): New function. Loosely based on the EFI one.
19944 (grub_linux32_boot): Attempt to configure video settings with
19945 grub_linux_setup_video().
19946 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
19947 to avoid grub_console_fini() which would step out of graphical mode
19948 unconditionally.
19949
8cf83a27 199502009-03-14 Robert Millan <rmh@aybabtu.com>
19951
19952 Fix build on powerpc.
19953 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
19954
40164e75 199552009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
19958 background image command.
19959
c58bc32a 199602009-03-12 Colin D Bennett <colin@gibibit.com>
19961
19962 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
19963 (grub_gfxterm_putchar): Extract pairs of identical calls to
19964 draw_cursor out of conditional blocks.
19965
5415144a 199662009-03-11 Pavel Roskin <proski@gnu.org>
19967
19968 * fs/hfs.c (grub_hfs_strncasecmp): New function.
19969 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
19970
6394042e 199712009-03-11 Robert Millan <rmh@aybabtu.com>
19972
19973 * loader/i386/multiboot_elfxx.c
19974 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
19975
b7b50e5f 199762009-03-11 Felix Zielcke <fzielcke@z-51.de>
19977
19978 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
19979 `kern/handler.c'.
19980
1ca7fc96 199812009-03-11 Robert Millan <rmh@aybabtu.com>
19982
19983 * loader/i386/multiboot.c (code_size): New variable.
19984 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 19985 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 19986 4-byte alignment to MBI and others by increasing
7d074e3c 19987 `boot_loader_name_length' appropriately.
1ca7fc96 19988
19989 * loader/i386/multiboot_elfxx.c
19990 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
19991
a83ea1d2 199922009-03-09 Felix Zielcke <fzielcke@z-51.de>
19993
19994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
19995 `fs/ext2.c'.
19996
aa9f3bff 199972009-03-08 Robert Millan <rmh@aybabtu.com>
19998
19999 Make loader/i386/linux.c usable on i386-pc again.
20000
20001 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20002 memory to heap.
20003 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20004 `#error' stanza.
20005
d8b3b60e 200062009-03-07 Bean <bean123ch@gmail.com>
20007
20008 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20009 allocation.
20010
b362c9e9 200112009-03-06 Robert Millan <rmh@aybabtu.com>
20012
20013 Fix display issue on terminals with screen size other than 80x25
20014 (e.g. gfxterm with resolution higher than 640x480).
20015
20016 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 20017 position relative to the center of the terminal instead of relying
b362c9e9 20018 on a hardcoded offset.
20019
9304eef1 200202009-03-04 Robert Millan <rmh@aybabtu.com>
20021
20022 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20023 installed.
20024
20025 * Makefile.in (host_kernel): New variable.
20026 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20027 scripts instead of just the windows one.
20028 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20029
eabc95fb 200302009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 20031
20032 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20033 `kern/handler.c'.
20034 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20035 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20036 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20038 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20039 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20040
ceb1223c 200412009-03-04 Felix Zielcke <fzielcke@z-51.de>
20042
20043 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20044 or if there's no space for the disk label and print the partition number on a
20045 invalid magic.
20046
4910684a 200472009-03-04 Felix Zielcke <fzielcke@z-51.de>
20048
20049 * util/misc.c: Include <time.h>.
20050 (grub_millisleep): New function.
20051
7e9ca17a 200522009-03-04 Bean <bean123ch@gmail.com>
20053
20054 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20055 another option -mno-red-zone.
20056
20057 * commands/handler.c: Change module description.
20058
20059 * kern/handler.c: Add missing space at the end of description line.
20060
20061 * kern/list.c: Likewise.
20062
f501677c 200632009-03-03 Robert Millan <rmh@aybabtu.com>
20064
20065 Move more components to the relocation area, and fix mbi pointer
20066 handling to use the destination rather than the origin (thanks to
20067 Vladimir Serbinenko for spotting).
20068
20069 * loader/i386/multiboot.c (mbi_dest): New variable.
20070 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20071 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20072 relocation area.
20073
9902d047 200742009-03-01 Bean <bean123ch@gmail.com>
20075
50fb7002 20076 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 20077 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20078 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20079 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20080
20081 * loader/i386/efi/linux.c (acpi_guid): New variable.
20082 (acpi_guid): Likewise.
20083 (EBDA_SEG_ADDR): New constant.
20084 (LOW_MEM_ADDR): Likewise.
20085 (FAKE_EBDA_SEG): Likewise.
20086 (fake_bios_data): New function.
20087 (grub_linux_boot): Call fake_bios_data.
20088
71b9f361 200892009-03-01 Bean <bean123ch@gmail.com>
20090
20091 * commands/terminal.c: Removed.
20092
20093 * commands/handler.c: New file.
20094
20095 * include/grub/list.h: Likewise.
20096
20097 * include/grub/handler.h: Likewise.
20098
20099 * kern/list.c: Likewise.
20100
20101 * kern/handler.c: Likewise.
20102
20103 * kern/term.h: Include header file <grub/handler.h>.
20104 (grub_term_input): Move next field to the beginning.
20105 (grub_term_output): Likewise.
20106 (grub_term_input_class): New variable.
20107 (grub_term_output_class): Likewise.
20108 (grub_term_register_input): Changed to inline function.
20109 (grub_term_register_output): Likewise.
20110 (grub_term_unregister_input): Likewise.
20111 (grub_term_unregister_output): Likewise.
20112 (grub_term_set_current_input): Likewise.
20113 (grub_term_set_current_output): Likewise.
20114 (grub_term_get_current_input): Likewise.
20115 (grub_term_get_current_output): Likewise.
20116 (grub_term_iterate_input): Removed.
20117 (grub_term_iterate_output): Likewise.
20118
20119 * kern/term.c (grub_term_list_input): Removed.
20120 (grub_term_list_output): Likewise.
20121 (grub_term_input_class): New variable.
20122 (grub_term_output_class): Likewise.
50fb7002 20123 (grub_cur_term_input): Change variable as macro.
71b9f361 20124 (grub_cur_term_output): Likewise.
20125 (grub_term_register_input): Removed.
20126 (grub_term_register_output): Likewise.
20127 (grub_term_unregister_input): Likewise.
20128 (grub_term_unregister_output): Likewise.
20129 (grub_term_set_current_input): Likewise.
20130 (grub_term_set_current_output): Likewise.
20131 (grub_term_iterate_input): Likewise.
20132 (grub_term_iterate_output): Likewise.
20133 (grub_term_get_current_input): Likewise.
20134 (grub_term_get_current_output): Likewise.
20135
20136 * util/grub-editenv.c: Include header file <grub/handler.h>.
20137 (grub_term_get_current_input): Removed.
20138 (grub_term_get_current_output): Likewise.
20139 (grub_term_input_class): New variable.
50fb7002 20140 (grub_term_output_class): Likewise.
71b9f361 20141
20142 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20143 (grub_term_get_current_output): Likewise.
20144 (grub_term_input_class): New variable.
50fb7002 20145 (grub_term_output_class): Likewise.
71b9f361 20146
20147 * util/grub-probe.c (grub_term_get_current_input): Removed.
20148 (grub_term_get_current_output): Likewise.
20149 (grub_term_input_class): New variable.
50fb7002 20150 (grub_term_output_class): Likewise.
71b9f361 20151
20152 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20153 (grub_term_get_current_output): Likewise.
20154 (grub_term_input_class): New variable.
50fb7002 20155 (grub_term_output_class): Likewise.
71b9f361 20156
20157 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20158 (terminal_mod_SOURCES): Likewise.
20159 (terminal_mod_CFLAGS): Likewise.
20160 (terminal_mod_LDFLAGS): Likewise.
20161
20162 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20163 handler.c.
20164 (kernel_img_SOURCES): Add list.c and handler.c.
20165 (kernel_img_HEADERS): Add list.h and handler.h.
20166
20167 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20168 handler.c.
20169 (kernel_mod_SOURCES): Add list.c and handler.c.
20170 (kernel_mod_HEADERS): Add list.h and handler.h.
20171
20172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20173 handler.c.
20174 (kernel_elf_SOURCES): Add list.c and handler.c.
20175 (kernel_elf_HEADERS): Add list.h and handler.h.
20176
20177 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20178 handler.c.
20179 (kernel_elf_SOURCES): Add list.c and handler.c.
20180 (kernel_elf_HEADERS): Add list.h and handler.h.
20181
20182 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20183 handler.c.
20184 (kernel_mod_SOURCES): Add list.c and handler.c.
20185 (kernel_mod_HEADERS): Add list.h and handler.h.
20186
20187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20188 handler.c.
20189 (kernel_elf_SOURCES): Add list.c and handler.c.
20190 (kernel_elf_HEADERS): Add list.h and handler.h.
20191
8a31787f 201922009-02-27 Robert Millan <rmh@aybabtu.com>
20193
20194 Factorize elf32 / elf64 code in Multiboot loader. This will
20195 prevent it from getting out of sync again.
20196
20197 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20198 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20199 grub_multiboot_load_elf64): Move from here ...
20200 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20201 grub_multiboot_load_elf): ... to here (new file).
20202
51cd3dfc 202032009-02-27 Robert Millan <rmh@aybabtu.com>
20204
20205 * util/grub.d/10_linux.in: Rename "single-user mode" to
20206 "recovery mode".
20207
6e8c9c3a 202082009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 Don't leak in SCSI code.
20211 * disk/scsi.c (grub_scsi_close): free `scsi'.
20212
4b6bf4f9 202132009-02-27 Robert Millan <rmh@aybabtu.com>
20214
20215 * loader/i386/pc/multiboot.c: Move from here ...
20216 * loader/i386/multiboot.c: ... to here. Update all users.
20217
b9413424 202182009-02-27 Robert Millan <rmh@aybabtu.com>
20219
20220 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20221 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20222
50fb7002 202232009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 20224
20225 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20226 b-tree.
20227
8cc50345 202282009-02-27 Robert Millan <rmh@aybabtu.com>
20229
20230 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20231 `0x' qualifier as 0 when base is specified as parameter).
20232
6e09b8b7 202332009-02-24 Bean <bean123ch@gmail.com>
20234
20235 * configure.ac: Check for -mcmodel=large in x86_64 target.
20236
20237 * include/grub/efi/api.h (efi_call_10): New macro.
20238 (efi_wrap_10): New function.
20239
20240 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20241 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20242 (GRUB_PE32_REL_BASED_LOW): Likewise.
20243 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20244 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20245 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20246 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20247 (GRUB_PE32_REL_BASED_REL): Likewise.
20248 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20249 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20250 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20251
20252 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20253 issue.
20254
20255 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20256 (efi_wrap_10): New function.
20257
20258 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20259
20260 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20261 MB/MBP model (NV chipset).
20262 (devdata_devs): Add devpath_5 to the list.
20263
20264 * load/i386/efi/linux.c (video_base): Remove variable.
20265 (RGB_MASK): New macro.
20266 (RGB_MAGIC): Likewise.
20267 (LINE_MIN): Likewise.
20268 (LINE_MAX): Likewise.
20269 (FBTEST_STEP): Likewise.
20270 (FBTEST_COUNT): Likewise.
20271 (fb_list): New variable.
20272 (grub_find_video_card): Remove function.
20273 (find_framebuf): New function.
20274 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20275 line length.
20276
20277 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20278 problem for x86_64.
20279
74b21bee 202802009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20281
20282 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20283
20284 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20285 coding tool name.
20286
a455f472 202872009-02-22 Robert Millan <rmh@aybabtu.com>
20288
20289 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20290 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20291 in our relocation, instead of using it directly from heap. Also
20292 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20293
6374daf3 202942009-02-21 Robert Millan <rmh@aybabtu.com>
20295
20296 Implement USB keyboard support (based on patch by Marco Gerards)
20297
20298 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20299 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20300 (usb_keyboard_mod_LDFLAGS): New variables.
20301
20302 * term/usb_keyboard.c: New file.
20303
8fa4ea70 203042009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 Corrected wrong declaration
20307
20308 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20309
353976ac 203102009-02-14 Christian Franke <franke@computer.org>
20311
20312 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20313 (grub_lspci_iter): Print class code and programming interface byte.
20314
6aa1169b 203152009-02-14 Christian Franke <franke@computer.org>
20316
20317 * gendistlist.sh: Ignore `.svn' directories.
20318
265372ca 203192009-02-14 Felix Zielcke <fzielcke@z-51.de>
20320
20321 * fs/fat.c: Add 2009 to Copyright line.
20322
9ff516f3 203232009-02-14 Christian Franke <franke@computer.org>
20324
20325 * commands/hdparm.c: New file. Provides `hdparm' command
20326 which sends ATA commands via grub_disk_ata_pass_through ().
20327
20328 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20329
20330 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20331 and <grub/cpu/io.h> to include/grub/ata.h.
20332 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20333 (GRUB_CDROM_SECTOR_SIZE): Remove.
20334 (GRUB_ATA_*): Move to include/grub/ata.h.
20335 (GRUB_ATAPI_*): Likewise.
20336 (enum grub_ata_commands): Likewise.
20337 (enum grub_ata_timeout_milliseconds): Likewise.
20338 (struct grub_ata_device): Likewise.
20339 (grub_ata_regset): Likewise.
20340 (grub_ata_regget): Likewise.
20341 (grub_ata_regset2): Likewise.
20342 (grub_ata_regget2): Likewise.
20343 (grub_ata_check_ready): Likewise.
20344 (grub_ata_wait_not_busy): Remove static, exported in
20345 include/grub/ata.h.
20346 (grub_ata_wait_drq): Likewise.
20347 (grub_ata_pio_read): Likewise.
20348
20349 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20350 function for hdparm.mod.
20351
20352 * include/grub/ata.h: New file, contains declarations from
20353 disk/ata.c.
20354 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20355
20356 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20357 (grub_disk_ata_pass_through): New exported variable.
20358
20359 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20360
772e23da 203612009-02-13 Colin D Bennett <colin@gibibit.com>
20362
20363 Support multiple fallback entries, and provide an API to support
20364 executing default+fallback menu entries. Renamed the `terminal' menu
20365 viewer to `text'.
20366
20367 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20368 variable declaration.
20369 (grub_menu_execute_callback): New structure declaration.
20370 (grub_menu_execute_callback_t): New typedef.
20371 (grub_menu_execute_with_fallback): New function declaration.
20372 (grub_menu_get_entry): Likewise.
20373 (grub_menu_get_timeout): Likewise.
20374 (grub_menu_set_timeout): Likewise.
20375
20376 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20377
20378 * normal/menu.c (grub_wait_after_message): Moved to
20379 `normal/menu_text.c'.
20380 (draw_border): Likewise.
20381 (print_message): Likewise.
20382 (print_entry): Likewise.
20383 (print_entries): Likewise.
20384 (grub_menu_init_page): Likewise.
20385 (get_entry_number): Likewise.
20386 (print_timeout): Likewise.
20387 (run_menu): Likewise.
20388 (grub_menu_execute_entry): Likewise.
20389 (show_text_menu): Likewise.
20390 (get_and_remove_first_entry_number): New function.
20391 (grub_menu_execute_with_fallback): Likewise.
20392 (get_entry): Renamed to ...
20393 (grub_menu_get_entry): .. this and made it global.
20394 (get_timeout): Renamed to ...
20395 (grub_menu_get_timeout): ... this and made it global.
20396 (set_timeout): Renamed to ...
20397 (grub_menu_set_timeout): ... this and made it global.
20398 (grub_normal_terminal_menu_viewer): Renamed to ...
20399 (grub_normal_text_menu_viewer): ... this.
20400
20401 * normal/menu_text.c: New file. Extracted text-menu-specific code
20402 from normal/menu.c.
20403
20404 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20405 (normal_mod_SOURCES): Likewise.
20406
20407 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20408 (normal_mod_SOURCES): Likewise.
20409
20410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20411 (normal_mod_SOURCES): Likewise.
20412
20413 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20414 (normal_mod_SOURCES): Likewise.
20415
20416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20417 (normal_mod_SOURCES): Likewise.
20418
20419 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20420 (normal_mod_SOURCES): Likewise.
20421
20422 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20423 (normal_mod_SOURCES): Likewise.
20424
16ac430e 204252009-02-11 Robert Millan <rmh@aybabtu.com>
20426
20427 * util/grub.d/00_header.in: Update old reference to `font' command.
20428
06ff20fc 204292009-02-10 Felix Zielcke <fzielcke@z-51.de>
20430
20431 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20432
20433 Based on patch from Javier Martín.
20434
96da9407 204352009-02-09 Felix Zielcke <fzielcke@z-51.de>
20436
20437 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 20438 to avoid false positives with FAT.
96da9407 20439 (grub_fstest_SOURCES): Likewise.
20440 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20441 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20443 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20444 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20445 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20446
6dca6fe4 204472009-02-09 Felix Zielcke <fzielcke@z-51.de>
20448
06ff20fc 20449 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 20450 bpb.version_specific.fat12_or_fat16.fstype and
20451 bpb.version_specific.fat32.fstype.
20452
2550c62f 204532009-02-08 Robert Millan <rmh@aybabtu.com>
20454
be110b30 20455 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 20456
56978920 204572009-02-08 Robert Millan <rmh@aybabtu.com>
20458
20459 * Makefile.in (host_os, host_cpu): New variables.
20460 (target_os): Remove. Update all users.
20461
d64399b5 204622009-02-08 Marco Gerards <marco@gnu.org>
20463
20464 * Makefile.in (enable_grub_emu_usb): New variable.
20465 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20466 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20467 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20468 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20469 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20470 `usbtest.mod' and `usbms.mod'.
20471 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20472 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20473 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20474 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20475 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20476 variables.
20477
20478 * disk/usbms.c: New file.
20479
20480 * include/grub/usb.h: Likewise.
20481
20482 * include/grub/usbtrans.h: Likewise.
20483
20484 * include/grub/usbdesc.h: Likewise.
20485
20486 * bus/usb/usbtrans.c: Likewise.
20487
20488 * bus/usb/ohci.c: Likewise.
20489
20490 * bus/usb/uhci.c: Likewise.
20491
20492 * bus/usb/usbhub.c: Likewise.
20493
20494 * bus/usb/usb.c: Likewise.
20495
20496 * commands/usbtest.c: Likewise.
20497
20498 * util/usb.c: Likewise.
50fb7002 20499
d64399b5 20500 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20501
20502 * configure.ac: Test for libusb presence.
50fb7002 20503
d64399b5 20504 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20505
2b40d6bb 205062009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20507
20508 * kern/mm.c: Add more comments.
20509
73a4ce81 205102009-02-08 Robert Millan <rmh@aybabtu.com>
20511
20512 Patch from Javier Martín.
20513 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20514 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20515
f821ce59 205162009-02-08 Robert Millan <rmh@aybabtu.com>
20517
20518 * fs/cpio.c: Split tar functionality to ...
20519 * fs/tar.c: ... here (new file). Update all users.
20520
aebfc4b0 205212009-02-07 Robert Millan <rmh@aybabtu.com>
20522
20523 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20524 backward-incompatible features.
20525
20526 Based on patch from Javier Martín, with some adjustments.
20527
50fb7002 205282009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 20529
20530 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20531
0bb5115e 205322009-02-07 Robert Millan <rmh@aybabtu.com>
20533
20534 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20535 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20536 after the RAID stuff.
20537
38a0f8e7 205382009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20539
50fb7002 20540 Fixes problem when running vbetest command as reported by
38a0f8e7 20541 Vladimir Serbinenko <phcoder@gmail.com>.
20542
20543 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20544
3143cc1c 205452009-02-04 Felix Zielcke <fzielcke@z-51.de>
20546
20547 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20548 /dev/md/NpN style mdraid devices.
20549
9cba6fce 205502009-02-03 Felix Zielcke <fzielcke@z-51.de>
20551
20552 * util/unifont2pff.rb: Remove.
20553
e507a2c1 205542009-02-03 Felix Zielcke <fzielcke@z-51.de>
20555
20556 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
20557 `#'.
20558
d2c2b4cd 205592009-02-03 Felix Zielcke <fzielcke@z-51.de>
20560
20561 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
20562 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20563 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20564 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20565 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20566 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20568
b4315fb0 205692009-02-02 Christian Franke <franke@computer.org>
20570
20571 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
20572
de3aa260 205732009-02-01 Felix Zielcke <fzielcke@z-51.de>
20574
7c3ff286 20575 * INSTALL: Note that we now require at least autoconf 2.59 and
20576 that LZO is optional.
de3aa260 20577
825a182b 205782009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20579
20580 Base on patch on bug #24154 created by Tomas Tintera
20581 <trosos@seznam.cz>.
20582
20583 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
20584
a69ef770 205852009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
20586
7c3ff286 20587 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 20588 <bero@arklinux.org>.
20589
20590 * normal/parser.y (script_init): Add missing semicolon.
20591
6fa42fa6 205922009-01-31 Colin D Bennett <colin@gibibit.com>
20593
7c3ff286 20594 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 20595 (free_menu_entry_classes): Added.
20596 (grub_normal_menu_addentry): Added class property handling.
20597 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
20598 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
20599
20600 * normal/menu_viewer.c: New file.
20601
20602 * normal/menu.c (run_menu_entry): Renamed to ...
20603 (grub_menu_execute_entry): ... this and made it as global.
20604 (grub_menu_run): Renamed to ...
20605 (show_text_menu): ... this and made it local.
20606 (show_text_menu): Adapt to new function names.
20607 (grub_normal_terminal_menu_viewer): New global variable.
20608
20609 * include/grub/menu.h: New file.
20610
20611 * include/grub/menu_viewer.h: New file.
20612
20613 * include/grub/normal.h: Added include to grub/menu.h.
20614 (grub_menu_entry): Moved to include/grub/menu.h.
20615 (grub_menu_entry_t): Likewise.
20616 (grub_menu): Likewise.
20617 (grub_menu_t): Likewise.
20618 (grub_normal_terminal_menu_viewer): Added.
20619 (grub_menu_execute_entry): Likewise.
20620 (grub_menu_run): Removed.
20621
20622 * DISTLIST: Added include/grub/menu.h.
20623 Added include/grub/menu_viewer.h.
20624 Added normal/menu_viewer.c.
20625
206262009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
20627
20628 * normal/execute.c (grub_script_execute_menuentry): Changed to use
20629 arglist for menutitle arguments.
20630
20631 * normal/main.c (grub_normal_menu_addentry): Likewise.
20632
20633 * normal/parser.y (menuentry): Likewise.
20634
20635 * normal/script.c (grub_script_create_cmdmenu): Likewise.
20636
20637 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
20638 (grub_script_create_cmdmenu): Likewise.
20639
20640 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
20641
20642 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
20643 changes.
20644
20645 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
20646
20647 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
20648
20649 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
20650
20651 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20652
20653 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20654
20655 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
20656
56192c23 206572009-01-30 Christian Franke <franke@computer.org>
20658
20659 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
20660 in option help text.
20661
d72521b3 206622009-01-27 Pavel Roskin <proski@gnu.org>
20663
20664 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
20665
994b5e84 206662009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20667
20668 * commands/lsmmap.c: Add include to grub/machine/memory.h.
20669
20670 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
20671
20672 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
20673 unregister function.
20674
6a7eab2c 206752009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
20676
20677 * disk/scsi.c (grub_scsi_read): Fix sign problem.
20678
20679 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
20680
20681 * util/grub-mkfont.c (usage): Fix typo.
20682
20683 * util/elf/grub-mkimage.c (load_modules): Fix warning.
20684
1806b56e 206852009-01-26 Daniel Mierswa <impulze@impulze.org>
20686
3fb18f09 20687 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
20688
336e1fb9 20689 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
20690
1806b56e 20691 * kern/misc.c (grub_strcasecmp): New function.
20692 (grub_strcasecmp): Use grub_size_t instead of int for length.
20693 Fix return value.
20694 * include/grub/misc.h: Update function prototypes.
20695
580b2a0f 206962009-01-26 Robert Millan <rmh@aybabtu.com>
20697
20698 * configure.ac: Fix cross-compilation check.
ef257b36 20699
d31c24f1 207002009-01-22 Christian Franke <franke@computer.org>
20701
20702 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
20703 (precision) digit string. Allow `.format2' without `format1' (width).
20704 Limit input chars for `%s' output to `format2' if specified. This is
20705 compatible with standard printf ().
20706
3138b44c 207072009-01-22 Christian Franke <franke@computer.org>
20708
20709 * disk/ata.c (grub_ata_wait_status): Replace by ...
20710 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
20711 other status bits may be invalid while BSY is asserted.
20712 (grub_ata_check_ready): New function.
20713 (grub_ata_cmd): Removed.
20714 (grub_ata_wait_drq): New function.
20715 (grub_ata_strncpy): Remove inline.
20716 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
20717 and error check now done by grub_ata_wait_drq ().
20718 (grub_ata_pio_write): Likewise.
20719 (grub_atapi_identify): Set DEV before check for !BSY. Use
20720 grub_ata_wait_drq () to wait for data.
20721 (grub_ata_device_initialize): Add status register check to
20722 detect missing SATA slave devices. Add debug messages.
20723 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
20724 (grub_atapi_packet): Set DEV before check for !BSY. Replace
20725 transfer loop by grub_ata_pio_write ().
20726 (grub_ata_identify): Set DEV before check for !BSY. Use
20727 grub_ata_wait_drq () to wait for data.
ef257b36 20728 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 20729 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
20730 read/write in one loop. Fix invalid command on write. Fix incomplete
20731 command on (size % batch) == 0. Add missing error check after write of
20732 last block. Add debug messages.
20733 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
20734
59a64ef6 207352009-01-19 Christian Franke <franke@computer.org>
20736
20737 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
20738 (GRUB_ATAPI_IREASON_*): Likewise.
20739 (grub_ata_pio_write): Fix timeout error return.
20740 (grub_atapi_identify): Add grub_ata_wait () after cmd.
20741 (grub_atapi_wait_drq): New function.
20742 (grub_atapi_packet): New parameter `size'.
20743 Use grub_atapi_wait_drq () and direct write instead of
20744 grub_ata_pio_write ().
20745 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
20746 reads the number of bytes requested by the device for each DRQ
20747 assertion.
20748 (grub_atapi_write): Remove old implementation, return not
20749 implemented instead.
20750
1cfe20b3 207512009-01-19 Christian Franke <franke@computer.org>
20752
20753 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
20754 of 512 to calculate data size.
20755 (grub_scsi_read12): Likewise.
20756 (grub_scsi_write10): Likewise.
20757 (grub_scsi_write12): Likewise.
20758 (grub_scsi_read): Adjust size according to blocksize.
20759 Add checks for invalid blocksize and unaligned transfer.
20760
bee5fe5d 207612009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
20762
20763 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
20764
ef257b36 20765 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 20766 width glyphs.
20767
3e643f8c 207682009-01-19 Robert Millan <rmh@aybabtu.com>
20769
20770 * config.guess: Update to latest version from config git.
20771 * config.sub: Likewise.
20772
4fa80998 207732009-01-17 Felix Zielcke <fzielcke@z-51.de>
20774
20775 * Makefile.in: Change font compilation to use new grub-mkfont instead
20776 of java version.
20777
20778 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
20779 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
20780 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20781 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
20782 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
20783 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
20784 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
20785 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
20786 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
20787
7086085b 207882009-01-16 Christian Franke <franke@computer.org>
20789
20790 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
20791 (enum grub_ata_timeout_milliseconds): New enum.
20792 (grub_ata_wait_status): Add parameter milliseconds.
20793 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
20794 recovery from timed-out commands.
20795 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
20796 return grub_errno instead of REG_ERROR.
20797 (grub_ata_pio_write): Add parameter milliseconds.
20798 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
20799 Pass milliseconds to grub_ata_wait_status () and
20800 grub_ata_pio_read ().
20801 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
20802 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
20803 grub_ata_wait_status (). Fix IDENTIFY timeout check.
20804 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
20805 It is not suitable for device detection, because DEV bit is ignored,
20806 the command may run too long, and not all devices set the signature
20807 properly.
20808 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
20809 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
20810 Fix device selection, DEV bit must be set first to address the registers
20811 of the correct device.
20812 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
20813 grub_ata_pio_read/write ().
20814 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
20815 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
20816
4a412913 208172009-01-13 Carles Pina i Estany <carles@pina.cat>
20818
20819 * util/grub-editenv.c (main): Use fseeko(), not fseek().
20820
7795c55e 208212009-01-13 Bean <bean123ch@gmail.com>
d913988c 20822
20823 * util/grub-mkfont.c (write_font): forget to remove some debug code.
20824
7795c55e 208252009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 20826
20827 * Makefile.in: (enable_grub_mkfont): New variable.
20828 (freetype_cflags): Likewise.
20829 (freetype_libs): Likewise.
20830
20831 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
20832 (grub_mkfont_SOURCES): New variable.
20833 (grub_mkfont_CFLAGS): Likewise.
20834 (grub_mkfont_LDFLAGS): Likewise.
20835
20836 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
20837 library if `--enable-grub-mkfont' is requested.
20838 (enable_grub_mkfont): New variable.
20839 (freetype_cflags): Likewise.
20840 (freetype_libs): Likewise.
20841
20842 * util/grub-mkfont.c: New file.
20843
093af1fe 208442009-01-12 Christian Franke <franke@computer.org>
20845
20846 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
20847 mode check. Fix setting of compat_use[].
20848
f36cc108 208492009-01-10 Robert Millan <rmh@aybabtu.com>
20850
20851 Update a few copyright years which we forgot to do in 2008 (only for
20852 files whose changes made in 2008 were copyright-significant)
20853
20854 * Makefile.in: Add 2008 to Copyright line.
20855 * disk/ieee1275/ofdisk.c: Likewise.
20856 * disk/efi/efidisk.c: Likewise.
20857 * kern/dl.c: Likewise.
20858 * kern/sparc64/ieee1275/init.c: Likewise.
20859 * kern/mm.c: Likewise.
20860 * kern/efi/mm.c: Likewise.
20861 * boot/i386/pc/boot.S: Likewise.
20862 * genfslist.sh: Likewise.
20863 * fs/iso9660.c: Likewise.
20864 * fs/hfs.c: Likewise.
20865 * fs/jfs.c: Likewise.
20866 * fs/minix.c: Likewise.
20867 * fs/ufs.c: Likewise.
20868 * gensymlist.sh.in: Likewise.
20869 * genkernsyms.sh.in: Likewise.
20870 * include/grub/misc.h: Likewise.
20871 * include/grub/types.h: Likewise.
20872 * include/grub/symbol.h: Likewise.
20873 * include/grub/elf.h: Likewise.
20874 * include/grub/kernel.h: Likewise.
20875 * include/grub/disk.h: Likewise.
20876 * include/grub/dl.h: Likewise.
20877 * include/grub/i386/linux.h: Likewise.
20878 * include/grub/i386/pc/biosdisk.h: Likewise.
20879 * include/grub/efi/api.h: Likewise.
20880 * include/grub/efi/pe32.h: Likewise.
20881 * include/grub/util/misc.h: Likewise.
20882 * normal/execute.c: Likewise.
20883 * normal/arg.c: Likewise.
20884 * normal/completion.c: Likewise.
20885 * normal/lexer.c: Likewise.
20886 * normal/parser.y: Likewise.
20887 * normal/misc.c: Likewise.
20888 * commands/i386/pc/vbeinfo.c: Likewise.
20889 * commands/hexdump.c: Likewise.
20890 * commands/terminal.c: Likewise.
20891 * commands/ls.c: Likewise.
20892 * commands/help.c: Likewise.
20893 * partmap/pc.c: Likewise.
20894 * loader/efi/chainloader.c: Likewise.
20895 * loader/multiboot_loader.c: Likewise.
20896 * loader/i386/pc/multiboot2.c: Likewise.
20897 * term/efi/console.c: Likewise.
20898 * term/i386/pc/serial.c: Likewise.
20899 * util/lvm.c: Likewise.
20900 * util/console.c: Likewise.
20901 * util/i386/efi/grub-mkimage.c: Likewise.
20902 * util/raid.c: Likewise.
20903
7f02114b 209042009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
20905
20906 * commands/videotest.c: Removed include to grub/machine/memory.h.
20907
20908 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
20909 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
20910 (video_mod_SOURCES): Removed.
20911 (video_mod_CFLAGS): Likewise.
20912 (video_mod_LDFLAGS): Likewise.
20913 (gfxterm_mod_SOURCES): Likewise.
20914 (gfxterm_mod_CFLAGS): Likewise.
20915 (gfxterm_mod_LDFLAGS): Likewise.
20916 (videotest_mod_SOURCES): Likewise.
20917 (videotest_mod_CFLAGS): Likewise.
20918 (videotest_mod_LDFLAGS): Likewise.
20919 (bitmap_mod_SOURCES): Likewise.
20920 (bitmap_mod_CFLAGS): Likewise.
20921 (bitmap_mod_LDFLAGS): Likewise.
20922 (tga_mod_SOURCES): Likewise.
20923 (tga_mod_CFLAGS): Likewise.
20924 (tga_mod_LDFLAGS): Likewise.
20925 (jpeg_mod_SOURCES): Likewise.
20926 (jpeg_mod_CFLAGS): Likewise.
20927 (jpeg_mod_LDFLAGS): Likewise.
20928 (png_mod_SOURCES): Likewise.
20929 (png_mod_CFLAGS): Likewise.
20930 (png_mod_LDFLAGS): Likewise.
20931
20932 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
20933 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
20934 (video_mod_SOURCES): Added.
20935 (video_mod_CFLAGS): Likewise.
20936 (video_mod_LDFLAGS): Likewise.
20937 (videotest_mod_SOURCES): Likewise.
20938 (videotest_mod_CFLAGS): Likewise.
20939 (videotest_mod_LDFLAGS): Likewise.
20940 (bitmap_mod_SOURCES): Likewise.
20941 (bitmap_mod_CFLAGS): Likewise.
20942 (bitmap_mod_LDFLAGS): Likewise.
20943 (tga_mod_SOURCES): Likewise.
20944 (tga_mod_CFLAGS): Likewise.
20945 (tga_mod_LDFLAGS): Likewise.
20946 (jpeg_mod_SOURCES): Likewise.
20947 (jpeg_mod_CFLAGS): Likewise.
20948 (jpeg_mod_LDFLAGS): Likewise.
20949 (png_mod_SOURCES): Likewise.
20950 (png_mod_CFLAGS): Likewise.
20951 (png_mod_LDFLAGS): Likewise.
20952 (gfxterm_mod_SOURCES): Likewise.
20953 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 20954 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 20955
20956 * term/gfxterm.c: Removed include to grub/machine/memory.h,
20957 grub/machine/console.h.
20958
644fff97 209592009-01-04 Jerone Young <jerone@gmail.com>
20960
20961 Make on screen instructions clearer
20962
20963 Based on patch created by Jidanni <jidanni@jidanni.org>
20964
20965 * normal/menu.c: print clearer instructions on the screen
20966
1e901a75 209672009-01-02 Colin D Bennett <colin@gibibit.com>
20968
20969 New font engine.
34c44600 20970
1e901a75 20971 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
20972 build system and fixed gfxterm.c to work with different sized fonts.
20973
20974 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 20975
1e901a75 20976 * configure: Re-generated.
34c44600 20977
1e901a75 20978 * DISTLIST: Removed font/manager.c.
20979 Added font/font.c.
20980 Added font/font_cmd.c.
34c44600 20981
1e901a75 20982 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
20983 compilation.
34c44600 20984
1e901a75 20985 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 20986
20987 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 20988
20989 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 20990
1e901a75 20991 * normal/menu.c: Likewise.
34c44600 20992
1e901a75 20993 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
20994 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 20995
1e901a75 20996 * include/grub/font.h: Replaced with new file.
34c44600 20997
1e901a75 20998 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
20999 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21000 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21001 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21002 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 21003 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 21004 fg_red, fg_green, fg_blue, fg_alpha.
21005 (grub_video_adapter): Removed blit_glyph.
34c44600 21006 (grub_video_blit_glyph): Removed.
21007
1e901a75 21008 * font/manager.c: Removed file.
34c44600 21009
21010 * font/font.c: New file.
21011
1e901a75 21012 * font/font_cmd.c: Likewise.
34c44600 21013
1e901a75 21014 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 21015
1e901a75 21016 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21017 (grub_video_vbe_map_rgba): Likewise.
21018 (grub_video_vbe_unmap_color_int): Likewise.
21019 (grub_video_vbe_blit_glyph): Removed.
21020 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 21021
1e901a75 21022 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21023 (get_pixel): Likewise.
34c44600 21024 (set_pixel): Likewise.
21025
1e901a75 21026 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 21027
1e901a75 21028 * term/gfxterm.c: Adapted to new font engine.
34c44600 21029
1e901a75 21030 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 21031
1e901a75 21032 * term/i386/pc/vga.c: Likewise.
34c44600 21033
1e901a75 21034 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 21035
1e901a75 21036 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 21037
1e901a75 21038 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21039
1e901a75 21040 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21041
1e901a75 21042 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 21043
1e901a75 21044 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 21045
1e901a75 21046 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 21047
1e901a75 21048 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 21049
1e901a75 21050 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21051
21052 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 21053
1e901a75 21054 * util/grub-mkconfig_lib.in: Changed font extension.
21055
278922e8 210562008-12-28 Felix Zielcke <fzielcke@z-51.de>
21057
21058 * util/getroot.c (grub_util_get_grub_dev): Add support for
21059 /dev/md/dNNpNN style partitionable mdraid devices.
21060
3ced05cf 210612008-12-12 Alex Smith <alex@alex-smith.me.uk>
21062
21063 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21064 at a time limit of the PXE TFTP API correctly.
21065 (grub_pxefs_close): Likewise.
21066
7fd0ee30 210672008-11-29 Robert Millan <rmh@aybabtu.com>
21068
34c44600 21069 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 21070 grub_ata_device_initialize() calls.
21071
34c44600 210722008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 21073
21074 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21075 iteration failed.
21076 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21077
89313780 210782008-11-28 Robert Millan <rmh@aybabtu.com>
21079
21080 Fix build on powerpc-ieee1275. Based on patch created by
21081 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21082 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21083 `kern/ieee1275/mmap.c'.
21084 * include/grub/powerpc/ieee1275/memory.h: New file.
21085
15257703 21086 Provide grub-install on coreboot.
21087 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21088 (grub_install_SOURCES): New variable.
21089 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21090 usable on coreboot.
21091
9fc5388a 210922008-11-25 Felix Zielcke <fzielcke@z-51.de>
21093
21094 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21095 to `grub_term_input_t'.
21096 (grub_term_get_current_output): Change return type to
21097 `grub_term_output_t'.
21098
bc3a2f31 210992008-11-22 Robert Millan <rmh@aybabtu.com>
21100
34c44600 21101 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 21102 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21103 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21104 grub_vga_text_cls().
21105
80fc88f2 21106 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 21107 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 21108
cbf36fd3 21109 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21110 to 0x200000 (avoids trouble with some OFW implementations, and matches
21111 with the one in Yaboot).
21112 Reported by Manoel Abranches
21113
73e8e268 211142008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 21115
21116 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21117 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21118
73e8e268 21119 * util/grub-mkconfig_lib.in (grub_warn): New function.
21120 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21121 warnings, to obtain consistent formatting.
21122 * util/grub.d/00_header.in: Likewise.
21123 * util/update-grub_lib.in: Likewise.
21124
e94045a1 21125 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 21126 Move comment text to `#error' stanza.
e94045a1 21127
79d29fd7 21128 Harmonize ieee1275's grub_available_iterate() with the generic
21129 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21130 build problem on i386-ieee1275):
21131 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21132 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21133 parameter `type'. Update all users of this function.
21134 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21135 `kern/ieee1275/mmap.c'.
21136 * kern/ieee1275/init.c
21137 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21138 with ...
21139 (grub_machine_mmap_iterate): ... this.
21140 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21141 return type to `grub_err_t'. Update all implementations of this
21142 function prototype.
21143 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21144 Likewise.
21145
60d6b16e 21146 Add `lsmmap' command (lists firmware-provided memory map):
21147 * commands/lsmmap.c: New file.
21148 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21149 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21150 variables.
21151 * conf/powerpc-ieee1275.rmk: Likewise.
21152 * conf/i386-coreboot.rmk: Likewise.
21153 * conf/i386-ieee1275.rmk: Likewise.
21154
ebaaf49b 211552008-11-19 Robert Millan <rmh@aybabtu.com>
21156
21157 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 21158 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21159 constraints to initrd allocation (based on code from
21160 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21161 for Linux to find it.
ebaaf49b 21162
dfab719f 211632008-11-14 Robert Millan <rmh@aybabtu.com>
21164
21165 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21166 order to cope with duplicate slashes.
21167
10fc3eb9 211682008-11-14 Robert Millan <rmh@aybabtu.com>
21169
21170 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21171 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21172 don't want to mess with lower memory, because it is used in the Linux
21173 loader.
21174
21175 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 21176 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 21177 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21178 is in our heap (probably as a result of it being corrupted during
2f2a3442 21179 decompression). Add #error instance with comment to explain why this
21180 loader isn't currently usable on PC/BIOS.
10fc3eb9 21181
e2e07847 211822008-11-14 Robert Millan <rmh@aybabtu.com>
21183
21184 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 21185 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 21186
fe8e8d69 211872008-11-12 Robert Millan <rmh@aybabtu.com>
21188
21189 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21190
21191 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21192 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21193 from here ...
21194 * include/grub/i386/pc/memory.h: ... to here.
21195
976b07d0 211962008-11-12 Robert Millan <rmh@aybabtu.com>
21197
21198 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21199 split).
21200
21201 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21202 (grub_console_cur_color, grub_console_real_putchar)
21203 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21204 (grub_console_setcolorstate, grub_console_setcolor)
21205 (grub_console_getcolor): Move from here ...
21206 * include/grub/i386/vga_common.h: ... to here (new file).
21207
21208 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21209 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21210 `<grub/i386/io.h>'.
21211 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21212 `<grub/i386/vga_common.h>'.
21213
76679cd3 212142008-11-12 Robert Millan <rmh@aybabtu.com>
21215
21216 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21217 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21218 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21219 variables.
21220 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21221 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21222
21223 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21224 grub_console_init() with call to grub_vga_text_init().
21225 (grub_machine_fini): Replace call to
21226 grub_console_fini() with call to grub_vga_text_fini() and
21227 grub_at_keyboard_fini().
21228
21229 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21230 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21231 (grub_console_setcolorstate, grub_console_setcolor)
21232 (grub_console_getcolor): New function prototypes.
21233
21234 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21235 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21236 (grub_vga_text_setcursor): Static-ize.
21237 (grub_vga_text_term): New structure.
21238 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21239
21240 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21241 (grub_console_cur_color, grub_console_standard_color)
21242 (grub_console_normal_color, grub_console_highlight_color)
21243 (map_char, grub_console_putchar, grub_console_getcharwidth)
21244 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21245 (grub_console_getcolor): Move from here ...
21246 * term/i386/vga_common.c: ... to here (same function names).
21247
95b841d3 212482008-11-12 Robert Millan <rmh@aybabtu.com>
21249
21250 Use newly-added Multiboot support in coreboot.
21251
21252 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21253 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21254
21255 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21256 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21257 (codestart): Store the MBI in `startup_multiboot_info' when we're
21258 being loaded using Multiboot.
21259
21260 * kern/i386/coreboot/init.c (grub_machine_init): Move
21261 grub_at_keyboard_init() call to beginning of function (useful for
21262 debugging). Call grub_machine_mmap_init() before attempting to use
21263 grub_machine_mmap_iterate().
21264 (grub_lower_mem, grub_upper_mem): Move from here ...
21265 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21266 here (new file).
21267
21268 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21269 function prototype.
21270
761ca975 212712008-11-12 Robert Millan <rmh@aybabtu.com>
21272
21273 Fix a regression introduced by the at_keyboard.mod split. Because
21274 some terminals are default on some platforms and non-default on
21275 others, the first terminal being registered determines which is
21276 going to be default.
21277
21278 * kern/term.c (grub_term_register_input): If this is the first
21279 terminal being registered, set it as the current one.
21280 (grub_term_register_output): Likewise.
21281
21282 * term/efi/console.c (grub_console_init): Do not call
21283 grub_term_set_current_output() or grub_term_set_current_input().
21284 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21285 * term/i386/pc/console.c (grub_console_init): Likewise.
21286 (grub_console_fini): Do not call grub_term_set_current_input()
21287 (but leave grub_term_set_current_output() to restore text mode).
21288
6c529df7 212892008-11-10 Robert Millan <rmh@aybabtu.com>
21290
21291 * util/grub.d/00_header.in: Add backward compatibility check for
21292 versions of terminal.mod that don't understand `terminal_input' or
21293 `terminal_output'.
21294
132e4113 212952008-11-09 Robert Millan <rmh@aybabtu.com>
21296
21297 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21298 `terminal_input' / `terminal_output', not `terminal'.
21299
ac293d50 213002008-11-08 Robert Millan <rmh@aybabtu.com>
21301
21302 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 21303 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 21304
0025933a 213052008-11-08 Robert Millan <rmh@aybabtu.com>
21306
21307 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 21308 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 21309 members. Update all users.
21310 * util/console.c (grub_ncurses_term): Split in ...
21311 (grub_ncurses_term_input): ... this, and ...
21312 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 21313 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 21314
37c86336 213152008-11-08 Robert Millan <rmh@aybabtu.com>
21316
21317 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21318 (PKGDATA): Add $(pkgdata_SRCDIR).
21319 (pkglib_BUILDDIR): New variable.
21320 (pkgdata_SRCDIR): New variable.
21321 (build_env.mk): New target.
21322 (include_DATA): New variable.
21323 (install-local): Install $(include_DATA) files in $(includedir).
21324
b6c15a2d 213252008-11-07 Pavel Roskin <proski@gnu.org>
21326
d99d46f1 21327 * gendistlist.sh: Use C locale for sorting to ensure consistent
21328 output on all systems.
21329
b6c15a2d 21330 * util/grub.d/00_header.in: Remove incorrect space before
21331 "serial".
21332
c32ee8c9 213332008-11-07 Robert Millan <rmh@aybabtu.com>
21334
21335 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21336 per specification.
21337 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21338 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21339 (based on find_multi_boot1_header).
21340 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21341 using find_multi_boot2_header(), and abort if neither Multiboot or
21342 Multiboot headers were found.
21343
651c29b7 213442008-11-07 Robert Millan <rmh@aybabtu.com>
21345
21346 Modularize at_keyboard.mod:
21347
21348 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21349 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21350 (at_keyboard_mod_LDFLAGS): New variables.
21351
21352 Actual terminal split:
21353
21354 * include/grub/term.h (struct grub_term): Split in ...
21355 (struct grub_term_input): ... this, and ...
21356 (struct grub_term_output): ... this. Update all users.
21357 (grub_term_set_current): Split in ...
21358 (grub_term_set_current_input): ... this, and ...
21359 (grub_term_set_current_output): ... this.
21360 (grub_term_get_current): Split in ...
21361 (grub_term_get_current_input): ... this, and ...
21362 (grub_term_get_current_output): ... this.
21363 (grub_term_register): Split in ...
21364 (grub_term_register_input): ... this, and ...
21365 (grub_term_register_output): ... this.
21366 (grub_term_unregister): Split in ...
21367 (grub_term_unregister_input): ... this, and ...
21368 (grub_term_unregister_output): ... this.
21369 (grub_term_iterate): Split in ...
21370 (grub_term_iterate_input): ... this, and ...
21371 (grub_term_iterate_output): ... this.
21372
21373 * kern/term.c (grub_term_list): Split in ...
21374 (grub_term_list_input): ... this, and ...
21375 (grub_term_list_output): ... this. Update all users.
21376 (grub_cur_term): Split in ...
21377 (grub_cur_term_input): ... this, and ...
21378 (grub_cur_term_output): ... this. Update all users.
21379 (grub_term_set_current): Split in ...
21380 (grub_term_set_current_input): ... this, and ...
21381 (grub_term_set_current_output): ... this.
21382 (grub_term_get_current): Split in ...
21383 (grub_term_get_current_input): ... this, and ...
21384 (grub_term_get_current_output): ... this.
21385 (grub_term_register): Split in ...
21386 (grub_term_register_input): ... this, and ...
21387 (grub_term_register_output): ... this.
21388 (grub_term_unregister): Split in ...
21389 (grub_term_unregister_input): ... this, and ...
21390 (grub_term_unregister_output): ... this.
21391 (grub_term_iterate): Split in ...
21392 (grub_term_iterate_input): ... this, and ...
21393 (grub_term_iterate_output): ... this.
21394
21395 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21396 a check for input and one for output (and only attempt to get keys
21397 from user when input works).
21398
21399 * util/grub-probe.c (grub_term_get_current): Split in ...
21400 (grub_term_get_current_input): ... this, and ...
21401 (grub_term_get_current_output): ... this.
21402 * util/grub-fstest.c: Likewise.
21403 * util/i386/pc/grub-setup.c: Likewise.
21404 * util/grub-editenv.c: Likewise.
21405
21406 Portability adjustments:
21407
21408 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21409 `term/i386/pc/at_keyboard.c'.
21410 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21411 grub_keyboard_controller_init() (now handled by terminal .init).
21412 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21413 grub_at_keyboard_init().
21414 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21415 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21416 at_keyboard.mod via input terminal interface).
21417 * include/grub/i386/coreboot/console.h: Convert into a stub for
21418 `<grub/i386/pc/console.h>'.
21419
21420 Migrate full terminals to new API:
21421
21422 * term/efi/console.c (grub_console_term): Split into ...
21423 (grub_console_term_input): ... this, and ...
21424 (grub_console_term_output): ... this. Update all users.
21425 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21426 (grub_ofconsole_init): Split into ...
21427 (grub_ofconsole_init_input): ... this, and ...
21428 (grub_ofconsole_init_output): ... this.
21429 (grub_ofconsole_term): Split into ...
21430 (grub_ofconsole_term_input): ... this, and ...
21431 (grub_ofconsole_term_output): ... this. Update all users.
21432 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21433 (grub_serial_term_input): ... this, and ...
21434 (grub_serial_term_output): ... this. Update all users.
21435 * term/i386/pc/console.c (grub_console_term): Split into ...
21436 (grub_console_term_input): ... this, and ...
21437 (grub_console_term_output): ... this. Update all users.
21438 (grub_console_term_input): Only enable it on PC/BIOS platform.
21439 (grub_console_init): Remove grub_keyboard_controller_init() call.
21440
21441 Migrate input terminals to new API:
21442
21443 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21444 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21445 i386-specific anyway).
21446 (grub_console_checkkey): Rename to ...
21447 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21448 users.
21449 (grub_keyboard_controller_orig): New variable.
21450 (grub_console_getkey): Rename to ...
21451 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21452 users.
21453 (grub_keyboard_controller_init): Static-ize. Save original
21454 controller value so that it can be restored ...
21455 (grub_keyboard_controller_fini): ... here (new function).
21456 (grub_at_keyboard_term): New structure.
21457 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21458 functions.
21459
21460 Migrate output terminals to new API:
21461
21462 * term/i386/pc/vga.c (grub_vga_term): Change type to
21463 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21464 members. Update all users.
21465 * term/gfxterm.c (grub_video_term): Change type to
21466 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21467 members. Update all users.
21468 * include/grub/i386/pc/console.h (grub_console_checkkey)
21469 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21470 etc).
21471
21472 Migrate `terminal' command and userland tools to new API:
21473
21474 * commands/terminal.c (grub_cmd_terminal): Split into ...
21475 (grub_cmd_terminal_input): ... this, and ...
21476 (grub_cmd_terminal_output): ... this.
21477 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21478 `terminal_input' and `terminal_output'.
21479 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21480 `terminal_input' / `terminal_output' API.
21481 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21482 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21483 provided ${GRUB_TERMINAL}, convert it).
21484
96e5d876 214852008-11-04 Robert Millan <rmh@aybabtu.com>
21486
21487 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21488 for FreeBSD.
21489 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21490
556f3775 214912008-11-03 Bean <bean123ch@gmail.com>
21492
21493 * kern/elf.c (grub_elf32_load): Revert to previous code.
21494 (grub_elf64_load): Likewise.
21495
21496 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21497
926b9823 214982008-11-01 Robert Millan <rmh@aybabtu.com>
21499
21500 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21501 (TARGET_CPPFLAGS): Likewise.
21502 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21503
1432e958 215042008-11-01 Carles Pina i Estany <carles@pina.cat>
21505
21506 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21507
dba3f844 215082008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 21509
21510 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21511 addition of objects until the code is not going to be able to fail.
21512
dba3f844 215132008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 21514
21515 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21516 (add a missing NULL check, and correct them by moving the pointer
21517 operations after the actual check).
21518
7ab28c21 215192008-10-29 Robert Millan <rmh@aybabtu.com>
21520
21521 * util/i386/pc/grub-install.in: Handle empty string as output from
21522 make_system_path_relative_to_its_root().
21523
1b7748eb 215242008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21525
21526 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21527 circular metadata worst case scenario. If the metadata is circular
21528 then copy the wrap in place.
21529 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21530 project lib/format_text/layout.h
21531 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21532
c9618ab2 215332008-10-03 Felix Zielcke <fzielcke@z-51.de>
21534
7a36edca 21535 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 21536
bf981c62 215372008-10-03 Felix Zielcke <fzielcke@z-51.de>
21538
21539 * util/update-grub_lib.in: Mention filename in warning message.
21540
6d994591 215412008-09-29 Felix Zielcke <fzielcke@z-51.de>
21542
21543 * NEWS: Update for rename of update-grub to grub-mkconfig.
21544
18ade780 215452008-09-29 Felix Zielcke <fzielcke@z-51.de>
21546
21547 * util/update-grub_lib.in: Copy to ...
21548 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 21549 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 21550 * util/update-grub.in: Rename to ...
21551 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
21552 option. Add `--output' option to allow users to specify the generated
21553 configuration file. Default to stdout.
21554 (update_grub_dir): Rename to ...
21555 (grub_mkconfig_dir): ... this.
21556 (grub_cfg): Default to an empty string.
21557 * conf/common.rmk (update-grub): Rename to ...
21558 (grub-mkconfig): ... this.
21559 (update-grub_lib): Copy to ...
21560 (grub-mkconfig_lib): ... this.
21561 (update-grub_SCRIPTS): Copy to ...
21562 (grub-mkconfig_SCRIPTS): ... this. Update all users.
21563 (update-grub_DATA): Rename to ...
21564 (grub-mkconfig_DATA): ... this.
21565
556ce6ac 215662008-09-28 Robert Millan <rmh@aybabtu.com>
21567
21568 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
21569 to `modified'. Add the real `created' field.
21570 (grub_iso9660_uuid): Use `modified' rather than `created' for
21571 constructing the UUID.
21572
215732008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 21574
21575 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
21576 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
21577
92274e85 215782008-09-28 Bean <bean123ch@gmail.com>
21579
21580 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
21581 Thanks to Christian Franke for finding this bug.
21582
add6f17a 215832008-09-25 Robert Millan <rmh@aybabtu.com>
21584
21585 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
21586 instances of grub_util_get_disk_name() (see previous commit).
21587
d2a367b8 215882008-09-25 Robert Millan <rmh@aybabtu.com>
21589
21590 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
21591 `util/i386/get_disk_name.c'.
21592 * conf/i386-efi.rmk: Likewise.
21593 * conf/x86_64-efi.rmk: Likewise.
21594 * conf/i386-coreboot.rmk: Likewise.
21595 * conf/i386-ieee1275.rmk: Likewise.
21596 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
21597 `util/ieee1275/get_disk_name.c'.
21598 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
21599 * util/ieee1275/get_disk_name.c: Remove file.
21600 * util/i386/get_disk_name.c: Remove file.
21601 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
21602 "hd%d" for device.map entries, rather than using
21603 grub_util_get_disk_name().
21604
81a06771 216052008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 21606
21607 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
21608 warning.
21609 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
21610
5a004279 216112008-09-24 Carles Pina i Estany <carles@pina.cat>
21612
21613 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
21614 Changed to 0x5100.
21615 (GRUB_TERM_PPAGE): Changed to 0x4900.
21616
397093d3 216172008-09-24 Robert Millan <rmh@aybabtu.com>
21618
21619 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
21620 macros (they were i386-pc specific).
21621 * include/grub/sparc64/ieee1275/console.h: Likewise.
21622 * include/grub/efi/console.h: Likewise.
21623
a91b6c7c 216242008-09-22 Bean <bean123ch@gmail.com>
21625
21626 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
21627 resident and in attribute list.
21628
21629 * include/grub/ntfs.h (BMP_LEN): Removed.
21630
c40fd116 216312008-09-22 Bean <bean123ch@gmail.com>
21632
81a06771 21633 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 21634 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
21635
21636 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
21637 error occurs, as grub_disk_open will call grub_disk_close, which will
21638 call p->close (scsi).
21639
81a06771 216402008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 21641
21642 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
21643 (AC_PREREQ): Bumped to 2.59.
21644 (AC_TRY_COMPILE): Replace obsolete macro with ...
21645 (AC_COMPILE_IFELSE): ... this.
21646 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
21647 (AC_LINK_IFELSE): ... this.
21648
5dc43410 216492008-09-21 Felix Zielcke <fzielcke@z-51.de>
21650
21651 * autogen.sh: Add a call to `gendistlist.sh'.
21652
9035dce4 216532008-09-19 Christian Franke <franke@computer.org>
21654
21655 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
21656 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
21657 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
21658 Export __enable_execute_stack() to modules.
21659 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
21660 New function.
21661
7fd75377 216622008-09-09 Felix Zielcke <fzielcke@z-51.de>
21663
040030b3 21664 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
21665 Sort the list.
21666
216672008-09-09 Felix Zielcke <fzielcke@z-51.de>
21668
21669 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 21670 #include <grub/util/hostdisk.h>.
21671
89d5ffcf 216722008-09-08 Robert Millan <rmh@aybabtu.com>
21673
21674 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
21675 segments when their filesz is zero (grub_file_read() interprets
81a06771 21676 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 21677 Use `lowest_segment' rather than 0 for calculating the current
21678 segment load address.
21679
40da438f 216802008-09-08 Robert Millan <rmh@aybabtu.com>
21681
21682 * util/hostdisk.c (open_device): Replace a grub_util_info() call
21683 with grub_dprintf("hostdisk", ...), as it was so verbose that it
21684 clobbered useful information.
21685
ddbf5556 216862008-09-08 Robert Millan <rmh@aybabtu.com>
21687
21688 * include/grub/util/biosdisk.h: Move to ...
21689 * include/grub/util/hostdisk.h: ... here. Update all users.
21690 * util/biosdisk.c: Move to ...
21691 * util/hostdisk.c: ... here. Update all users.
21692
783d0f48 216932008-09-07 Robert Millan <rmh@aybabtu.com>
21694
21695 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
21696 variables.
21697 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
21698 and length can be stored directly in the `mbi->mmap_addr' and
21699 `mbi->mmap_length' struct fields.
21700
548e2ea5 217012008-09-07 Robert Millan <rmh@aybabtu.com>
21702
21703 * conf/i386.rmk: New file. Provides declaration for building
21704 `cpuid.mod'.
21705 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
21706 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
21707 variables.
21708 Include `conf/i386.mk'.
21709 * conf/i386-efi.rmk: Likewise.
21710 * conf/x86_64-efi.rmk: Likewise.
21711 * conf/i386-coreboot.rmk: Likewise.
21712 * conf/i386-ieee1275.rmk: Likewise.
21713
0ea85a37 217142008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
21715
21716 Based on patch created by Colin D Bennett <colin@gibibit.com>.
21717 Adds optimization support for BGR based modes.
21718
21719 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
21720 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21721 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21722 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21723 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21724 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21725 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21726 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21727 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21728 (grub_video_i386_vbeblit_index_index): Likewise.
21729 (grub_video_i386_vbeblit_replace_directN): Added.
21730 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21731 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21732 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21733 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21734 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21735 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 21736 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 21737 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21738 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21739 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21740 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21741 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21742 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
21743
21744 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
21745 (grub_video_i386_vbefill_R8G8B8): Likewise.
21746 (grub_video_i386_vbefill_index): Likewise.
21747 (grub_video_i386_vbefill_direct32): Added.
21748 (grub_video_i386_vbefill_direct24): Likewise.
21749 (grub_video_i386_vbefill_direct16): Likewise.
21750 (grub_video_i386_vbefill_direct8): Likewise.
21751
81a06771 21752 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 21753 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
21754 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
21755 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
21756 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
21757 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 21758
0ea85a37 21759 * video/video.c (grub_video_get_blit_format): Updated to use new
21760 blit formats. Added handling for 16 bit color modes.
81a06771 21761
21762 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 21763 fillers.
21764 (common_blitter): Updated to use new blitters.
21765
21766 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
21767 Removed.
21768 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
21769 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21770 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21771 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21772 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21773 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21774 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21775 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21776 (grub_video_i386_vbeblit_index_index): Likewise.
21777 (grub_video_i386_vbeblit_replace_directN): Added.
21778 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
21779 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
21780 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
21781 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
21782 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
21783 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
21784 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
21785 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
21786 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
21787 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
21788 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
21789 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
21790 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 21791
0ea85a37 21792 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
21793 (grub_video_i386_vbefill_R8G8B8): Likewise.
21794 (grub_video_i386_vbefill_index): Likewise.
21795 (grub_video_i386_vbefill_direct32): Added.
21796 (grub_video_i386_vbefill_direct24): Likewise.
21797 (grub_video_i386_vbefill_direct16): Likewise.
21798 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 21799
0ea85a37 21800 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
21801 types.
81a06771 21802
0ea85a37 21803 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
21804 types.
81a06771 21805
0ea85a37 21806 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
21807 blitter types.
81a06771 21808
0ea85a37 21809 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
21810 types.
21811
e8a83df6 218122008-09-06 Felix Zielcke <fzielcke@z-51.de>
21813
21814 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
21815 RAID level 1.
21816
6bcd8ee5 218172008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 21818
6bcd8ee5 21819 * fs/iso9660.c (grub_iso9660_date): New structure.
21820 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
21821 (grub_iso9660_uuid): New function.
c375ae58 21822
59261157 218232008-09-05 Bean <bean123ch@gmail.com>
21824
21825 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
21826
21827 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
21828 insensitive bit for names in Win32 and Win32 & DOS namespace.
21829
21830 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
21831
21832 * include/grub/types.h (LONG_MAX): Likewise.
21833
58b6645a 218342008-09-04 Felix Zielcke <fzielcke@z-51.de>
21835
4ee55921 21836 * util/getroot.c: Include <config.h>.
21837 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
21838 add support for /dev/md/N devices and handle LVM double dash escaping.
21839
218402008-09-04 Felix Zielcke <fzielcke@z-51.de>
21841
21842 * config.guess: Update to latest version from config git.
21843 * config.sub: Likewise.
58b6645a 21844
9124f65d 218452008-09-03 Robert Millan <rmh@aybabtu.com>
21846
21847 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
21848 `disk->total_sectors'.
21849
81a06771 218502008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 21851
21852 * include/grub/normal.h: Fixed incorrect comment for
21853 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
21854
81a06771 218552008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 21856
21857 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
21858 values with defines.
21859
21860 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
21861 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
21862 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
21863 (GRUB_VBE_MODEATTR_COLOR): Likewise.
21864 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
21865 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
21866 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
21867 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
21868 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
21869 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
21870 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
21871 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
21872 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
21873 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
21874 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
21875 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
21876 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
21877 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
21878 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
21879
93d5cbf8 218802008-08-31 Robert Millan <rmh@aybabtu.com>
21881
21882 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
21883 declaration.
21884 (grub_multiboot): Fix a few warnings.
21885
21751d50 218862008-08-31 Robert Millan <rmh@aybabtu.com>
21887
21888 * loader/i386/pc/multiboot.c: Update comment not to say that
21889 boot_device support is unimplemented.
21890
e27a75c5 218912008-08-31 Robert Millan <rmh@aybabtu.com>
21892
21893 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
21894 or memory map support are unimplemented.
21895
81a06771 218962008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 21897
21898 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
21899
81a06771 219002008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 21901
21902 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
21903 total video memory in 'vbeinfo' output; show color format details for
21904 each video mode.
21905
7c5d8d95 219062008-08-30 Pavel Roskin <proski@gnu.org>
21907
21908 * util/genmoddep.c: Remove for real this time.
21909 * DISTLIST: Remove util/genmoddep.c.
21910
4cebd25a 219112008-08-30 Robert Millan <rmh@aybabtu.com>
21912
21913 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
21914 as required by Multiboot spec (it was already 4-byte aligned, but
21915 only by chance).
21916
b497a269 219172008-08-29 Pavel Roskin <proski@gnu.org>
21918
e3925185 21919 * kern/powerpc/ieee1275/crt0.S: Rename to ...
21920 * kern/powerpc/ieee1275/startup.S: ... this.
21921 * conf/powerpc-ieee1275.rmk: Adjust for the above.
21922 * DISTLIST: Likewise.
21923
b497a269 21924 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
21925 grub/cpu/kernel.h. Add start label for consistency with other
21926 platforms. Add grub_prefix immediately after start. Add jump
21927 to the code after grub_prefix.
21928 * include/grub/powerpc/kernel.h: Provide valid values for
21929 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
21930
6e5a42fe 219312008-08-29 Bean <bean123ch@gmail.com>
21932
21933 * configure.ac: Change host_os to cygwin for mingw.
21934 (asprintf): New check for function.
21935
21936 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
21937 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
21938
21939 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 21940 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 21941 sync, sleep and grub_util_get_disk_size for mingw.
21942
21943 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
21944 to get size in mingw.
21945 (open_device): Use flag O_BINARY if it's defined.
21946 (find_root_device): Add dummy code for mingw.
21947
21948 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
21949 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
21950 (get_scsi_disk_name): Return 0 for mingw.
21951
21952 * util/hostfs.c: #include <grub/util/misc.h>.
21953 (grub_hostfs_open): Use "rb" flag to open file, use
21954 grub_util_get_disk_size to get disk size for mingw.
21955
21956 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
21957 (asprintf): New function if HAVE_ASPRINTF is not set.
21958 (sync): New function for mingw.
21959 (sleep): Likewise.
21960 (grub_util_get_disk_size): Likewise.
21961
ab3f2673 219622008-08-28 Pavel Roskin <proski@gnu.org>
21963
21964 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21965 kern/time.c.
21966
1c282483 219672008-08-28 Robert Millan <rmh@aybabtu.com>
21968
21969 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
21970
678e849c 219712008-08-28 Robert Millan <rmh@aybabtu.com>
21972
21973 Change find_grub_drive() syntax so it doesn't prevent it from
21974 detecting NULL names as errors.
21975
21976 * util/biosdisk.c (find_grub_drive): Move free slot search code
21977 from here ...
21978 (find_free_slot): ... to here.
21979 (read_device_map): Use find_free_slot() to search for free slots.
21980
965c75ca 219812008-08-27 Marco Gerards <marco@gnu.org>
21982
21983 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
21984 (scsi_mod_SOURCES): New variable.
21985 (scsi_mod_CFLAGS): Likewise
21986 (scsi_mod_LDFLAGS): Likewise.
21987
21988 * disk/scsi.c: New file.
21989
21990 * include/grub/scsi.h: Likewise.
21991
21992 * include/grub/scsicmd.h: Likewise.
21993
21994 * disk/ata.c: Include <grub/scsi.h>.
21995 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
21996 instead.
21997 (grub_ata_iterate): Skip ATAPI devices.
21998 (grub_ata_open): Only handle ATAPI devices.
21999 (struct grub_atapi_read): Removed.
22000 (grub_atapi_readsector): Likewise.
22001 (grub_ata_read): No longer handle ATAPI devices.
22002 (grub_ata_write): Likewise.
22003 (grub_atapi_iterate): New function.
22004 (grub_atapi_read): Likewise.
22005 (grub_atapi_write): Likewise.
22006 (grub_atapi_open): Likewise.
22007 (grub_atapi_close): Likewise.
22008 (grub_atapi_dev): New variable.
22009 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22010 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22011
22012 * include/grub/disk.h (enum grub_disk_dev_id): Add
22013 `GRUB_DISK_DEVICE_SCSI_ID'.
22014
c07ae501 220152008-08-26 Robert Millan <rmh@aybabtu.com>
22016
22017 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22018 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22019 descriptive.
22020
5ed20adc 220212008-08-23 Bean <bean123ch@gmail.com>
22022
22023 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22024 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22025 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22026 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22027 dm_nv.mod.
22028 (raid5rec_mod_SOURCES): New macro.
22029 (raid5rec_mod_CFLAGS): Likewise.
22030 (raid5rec_mod_LDFLAGS): Likewise.
22031 (raid6rec_mod_SOURCES): Likewise.
22032 (raid6rec_mod_CFLAGS): Likewise.
22033 (raid6rec_mod_LDFLAGS): Likewise.
22034 (mdraid_mod_SOURCES): Likewise.
22035 (mdraid_mod_CFLAGS): Likewise.
22036 (mdraid_mod_LDFLAGS): Likewise.
22037 (dm_nv_mod_SOURCES): Likewise.
22038 (dm_nv_mod_CFLAGS): Likewise.
22039 (dm_nv_mod_LDFLAGS): Likewise.
22040
22041 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22042 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22043 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22044
22045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22046 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22047
22048 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22049
22050 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22051
22052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22053
22054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22055
22056 * disk/raid5_recover.c: New file.
22057
22058 * disk/raid6_recover.c: Likewise.
22059
22060 * disk/mdraid_linux.c: Likewise.
22061
22062 * disk/dmraid_nvidia.c: Likewise.
22063
22064 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22065 ULONG_MAX.
22066
22067 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22068 calculate the size of raid device.
22069 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22070 different layout of raid5.
22071 (grub_raid_scan_device): Remove code specific to mdraid.
22072 (grub_raid_list): New variable.
22073 (free_array): New function.
22074 (grub_raid_register): Likewise.
22075 (grub_raid_unregister): Likewise.
22076 (grub_raid_rescan): Likewise.
22077 (GRUB_MOD_INIT): Don't iterate device here.
22078 (GRUB_MOD_FINI): Use free_array to release resource.
22079
22080 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22081 (grub_raid5_recover_func_t): New function variable type.
22082 (grub_raid6_recover_func_t): Likewise.
22083 (grub_raid5_recover_func): New variable.
22084 (grub_raid6_recover_func): Likewise.
22085 (grub_raid_register): New function.
22086 (grub_raid_unregister): Likewise.
22087 (grub_raid_rescan): Likewise.
22088 (grub_raid_block_xor): Likewise.
22089
22090 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22091 (CMD_CRC): New macro.
22092 (part): Removed.
22093 (read_file): Handle device as well as file.
22094 (cmd_crc): New function.
22095 (fstest): Handle multiple disks.
22096 (options): Remove part, raw and long, add root and diskcount.
22097 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 22098 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 22099 add handling for the new options, support multiple disks.
22100
22101 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22102
29c18915 221032008-08-23 Bean <bean123ch@gmail.com>
22104
22105 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22106
22107 * genfslist.sh: Ignore kernel.mod.
22108
22109 * genpartmaplist.sh: Likewise.
22110
8415f261 221112008-08-23 Robert Millan <rmh@aybabtu.com>
22112
22113 * util/getroot.c (find_root_device): Skip anything that starts with
22114 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22115
d5a7dc5b 221162008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 22117
d5a7dc5b 22118 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22119 * util/grub.d/00_header.in: Allow the administrator to change default
22120 gfxmode via ${GRUB_GFXMODE}.
22121
380cfbb4 221222008-08-21 Felix Zielcke <fzielcke@z-51.de>
22123
22124 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22125
c9baafe7 221262008-08-21 Robert Millan <rmh@aybabtu.com>
22127
22128 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22129 loader.
22130 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22131 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22132
e290bef2 221332008-08-20 Carles Pina i Estany <carles@pina.cat>
22134
22135 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22136 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22137
f9dbfc96 221382008-08-19 Robert Millan <rmh@aybabtu.com>
22139
22140 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22141 (struct grub_virtual_screen): Remove `cursor_color'.
22142 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22143 initialization.
22144 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22145
dd6bd6ab 221462008-08-18 Robert Millan <rmh@aybabtu.com>
22147
22148 Unify (identical) linux_normal.c files.
22149 * loader/i386/efi/linux_normal.c: Move from here ...
22150 * loader/linux_normal.c: ... to here. Update all users.
22151 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22152 * loader/i386/ieee1275/linux_normal.c: Likewise.
22153
7f42f83e 221542008-08-18 Robert Millan <rmh@aybabtu.com>
22155
22156 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22157 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22158 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22159 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22160 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22161 New macros.
22162 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22163 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22164 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22165 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22166 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22167 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22168 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22169 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22170 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22171 portably using grub_getxy().
22172 Replace `-EFI' with `-bzImage' in boot message.
22173
38487ddb 221742008-08-17 Robert Millan <rmh@aybabtu.com>
22175
22176 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22177
deceb3ec 221782008-08-17 Robert Millan <rmh@aybabtu.com>
22179
22180 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22181
22182 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22183 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22184 (grub_machine_mmap_iterate): New function declaration.
22185 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22186 structure.
22187 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22188 macros.
22189
22190 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22191 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22192 Move e820 parsing from here ...
22193 * kern/i386/pc/mmap.c: New file.
22194 (grub_machine_mmap_iterate): ... to here.
22195
22196 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22197 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22198 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22199 (grub_available_iterate): Redeclare to return `void', and redeclare
22200 its hook to use grub_uint64_t as addr and size parameters, and rename
22201 to ...
22202 (grub_machine_mmap_iterate): ... this. Update all users.
22203
22204 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22205 to make it more readable. Rename to ...
22206 (grub_machine_mmap_iterate): ... this.
22207
22208 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22209 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22210 (grub_multiboot): Allocate an extra region after the payload, and fill
22211 it with a Multiboot memory map. Adjust a.out loader to calculate size
22212 with the extra space.
22213 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22214 with the extra space.
22215
f8aa0f43 222162008-08-17 Carles Pina i Estany <carles@pina.cat>
22217
9807deb9 22218 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 22219
605f5bb6 222202008-08-17 Felix Zielcke <fzielcke@z-51.de>
22221
22222 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22223 mdate-sh to the list `find' searches for.
22224 * DISTLIST: Regenerated.
22225
210db6c6 222262008-08-16 Felix Zielcke <fzielcke@z-51.de>
22227
22228 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22229 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 22230 genmoddep.awk, gensymlist.sh.in.
22231 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 22232 * DISTLIST: Regenerated.
48cdbfd4 22233 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 22234
1082b929 222352008-08-16 Robert Millan <rmh@aybabtu.com>
22236
22237 * disk/raid.c (grub_raid_init): Handle/report errors set by
22238 grub_device_iterate().
22239 * disk/lvm.c (grub_lvm_init): Likewise.
22240
42ce5170 222412008-08-15 Bean <bean123ch@gmail.com>
22242
22243 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22244 and datehook.mod.
22245 (datetime_mod_SOURCES): New macro.
22246 (datetime_mod_CFLAGS): Likewise.
22247 (datetime_mod_LDFLAGS): Likewise.
22248 (date_mod_SOURCES): Likewise.
22249 (date_mod_CFLAGS): Likewise.
22250 (date_mod_LDFLAGS): Likewise.
22251 (datehook_mod_SOURCES): Likewise.
22252 (datehook_mod_CFLAGS): Likewise.
22253 (datehook_mod_LDFLAGS): Likewise.
22254
22255 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22256 and datehook.mod.
22257 (datetime_mod_SOURCES): New macro.
22258 (datetime_mod_CFLAGS): Likewise.
22259 (datetime_mod_LDFLAGS): Likewise.
22260 (date_mod_SOURCES): Likewise.
22261 (date_mod_CFLAGS): Likewise.
22262 (date_mod_LDFLAGS): Likewise.
22263 (datehook_mod_SOURCES): Likewise.
22264 (datehook_mod_CFLAGS): Likewise.
22265 (datehook_mod_LDFLAGS): Likewise.
22266
22267 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22268 and datehook.mod.
22269 (datetime_mod_SOURCES): New macro.
22270 (datetime_mod_CFLAGS): Likewise.
22271 (datetime_mod_LDFLAGS): Likewise.
22272 (date_mod_SOURCES): Likewise.
22273 (date_mod_CFLAGS): Likewise.
22274 (date_mod_LDFLAGS): Likewise.
22275 (datehook_mod_SOURCES): Likewise.
22276 (datehook_mod_CFLAGS): Likewise.
22277 (datehook_mod_LDFLAGS): Likewise.
22278
22279 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22280 and datehook.mod.
22281 (datetime_mod_SOURCES): New macro.
22282 (datetime_mod_CFLAGS): Likewise.
22283 (datetime_mod_LDFLAGS): Likewise.
22284 (date_mod_SOURCES): Likewise.
22285 (date_mod_CFLAGS): Likewise.
22286 (date_mod_LDFLAGS): Likewise.
22287 (datehook_mod_SOURCES): Likewise.
22288 (datehook_mod_CFLAGS): Likewise.
22289 (datehook_mod_LDFLAGS): Likewise.
22290
22291 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22292 and datehook.mod.
22293 (datetime_mod_SOURCES): New macro.
22294 (datetime_mod_CFLAGS): Likewise.
22295 (datetime_mod_LDFLAGS): Likewise.
22296 (date_mod_SOURCES): Likewise.
22297 (date_mod_CFLAGS): Likewise.
22298 (date_mod_LDFLAGS): Likewise.
22299 (datehook_mod_SOURCES): Likewise.
22300 (datehook_mod_CFLAGS): Likewise.
22301 (datehook_mod_LDFLAGS): Likewise.
22302
22303 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22304
22305 * commands/date.c: New file.
22306
22307 * hook/datehook.c: Likewise.
22308
22309 * include/grub/lib/datetime.h: Likewise.
22310
22311 * include/grub/i386/cmos.h: Likewise.
22312
22313 * lib/datetime.c: Likewise.
22314
22315 * lib/i386/datetime.c: Likewise.
22316
22317 * lib/efi/datetime.c: Likewise.
22318
0e9242da 223192008-08-14 Robert Millan <rmh@aybabtu.com>
22320
22321 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22322 (grub_mkelfimage_SOURCES): New variable.
22323 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22324
22325 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22326 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22327 * conf/powerpc-ieee1275.rmk: Likewise.
22328 * conf/i386-ieee1275.rmk: Likewise.
22329
22330 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22331 * kern/i386/coreboot/init.c: Likewise.
22332
22333 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22334 with `<grub/cpu/kernel.h>'.
22335 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22336 to ...
22337 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22338 * kern/i386/coreboot/startup.S: Likewise.
22339
22340 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22341 (GRUB_MOD_GAP): Remove.
22342 * include/grub/powerpc/kernel.h: New file.
22343 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22344 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22345 * include/grub/i386/kernel.h: New file.
22346 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22347 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22348 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22349
22350 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22351 `grub-mkelfimage'.
22352 Use --directory when invoking grub_mkimage.
22353
22354 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22355 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22356 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22357 and GRUB_KERNEL_CPU_PREFIX.
22358
b86408f8 223592008-08-14 Felix Zielcke <fzielcke@z-51.de>
22360
d5e619ca 22361 * include/grub/err.h (grub_err_printf): New function prototype.
22362 * util/misc.c (grub_err_printf): New function.
22363 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22364 grub_printf.
22365 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 22366
7161f0e0 223672008-08-13 Robert Millan <rmh@aybabtu.com>
22368
22369 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22370
a1967522 223712008-08-13 Robert Millan <rmh@aybabtu.com>
22372
22373 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22374 boot entry.
22375
371458b5 223762008-08-12 Robert Millan <rmh@aybabtu.com>
22377
22378 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22379 of the relocation code from here ...
22380 (grub_multiboot): ... to here.
22381 (forward_relocator, backward_relocator): Move from here ...
22382 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22383 (grub_multiboot_backward_relocator): ... to here.
22384 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22385 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22386 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22387 (grub_multiboot_forward_relocator_end)
22388 (grub_multiboot_backward_relocator)
22389 (grub_multiboot_backward_relocator_end): New variables.
22390
05f9452b 223912008-08-12 Bean <bean123ch@gmail.com>
22392
22393 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22394
20024ab0 223952008-08-11 Robert Millan <rmh@aybabtu.com>
22396
22397 * kern/i386/linuxbios/startup.S: Move from here ...
22398 * kern/i386/coreboot/startup.S: ... to here.
22399
22400 * kern/i386/linuxbios/init.c: Move from here ...
22401 * kern/i386/coreboot/init.c: ... to here.
22402
22403 * kern/i386/linuxbios/table.c: Move from here ...
22404 * kern/i386/coreboot/mmap.c: ... to here.
22405
22406 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22407
e352e9cd 224082008-08-11 Robert Millan <rmh@aybabtu.com>
22409
22410 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22411 errors. Leave it to the upper layer to handle them.
22412
2d05bc6a 224132008-08-09 Christian Franke <franke@computer.org>
22414
22415 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22416 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22417 Install `grub.d/10_windows' only on Cygwin.
22418 * configure.ac: Add subst of `target_os'.
22419 Check `target_os' also before setting TARGET_OBJ2ELF.
22420 Add `--enable-grub-pe2elf'.
22421
042bd419 224222008-08-08 Robert Millan <rmh@aybabtu.com>
22423
22424 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22425 (grub_last_time): Change type to grub_uint64_t.
22426 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22427 (grub_disk_close): Likewise.
22428
22429 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22430 (run_menu): Migrate code from to using grub_get_time_ms().
22431
22432 * util/misc.c (grub_get_time_ms): New function.
22433
7f280db5 224342008-08-08 Marco Gerards <marco@gnu.org>
22435
22436 * disk/ata.c (grub_ata_regget): Change return type to
22437 `grub_uint8_t'.
22438 (grub_ata_regget2): Likewise.
22439 (grub_ata_wait_status): New function.
22440 (grub_ata_wait_busy): Removed function, updated all users to use
22441 `grub_ata_wait_status'.
22442 (grub_ata_wait_drq): Likewise.
22443 (grub_ata_cmd): New function.
22444 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22445 error handling.
22446 (grub_ata_pio_write): Add error handling.
22447 (grub_atapi_identify): Likewise.
22448 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22449 handling.
22450 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22451 handling. Actually use the detected registers. Reorder the
22452 detection logic such that it is easier to read.
22453 (grub_ata_pciinit): Do not assign the same ID to each controller.
22454 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22455 handling.
22456 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22457
22458 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22459
1fbc5e66 224602008-08-08 Marco Gerards <marco@gnu.org>
22461
22462 * NEWS: Update.
22463
819ce6c0 224642008-08-07 Bean <bean123ch@gmail.com>
22465
22466 * include/grub/x86_64/pci.h: New file.
22467
5c41d44d 224682008-08-07 Christian Franke <franke@computer.org>
22469
22470 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22471 (TIMER2_GATE): Likewise.
22472 (grub_pit_wait): Add enable/disable of the timer2 gate
22473 bit of port 0x61. This fixes a possible infinite loop.
22474
5ebc275d 224752008-08-07 Bean <bean123ch@gmail.com>
22476
22477 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22478 kern/i386/tsc.c and kern/i386/pit.c.
22479
22480 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22481 x86_64 platform.
22482
22483 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22484 <grub/i386/tsc.h>.
22485
22486 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22487
e383b3d0 224882008-08-07 Bean <bean123ch@gmail.com>
22489
22490 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22491
22492 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22493
22494 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22495 multiple inclusion. Add #include <grub/types.h>.
22496
1cbb58ac 224972008-08-06 Christian Franke <franke@computer.org>
22498
22499 * conf/common.rmk: Build and install `10_windows'.
22500 * util/grub.d/10_windows.in: New script.
22501
337f5a1e 225022008-08-06 Pavel Roskin <proski@gnu.org>
22503
22504 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22505
057bc4ac 225062008-08-06 Robert Millan <rmh@aybabtu.com>
22507
22508 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22509 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22510
2b99f123 225112008-08-06 Bean <bean123ch@gmail.com>
22512
22513 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22514 (grub_pxefs_fs_int): Remove dummy definition.
22515 (grub_pxefs_open): Use data->block_size to store the current block
22516 size setting.
22517 (grub_pxefs_read): Use block size stored in data->block_size. As the
22518 value of grub_pxe_blksize can be changed after the file is opened.
22519
9f0234cb 225202008-08-06 Bean <bean123ch@gmail.com>
22521
22522 * fs/i386/pc/pxe.c (curr_file): new variable.
22523 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22524 require the dummy internal file system anymore.
22525 (grub_pxefs_read): Removed.
22526 (grub_pxefs_close): Likewise.
22527 (grub_pxefs_fs_int): Likewise.
22528 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22529 connection when we switch file.
22530 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22531
a55d42e0 225322008-08-06 Robert Millan <rmh@aybabtu.com>
22533
22534 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22535 `halt.mod'.
22536 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22537 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22538
22539 * kern/i386/halt.c: New file.
22540 * kern/i386/reboot.c: Likewise.
22541 * include/grub/i386/reboot.h: Likewise.
22542 * include/grub/i386/halt.h: Likewise.
22543
22544 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22545 Include `<grub/cpu/halt.h>'.
22546 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22547 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22548
22549 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
22550 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
22551 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
22552 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
22553 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
22554 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
22555 from here ...
22556 * include/grub/i386/at_keyboard.h: ... to here.
22557
24371d26 225582008-08-05 Robert Millan <rmh@aybabtu.com>
22559
22560 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
22561 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
22562 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
22563 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22564 `kern/generic/millisleep.c'.
22565
22566 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
22567 instead of grub_get_rtc().
22568 (grub_tsc_init): Initialize `tsc_boot_time'.
22569
22570 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
22571 (grub_machine_init): Use grub_tsc_init() rather than
22572 installing an RTC-based handler via grub_install_get_time_ms().
22573
22574 * kern/i386/pit.c: New file.
22575 * include/grub/i386/pit.h: Likewise.
22576
9e7007b3 225772008-08-05 Bean <bean123ch@gmail.com>
22578
22579 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
22580
22581 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
22582 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
22583 (pxe_mod_SOURCES): New macro.
22584 (pxe_mod_CFLAGS): Likewise.
22585 (pxe_mod_LDFLAGS): Likewise.
22586 (pxecmd_mod_SOURCES): Likewise.
22587 (pxecmd_mod_CFLAGS): Likewise.
22588 (pxecmd_mod_LDFLAGS): Likewise.
22589
22590 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
22591 (grub_pxe_call): Likewise.
22592
22593 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
22594
22595 * commands/i386/pc/pxecmd.c: New file.
22596
9f0234cb 22597 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 22598
22599 * include/grub/i386/pc/pxe.h: Likewise.
22600
6977d49f 226012008-08-05 Bean <bean123ch@gmail.com>
22602
22603 * util/console.c (grub_console_cur_color): New variable.
22604 (grub_console_standard_color): Likewise.
22605 (grub_console_normal_color): Likewise.
22606 (grub_console_highlight_color): Likewise.
22607 (color_map): Likewise.
22608 (use_color): Likewise.
22609 (NUM_COLORS): New macro.
22610 (grub_ncurses_setcolorstate): Handle color properly.
22611 (grub_ncurses_setcolor): Don't change color here, just remember the
22612 settings, color will be set in grub_ncurses_setcolorstate.
22613 (grub_ncurses_getcolor): New function.
22614 (grub_ncurses_init): Initialize color pairs.
22615 (grub_ncurses_term): New member grub_ncurses_getcolor.
22616
9c2ff3ee 226172008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 22618
9c2ff3ee 22619 High resolution timer support. Implemented for x86 CPUs using TSC.
22620 Extracted generic grub_millisleep() so it's linked in only as needed.
22621 This requires a Pentium compatible CPU; if the RDTSC instruction is
22622 not supported, then it falls back on the generic grub_get_time_ms()
22623 implementation that uses the machine's RTC.
22624
22625 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
22626 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
22627 `kern/generic/millisleep.c'.
22628
22629 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
22630 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
22631
22632 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
22633 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
22634
22635 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22636
22637 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22638 `kern/generic/millisleep.c'.
22639
22640 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22641
22642 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
22643
22644 * kern/generic/rtc_get_time_ms.c: New file.
22645
22646 * kern/generic/millisleep.c: New file.
337f5a1e 22647
9c2ff3ee 22648 * kern/misc.c: Don't include
22649 <kern/time.h> anymore.
22650 (grub_millisleep_generic): Removed.
22651
22652 * commands/sleep.c (grub_interruptible_millisleep): Uses
22653 grub_get_time_ms() instead of grub_get_rtc().
22654
22655 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
22656 function.
22657 (grub_cpu_is_cpuid_supported): New inline function.
22658 (grub_cpu_is_tsc_supported): New inline function.
22659 (grub_tsc_init): New function prototype.
22660 (grub_tsc_get_time_ms): New function prototype.
22661
22662 * kern/i386/tsc.c (grub_get_time_ms): New file.
22663
22664 * include/grub/time.h: Include <grub/types.h.
22665 (grub_millisleep_generic): Removed.
22666 (grub_get_time_ms): New prototype.
22667 (grub_install_get_time_ms): New prototype.
22668 (grub_rtc_get_time_ms): New prototype.
22669
22670 * kern/time.c (grub_get_time_ms): New function.
22671 (grub_install_get_time_ms): New function.
22672
22673 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
22674 <grub/time.h> anymore.
22675 (grub_millisleep): Removed.
22676 (grub_machine_init): Call grub_tsc_init.
22677
22678 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
22679 get_time_ms() implementation.
22680
22681 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
22682 (ieee1275_get_time_ms): New function.
22683 (grub_machine_init): Install get_time_ms() implementation.
22684
22685 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
22686 (grub_machine_init): Call grub_tsc_init().
22687 (grub_millisleep): Removed.
bf06a93f 22688
9c2ff3ee 22689 * kern/ieee1275/init.c (grub_millisleep): Removed.
22690 (grub_machine_init): Install ieee1275_get_time_ms()
22691 implementation.
22692 (ieee1275_get_time_ms): New function.
22693 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
22694 real work.
22695
9ec92aaf 226962008-08-05 Marco Gerards <marco@gnu.org>
22697
22698 * disk/ata.c: Include <grub/pci.h>.
22699 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
22700 (grub_ata_initialize): Rewritten.
22701 (grub_ata_device_initialize): New function.
22702
8d23f507 227032008-08-04 Pavel Roskin <proski@gnu.org>
22704
22705 * kern/main.c: Include grub/mm.h.
22706
5e15ee3d 227072008-08-04 Robert Millan <rmh@aybabtu.com>
22708
22709 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
22710 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
22711 corruption problem).
22712
a9053f8f 227132008-08-04 Robert Millan <rmh@aybabtu.com>
22714
22715 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
22716 warnings introduced in my last commit.
22717
dd19c7d7 227182008-08-03 Robert Millan <rmh@aybabtu.com>
22719
22720 Make PCI available on all i386 architectures.
22721
22722 * include/grub/i386/pc/pci.h: Move from here ...
22723 * include/grub/i386/pci.h: ... to here.
22724
22725 * include/grub/i386/pc/pci.h: Remove.
22726 * include/grub/i386/efi/pci.h: Remove.
22727 * include/grub/x86_64/efi/pci.h: Remove.
22728
22729 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
22730 `<grub/cpu/pci.h>'.
22731
22732 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
22733 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
22734 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
22735
22736 * conf/i386-ieee1275.rmk: Likewise.
22737
e14a6184 227382008-08-03 Robert Millan <rmh@aybabtu.com>
22739
22740 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
22741 (grub_console_setcursor): Make it possible to set cursor off.
22742
52768e37 227432008-08-03 Robert Millan <rmh@aybabtu.com>
22744
22745 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
22746 of modules instead of assuming which platform provides what.
22747 * util/update-grub.in: Likewise.
22748
2d52f57f 227492008-08-03 Robert Millan <rmh@aybabtu.com>
22750
22751 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
22752 instead of `grub_install_dos_part' to determine whether a drive needs
22753 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 22754 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 22755
2a5cd121 227562008-08-02 Robert Millan <rmh@aybabtu.com>
22757
22758 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
22759
93808428 227602008-08-02 Robert Millan <rmh@aybabtu.com>
22761
22762 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
22763 of informational grub_dprintf() calls.
22764
3bd0a12a 227652008-08-02 Robert Millan <rmh@aybabtu.com>
22766
22767 * disk/memdisk.c (memdisk_size): Don't initialize.
22768 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
22769
22770 * include/grub/i386/pc/kernel.h
22771 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
22772 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
22773 (grub_memdisk_image_size, grub_arch_memdisk_addr)
22774 (grub_arch_memdisk_size): Remove.
22775
22776 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
22777 field (was only used to transfer a constant). Add `type' field to
22778 support multiple module types.
22779 (grub_module_iterate): New function.
22780
22781 * kern/device.c (grub_device_open): Do not hide error messages
22782 when grub_disk_open() fails. Use grub_print_error() instead.
22783
22784 * kern/i386/pc/init.c (grub_arch_modules_addr)
22785 (grub_arch_memdisk_size): Remove functions.
22786 (grub_arch_modules_addr): Return the module address in high memory
22787 (now that it isn't copied anymore).
22788
22789 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
22790 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
22791 decompression routine (grub_total_module_size already includes that
22792 now). Don't copy modules back to low memory.
22793
22794 * kern/main.c: Include `<grub/mm.h>'.
22795 (grub_load_modules): Split out (and use) ...
22796 (grub_module_iterate): ... this function, which iterates through
22797 module objects and runs a hook.
22798 Comment out grub_mm_init_region() call, as it would cause non-ELF
22799 modules to be overwritten.
22800
22801 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
22802 the memdisk image in its own region, make it part of the module list.
22803 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
22804 (main): Parse --memdisk|-m option, and pass user-provided path as
22805 parameter to generate_image().
22806 (add_segments): Pass `memdisk_path' down to load_modules().
22807 (load_modules): Embed memdisk image in module section when requested.
22808 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
22809 `header.type' instead of `header.offset'.
22810
22811 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
22812 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
22813 (memdisk_mod_LDFLAGS): New variables.
22814 * conf/i386-coreboot.rmk: Likewise.
22815 * conf/i386-ieee1275.rmk: Likewise.
22816
a927cc73 228172008-08-02 Robert Millan <rmh@aybabtu.com>
22818
22819 * loader/i386/pc/multiboot.c (playground, forward_relocator)
22820 (backward_relocator): New variables. Used to allocate and relocate
22821 the payload, respectively.
22822 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 22823 address, install the appropriate relocator code in each bound of
a927cc73 22824 the payload, and set the entry point such that
22825 grub_multiboot_real_boot() will jump to one of them.
22826
22827 * kern/i386/loader.S (grub_multiboot_payload_size)
22828 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22829 (grub_multiboot_payload_entry_offset): New variables.
22830 (grub_multiboot_real_boot): Set cpu context to what the relocator
22831 expects, and jump to the relocator instead of the payload.
22832
22833 * include/grub/i386/loader.h (grub_multiboot_payload_size)
22834 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
22835 (grub_multiboot_payload_entry_offset): Export.
22836
b15d8a0c 228372008-08-01 Bean <bean123ch@gmail.com>
22838
22839 * normal/menu_entry.c (editor_getline): Don't return the original
22840 string as result, as it will be released by lexer once it has done
22841 using it.
22842
cdfb3d22 228432008-08-01 Robert Millan <rmh@aybabtu.com>
22844
22845 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
22846 within menuentries, not before them.
22847 util/grub.d/10_hurd.in: Likewise.
22848
9175e93d 228492008-08-01 Bean <bean123ch@gmail.com>
22850
22851 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
22852 (bufio_mod_SOURCES): New macro.
22853 (bufio_mod_CFLAGS): Likewise.
22854 (bufio_mod_LDFLAGS): Likewise.
22855
22856 * include/grub/bufio.h: New file.
22857
22858 * io/bufio.c: Likewise.
22859
22860 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
22861 (grub_video_reader_png): Use grub_buffile_open to open file.
22862
22863 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
22864 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
22865
22866 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
22867 (grub_video_reader_tga): Use grub_buffile_open to open file.
22868
22869 * font/manager.c: Include <grub/bufio.h>.
22870 (add_font): Use grub_buffile_open to open file.
22871
3d8383e7 228722008-07-31 Robert Millan <rmh@aybabtu.com>
22873
22874 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
22875 ELF segments, use a macro for arbitrarily accessing any of them instead
22876 of preparing a pointer that allows access to one at a time.
22877 (grub_multiboot_load_elf64): Likewise.
22878
16e641b6 228792008-07-31 Bean <bean123ch@gmail.com>
22880
22881 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
22882 GRUB_KERNEL_MACHINE_DATA_END.
22883
59198b72 228842008-07-30 Robert Millan <rmh@aybabtu.com>
22885
22886 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
22887 Increase from 0x50 to 0x60.
22888 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
22889 use UUIDs to identify the root drive for them. If that's not
22890 possible, abort.
22891 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
22892 check, for cross-disk installs.
22893
ae88bca3 228942008-07-30 Robert Millan <rmh@aybabtu.com>
22895
22896 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
22897 is non-empty, use it to set the `prefix' environment variable instead
22898 of the usual approach.
22899 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
22900 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
22901 environment variable instead of dummy make_install_device().
22902
22903 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
22904 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 22905 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 22906
22907 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
22908 New variable reference.
22909 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
22910 New macro. Defines offset of `grub_prefix' within startup.S (relative
22911 to `start').
22912 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
22913 section within startup.S (relative to `start').
22914 * include/grub/i386/coreboot/kernel.h: Likewise.
22915
22916 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
22917 Overwrite grub_prefix with its contents, at the beginning of the
22918 first segment.
22919 (main): Understand -p|--prefix.
22920
14f41dd1 229212008-07-30 Robert Millan <rmh@aybabtu.com>
22922
22923 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
22924
4ca049a3 229252008-07-30 Robert Millan <rmh@aybabtu.com>
22926
22927 * term/i386/pc/vga_text.c (grub_console_cls): Use
22928 grub_console_gotoxy() to go back to beginning of the screen.
22929 Found by Patrick Georgi <patrick.georgi@coresystems.de>
22930
2921d337 229312008-07-29 Christian Franke <franke@computer.org>
22932
22933 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22934 Add conversion of emulated mount points on Cygwin.
22935
b609876d 229362008-07-29 Christian Franke <franke@computer.org>
22937
22938 * util/update-grub.in: Add a check for admin
22939 group on Cygwin.
22940 Remove old `grub.cfg.new' before creation.
22941 Add `-f' to `mv' to handle the different filesystem
22942 semantics of Windows.
22943
e93e4679 229442008-07-29 Bean <bean123ch@gmail.com>
22945
22946 * normal/main.c (get_line): Fix buffer overflow bug.
22947
41694fd0 229482008-07-28 Robert Millan <rmh@aybabtu.com>
22949
22950 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
22951 (struct grub_apple_header): New struct. Describes the layout of
22952 the partmap header.
22953 (apple_partition_map_iterate): Check the header magic as well as the
22954 partition magic (which was already being checked).
22955
cfd0b4e6 229562008-07-28 Pavel Roskin <proski@gnu.org>
22957
22958 * genmk.rb: Add a warning to the beginning of the output that
22959 it's a generated file and should not be edited.
22960
93cce016 229612008-07-28 Robert Millan <rmh@aybabtu.com>
22962
22963 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22964 with the same number are found, just use issue a warning with
22965 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 22966
cd1df915 229672008-07-27 Robert Millan <rmh@aybabtu.com>
22968
22969 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
22970 information.
22971
b70a8427 229722008-07-27 Bean <bean123ch@gmail.com>
22973
22974 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
22975 (grub_fat_find_dir): Ignore case when comparing filename.
22976
8f5e379f 229772008-07-27 Bean <bean123ch@gmail.com>
22978
22979 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
22980 smallino, as it's more descriptive, and i8count can be confused with
22981 the other field count.
22982 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
22983 inode type.
22984
a85cd5a0 229852008-07-27 Bean <bean123ch@gmail.com>
22986
22987 * commands/crc.c: New file.
22988
22989 * lib/crc.c: Likewise.
22990
22991 * include/grub/lib/crc.h: Likewise.
22992
22993 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
22994
22995 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
22996 (hexdump): Move this function to ...
22997
22998 * lib/hexdump.c: ... here.
22999
23000 * include/grub/hexdump.h: Renamed to ...
23001
23002 * include/grub/lib/hexdump.h: ... this.
23003
23004 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23005
23006 * util/grub-editenv.c: Likewise.
23007
23008 * include/envblk.h: Renamed to ...
23009
23010 * include/lib/envblk.h: ... this.
23011
23012 * util/envblk.c: Renamed to ...
23013
23014 * lib/envblk.c: ... this.
23015
23016 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23017 lib/hexdump.c.
23018 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23019 (pkglib_MODULES): Add crc.mod.
23020 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23021 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23022 (crc_mod_SOURCES): New macro.
23023 (crc_mod_CFLAGS): Likewise.
23024 (crc_mod_LDFLAGS): Likewise.
23025
23026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23027
23028 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23029
23030 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23031
23032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23033
23034 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23035
c298def0 230362008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 23037
23038 * commands/help.c: Include <grub/term.h>.
23039 (TERM_WIDTH): Removed. Updated all users.
23040
cc349fb3 230412008-07-27 Pavel Roskin <proski@gnu.org>
23042
23043 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23044 spurious warnings about a comment within a comment.
23045
9051607e 230462008-07-25 Robert Millan <rmh@aybabtu.com>
23047
23048 * util/getroot.c (find_root_device): Skip devices that match
23049 /dev/dm-[0-9]. This lets the real device be found for any type of
23050 abstraction (LVM, EVMS, RAID..).
23051 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23052 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23053 device is found first, find_root_device() will now skip it.
23054
01453bfc 230552008-07-24 Pavel Roskin <proski@gnu.org>
23056
23057 * include/grub/types.h: Use __builtin_bswap32() and
23058 __builtin_bswap64() with gcc 4.3 and newer.
23059
6af9849f 230602008-07-24 Christian Franke <franke@computer.org>
23061
3a0fa256 23062 * util/i386/pc/grub-install.in: If `--debug' is specified,
23063 pass `--verbose' to grub-setup.
23064 Abort script if make_system_path_relative_to_its_root() fails.
23065
7810e747 230662008-07-24 Bean <bean123ch@gmail.com>
23067
23068 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23069 variable `target_platform' should be `platform'.
23070
42290e17 230712008-07-24 Bean <bean123ch@gmail.com>
23072
51cc5193 23073 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 23074 (grub_png_init_fixed_block): New function.
23075 (grub_png_decode_image_data): Handle fixed huffman code compression.
23076
2a8a80e4 230772008-07-24 Bean <bean123ch@gmail.com>
23078
23079 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23080 (grub_pe2elf_SOURCES): New macro.
23081 (CLEANFILES): Add grub-pe2elf.
23082
23083 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23084 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23085 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23086 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23087 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23088 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23089 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23090 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23091 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23092 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23093 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23094 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23095 (GRUB_PE32_DT_FUNCTION): Likewise.
23096 (GRUB_PE32_REL_I386_DIR32): Likewise.
23097 (GRUB_PE32_REL_I386_REL32): Likewise.
23098 (grub_pe32_symbol): New structure.
23099 (grub_pe32_reloc): Likewise.
23100
23101 * util/grub-pe2elf.c: New file.
23102
23103 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23104 start symbol in non pc platform.
23105
23106 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23107
23108 The following patches are from Christian Franke.
23109
23110 * include/grub/dl.h: Remove .previous, gas supports this only
23111 for ELF format.
23112
23113 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23114 Remove .type, gas supports this only for ELF format.
23115
23116 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23117 nullbytes in symbol table. This fixes an infinite loop if table is
23118 zero filled.
23119
23120 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23121 TARGET_IMG_LDFLAGS and EXEEXT.
23122
23123 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23124 TARGET_IMG_LDFLAGS_AC.
23125 (grub_CHECK_STACK_ARG_PROBE): New function.
23126
23127 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23128
23129 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23130
23131 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23132 to set TARGET_IMG_LD* accordingly.
23133 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23134 Add call to grub_CHECK_STACK_ARG_PROBE.
23135 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23136
23137 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23138
23139 * genmk.rb: Add EXEEXT to CLEANFILES.
23140
12ccdb75 231412008-07-23 Robert Millan <rmh@aybabtu.com>
23142
23143 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23144 define the codes for arrows and lines used for the menu).
23145 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23146 as well.
23147
23148 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23149 fonts, because the latter are too slow.
23150
18eeaf04 231512008-07-21 Bean <bean123ch@gmail.com>
23152
23153 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23154 a20. Run keyboard test last, as it will cause macbook to halt.
23155
b095e2ad 231562008-07-18 Pavel Roskin <proski@gnu.org>
23157
23158 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23159 load foreign architecture modules correctly anyway. Keep
23160 support for loading host architecture modules, whether we
23161 compile them or not.
23162
737feb35 231632008-07-17 Pavel Roskin <proski@gnu.org>
23164
3f4ce737 23165 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23166 change target_cpu. The compiler default can mismatch target_cpu
23167 in any case.
23168
4ad2d049 23169 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23170 * kern/efi/efi.c: Likewise.
23171
f6130a12 23172 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23173 target compiler is functional.
23174 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23175 are set up.
23176
58393a2d 23177 * configure.ac: Default to efi platform for x86_64-apple. Allow
23178 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23179 adjustments from the rest, only do them if target is not
23180 explicitly given. Merge other adjustments with the final sanity
23181 check. Remove an extraneous check for supported CPU. Be
23182 specific which CPU and which platform is not supported.
23183
737feb35 23184 * configure.ac: Default to pc platform for x86_64.
23185
546f966a 231862008-07-17 Robert Millan <rmh@aybabtu.com>
23187
23188 Partial LinuxBIOS -> Coreboot rename.
23189
23190 * conf/i386-linuxbios.rmk: Renamed to ...
23191 * conf/i386-coreboot.rmk: ... this.
23192 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23193 * configure.ac: Accept "coreboot" as input platform (but maintain
23194 compatibility with "linuxbios").
23195 * include/grub/i386/linuxbios: Renamed to ...
23196 * include/grub/i386/coreboot: ... this.
23197
20011694 231982008-07-17 Bean <bean123ch@gmail.com>
23199
23200 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 23201 (appleldr_mod_SOURCE): New variable.
20011694 23202 (appleldr_mod_CFLAGS): Likewise.
23203 (appleldr_mod_LDFLAGS): Likewise.
23204 (pci_mod_SOURCES): Likewise.
23205 (pci_mod_CFLAGS): Likewise.
23206 (pci_mod_LDFLAGS): Likewise.
23207 (lspci_mod_SOURCES): Likewise.
23208 (lspci_mod_CFLAGS): Likewise.
23209 (lspci_mod_LDFLAGS): Likewise.
23210
23211 * conf/x86_64-efi.rmk: New file.
23212
23213 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23214 macro.
23215 (grub_efidisk_write): Likewise.
23216
23217 * include/efi/api.h (efi_call_0): New macro.
23218 (efi_call_1): Likewise.
23219 (efi_call_2): Likewise.
23220 (efi_call_3): Likewise.
23221 (efi_call_4): Likewise.
23222 (efi_call_5): Likewise.
23223 (efi_call_6): Likewise.
23224
23225 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23226 grub_rescue_cmd_chainloader.
23227
23228 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23229 (grub_pe32_optional_header): Change some fields based on i386 or
23230 x86_64 platform.
23231 (GRUB_PE32_PE32_MAGIC): Likewise.
23232
23233 * include/grub/efi/uga_draw.h: New file.
23234
23235 * include/grub/elf.h (STN_ABS): New constant.
23236 (R_X86_64_NONE): Relocation constant for x86_64.
23237 (R_X86_64_64): Likewise.
23238 (R_X86_64_PC32): Likewise.
23239 (R_X86_64_GOT32): Likewise.
23240 (R_X86_64_PLT32): Likewise.
23241 (R_X86_64_COPY): Likewise.
23242 (R_X86_64_GLOB_DAT): Likewise.
23243 (R_X86_64_JUMP_SLOT): Likewise.
23244 (R_X86_64_RELATIVE): Likewise.
23245 (R_X86_64_GOTPCREL): Likewise.
23246 (R_X86_64_32): Likewise.
23247 (R_X86_64_32S): Likewise.
23248 (R_X86_64_16): Likewise.
23249 (R_X86_64_PC16): Likewise.
23250 (R_X86_64_8): Likewise.
23251 (R_X86_64_PC8): Likewise.
23252
23253 * include/grub/i386/efi/pci.h: New file.
23254
23255 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23256 Change it value based on platform.
23257 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23258 (GRUB_E820_RAM): Likewise.
23259 (GRUB_E820_RESERVED): Likewise.
23260 (GRUB_E820_ACPI): Likewise.
23261 (GRUB_E820_NVS): Likewise.
23262 (GRUB_E820_EXEC_CODE): Likewise.
23263 (GRUB_E820_MAX_ENTRY): Likewise.
23264 (grub_e820_mmap): New structure.
23265 (linux_kernel_header): Change the efi field according to different
23266 kernel version, also field from linux_kernel_header.
23267
23268 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23269
23270 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23271 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23272 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23273 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23274 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23275 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23276 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23277 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23278 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23279 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23280
23281 * include/grub/x86_64/efi/kernel.h: New file.
23282
23283 * include/grub/x86_64/efi/loader.h: Likewise.
23284
23285 * include/grub/x86_64/efi/machine.h: Likewise.
23286
23287 * include/grub/x86_64/efi/pci.h: Likewise.
23288
23289 * include/grub/x86_64/efi/time.h: Likewise.
23290
23291 * include/grub/x86_64/linux.h: Likewise.
23292
23293 * include/grub/x86_64/setjmp.h: Likewise.
23294
23295 * include/grub/x86_64/time.h: Likewise.
23296
23297 * include/grub/x86_64/types.h: Likewise.
23298
23299 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23300 GRUB_TARGET_SIZEOF_VOID_P.
23301
23302 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23303 (grub_efi_locate_handle): Likewise.
23304 (grub_efi_open_protocol): Likewise.
23305 (grub_efi_set_text_mode): Likewise.
23306 (grub_efi_stall): Likewise.
23307 (grub_exit): Likewise.
23308 (grub_reboot): Likewise.
23309 (grub_halt): Likewise.
23310 (grub_efi_exit_boot_services): Likewise.
23311 (grub_get_rtc): Likewise.
23312
23313 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23314 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23315 (grub_efi_allocate_pages): Wrap efi calls.
23316 (grub_efi_free_pages): Wrap efi calls.
23317 (grub_efi_get_memory_map): Wrap efi calls.
23318
23319 * kern/x86_64/dl.c: New file.
23320
23321 * kern/x86_64/efi/callwrap.S: Likewise.
23322
23323 * kern/x86_64/efi/startup.S: Likewise.
23324
23325 * loader/efi/appleloader.c: Likewise.
23326
23327 * loader/efi/chainloader.c (cmdline): New variable.
23328 (grub_chainloader_unload): Wrap efi calls.
23329 (grub_chainloader_boot): Likewise.
23330 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23331 command line.
23332
23333 * loader/efi/chainloader_normal.c (chainloader_command):
23334 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23335 command line.
23336
23337 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23338 method.
23339 (grub_e820_add_region): New function.
23340 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23341 booting.
23342 (grub_find_video_card): New function.
23343 (grub_linux_setup_video): New function.
23344 (grub_rescue_cmd_linux): Probe for video information.
23345
23346 * normal/x86_64/setjmp.S: New file.
23347
23348 * term/efi/console.c (map_char): New function.
23349 (grub_console_putchar): Map unicode char.
23350 (grub_console_checkkey): Wrap efi calls.
23351 (grub_console_getkey): Likewise.
23352 (grub_console_getwh): Likewise.
23353 (grub_console_gotoxy): Likewise.
23354 (grub_console_cls): Likewise.
23355 (grub_console_setcolorstate): Likewise.
23356 (grub_console_setcursor): Likewise.
23357
23358 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23359
59652a20 233602008-07-16 Pavel Roskin <proski@gnu.org>
23361
ef294055 23362 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23363 format strings.
23364
59652a20 23365 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23366 pointer, not an integer. This fixes a warning and prevents
23367 precision loss on 64-bit systems.
23368 (relocate_addresses): Remove unneeded cast.
23369
afc3b5d7 233702008-07-15 Pavel Roskin <proski@gnu.org>
23371
506b2b3e 23372 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23373
62ead89c 23374 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23375
c4cd51d7 23376 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23377 Fix comparison between signed and unsigned.
23378
0d3d8f28 23379 * include/grub/i386/ieee1275/console.h: Declare
23380 grub_console_init() and grub_console_fini().
23381
8804b286 23382 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23383 It's empty and unused.
23384
ee01cf35 23385 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23386 beginning to avoid warnings with some compilers.
23387
afc3b5d7 23388 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23389 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23390
e4e8eaa5 233912008-07-14 Pavel Roskin <proski@gnu.org>
23392
407aceb4 23393 * kern/env.c (grub_register_variable_hook): Don't copy empty
23394 string, it leaks memory. Pass "" to grub_env_set(), it should
23395 handle constant strings.
23396
e4e8eaa5 23397 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23398 * commands/cmp.c (grub_cmd_cmp): Likewise.
23399 * kern/dl.c (grub_dl_flush_cache): Likewise.
23400 (grub_dl_load_core): Likewise.
23401 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23402 (grub_elf64_load_phdrs): Likewise.
23403
d4e2dad3 234042008-07-13 Pavel Roskin <proski@gnu.org>
23405
23406 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23407 between signed and unsigned.
23408 (LzmaEnc_Finish): Fix warning about an unused parameter.
23409
aa24b516 234102008-07-13 Bean <bean123ch@gmail.com>
23411
23412 * Makefile.in (enable_lzo): New rule.
23413
23414 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23415
23416 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23417
23418 * boot/i386/pc/lnxboot.S: #include <config.h>.
23419
23420 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 23421 its value according to the compression algorithm used, lzo or lzma.
aa24b516 23422
23423 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23424 compression algorithm according to configure macro.
23425
23426 * kern/i386/pc/startup.S (codestart): Likewise.
23427
23428 * kern/i386/pc/lzma_decode.S: New file.
23429
23430 * include/grub/lib/LzFind.h: Likewise.
23431
23432 * include/grub/lib/LzHash.h: Likewise.
23433
23434 * include/grub/lib/LzmaDec.h: Likewise.
23435
23436 * include/grub/lib/LzmaEnc.h: Likewise.
23437
23438 * include/grub/lib/LzmaTypes.h: Likewise.
23439
23440 * lib/LzFind.c: Likewise.
23441
23442 * lib/LzmaDec.c: Likewise.
23443
23444 * lib/LzmaEnc.c: Likewise.
23445
4ae821ac 234462008-07-13 Bean <bean123ch@gmail.com>
23447
23448 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23449 (grub_ext4_extent_header): New structure.
23450 (grub_ext4_extent): Likewise.
23451 (grub_ext4_extent_idx): Likewise.
23452 (grub_ext4_find_leaf): New function.
23453 (grub_ext2_read_block): Handle extents.
23454
9a745147 234552008-07-12 Robert Millan <rmh@aybabtu.com>
23456
23457 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23458
d49a4cf6 234592008-07-11 Robert Millan <rmh@aybabtu.com>
23460
23461 * util/grub.d/40_custom.in: New file. Example on how to add custom
23462 entries to /etc/grub.d.
23463 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23464 40_custom (implicitly, by merging all the grub.d rules).
23465
947414b4 234662008-07-11 Pavel Roskin <proski@gnu.org>
23467
0059cf6f 23468 * commands/read.c (grub_getline): Fix invalid memory access.
23469 Don't add newline to the variable value.
23470
947414b4 23471 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23472 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23473 (serial_hw_get_port): Check validity of the port number.
23474 (grub_cmd_serial): Check return value of serial_hw_get_port().
23475
62a02d00 234762008-07-07 Pavel Roskin <proski@gnu.org>
23477
23478 * boot/i386/pc/diskboot.S (notification_string): Replace
23479 "Loading kernel" with just "loading". This is shorter, less
23480 confusing and saves a few bytes for possible future changes.
23481
3e5581b0 234822008-07-05 Pavel Roskin <proski@gnu.org>
23483
ea387a48 23484 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23485 size for ATAPI devices, they are undefined. Output sector
23486 number in decimal form.
23487
3e5581b0 23488 * disk/ata.c: Use named constants for status bits.
23489
fdecb8fd 234902008-07-04 Pavel Roskin <proski@gnu.org>
23491
bcd35b90 23492 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23493 grub_addr_t before casting it to the void pointer to fix a
23494 warning. Non-addressable regions are discarded earlier.
23495 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23496 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23497 (check_signature): Don't shadow table_header.
23498 (grub_linuxbios_table_iterate): Cast numeric constants to
23499 grub_linuxbios_table_header_t.
23500 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23501 grub_stop().
23502
af58ab3d 23503 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23504 prevent warnings.
23505
1759aa57 23506 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23507 pointer, which can cause warnings. Support 64-bit addresses.
23508
fdecb8fd 23509 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23510 of sizeof(long). This fixes PowerPC image generation on x86_64.
23511
8516d2a8 235122008-07-04 Robert Millan <rmh@aybabtu.com>
23513
23514 This fixes a performance issue when pc & gpt partmap iterators
23515 didn't abort iteration even after our hook found what it was
fe987087 23516 looking for (often causing expensive probes of non-existent drives).
8516d2a8 23517
23518 Some callers relied on previous buggy behaviour, since they would
34c44600 23519 raise an error when their own hooks caused early abortion of its
8516d2a8 23520 iteration.
23521
23522 * kern/device.c (grub_device_open): Improve error message.
23523 * disk/lvm.c (grub_lvm_open): Likewise.
23524 * disk/raid.c (grub_raid_open): Likewise.
23525
23526 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23527 when hook requests it, independently of grub_errno.
23528 (pc_partition_map_probe): Do not fail when find_func() caused
23529 early abortion of pc_partition_map_iterate().
23530
23531 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23532 when hook requests it, independently of grub_errno.
23533 (gpt_partition_map_probe): Do not fail when find_func() caused
23534 early abortion of gpt_partition_map_iterate().
23535
23536 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23537 when hook requests it, independently of grub_errno. Do not fail when
23538 part_map_iterate_hook() caused early abortion of p->iterate().
23539
23540 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23541 when grub_partition_iterate() returned with non-zero.
23542
277d0de9 235432008-07-03 Pavel Roskin <proski@gnu.org>
23544
23545 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23546 like we do in grub_ata_pio_read().
23547 (grub_ata_readwrite): Always write individual sectors. Fix the
23548 sector count for the remainder.
23549 (grub_ata_write): Enable writing to ATA devices. Correctly
23550 report error for ATAPI devices.
23551
d4c9b428 235522008-07-02 Pavel Roskin <proski@gnu.org>
23553
e43fc690 23554 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
23555 warning.
23556
f707af42 23557 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
23558 for every read sector, we already increment it for the whole
23559 batch. This fixes reading more than 256 sectors at once.
23560
11e16b15 23561 * util/grub-editenv.c (cmd_info): Cast argument to long
23562 explicitly. ptrdiff_t reduces to int on i386.
23563
cbabfdd4 23564 * util/grub-editenv.c (main): Be specific which parameter is
23565 missing.
23566
b8fbce0a 23567 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
23568 (memdisk): Make memdisk_orig_addr a pointer.
23569
c9c8e606 23570 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
23571 for file offsets, use grub_off_t instead. Fix printf format
23572 warnings.
23573
ca62e598 23574 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
23575 there. Real unexpected warnings should not drown in the noise
23576 about known problems.
23577
ce8d1766 23578 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
23579 grub_disk_addr_t for memory addresses.
23580
00c7a56a 23581 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
23582 explicitly to fix a warning.
23583
08d3ef09 23584 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
23585
cb71ba20 23586 * Makefile.in (MODULE_LDFLAGS): New variable.
23587 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
23588 the linker accepts --build-id=none.
23589 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
23590 MODULE_LDFLAGS.
23591 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
23592
d4c9b428 23593 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
23594 those in Linux XFS code. Provide a way to access 64-bit parent
23595 inode.
23596 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
23597 the end of struct grub_xfs_dir_header.
23598
d4156eee 235992008-07-02 Bean <bean123ch@gmail.com>
23600
23601 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
23602 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23603 and GRUB_IEEE1275_FLAG_NO_ANSI.
23604
23605 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
23606 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
23607 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
23608
23609 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
23610 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
23611
23612 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
23613 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
23614
23615 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
23616 esc sequence on non ANSI terminal.
23617 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
23618
23619 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
23620 beginning of file.
23621
2270f77b 236222008-07-02 Bean <bean123ch@gmail.com>
23623
23624 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
23625 (grub_editenv_SOURCES): New variable.
23626 (pkglib_MODULES): Add loadenv.mod.
23627 (loadenv_mod_SOURCES): New variable.
23628 (loadenv_mod_CFLAGS): Likewise.
23629 (loadenv_mod_LDFLAGS): Likewise.
23630
23631 * include/grub/envblk.h: New file.
23632
23633 * util/envblk.c: New file.
23634
23635 * util/grub-editenv.c: New file.
23636
23637 * commands/loadenv.c: New file.
23638
0e9e51ec 236392008-07-01 Pavel Roskin <proski@gnu.org>
23640
d89b7634 23641 * include/multiboot2.h (struct multiboot_tag_module): Use char,
23642 not unsigned char. This fixes warnings and is consistent with
23643 other tags.
23644
bf1835b1 23645 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
23646
8222a04b 23647 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
23648
6a42d99d 23649 * term/tparm.c (analyze): Always set *popcount.
23650
10b159d1 23651 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
23652 cast to fix a warning.
23653
b8789f6c 23654 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
23655 cast to suppress a warning.
23656
29d7e38a 23657 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
23658 grub_fshelp_read_file() expects.
23659
f341f669 23660 * fs/fat.c: Fix UUID calculation on big-endian systems. We
23661 write uuid as a 32-bit value in CPU byte order, so declare and
23662 use it as such.
23663
0e9e51ec 23664 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
23665 long if the format specifier expects it.
23666 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
23667 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23668 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
23669 long to fix a warning.
23670 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
23671 grub_dprintf() arguments to fix warnings.
23672
3aefa857 236732008-06-30 Pavel Roskin <proski@gnu.org>
23674
56c7668b 23675 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
23676 install_bsd_part immediately before core.img is embedded or
23677 modified on disk. This fixes core.img verification if core.img
23678 cannot be embedded.
23679
3aefa857 23680 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
23681 core_path to calculate the blocklist.
23682 Patch from Javier Martín <lordhabbit@gmail.com>
23683
5444088d 236842008-06-29 Robert Millan <rmh@aybabtu.com>
23685
23686 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
23687 block to disk block.
23688 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
23689 Patch from Niels Böhm <bitbucket@arcor.de>
23690
674835c8 236912008-06-29 Robert Millan <rmh@aybabtu.com>
23692
23693 * util/update-grub_lib.in (font_path): Search for fonts in
23694 /boot/grub first, which is more likely to be readable (we aren't
23695 deciding where fonts live, just looking for them).
23696
f527dbc8 236972008-06-26 Pavel Roskin <proski@gnu.org>
23698
6c2d8df6 23699 * util/biosdisk.c (read_device_map): Don't leave dead map
23700 entries for devices failing stat() check.
23701
f527dbc8 23702 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
23703 core_path_dev for the core.img path on the target device.
23704
aebe3d13 237052008-06-26 Robert Millan <rmh@aybabtu.com>
23706
23707 * disk/fs_uuid.c: New file.
23708 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
23709 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
23710 (fs_uuid_mod_LDFLAGS): New variables.
23711 * include/grub/disk.h (grub_disk_dev_id): Add
23712 `GRUB_DISK_DEVICE_UUID_ID'.
23713 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
23714 implement iterate().
23715
37aaf354 237162008-06-26 Robert Millan <rmh@aybabtu.com>
23717
23718 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
23719 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
23720 Linux image includes no initrd.
23721
25ff262a 237222008-06-21 Javier Martín <lordhabbit@gmail.com>
23723
23724 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
23725 call to resolve the core image location that effectively appended the
23726 name twice.
23727
76a2bd44 237282008-06-21 Robert Millan <rmh@aybabtu.com>
23729
23730 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
23731 call from here ...
23732
23733 * util/grub.d/10_hurd.in: ... to here ...
23734 * util/grub.d/10_linux.in: ... and here.
23735
650e1c79 237362008-06-19 Robert Millan <rmh@aybabtu.com>
23737
fe987087 23738 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 23739 after it has been set by grub_machine_set_prefix().
23740
6ce63911 237412008-06-19 Robert Millan <rmh@aybabtu.com>
23742
23743 * commands/search.c (search_label, search_fs_uuid, search_file): Print
23744 search result when not saving to variable, not the other way around.
23745 When saving to variable, abort iteration as soon as a match is found.
23746
73940cec 237472008-06-19 Robert Millan <rmh@aybabtu.com>
23748
23749 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
23750 check for partition that provides /boot/grub. Its logic is flawed,
23751 as it prevents prepare_grub_to_access_device() from being called
23752 multiple times.
23753
3c62a39d 237542008-06-19 Robert Millan <rmh@aybabtu.com>
23755
23756 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
23757 "insmod" command directly when abstraction modules are needed,
fe987087 23758 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 23759 since it had already been processed).
23760
47395a42 237612008-06-19 Pavel Roskin <proski@gnu.org>
23762
23763 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
23764 changed. This is needed in case GRUB_LIBDIR changes.
23765 * conf/i386-ieee1275.rmk: Likewise.
23766 * conf/i386-linuxbios.rmk: Likewise.
23767 * conf/i386-pc.rmk: Likewise.
23768 * conf/powerpc-ieee1275.rmk: Likewise.
23769
a145ac2d 237702008-06-18 Pavel Roskin <proski@gnu.org>
23771
23772 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
23773 kernel_elf_symlist.c to symlist.c for consistency with other
23774 architectures. Update all users.
23775 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23776
7847c51e 237772008-06-18 Robert Millan <rmh@aybabtu.com>
23778
23779 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
23780 it in prefix.
23781
23782 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
23783 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
23784 a RAID device, run setup() for all members independently on whether
23785 LVM abstraction is being used.
23786 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
23787 If grub-mkimage has set `*install_dos_part == -2', don't override this
23788 value.
23789 Perform *install_dos_part adjustments independently on whether
23790 we're embedding or not.
23791 Clarify error message when image is too big for embedding.
23792 Remove duplicate *install_dos_part stanza.
23793
b23e5644 237942008-06-17 Robert Millan <rmh@aybabtu.com>
23795
23796 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
23797 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
23798 variables.
23799 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
23800 values in grub_ofconsole_normal_color and
23801 grub_ofconsole_highlight_color (they're not directly related to
23802 background and foreground).
23803 (grub_ofconsole_setcolorstate): Extract background and foreground
23804 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
23805
0aac2f79 238062008-06-17 Robert Millan <rmh@aybabtu.com>
23807
23808 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
23809 /boot/grub for the check in last commit, not /boot (they could be
23810 different partitions).
23811
3cca7ef3 238122008-06-16 Robert Millan <rmh@aybabtu.com>
23813
23814 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
23815 asked to setup access for the same partition that provides /boot,
23816 don't bother using UUIDs since our root already has the value we
23817 want.
23818
347396d8 238192008-06-16 Robert Millan <rmh@aybabtu.com>
23820
23821 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
23822 I2O devices.
23823 Patch from Sven Mueller <sven@debian.org>.
23824
991477f8 238252008-06-16 Robert Millan <rmh@aybabtu.com>
23826
23827 * util/update-grub.in: Check for $EUID instead of $UID.
23828 Reported by Vincent Zweije.
23829
d31a32a1 238302008-06-16 Bean <bean123ch@gmail.com>
23831
fe987087 23832 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 23833 (grub_ext2_read_block): Likewise.
23834 (grub_ext2_read_inode): Likewise.
23835 (grub_ext2_mount): Likewise.
23836 (grub_ext2_close): Likewise.
23837 (grub_ext3_get_journal): Removed.
23838
fe987087 23839 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 23840 (grub_reiserfs_read_symlink): Likewise.
23841 (grub_reiserfs_mount): Likewise.
23842 (grub_reiserfs_open): Likewise.
23843 (grub_reiserfs_read): Likewise.
23844 (grub_reiserfs_close): Likewise.
23845 (grub_reiserfs_get_journal): Removed.
23846
23847 * fs/fshelp.c (grub_fshelp_read): Removed.
23848 (grub_fshelp_map_block): Likewise.
23849
23850 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
23851 (grub_fshelp_journal): Likewise.
23852 (grub_fshelp_read): Likewise.
23853 (grub_fshelp_map_block): Likewise.
23854
3540a760 238552008-06-16 Pavel Roskin <proski@gnu.org>
23856
23857 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
23858 floating point anymore.
23859 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
23860
95614c84 238612008-06-15 Pavel Roskin <proski@gnu.org>
23862
23863 * commands/ls.c (grub_ls_list_files): Use integer calculations
23864 for human readable format, avoid floating point use.
23865 * kern/misc.c (grub_ftoa): Remove.
23866 (grub_vsprintf): Remove floating point support.
23867
50465dd6 238682008-06-15 Robert Millan <rmh@aybabtu.com>
23869
fe6b695a 23870 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 23871 devices.
23872 Reported by Max Vozeler.
23873
a9207284 238742008-06-15 Robert Millan <rmh@aybabtu.com>
23875
23876 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
23877 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
23878 skipped later.
23879 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
23880 the beginning of the prefix.
23881
23882 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
23883 It is assumed that if we have a memdisk, grub-mkimage has set
23884 grub_prefix to include the "(memdisk)" drive in it.
23885
a7cbd45a 238862008-06-15 Robert Millan <rmh@aybabtu.com>
23887
23888 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
23889 Initialize keyboard controller after registering the terminal, so that
23890 grub_printf() can be called from grub_keyboard_controller_init().
23891
21cf716a 238922008-06-15 Robert Millan <rmh@aybabtu.com>
23893
23894 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
23895 extent-btree which is written as big endian on disk.
23896 Reported by Alain Greppin <al@chilibi.org>.
23897
23a64d8e 238982008-06-14 Robert Millan <rmh@aybabtu.com>
23899
23900 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
23901 * util/i386/pc/grub-install.in (modules): Likewise.
23902
d687651c 239032008-06-13 Pavel Roskin <proski@gnu.org>
23904
23905 * commands/ls.c (grub_ls_list_files): Fix format warnings.
23906
dfe9ddd4 239072008-06-13 Bean <bean123ch@gmail.com>
23908
23909 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
23910
23911 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
23912
23913 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
23914 to indicate sparse block.
23915
16ae7781 239162008-06-12 Pavel Roskin <proski@gnu.org>
23917
e6d1a308 23918 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
23919 number, grub_fshelp_read() does it for us.
23920
16ae7781 23921 * fs/fshelp.c (grub_fshelp_read): New function. Implement
23922 linear disk read with journal translation.
23923 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
23924 * include/grub/fshelp.h: Declare grub_fshelp_read().
23925
40fd3a2b 239262008-06-09 Pavel Roskin <proski@gnu.org>
23927
23928 * fs/minix.c (grub_minix_mount): Handle error reading
23929 superblock.
23930
f5679726 239312008-06-08 Robert Millan <rmh@aybabtu.com>
23932
23933 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
23934 don't append the RAID prefix afterwards.
23935 Reported by Clint Adams.
23936
ce525529 239372008-06-08 Robert Millan <rmh@aybabtu.com>
23938
23939 Based on description from Pavel:
23940 * kern/disk.c (grub_disk_check_range): Rename to ...
23941 (grub_disk_adjust_range): ... this. Add a comment explaining the
23942 tasks performed by this function.
23943
ad4936a0 239442008-06-08 Robert Millan <rmh@aybabtu.com>
23945
23946 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
23947 `num_serial' (for consistency with other variables).
23948 (struct grub_ntfs_data): Add `uuid' member.
23949 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
23950 (grub_ntfs_uuid): New function.
23951 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
23952
dc20b0f9 239532008-06-07 Pavel Roskin <proski@gnu.org>
23954
23955 * util/biosdisk.c (open_device): Revert last change to the
23956 function, it broke installation. The sector needs to be
23957 different dependent on which device is opened.
23958
c5e3cfba 239592008-06-06 Robert Millan <rmh@aybabtu.com>
23960
23961 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
23962 rest of GRUB, and breakage doesn't happen if its value were modified.
23963
23964 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23965 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
23966 a constant (same value).
23967 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
23968 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
23969
26a1f8c4 239702008-06-06 Robert Millan <rmh@aybabtu.com>
23971
23972 * util/biosdisk.c (open_device): Do not modify sector offset when
23973 accessing a partition. kern/disk.c already handles this for us.
23974
25d6b327 239752008-06-06 Robert Millan <rmh@aybabtu.com>
23976
23977 * util/grub-emu.c (grub_machine_init): Move code in this function from
23978 here ...
23979 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
23980 segfault in case grub_printf() is called).
23981
23982 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
23983 grub_probe. Update all users not to explicitly add it again.
23984 (grub_device): New variable; contains corresponding device for grubdir.
23985 (fs_module, partmap_module, devabstraction_module): Pass
23986 `--device ${grub_device}' to grub_probe to avoid traversing /dev
23987 every time.
23988
9ece62fb 239892008-06-05 Robert Millan <rmh@aybabtu.com>
23990
23991 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
23992 is found, print it (same layout as with labels).
23993
1ad36d37 239942008-06-04 Robert Millan <rmh@aybabtu.com>
23995
23996 * util/biosdisk.c (get_drive): Rename to ...
23997 (find_grub_drive): ... this. Update all users.
23998
23999 (get_os_disk): Rename to ...
24000 (convert_system_partition_to_system_disk): ... this. Update all users.
24001
24002 (find_drive): Rename to ...
24003 (find_system_device): ... this. Update all users.
24004
e6a30859 240052008-06-04 Robert Millan <rmh@aybabtu.com>
24006
24007 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24008 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24009 (make_device_map): Likewise.
24010
00c108a4 240112008-06-01 Robert Millan <rmh@aybabtu.com>
24012
24013 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24014 before dereferencing it.
24015
24016 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24017 union with fat12/fat16-specific ones. Add some new fields, including
24018 `num_serial' for both versions.
24019 (struct grub_fat_data): Add `uuid' member.
24020 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24021 names. Initialize `data->uuid' using `num_serial'.
24022 (grub_fat_uuid): New function.
24023 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24024
24025 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24026 (grub_reiserfs_uuid): New function.
24027 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24028 member.
24029
24030 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24031 (grub_xfs_uuid): New function.
24032 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24033
1385c5bb 240342008-06-01 Robert Millan <rmh@aybabtu.com>
24035
24036 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24037 code that is backward compatible with pre-uuid search command.
24038
c682dfd7 240392008-05-31 Robert Millan <rmh@aybabtu.com>
24040
24041 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24042 floppies after everything else, to ensure floppy drive isn't accessed
24043 unnecessarily (patch from Bean).
24044
b7db5d47 240452008-05-31 Robert Millan <rmh@aybabtu.com>
24046
24047 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24048 not print device names when we were asked to set a variable.
24049
6e037aa9 240502008-05-31 Robert Millan <rmh@aybabtu.com>
24051
24052 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24053 using "cursor-on" and "cursor-off" commands (understood at least by
24054 the Open Firmware flavour on OLPC).
24055
41305bc8 240562008-05-31 Michael Gorven <michael@gorven.za.net>
24057
24058 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24059 on and off sequences.
24060
69ba137e 240612008-05-31 Robert Millan <rmh@aybabtu.com>
24062
24063 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24064 * util/update-grub.in: Likewise.
24065
520ae21b 240662008-05-30 Pavel Roskin <proski@gnu.org>
24067
24068 * util/biosdisk.c (linux_find_partition): Simplify logic and
24069 make the code more universal. Keep special processing for
24070 devfs, but use a simple rule for all other devices. If the
24071 device ends with a number, append 'p' and the partition number.
24072 Otherwise, append only the partition number.
24073
5786569b 240742008-05-30 Robert Millan <rmh@aybabtu.com>
24075
24076 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24077 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24078 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24079 the `root' parameter to Linux.
24080
51500452 240812008-05-30 Robert Millan <rmh@aybabtu.com>
24082
24083 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24084 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24085 --fs_uuid with --fs-uuid.
24086 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24087 all filesystems support them).
24088
811d3878 240892008-05-30 Robert Millan <rmh@aybabtu.com>
24090
24091 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 24092 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 24093
cab63c95 240942008-05-30 Robert Millan <rmh@aybabtu.com>
24095
24096 * util/grub.d/00_header.in: Remove obsolete comment referencing
24097 convert_system_path_to_grub_path().
24098 * util/update-grub.in: Likewise.
24099 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24100 (convert_system_path_to_grub_path): Add a warning message explaining
24101 that this function is deprecated. Rely on is_path_readable_by_grub()
24102 for the readability checks.
24103 (font_path): Use is_path_readable_by_grub() for the readability
24104 check rather than convert_system_path_to_grub_path().
24105
972e2f7a 241062008-05-30 Robert Millan <rmh@aybabtu.com>
24107
24108 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24109 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24110 converting it first.
24111 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24112 grub.cfg for access to font file, and afterwards call it again to set
24113 the root device.
24114
62191274 241152008-05-30 Robert Millan <rmh@aybabtu.com>
24116
24117 * commands/search.c (options): Add --fs_uuid option.
24118 (search_fs_uuid): New function.
24119 (grub_cmd_search): Fix --set argument passing.
24120 Use search_fs_uuid() when requested via --fs_uuid.
24121 (grub_search_init): Update help message.
24122 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24123 and redeclare it as an array of 16-bit words.
24124 (grub_ext2_uuid): New function.
24125 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24126 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24127 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24128 (GRUB_DEVICE_BOOT_UUID): New variables.
24129 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24130 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24131 whenever possible.
24132 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24133 just assume `root' variable has the right value.
24134 * util/grub.d/10_linux.in: Likewise.
24135 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24136 via PRINT_FS_UUID.
24137 (main): Recognise `-t fs_uuid' argument.
24138
01b73ec8 241392008-05-30 Robert Millan <rmh@aybabtu.com>
24140
24141 * util/biosdisk.c (map): Redefine structure to hold information
24142 about GRUB drive name.
fe6b695a 24143 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 24144 drive names.
24145 (call_hook): Remove.
24146 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24147 member. Assume drive has partitions.
24148 (grub_util_biosdisk_open): Access device names via `.device' struct
24149 member.
24150 (open_device): Likewise.
24151 (find_drive): Likewise.
24152 (read_device_map): Adjust map[] usage to match the new struct
24153 definition. Don't check for duplicates (still possible, but not cheap
24154 anymore).
24155 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24156 (make_device_name): Remove assumption of BIOS-like drive names.
24157
22f16596 241582008-05-30 Pavel Roskin <proski@gnu.org>
24159
24160 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24161 compiling execute.c doesn't need grub_script.tab.h anymore.
24162 (normal/command.c_DEPENDENCIES): Likewise.
24163 (normal/function.c_DEPENDENCIES): Likewise.
24164 * conf/i386-ieee1275.rmk: Likewise.
24165 * conf/i386-linuxbios.rmk: Likewise.
24166 * conf/i386-pc.rmk: Likewise.
24167 * conf/powerpc-ieee1275.rmk: Likewise.
24168 * conf/sparc64-ieee1275.rmk: Likewise.
24169
528ad8f2 241702008-05-29 Pavel Roskin <proski@gnu.org>
24171
d1dff95d 24172 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24173 when scanning metadata for volume group name.
24174
528ad8f2 24175 * include/grub/script.h: Don't include grub_script.tab.h. It's
24176 a generated file, which may only be included from the files with
24177 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24178 use union YYSTYPE, as the later allows forward declaration.
24179 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24180
47248e08 241812008-05-29 Robert Millan <rmh@aybabtu.com>
24182
24183 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24184 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24185 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24186 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24187 scan codes.
24188
ee632529 241892008-05-29 Robert Millan <rmh@aybabtu.com>
24190
24191 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24192 control key combinations.
24193
eee96e08 241942008-05-29 Robert Millan <rmh@aybabtu.com>
24195
24196 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24197 * util/ieee1275/grub-install.in: ... to here.
24198 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24199 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24200 (grub_install_SOURCES): Likewise.
24201
da9a6a94 242022008-05-29 Robert Millan <rmh@aybabtu.com>
24203
24204 * fs/affs.c: Update copyright year.
24205 * fs/ext2.c: Likewise.
24206 * fs/fshelp.c: Likewise.
24207 * fs/hfsplus.c: Likewise.
24208 * fs/ntfs.c: Likewise.
24209 * fs/xfs.c: Likewise.
24210 * include/grub/fshelp.h: Likewise.
24211 * util/grub-mkdevicemap.c: Likewise.
24212
12e65f3a 242132008-05-28 Robert Millan <rmh@aybabtu.com>
24214
24215 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24216 might need to be fatfs to support some firmware implementations
24217 (e.g. OFW or EFI).
24218
23023641 242192008-05-28 Robert Millan <rmh@aybabtu.com>
24220
24221 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24222 devices.
24223 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24224 (make_device_map): Likewise.
24225
887d2619 242262008-05-20 Bean <bean123ch@gmail.com>
24227
24228 * fs/fshelp.c (grub_fshelp_map_block): New function.
24229 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24230 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24231
24232 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24233 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24234 (grub_fshelp_journal): New structure.
24235 (grub_fshelp_map_block): New function prototype.
24236 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24237 (grub_fshelp_map_block): Likewise.
24238
24239 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24240 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24241 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24242 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24243 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24244 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24245 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24246 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24247 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24248 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24249 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24250 (grub_ext2_sblock): New members for journal support.
24251 (grub_ext3_journal_header): New structure.
24252 (grub_ext3_journal_revoke_header): Likewise.
24253 (grub_ext3_journal_block_tag): Likewise.
24254 (grub_ext3_journal_sblock): Likewise.
24255 (grub_fshelp_node): New members logfile and journal.
24256 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24257 grub_fshelp_map_block to get real block number.
24258 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24259 number.
24260 (grub_ext2_read_inode): Likewise.
24261 (grub_ext3_get_journal): New function.
24262 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24263 (grub_ext2_close): Release memory used by journal.
24264
24265 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24266 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24267 (grub_reiserfs_transaction_header): Renamed to
24268 grub_reiserfs_description_block, replace field data with real_blocks.
24269 (grub_reiserfs_commit_block): New structure.
24270 (grub_reiserfs_data): New member journal.
24271 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24272 number.
24273 (grub_reiserfs_read_symlink): Likewise.
24274 (grub_reiserfs_iterate_dir): Likewise.
24275 (grub_reiserfs_open): Likewise.
24276 (grub_reiserfs_read): Likewise.
24277 (grub_reiserfs_get_journal): New function.
24278 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24279 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24280 using grub_reiserfs_get_journal.
24281 (grub_reiserfs_close): Release memory used by journal.
24282
24283 * fs/affs.c (grub_affs_read_block): Change block type to
24284 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24285
24286 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24287
24288 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24289
24290 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24291
24292 * fs/udf.c (grub_udf_read_block): Change block type to
24293 grub_disk_addr_t. Use type cast to avoid warning.
24294
24295 * fs/xfs.c (grub_xfs_read_block): Likewise.
24296
b7c6bed5 242972008-05-16 Christian Franke <franke@computer.org>
24298
24299 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24300 to ensure that break with ESC will always work.
24301 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24302 Remove ESC from keyboard queue.
24303
eedf167f 243042008-05-16 Christian Franke <franke@computer.org>
24305
24306 * util/biosdisk.c: [__CYGWIN__] Add includes.
24307 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24308 (get_os_disk): Move variable declarations to OS specific
24309 parts to avoid warning.
24310 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24311 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24312 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24313 Cygwin.
24314 * util/getroot.c: [__CYGWIN__] Add includes.
24315 (strip_extra_slashes): Fix "/" case.
24316 [__CYGWIN__] (get_win32_path): New function.
24317 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24318 [__CYGWIN__] (find_root_device): Disable.
24319 [__CYGWIN__] (get_bootsec_serial): New function.
24320 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24321 [__linux__] (grub_guess_root_device): Add early returns to simplify
24322 structure.
24323 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24324 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24325 check for Linux only.
24326
a079699e 243272008-05-15 Bean <bean123ch@gmail.com>
24328
24329 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24330 keyboard hang problem in apple's intel mac.
24331
1cf4059a 243322008-05-09 Robert Millan <rmh@aybabtu.com>
24333
24334 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24335 devices.
24336 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24337 (make_device_map): Likewise.
24338 Reported by Aurelien Jarno <aurel32@debian.org>
24339
ed759390 243402008-05-07 Ian Campbell <ijc@hellion.org.uk>
24341
24342 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24343 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24344 (make_device_map): Output entries for xvd type disks.
24345
b56c4eaa 243462008-05-07 Robert Millan <rmh@aybabtu.com>
24347
24348 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24349 devices.
24350 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24351 (make_device_map): Likewise.
24352 Reported by Roland Dreier <rdreier@cisco.com>
24353
7f8866ed 243542008-05-07 Robert Millan <rmh@aybabtu.com>
24355
24356 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24357 grub_strstr() call. Correct a few mistakes in failure path handling.
24358
b0346e0f 243592008-05-06 Robert Millan <rmh@aybabtu.com>
24360
24361 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24362 Do not print a trailing slash (therefore, the root directory is an
24363 empty string).
24364 (convert_system_path_to_grub_path): Do not remove trailing slash
24365 from make_system_path_relative_to_its_root() output.
24366
24367 * util/i386/pc/grub-install.in: Add trailing slash to output from
24368 make_system_path_relative_to_its_root().
24369
6cf12cbd 243702008-05-06 Robert Millan <rmh@aybabtu.com>
24371
24372 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24373 ensures that output lines aren't intermangled with those sent to
24374 stderr (via grub_util_info()).
24375 * util/grub-probe.c (grub_refresh): Likewise.
24376 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24377
0fbb3117 243782008-05-05 Christian Franke <franke@computer.org>
24379
24380 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24381 Add Cygwin device names.
24382 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24383 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24384 (check_device): Return error instead of success on empty name.
24385 (make_device_map): Move label inside linux specific code to
24386 prevent compiler warning.
24387
8124cdb7 243882008-04-30 Robert Millan <rmh@aybabtu.com>
24389
24390 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24391 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24392 first boot option.
24393 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24394
094c01d0 243952008-04-29 Robert Millan <rmh@aybabtu.com>
24396
24397 * docs/grub.cfg: New file (example GRUB configuration).
24398
f4b1fc02 243992008-04-26 Robert Millan <rmh@aybabtu.com>
24400
329ce2a5 24401 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24402 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24403 and `disk/ieee1275/nand.c'.
f4b1fc02 24404
25f16ec1 244052008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 24406
25f16ec1 24407 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24408 i386-linuxbios.
24409
24410 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24411 change the buffer size to 4096 for cdrom device.
24412
24413 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24414 and nand.mod.
24415 (_linux_mod_SOURCES): New variable.
24416 (_linux_mod_CFLAGS): Likewise.
24417 (_linux_mod_LDFLAGS): Likewise.
24418 (linux_mod_SOURCES): Likewise.
24419 (linux_mod_CFLAGS): Likewise.
24420 (linux_mod_LDFLAGS): Likewise.
24421 (nand_mod_SOURCES): Likewise.
24422 (nand_mod_CFLAGS): Likewise.
24423 (nand_mod_LDFLAGS): Likewise.
24424
24425 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24426 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24427 type property. (nand device in olpc don't have this property)
24428
24429 * include/grub/disk.h (grub_disk_dev_id): New macro
24430 GRUB_DISK_DEVICE_NAND_ID.
24431
24432 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24433 function prototype.
24434 (grub_rescue_cmd_initrd): Likewise.
24435
24436 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24437 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24438 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 24439
25f16ec1 24440 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24441 GRUB_MACHINE_IEEE1275 is defined.
24442
24443 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24444 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24445
24446 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24447 on nested function heap_init.
24448 (grub_upper_mem): New variable for i386-ieee1275.
24449 (grub_get_extended_memory): New function for i386-ieee1275.
24450 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24451
24452 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24453 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24454 property.
f19dbdb7 24455
25f16ec1 24456 * loader/i386/ieee1275/linux.c: New file.
24457
24458 * loader/i386/ieee1275/linux_normal.c: New file.
24459
24460 * disk/ieee1275/nand.c: New file.
24461
e89d61e9 244622008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24463
24464 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24465 value.
24466 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24467
602566f6 244682008-04-18 Robert Millan <rmh@aybabtu.com>
24469
24470 Restructures early code path on ieee1275 to unify grub_main() as
24471 the first C function that is executed in every platform.
24472
24473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24474 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24475 cmain().
24476 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24477 * kern/ieee1275/cmain.c (cmain): Rename to ...
24478 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24479 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24480 at the beginning.
24481
57490c2b 244822008-04-18 Robert Millan <rmh@aybabtu.com>
24483
24484 * util/update-grub.in: Fix syntax error when setting
24485 `GRUB_PRELOAD_MODULES'.
24486 Reported by Stephane Chazelas <stephane@artesyncp.com>
24487
1977517d 244882008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24489
24490 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24491 section into account, newer toolchains generate unique build ids
24492 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 24493 we want build ids to be preserved
1977517d 24494 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24495 far from other sections don't cause the raw binary images grow
24496 size
24497
bfb1f1a2 244982008-04-15 Robert Millan <rmh@aybabtu.com>
24499
24500 * disk/lvm.c: Update copyright year.
24501 * kern/misc.c: Likewise.
24502
01979850 245032008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24504
24505 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 24506 there is no memory left for physical volume name.
01979850 24507
0a1150e2 245082008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24509
24510 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24511 volume name mapping to support bigger than 9 character names properly.
24512
82ead3fe 245132008-04-13 Robert Millan <rmh@aybabtu.com>
24514
24515 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24516 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24517
e54a72f5 245182008-04-13 Christian Franke <franke@computer.org>
24519
24520 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24521 to create a floppy emulation boot CD when non emulation mode
24522 does not work.
24523 Enable Joliet CD filesystem extension.
24524
9fe86034 245252008-04-13 Robert Millan <rmh@aybabtu.com>
24526
24527 * kern/misc.c (grub_strncat): Fix off-by-one error.
24528 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24529
24530 * kern/env.c (grub_env_context_close): Clear current context, not
24531 previous one.
24532 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24533
24534 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24535
7ceeee39 245362008-04-13 Robert Millan <rmh@aybabtu.com>
24537
24538 Improve robustness when handling LVM.
24539
24540 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 24541 (and leave `*p' unmodified).
7ceeee39 24542 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24543 through it.
24544 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24545 iterating through it.
24546 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24547 through it.
fe6b695a 24548 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 24549 when due) on each grub_lvm_getvalue() or grub_strstr() call.
24550 Don't assume `vg->pvs != NULL' when iterating through it.
24551
58cd3d85 245522008-04-13 Robert Millan <rmh@aybabtu.com>
24553
24554 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
24555 * genmk.rb (partmap): New variable.
24556 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
24557 (#{partmap}): New target rule.
24558 * genpartmaplist.sh: New file.
24559 * Makefile.in (pkglib_DATA): Add partmap.lst.
24560 (partmap.lst): New target rule.
24561 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
24562 modules (including all partition maps), instead of preloading them.
24563
78b51059 245642007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
24565
24566 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
24567 `linux-boot-prober' (if installed) to detect other operating
24568 systems which are installed on the computer and add them to
24569 the boot menu.
24570 * conf/common.rmk: Build and install 30_os-prober.
24571
a91627b4 245722008-04-12 Robert Millan <rmh@aybabtu.com>
24573
24574 * kern/powerpc/ieee1275/init.c: Move from here ...
24575 * kern/ieee1275/init.c: ... to here. Update all users.
24576
24577 * kern/powerpc/ieee1275/cmain.c: Move from here ...
24578 * kern/ieee1275/cmain.c: ... to here. Update all users.
24579
24580 * kern/powerpc/ieee1275/openfw.c: Move from here ...
24581 * kern/ieee1275/openfw.c: ... to here. Update all users.
24582
24583 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
24584 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
24585
322562ea 245862008-04-10 Pavel Roskin <proski@gnu.org>
24587
24588 * configure.ac: Always use "_cv_" in cache variables for
24589 compatibility with Autoconf 2.62.
24590
a02a73c5 245912008-04-07 Robert Millan <rmh@aybabtu.com>
24592
24593 Revert grub/machine/init.h addition by Pavel (since it breaks on
24594 i386-ieee1275 and others):
24595 * util/i386/pc/misc.c: Remove grub/machine/init.h.
24596 * util/powerpc/ieee1275/misc.c: Likewise.
24597
25c024b1 245982008-04-07 Robert Millan <rmh@aybabtu.com>
24599
24600 * util/grub-probe.c (probe): Improve error message.
24601
3cbd2f98 246022008-04-07 Robert Millan <rmh@aybabtu.com>
24603
24604 * util/biosdisk.c (read_device_map): Skip devices that don't exist
24605 (this prevents the presence of a bogus entry from ruining the whole
24606 thing).
24607
87a297bf 246082008-04-06 Pavel Roskin <proski@gnu.org>
24609
36747a62 24610 * util/biosdisk.c: Include grub/util/biosdisk.h.
24611 * util/grub-fstest.c (execute_command): Make static.
24612 * util/grub-mkdevicemap.c (check_device): Likewise.
24613 * util/i386/pc/misc.c: Include grub/machine/init.h.
24614 * util/powerpc/ieee1275/misc.c: Likewise.
24615 * util/lvm.c: Include grub/util/lvm.h.
24616 * util/misc.c: Include grub/kernel.h, grub/misc.h and
24617 grub/cache.h.
24618 * util/raid.c: Include grub/util/raid.h.
24619 (grub_util_getdiskname): Make static.
24620
87a297bf 24621 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
24622 grub_hostfs_fini(), as they are called from grub_init_all() and
24623 grub_fini_all() respectively. This fixes an infinite loop in
24624 grub-fstest due to double registration of hostfs.
24625 Reported by Christian Franke <Christian.Franke@t-online.de>
24626
f6ce7629 246272008-04-05 Pavel Roskin <proski@gnu.org>
24628
24629 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
24630 all 8 functions. Otherwise, probe function 0 only.
24631
070e49e4 246322008-04-04 Pavel Roskin <proski@gnu.org>
24633
8b088a4c 24634 * commands/lspci.c (grub_lspci_iter): Print the bus number
24635 correctly.
24636
4f657021 24637 * commands/lspci.c (grub_pci_classes): Fix typos.
24638 (grub_lspci_iter): Don't print func twice. Print vendor ID
24639 before device ID, as it's normally done.
24640
070e49e4 24641 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
24642 Fix signedness warnings.
24643 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
24644 Likewise.
24645 * util/ieee1275/get_disk_name.c: Include config.h so that
24646 _GNU_SOURCE is defined and getline() is declared. Mark an
24647 unused argument as such. Fix a signedness warning.
24648
ba7328dc 246492008-04-02 Pavel Roskin <proski@gnu.org>
24650
26887f22 24651 * genkernsyms.sh.in: Use more robust assignments for CC and
24652 srcdir. Quote srcdir.
24653 * gensymlist.sh.in: Likewise. Assert at the compile time that
24654 the symbol table is not empty.
24655
ba7328dc 24656 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
24657 * fs/cpio.c (grub_cpio_read): Likewise.
24658
0f582c6b 246592008-04-01 Pavel Roskin <proski@gnu.org>
24660
4b6e1995 24661 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
24662 * disk/host.c (grub_host_open): Likewise.
24663 * disk/loopback.c (grub_loopback_open): Likewise.
24664 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
24665 disk->id as in disk/host.c, not a multi-character constant.
24666
828a2768 24667 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
24668 later is obsolete, potentially dangerous and sets a bad example.
24669 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
24670 * util/misc.c (grub_util_get_image_size): Likewise.
24671
2bb4fb47 24672 * disk/loopback.c (options): Improve help for "--partitions".
24673
0f582c6b 24674 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
24675 options to align them with the short options, e.g. "echo -e".
24676
a33224e0 246772008-03-31 Bean <bean123ch@gmail.com>
24678
24679 * video/reader/png.c (grub_png_data): New member is_16bit and
24680 image_data.
24681 (grub_png_decode_image_header): Detect 16 bit png image.
24682 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
24683 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
24684 (grub_video_reader_png): Release memory occupied by image_data.
24685
24686 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
24687 4096 bytes.
24688 (grub_nfs_mount): Skip the test for sector per cluster.
24689
24690 * include/grub/ntfs.h (MAX_SPC): Removed.
24691
86cb4f54 246922008-03-31 Bean <bean123ch@gmail.com>
24693
24694 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
24695 (grub_probe_SOURCES): Add fs/afs.c.
24696 (grub_fstest_SOURCES): Likewise.
24697 (afs_mod_SOURCES): New variable.
24698 (afs_mod_CFLAGS): Likewise.
24699 (afs_mod_LDFLAGS): Likewise.
24700
24701 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
24702 (grub_emu_SOURCES): Likewise.
24703
24704 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24705
24706 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24707
24708 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24709
24710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24711
24712 * fs/afs.c: New file.
24713
17c74c21 247142008-03-30 Pavel Roskin <proski@gnu.org>
24715
4cb68e89 24716 * disk/host.c: Include grub/misc.h to fix a warning.
24717 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
24718 warnings about implicit declarations.
24719
8790bb04 24720 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
24721 variable.
24722 * include/grub/i386/loader.h: Change declaration of
24723 grub_linux_boot() to match what grub_loader_set() expects.
24724 * util/getroot.c (grub_guess_root_device): Return const char* to
24725 fix a warning.
24726 * util/grub-probe.c (probe): Fix a warning about uninitialized
24727 abstraction_name variable.
24728 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
24729 second argument as unused to fix a warning.
24730
9a3f3296 24731 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
24732 missing grub_error() call.
24733
0ecef90d 24734 * util/update-grub_lib.in: Define datarootdir, since Autoconf
24735 2.60 and newer uses it to define datadir.
24736
0bf6d401 24737 * commands/sleep.c: Fix warning about implicit declaration.
24738 * disk/memdisk.c: Likewise.
24739 * loader/aout.c: Likewise.
24740 * loader/i386/bsd_normal.c: Likewise.
24741 * util/grub-probe.c: Likewise.
24742
7cdacf97 24743 * commands/i386/cpuid.c (has_longmode): Make static.
24744 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
24745 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
24746
17c74c21 24747 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
24748 GDT. This is more robust, as %ds can change.
24749 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
24750 calling real_to_prot().
24751 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
24752
80a3e68b 247532008-03-28 Pavel Roskin <proski@gnu.org>
24754
24755 * kern/i386/pc/startup.S: Assert that uncompressed functions
24756 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
24757 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
24758 code, as they push parts of the code (error handlers) beyond
24759 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
24760 code as correctness and size.
24761
77bcd272 247622008-03-28 Pavel Roskin <proski@gnu.org>
24763
24764 * kern/i386/pc/startup.S
24765 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
24766 data block address to the real mode, keep offset minimal. This
24767 works around a bug in AWARD BIOS on old Athlon systems, which
24768 makes CD detection hang.
24769
c5dfd43b 247702008-03-26 Pavel Roskin <proski@gnu.org>
24771
24772 * normal/color.c (grub_parse_color_name_pair): Make `name' a
24773 const.
24774 * include/grub/normal.h: Add grub_parse_color_name_pair()
24775 declaration.
24776
bf962df2 247772008-03-24 Bean <bean123ch@gmail.com>
24778
24779 * disk/i386/pc/biosdisk.c (cd_start): Removed.
24780 (cd_count): Removed.
24781 (cd_drive): New variable.
24782 (grub_biosdisk_get_drive): Don't check for (cdN) device.
24783 (grub_biosdisk_call_hook): Likewise.
24784 (grub_biosdisk_iterate): Change cdrom detection method.
24785 (grub_biosdisk_open): Replace cd_start with cd_drive.
24786 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
24787 detect cdrom device.
24788
24789 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
24790 Removed.
24791 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
24792 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
24793 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
24794 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
24795 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
24796 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
24797 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
24798 (grub_biosdisk_cdrp): New structure.
24799 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
24800
24801 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
24802
24803 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
24804 device.
24805
24806 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
24807 New function.
24808
68e7fc7a 248092008-03-20 Robert Millan <rmh@aybabtu.com>
24810
24811 Remove 2 TiB limit in ata.mod.
24812 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
24813 (grub_ata_dumpinfo): Print sector count with 0x%llx.
24814 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
24815 grub_uint64_t instead of grub_uint32_t.
24816
38ad2cf5 248172008-03-05 Bean <bean123ch@gmail.com>
24818
24819 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
24820 (grub_multiboot): Set boot device.
24821
24822 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
24823
2b89344e 248242008-03-02 Bean <bean123ch@gmail.com>
24825
24826 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
24827 symlink_buffer.
24828
87a95d1f 248292008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
24830
24831 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
24832 texinfo.tex.
24833
24834 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
24835 modified.
24836
24837 * docs/fdl.texi: New file.
f19dbdb7 24838
87a95d1f 24839 * docs/mdate-sh: New file. Copied from gnulib.
24840 * docs/texinfo.tex: Likewise.
24841
24842 * config.guess: Updated from gnulib.
24843 * install-sh: Likewise.
24844
7dc15d8e 248452008-02-28 Robert Millan <rmh@aybabtu.com>
24846
24847 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
24848 (aout_mod_SOURCES): New variable.
24849 (aout_mod_CFLAGS): Likewise.
24850 (aout_mod_LDFLAGS): Likewise.
24851
24852 * conf/i386-ieee1275.rmk: Likewise.
24853
b00ab696 248542008-02-28 Robert Millan <rmh@aybabtu.com>
24855
24856 * util/update-grub.in: Reorganise terminal validity check. Accept
24857 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
24858 Based on suggestion by Franklin PIAT.
24859
79ca2d78 248602008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
24861
24862 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
24863 function.
24864 * util/getroot.c (grub_util_check_block_device): New function that
24865 returns the given argument if it is a block device and returns NULL else.
24866 * util/grub-probe.c (argument_is_device): New variable.
24867 (probe): Promote device_name from a variable to an argument. Receive
24868 device_name from grub_util_check_block_device() if path is NULL and from
24869 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 24870 (options): Introduce new parameter '-d, --device'.
79ca2d78 24871 (main): Add description of the new parameter to the help screen.
24872 Rename path variable to argument. Set argument_is_device if the '-d'
24873 option is given. Pass argument to probe() depending on
24874 argument_is_device.
24875
0d16e571 248762008-02-24 Bean <bean123ch@gmail.com>
24877
24878 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
24879 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
24880 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
24881 (GRUB_ISO9660_VOLDESC_PART): Likewise.
24882 (GRUB_ISO9660_VOLDESC_END): Likewise.
24883 (grub_iso9660_primary_voldesc): New member escape.
24884 (grub_iso9660_data): New member joliet.
24885 (grub_iso9660_convert_string): New function.
24886 (grub_iso9660_mount): Detect joliet extension.
24887 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
24888 (grub_iso9660_iso9660_label): Likewise.
24889
24890 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
24891 (grub_setup_SOURCES): Add fs/udf.c.
24892 (grub_fstest_SOURCES): Likewise.
24893 (udf_mod_SOURCES): New variable.
24894 (udf_mod_CFLAGS): Likewise.
24895 (udf_mod_LDFLAGS): Likewise.
24896
24897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
24898 (grub_emu_SOURCES): Likewise.
24899
24900 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24901
24902 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24903
24904 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24905
24906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24907
24908 * fs/udf.c: New file.
24909
8a594a17 249102008-02-24 Robert Millan <rmh@aybabtu.com>
24911
24912 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
24913 (normal/lexer.c_DEPENDENCIES): New variables.
24914 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24915 (normal/lexer.c_DEPENDENCIES): Likewise.
24916 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
24917 (normal/lexer.c_DEPENDENCIES): Likewise.
24918 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
24919 (normal/lexer.c_DEPENDENCIES): Likewise.
24920 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24921 (normal/lexer.c_DEPENDENCIES): Likewise.
24922 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
24923 (normal/lexer.c_DEPENDENCIES): Likewise.
24924
2dc33c03 249252008-02-23 Robert Millan <rmh@aybabtu.com>
24926
24927 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
24928 since they were intended to be in hex. This didn't break previously
24929 because of a bug in gpt_partition_map_iterate() (see below).
24930
24931 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
24932 when checking the validity of GPT header.
24933 Remove `partno', since it always provides the same information as `i'.
24934
f6f4cfb0 249352008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
24936
24937 * include/grub/efi/time.h: Fix a wrong comment.
24938
79ff665f 249392008-02-19 Pavel Roskin <proski@gnu.org>
24940
24941 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
24942 message.
24943
d38e24c2 249442008-02-19 Bean <bean123ch@gmail.com>
24945
24946 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
24947 (aout_mod_SOURCES): New variable.
24948 (aout_mod_CFLAGS): Likewise.
24949 (aout_mod_LDFLAGS): Likewise.
24950 (_bsd_mod_SOURCES): New variable.
24951 (_bsd_mod_CFLAGS): Likewise.
24952 (_bsd_mod_LDFLAGS): Likewise.
24953 (bsd_mod_SOURCES): New variable.
24954 (bsd_mod_CFLAGS): Likewise.
24955 (bsd_mod_LDFLAGS): Likewise.
24956
24957 * include/grub/aout.h: New file.
24958
24959 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
24960
24961 * include/grub/i386/bsd.h: New file.
24962
24963 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
24964 to make it public.
24965
24966 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
24967 function is called, so that it's possible to change it inside the hook.
24968 (grub_elf64_load): Likewise.
24969 (grub_elf_file): Don't close the file if elf header is not found.
24970 (grub_elf_close): Close the file if grub_elf_file fails (The new
24971 grub_elf_file won't close it).
24972 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
24973 (grub_elf64_size): Likewise.
24974
24975 * kern/i386/loader.S (grub_unix_real_boot): New function.
24976
24977 * loader/aout.c: New file.
24978
24979 * loader/i386/bsd.c: New file.
24980
24981 * loader/i386/bsd_normal.c: New file.
24982
24983 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
24984
24985 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 24986 can test other formats.
d38e24c2 24987
b93bdb0f 249882008-02-19 Robert Millan <rmh@aybabtu.com>
24989
24990 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
24991 (grub_gpt_partition_type_empty): Redefine with macro from
24992 `<grub/gpt_partition.h>'.
24993 (gpt_partition_map_iterate): Adjust partition type comparison.
24994
24995 Export `entry' as partmap-specific `part.data' struct.
24996 (grub_gpt_header, grub_gpt_partentry): Move from here ...
24997
24998 * include/grub/gpt_partition.h (grub_gpt_header)
24999 (grub_gpt_partentry): ... to here (new file).
25000
25001 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25002
25003 (grub_gpt_partition_type_bios_boot): New const variable, defined
25004 with macro from `<grub/gpt_partition.h>'.
25005
25006 (setup): Replace `first_start' with `embed_region', which keeps
25007 track of the embed region (and is partmap-agnostic).
25008
25009 Replace find_first_partition_start() with find_usable_region(),
25010 which finds a usable region for embedding using partmap-specific
25011 knowledge (supports PC/MSDOS and GPT).
25012
25013 Fix all assumptions that the embed region start at sector 1, using
25014 `embed_region.start' from now on. Similarly, use `embed_region.end'
25015 rather than `first_start' to calculate available size.
25016
25017 In grub_util_info() message, replace "into after the MBR" with an
25018 indication of the specific sector our embed region starts at.
25019
66cb40f6 250202008-02-19 Robert Millan <rmh@aybabtu.com>
25021
25022 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25023 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25024 `commands/reboot.c'.
25025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25026 (halt_mod_SOURCES): Likewise.
25027 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25028 (halt_mod_SOURCES): Likewise.
25029
b7202015 250302008-02-17 Christian Franke <franke@computer.org>
25031
25032 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25033
32b0fc49 250342008-02-17 Robert Millan <rmh@aybabtu.com>
25035
25036 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25037 set `first_start' to 0 for non-PC/MSDOS partition maps.
25038
aca63502 250392008-02-16 Robert Millan <rmh@aybabtu.com>
25040
25041 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25042 do not assume partition map is PC/MSDOS before performing checks that
25043 are specific to that layout.
25044
0de8be86 250452008-02-13 Robert Millan <rmh@aybabtu.com>
25046
25047 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25048 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25049 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25050
c3db8364 250512008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25052
25053 * configure.ac: Only a cosmetic change on the handling of
25054 -fno-stack-protector.
25055
f714229e 250562008-02-12 Alexandre Boeglin <alex@boeglin.org>
25057
c3db8364 25058 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25059 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25060 reboot.c.
f714229e 25061 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25062 (halt_mod_SOURCES): New variable.
25063 (halt_mod_CFLAGS): Likewise.
25064 (halt_mod_LDFLAGS): Likewise.
25065 (reboot_mod_SOURCES): Likewise.
25066 (reboot_mod_CFLAGS): Likewise.
25067 (reboot_mod_LDFLAGS): Likewise.
25068
c3db8364 25069 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25070 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25071 reboot.c.
f714229e 25072 (halt_mod_SOURCES): Likewise.
25073 (reboot_mod_SOURCES): Likewise.
25074
c3db8364 25075 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25076 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 25077 (reboot_mod_SOURCES): Likewise.
25078
25079 * commands/i386/pc/reboot.c: merge this file ...
25080
25081 * commands/ieee1275/reboot.c: ... and this file ...
25082
25083 * commands/reboot.c: ... to this file.
c3db8364 25084 Add some precompiler directive to include the correct header for
25085 each machine.
f714229e 25086
25087 * commands/ieee1275/halt.c: move this file ...
25088
25089 * commands/halt.c: ... to here.
c3db8364 25090 Add some precompiler directive to include the correct header for
25091 each machine.
f714229e 25092
25093 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25094 (grub_halt): Likewise.
25095
25096 * kern/efi/efi.c (grub_reboot): New function.
25097 (grub_halt): Likewise.
25098
c74493e0 250992008-02-12 Robert Millan <rmh@aybabtu.com>
25100
25101 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25102 /dev (like it is done for /dev/mapper). This doesn't provide support
25103 for EVMS, but at least it is now easy to identify the problem when it
25104 arises.
25105
d0db4b04 251062008-02-11 Robert Millan <rmh@aybabtu.com>
25107
25108 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25109 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25110 comparing it with -1, not 0.
25111
bf748642 251122008-02-10 Robert Millan <rmh@aybabtu.com>
25113
25114 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25115 `disk/lvm.c'.
25116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25117 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25118
25119 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25120 `disk/lvm.c' to the end of the list.
25121 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25122 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25123
b5db202a 251242008-02-10 Robert Millan <rmh@aybabtu.com>
25125
25126 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25127 grub_print_error() instead. This will let user know why we're entering
25128 rescue mode.
25129 Based on suggestions from Sam Morris.
25130
83abee31 251312008-02-10 Alexandre Boeglin <alex@boeglin.org>
25132
25133 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25134 on remaining N args, instead of "--" arg N times.
25135
78d5a08b 251362008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25137
25138 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25139 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25140 pattern for unknown glyphs.
25141
68807e5f 251422008-02-09 Robert Millan <rmh@aybabtu.com>
25143
25144 * configure.ac: Probe for `help2man'.
25145 * Makefile.in (builddir): New variable.
25146 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25147 or otherwise add a few flags/options to it.
25148 (install-local): For every executable utility or script that is
25149 installed, invoke $(HELP2MAN) to install a manpage based on --help
25150 output.
25151
25152 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25153 that it doesn't prevent --help from working in build tree.
25154
25155 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25156 with `bug-grub@gnu.org'.
25157 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25158 * util/update-grub.in (usage): New function.
25159 Implement proper argument check, with support for --help and --version
25160 (as well as existing -y).
25161
251622008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 25163
25164 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25165 avoid overwriting previous output.
25166 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25167
c1962162 251682008-02-09 Robert Millan <rmh@aybabtu.com>
25169
25170 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25171 drawing the menu.
25172
3dac2e3f 251732008-02-09 Robert Millan <rmh@aybabtu.com>
25174
25175 * commands/sleep.c: New file.
25176 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25177 (sleep_mod_SOURCES): New variable.
25178 (sleep_mod_CFLAGS): Likewise.
25179 (sleep_mod_LDFLAGS): Likewise.
25180
7a634e08 251812008-02-09 Robert Millan <rmh@aybabtu.com>
25182
25183 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25184 situations in which we can deduce the RAID size and the superblock
25185 doesn't match it.
25186
b92f0c18 251872008-02-09 Robert Millan <rmh@aybabtu.com>
25188
25189 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25190 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25191 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25192
25193 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25194 and return a grub_diskmemberlist_t composed of physical array members.
25195 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25196
25197 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25198 prototype.
25199 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25200 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25201 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25202
25203 * util/grub-probe.c (probe): Move partmap probing code from here ...
25204 (probe_partmap): ... to here.
25205 (probe): Use probe_partmap() once for the disk we're probing, and
25206 additionally, when such disk contains a memberlist() struct member,
25207 once for each disk that is contained in the structure returned by
25208 memberlist().
25209
91a4bf68 252102008-02-09 Robert Millan <rmh@aybabtu.com>
25211
25212 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25213 environment variable to 'all' in order to obtain debug output from
25214 non-util/ code.
25215 * util/i386/pc/grub-setup.c (main): Likewise.
25216
a96f9caa 252172008-02-08 Robert Millan <rmh@aybabtu.com>
25218
25219 * disk/raid.c (grub_raid_scan_device): Check for
25220 `array->device[sb.this_disk.number]' rather than for
25221 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 25222 guaranteed to be accessible.
a96f9caa 25223
b37a9222 252242008-02-08 Robert Millan <rmh@aybabtu.com>
25225
25226 * disk/raid.c: Update copyright.
25227 * fs/cpio.c: Likewise.
25228 * include/grub/raid.h: Likewise.
25229 * loader/i386/pc/multiboot.c: Likewise.
25230 * util/hostfs.c: Likewise.
25231
5626aee1 252322008-02-08 Robert Millan <rmh@aybabtu.com>
25233
25234 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25235 to a grub_disk_t array.
25236 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25237 `device[x]'.
25238 (grub_raid_scan_device): Replace `device[x].name' accesses with
25239 `device[x]->name'. Simplify initialization of `array->device[x]'.
25240
554f0187 252412008-02-08 Robert Millan <rmh@aybabtu.com>
25242
25243 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25244 grub_dprintf() calls.
25245 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25246 error message.
25247
1ec8425d 252482008-02-07 Christian Franke <franke@computer.org>
25249
25250 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25251 instead of fseek and ftell to support large files.
25252 (grub_hostfs_read): Likewise.
25253
f2156fda 252542008-02-07 Robert Millan <rmh@aybabtu.com>
25255
25256 Patch from Jeroen Dekkers.
25257 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 25258 failure, since successfully reading all array members might not be
f2156fda 25259 required.
25260
9216e0e7 252612008-02-06 Robert Millan <rmh@aybabtu.com>
25262
25263 * util/grub-probe.c (probe): Simplify partmap probing (with the
25264 assumption that the first word up to the underscore equals to
25265 the module name).
25266
b0dfd29a 252672008-02-06 Christian Franke <franke@computer.org>
25268
25269 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25270 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25271 last block of a cpio or tar stream.
25272 Check for "TRAILER!!!" instead of any empty data
25273 block to detect last block of a cpio stream.
25274 (grub_cpio_dir): Fix constness of variable np.
25275 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25276 cpio or tar trailer is detected. This fixes a crash
25277 on open of a non existing file.
25278
c32865bf 252792008-02-05 Bean <bean123ch@gmail.com>
25280
25281 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25282 address of entry.
25283 (grub_multiboot_load_elf64): Likewise.
25284 (grub_multiboot): Initialize mbi structure.
25285
25286 * util/grub-fstest.c: Don't include unused header file script.h.
25287
fe6b695a 25288 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 25289 of file.
25290 (grub_fstest_SOURCES): Likewise.
25291
409480b7 252922008-02-05 Robert Millan <rmh@aybabtu.com>
25293
25294 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25295 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25296 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25297 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25298
25299 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25300 (translation_table): Replace hardcoded values with macros
25301 provided by `<grub/term.h>'.
25302
25303 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25304 (keyboard_map): Correct/add a few values, with macros provided
25305 by `<grub/term.h>'.
25306 (keyboard_map_shift): Zero values that don't differ from their
25307 `keyboard_map' equivalents.
25308 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25309 Discard the second scan code that is always sent by Caps lock.
25310 Only use `keyboard_map_shift' when it provides a non-zero value,
25311 otherwise fallback to `keyboard_map'.
25312
99fadbaa 253132008-02-04 Bean <bean123ch@gmail.com>
25314
25315 * Makefile.in (enable_grub_fstest): New variable.
25316
25317 * conf/common.rmk (grub_fstest_init.lst): New rule.
25318 (grub_fstest_init.h): Likewise.
25319 (grub_fstest_init.c): Likewise.
25320 (util/grub-fstest.c_DEPENDENCIES): New variable.
25321 (grub_fstest_SOURCES): Likewise.
25322
25323 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25324
25325 * util/grub-fstest.c: New file.
25326
bf567c50 253272008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25328
25329 Make grub-setup handle a separate root device.
f19dbdb7 25330
bf567c50 25331 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25332 so that the root device can be compared with the destination
25333 device.
25334 When embedding the core image, if the root and destination devices
25335 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25336 0xFF.
25337 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 25338
9be6b98b 253392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25340
25341 Add support for having a grub directory in a different drive. This
25342 is still only the data handling part.
f19dbdb7 25343
9be6b98b 25344 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25345 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25346 (grub_root_drive): New variable.
25347
25348 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25349 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25350 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25351 as it was.
25352
25353 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25354
25355 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25356 macro.
25357 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25358
25359 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25360 is bogus, because PXE booting does not specify any drive
25361 correctly.
25362
25363 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25364 am not sure if this is really correct.
25365
25366 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25367 is always identical to the boot drive when booting from a CD.
25368
25369 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25370 longer.
25371 (root_drive): New variable.
25372 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25373 (setup_sectors): Push %dx right after popping it, because %dh will
25374 be modified later.
25375 (copy_buffer): Restore %dx.
25376
e0ca0677 253772008-02-03 Robert Millan <rmh@aybabtu.com>
25378
25379 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25380 use `cdboot.img' for cdrom images.
25381
3b3f6629 253822008-02-03 Robert Millan <rmh@aybabtu.com>
25383
25384 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25385 only setup gfxterm when `font' command has succeeded.
25386
d42b3672 253872008-02-03 Robert Millan <rmh@aybabtu.com>
25388
25389 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25390 (grub_rescue_cmd_multiboot_loader)
25391 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25392
fa370ea6 253932008-02-03 Pavel Roskin <proski@gnu.org>
25394
e0c5dacb 25395 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 25396 %edx and %esi from stack only after grub_gate_a20() is called.
25397 grub_gate_a20() clobbers %edx.
25398
f2a76e1d 253992008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25400
25401 * configure.ac (AC_INIT): Bumped to 1.96.
25402
25403 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25404 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25405 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25406 video/readers/png.c.
25407
90fd32d1 254082008-02-03 Bean <bean123ch@gmail.com>
9be665dd 25409
25410 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25411 (cdboot_img_SOURCES): New variable.
25412 (cdboot_img_ASFLAGS): New variable.
25413 (cdboot_img_LDFLAGS): New variable.
25414
25415 * boot/i386/pc/cdboot.S: New file.
25416
25417 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25418 (cd_count): Likewise.
25419 (grub_biosdisk_get_drive): Add support for cd device.
25420 (grub_biosdisk_call_hook): Likewise.
25421 (grub_biosdisk_iterate): Likewise.
25422 (grub_biosdisk_open): Likewise.
25423 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25424 (grub_biosdisk_rw): Support reading from cd device.
25425 (GRUB_MOD_INIT): Iterate cd devices.
25426
25427 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25428 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25429 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25430
25431 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25432
4020aa53 254332008-02-02 Robert Millan <rmh@aybabtu.com>
25434
25435 * commands/read.c: New file.
25436 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25437 (read_mod_SOURCES): New variable.
25438 (read_mod_CFLAGS): Likewise.
25439 (read_mod_LDFLAGS): Likewise.
25440
e03a1132 254412008-02-02 Robert Millan <rmh@aybabtu.com>
25442
25443 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25444 determining whether menu has to be displayed.
25445
58c69220 254462008-02-02 Marco Gerards <marco@gnu.org>
25447
25448 * bus/pci.c: New file.
25449
25450 * include/grub/pci.h: Likewise.
25451
25452 * include/grub/i386/pc/pci.h: Likewise.
25453
25454 * commands/lspci.c: Likewise.
25455
25456 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25457 `lspci.mod'.
25458 (pci_mod_SOURCES): New variable.
25459 (pci_mod_CFLAGS): Likewise.
25460 (pci_mod_LDFLAGS): Likewise.
25461 (lspci_mod_SOURCES): Likewise.
25462 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 25463 (lspci_mod_LDFLAGS): Likewise.
58c69220 25464
c004e1b4 254652008-02-02 Bean <bean123ch@gmail.com>
25466
25467 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25468 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25469
25470 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25471 (grub_xfs_btree_node): New structure.
25472 (grub_xfs_btree_root): New structure.
25473 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25474 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25475 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25476 (GRUB_XFS_EXTENT_SIZE): Likewise.
25477 (grub_xfs_read_block): Support btree format type.
25478 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25479 Use directory block as basic unit.
25480
25481 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25482
25483 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25484 __attribute__ ((__regparm__ (1))).
25485
f95562bf 254862008-02-01 Robert Millan <rmh@aybabtu.com>
25487
25488 Correct a mistake in previous commit.
25489
25490 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25491 top.
25492 (normal/command.c_DEPENDENCIES): New variable.
25493
7d31f41f 254942008-02-01 Robert Millan <rmh@aybabtu.com>
25495
25496 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25497 top.
25498 (normal/command.c_DEPENDENCIES): New variable.
25499 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25500 * conf/i386-ieee1275.rmk: Likewise.
25501 * conf/i386-linuxbios.rmk: Likewise.
25502 * conf/i386-pc.rmk: Likewise.
25503 * conf/sparc64-ieee1275.rmk: Likewise.
25504 * conf/powerpc-ieee1275.rmk: Likewise.
25505 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25506
25507 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25508
60b6be74 255092008-02-01 Robert Millan <rmh@aybabtu.com>
25510
25511 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25512 call at beginning of function.
25513
078522ab 255142008-01-31 Pavel Roskin <proski@gnu.org>
25515
25516 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 25517 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25518 (grub_mkrescue_SOURCES): Likewise.
078522ab 25519 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25520
ccaa8a5f 255212008-01-30 Robert Millan <rmh@aybabtu.com>
25522
25523 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25524 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25525 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25526 (grub_probe_SOURCES): ... to here.
25527
25528 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25529 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25530 * conf/i386-ieee1275.rmk: Likewise.
25531 * conf/i386-linuxbios.rmk: Likewise.
25532 * conf/powerpc-ieee1275.rmk: Likewise.
25533
ae5a9cd7 255342008-01-30 Tristan Gingold <gingold@free.fr>
25535
25536 * kern/rescue.c: Silently accept empty lines.
25537
70bc2ef2 255382008-01-29 Bean <bean123ch@gmail.com>
25539
25540 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25541 (real_code_2): Code cleanup and change comment style.
25542 (move_memory): Avoid using 32-bit address mode.
25543
6a4d50ea 255442008-01-29 Bean <bean123ch@gmail.com>
25545
25546 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25547 (png_mod_SOURCES): New variable.
25548 (png_mod_CFLAGS): Likewise.
25549 (png_mod_LDFLAGS): Likewise.
25550
25551 * video/readers/png.c: New file.
25552
11cc30ac 255532008-01-28 Robert Millan <rmh@aybabtu.com>
25554
25555 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
25556 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
25557 `ifndef GRUB_MOD_GAP' hack.
25558 * util/elf/grub-mkimage.c (add_segments): Likewise.
25559
3abc589f 255602008-01-27 Robert Millan <rmh@aybabtu.com>
25561
25562 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
25563 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 25564 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 25565
e1907778 255662008-01-27 Robert Millan <rmh@aybabtu.com>
25567
25568 Get grub-emu to build again (including parallel builds).
25569
25570 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
25571 Split into ...
25572 (util/grub-emu.c_DEPENDENCIES): ... this, ...
25573 (normal/execute.c_DEPENDENCIES): ... this, ...
25574 (grub-emu_DEPENDENCIES): ... and this.
25575
25576 * conf/i386-efi.rmk: Likewise.
25577 * conf/i386-linuxbios.rmk: Likewise.
25578 * conf/i386-ieee1275.rmk: Likewise.
25579 * conf/powerpc-ieee1275.rmk: Likewise.
25580 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
25581
2216b101 255822008-01-27 Robert Millan <rmh@aybabtu.com>
25583
25584 * NEWS: Add a few items.
25585
f75172d9 255862008-01-27 Robert Millan <rmh@aybabtu.com>
25587
25588 Fix parallel builds with grub-emu. Based on earlier commit for
25589 grub-probe and grub-setup.
25590
25591 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25592 (util/grub-emu.c_DEPENDENCIES): ... this.
25593 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25594 (util/grub-emu.c_DEPENDENCIES): ... this.
25595 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25596 (util/grub-emu.c_DEPENDENCIES): ... this.
25597 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25598 (util/grub-emu.c_DEPENDENCIES): ... this.
25599 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
25600 (util/grub-emu.c_DEPENDENCIES): ... this.
25601
3f51de77 256022008-01-27 Pavel Roskin <proski@gnu.org>
25603
25604 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
25605 to create a gap between _end and the modules added to the image
25606 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
25607 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
25608 * util/elf/grub-mkimage.c (add_segments): Likewise.
25609
2033f53e 256102008-01-26 Pavel Roskin <proski@gnu.org>
25611
25612 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
25613 just return an error.
25614
22da1f6f 256152008-01-26 Bean <bean123ch@gmail.com>
25616
25617 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
25618 (grub_reiserfs_get_item): Save offset of the next item.
25619 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
25620
2a9525e6 256212008-01-25 Robert Millan <rmh@aybabtu.com>
25622
25623 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
25624 make all filesystem sources appear together (possibly fixing omissions
25625 while at it).
25626 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25628 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25630
25631 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
25632 add `kern/file.c'.
25633 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
25634 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25635 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
25636 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
25637
25638 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
25639 (probe): Add a sanity check to make sure of our ability to read
25640 requested files when probing for filesystem type.
25641
25642 * genmk.rb: Update copyright year (2007).
25643
25644 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
25645 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
25646 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
25647 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
25648 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
25649 : Remove function prototypes.
25650
b95f71b5 256512008-01-25 Robert Millan <rmh@aybabtu.com>
25652
25653 Revert my previous commits (based on wrong assumption of how grub_errno
25654 works).
25655
fe6b695a 25656 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 25657 * kern/file.c (grub_file_open): Likewise.
25658
d08bbb49 256592008-01-24 Pavel Roskin <proski@gnu.org>
25660
25661 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
25662 that hang if GRUB tries to setup colors.
25663 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
25664 colors for firmwares that don't support it.
25665 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
25666 Recognize Open Hack'Ware, set flags to work around its
25667 limitations.
25668
605e36ed 256692008-01-24 Robert Millan <rmh@aybabtu.com>
25670
25671 * kern/file.c (grub_file_open): Do not account previous failures of
25672 unrelated functions when grub_errno is checked for.
25673 Reported by Oleg Strikov.
25674
bac332a1 256752008-01-24 Bean <bean123ch@gmail.com>
25676
25677 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
25678 (grub_ufs_sblock): New member volume name.
25679 (grub_ufs_find_file): Fix string copy bug.
25680 (grub_ufs_label): Implement this function properly.
25681
25682 * fs/hfs.c (grub_hfs_cnid_type): New enum.
25683 (grub_hfs_iterate_records): Use the correct file number for extents
25684 and catalog file. Fix problem in next index calculation.
25685 (grub_hfs_find_node): Replace recursive function call with loop.
25686 (grub_hfs_iterate_dir): Replace recursive function call with loop.
25687
15c80c09 256882008-01-23 Robert Millan <rmh@aybabtu.com>
25689
25690 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
25691 `<grub/symbol.h>' and `<grub/multiboot.h>'.
25692 (grub_multiboot2_real_boot): New function prototype.
25693
25694 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
25695 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
25696
25697 * kern/i386/ieee1275/init.c (grub_os_area_addr)
25698 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
25699
305338fd 257002008-01-23 Robert Millan <rmh@aybabtu.com>
25701
25702 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
25703 #ifdef'ed out grub_printf().
25704
3ea52685 257052008-01-23 Robert Millan <rmh@aybabtu.com>
25706
25707 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
25708 grub_dprintf calls, since they make "debug=all" mode unusable.
25709 (grub_console_checkkey): Likewise.
25710
5882ae4b 257112008-01-23 Robert Millan <rmh@aybabtu.com>
25712
25713 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25714 `term/i386/pc/at_keyboard.c'.
25715 (pkglib_MODULES): Add `serial.mod'.
25716 (serial_mod_SOURCES): New variable.
25717 (serial_mod_CFLAGS): Likewise.
25718 (serial_mod_LDFLAGS): Likewise.
25719
25720 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
25721 `<grub/powerpc/ieee1275/console.h>'.
25722 (grub_keyboard_controller_init): New function prototype.
25723 (grub_console_checkkey): Likewise.
25724 (grub_console_getkey): Likewise.
25725
25726 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
25727 keyboard on i386.
25728
25729 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
25730 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
25731
06ab5303 257322008-01-23 Robert Millan <rmh@aybabtu.com>
25733
25734 * kern/i386/pc/init.c (make_install_device): When memdisk image is
25735 present, "(memdisk)/boot/grub" becomes the default prefix.
25736
25737 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
25738 a memdisk tarball with all the modules. Add --overlay=DIR option that
25739 allows users to overlay additional files into the image.
25740
dbb475a4 257412008-01-23 Robert Millan <rmh@aybabtu.com>
25742
25743 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
25744 and `machine/memory.h'.
25745 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
25746 (_multiboot_mod_SOURCES): New variable.
25747 (_multiboot_mod_CFLAGS): Likewise.
25748 (_multiboot_mod_LDFLAGS): Likewise.
25749 (multiboot_mod_SOURCES): Likewise.
25750 (multiboot_mod_CFLAGS): Likewise.
25751 (multiboot_mod_LDFLAGS): Likewise.
25752
25753 * include/grub/i386/ieee1275/loader.h: New file.
25754
25755 * include/grub/i386/ieee1275/machine.h: Likewise.
25756
25757 * include/grub/i386/ieee1275/memory.h: Likewise.
25758
25759 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
25760 variable declaration.
25761 (grub_os_area_size): Likewise.
25762
25763 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
25764 (grub_lower_mem, grub_upper_mem): New variables.
25765 (grub_stop_floppy): New function (just to make
25766 grub_multiboot2_real_boot() happy).
25767
25768 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
25769 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
25770 (grub_stop): New function.
25771 Include `"../realmode.S"' and `"../loader.S"'.
25772
25773 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
25774 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
25775
25776 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
25777 rely on grub_multiboot2_real_boot() for final boot.
25778
25638629 257792008-01-22 Robert Millan <rmh@aybabtu.com>
25780
25781 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
25782 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
25783 device that doesn't look like an SD card.
25784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25785 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
25786 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
25787 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
25788 found.
25789
9dad816d 257902008-01-22 Robert Millan <rmh@aybabtu.com>
25791
25792 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
25793 avoid claiming over our own code.
25794
34842f2d 257952008-01-22 Bean <bean123ch@gmail.com>
25796
25797 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
25798 (jpeg_mod_SOURCES): New variable.
25799 (jpeg_mod_CFLAGS): Likewise.
25800 (jpeg_mod_LDFLAGS): Likewise.
25801
25802 * video/readers/jpeg.c : New file.
25803
44023a28 258042008-01-22 Bean <bean123ch@gmail.com>
25805
25806 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
25807 there are no more items.
25808
bc2d8ac6 258092008-01-21 Robert Millan <rmh@aybabtu.com>
25810
25811 * kern/mm.c (grub_mm_init_region): Improve debug message.
25812
261bd4bc 258132008-01-21 Robert Millan <rmh@aybabtu.com>
25814
25815 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
25816 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
25817 address.
25818 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
25819 a C macro.
25820 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
25821 Indicates start of upper memory.
25822 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
25823 (generate_image): Abort when image size is big enough to corrupt
25824 upper memory.
25825
25826 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
25827 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
25828 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25829 instead of hardcoding 0xA0000.
25830 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
25831 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
25832 instead of hardcoding 0xA0000.
25833
f970b55e 258342008-01-21 Robert Millan <rmh@aybabtu.com>
25835
25836 * disk/memdisk.c (memdisk_size): New variable.
25837 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
25838 `memdisk_size'.
25839 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
25840 image to dynamic memory.
25841 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
25842 `memdisk_size'. Free memdisk block.
25843
1a8b0526 258442008-01-21 Robert Millan <rmh@aybabtu.com>
25845
25846 Fix detection of very small filesystems (like tar).
25847
25848 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
25849 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
25850 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
25851 a problem with this disk).
25852
6e9b4aab 258532008-01-21 Robert Millan <rmh@aybabtu.com>
25854
25855 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
25856 on grub_biosdisk_rw_standard() error.
25857
0d8837b2 258582008-01-21 Robert Millan <rmh@aybabtu.com>
25859
25860 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
25861 recent changes.
25862 * kern/elf.c: Likewise.
25863 * kern/ieee1275/ieee1275.c: Likewise.
25864 * kern/powerpc/ieee1275/openfw.c: Likewise.
25865 * term/ieee1275/ofconsole.c: Likewise.
25866
ffd36e34 258672008-01-21 Robert Millan <rmh@aybabtu.com>
25868
25869 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
25870
3f0093d0 25871 * include/grub/kernel.h (grub_arch_memdisk_addr)
25872 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 25873
3f0093d0 25874 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
25875 (grub_arch_memdisk_size): ... to here.
ffd36e34 25876
6c391b21 258772008-01-21 Robert Millan <rmh@aybabtu.com>
25878
25879 Mostly based on bugfix from Bean.
25880
25881 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
25882 attribute with hook() parameter.
25883 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
25884 declaration.
25885 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
25886 attribute with hook() parameter.
25887 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
25888 declaration.
25889
55a581dc 258902008-01-21 Robert Millan <rmh@aybabtu.com>
25891
25892 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
25893 (pkglib_MODULES): Add `memdisk.mod'.
25894 (memdisk_mod_SOURCES): New variable.
25895 (memdisk_mod_CFLAGS): Likewise.
25896 (memdisk_mod_LDFLAGS): Likewise.
25897
25898 * disk/memdisk.c: New file.
25899
25900 * include/grub/disk.h (grub_disk_dev_id): Add
25901 `GRUB_DISK_DEVICE_MEMDISK_ID'.
25902
25903 * include/grub/i386/pc/kernel.h
25904 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
25905 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
25906 (grub_kernel_image_size): New variable declaration.
25907 (grub_total_module_size): Likewise.
25908 (grub_memdisk_image_size): Likewise.
25909
25910 * include/grub/i386/pc/memory.h
25911 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
25912
25913 * include/grub/kernel.h: Include `<grub/symbol.h>'.
25914 (grub_arch_memdisk_addr): New variable declaration.
25915 (grub_arch_memdisk_size): Likewise.
25916
25917 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
25918 (grub_arch_memdisk_size): Likewise.
25919
25920 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
25921 (codestart): Replace hardcoded `0x100000' with
25922 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
25923
25924 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
25925 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
25926 not NULL, append the contents of the file it refers to, at the end of
25927 the compressed kernel image. Initialize `grub_memdisk_image_size'
25928 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
25929 (options): Add "memdisk"|'m' option.
25930 (main): Parse --memdisk|-m option, and pass user-provided path as
25931 parameter to generate_image().
25932
3d7f54c9 259332008-01-20 Robert Millan <rmh@aybabtu.com>
25934
25935 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
25936 grub_dprintf() calls from here ...
25937 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
25938
0bf74728 259392008-01-20 Robert Millan <rmh@aybabtu.com>
25940
25941 Fix detection of "real mode" when /options/real-mode? doesn't exist.
25942
25943 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
25944 declaration.
25945 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
25946 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
25947 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 25948 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 25949 property).
25950 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
25951 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
25952
33bf70a7 259532008-01-19 Robert Millan <rmh@aybabtu.com>
25954
fe6b695a 25955 Get rid of confusing function (superseded by
33bf70a7 25956 `grub_ieee1275_get_integer_property')
25957 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
25958 prototype.
25959 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
25960 function.
25961 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
25962 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 25963 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 25964
e2da7d26 259652008-01-19 Robert Millan <rmh@aybabtu.com>
25966
25967 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
25968 command after "shut-down", since implementations differ on which
25969 the command for halt is.
25970
59f1fd8d 259712008-01-19 Robert Millan <rmh@aybabtu.com>
25972
25973 * include/grub/i386/linuxbios/console.h: Add header protection.
25974 (grub_keyboard_controller_init): New function prototype.
25975 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
25976 (KEYBOARD_COMMAND_READ): Likewise.
25977 (KEYBOARD_COMMAND_WRITE): Likewise.
25978 (KEYBOARD_SCANCODE_SET1): Likewise.
25979 (grub_keyboard_controller_write): New function.
25980 (grub_keyboard_controller_read): Likewise.
25981 (grub_keyboard_controller_init): Likewise.
25982
25983 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
25984 (grub_console_init): On coreboot/LinuxBIOS, call
25985 grub_keyboard_controller_init().
25986
5f5a7c15 259872008-01-19 Robert Millan <rmh@aybabtu.com>
25988
25989 PowerPC changes provided by Pavel Roskin.
25990
25991 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
25992 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
25993 don't rely on cmain() doing it.
25994 * kern/i386/ieee1275/startup.S (_start): Store %eax in
25995 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
25996
1210e168 259972008-01-16 Robert Millan <rmh@aybabtu.com>
25998
25999 * include/grub/i386/linuxbios/memory.h
26000 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26001 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26002 receive `table_header' as argument. Instead, probe for it in the
26003 known memory ranges where it can be present.
26004 (grub_available_iterate): Do not pass a fixed `table_header' address
26005 to grub_linuxbios_table_iterate().
26006
3d04eab8 260072008-01-15 Robert Millan <rmh@aybabtu.com>
26008
26009 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26010 * conf/i386-ieee1275.rmk: New file.
26011 * include/grub/i386/ieee1275/console.h: Likewise.
26012 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26013 * include/grub/i386/ieee1275/kernel.h: Likewise.
26014 * include/grub/i386/ieee1275/time.h: Likewise.
26015 * kern/i386/ieee1275/init.c: Likewise.
26016 * kern/i386/ieee1275/startup.S: Likewise.
26017
d1bc1b73 260182008-01-15 Robert Millan <rmh@aybabtu.com>
26019
26020 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26021 when pointers are 32-bit (but still do set it to one when they are
26022 64-bit).
26023
66a65807 260242008-01-15 Robert Millan <rmh@aybabtu.com>
26025
26026 * include/grub/ieee1275/ieee1275.h
26027 (grub_ieee1275_get_integer_property): New function prototype.
26028
26029 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26030 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 26031 grub_ieee1275_get_property() to handle endianness.
66a65807 26032
26033 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26034 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 26035 where appropriate.
66a65807 26036 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26037 (grub_map): Likewise.
26038 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26039
a83ccafd 260402008-01-15 Bean <bean123ch@gmail.com>
26041
26042 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26043 (grub_script_execute_cmdline): Reset grub_errno.
26044
26045 * normal/main.c (read_config_file): Reset grub_errno.
26046
26047 * normal/parse.y (script_init): New.
26048 (script): Move function and menuentry here.
26049 (delimiter): New.
26050 (command): Add delimiter at the end of command.
26051 (commands): Adjust to match the new command.
26052 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 26053 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 26054 (if): Use the new commands.
26055
26056 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26057
df6ecfc6 260582008-01-15 Robert Millan <rmh@aybabtu.com>
26059
26060 * normal/menu.c (run_menu): Move timeout message from here ...
26061 (print_timeout): ... to here.
26062 (run_menu): Use print_timeout() once during initial draw to print
26063 the whole message, and again in every clock tick to update only
26064 the number of seconds.
26065
87ae25eb 260662008-01-15 Robert Millan <rmh@aybabtu.com>
26067
26068 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26069 actual size of `available' from grub_ieee1275_get_property(), and
26070 restrict parsing to that bound.
26071
47bf09a4 260722008-01-15 Christian Franke <franke@computer.org>
26073
26074 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26075 (argp_program_version): Remove variable.
26076 (argp_program_bug_address): Likewise.
26077 (options): Convert from struct argp_option to struct option.
26078 (struct arguments): Remove.
26079 (parse_opt): Remove.
26080 (usage): New function.
26081 (main): Replace struct args members by simple variables.
26082 Replace argp_parse() by getopt_long().
26083 Add switch to evaluate options.
26084 Add missing "(...)" around root_dev in prefix string.
26085
c86f1469 260862008-01-14 Robert Millan <rmh@aybabtu.com>
26087
26088 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26089 for grub_ieee1275_exit(), in order to improve portability.
26090
e622c559 260912008-01-14 Robert Millan <rmh@aybabtu.com>
26092
26093 * util/grub.d/10_linux.in (prefix): Define.
26094 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26095
44cb1ec8 260962008-01-13 Pavel Roskin <proski@gnu.org>
26097
26098 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26099 grub_errno if no errors have been detected.
26100
1eb8c802 261012008-01-12 Robert Millan <rmh@aybabtu.com>
26102
26103 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26104 (grub_util_get_dev_abstraction): New function prototype.
26105
26106 * util/getroot.c: Include `<grub/util/getroot.h>'
26107 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26108 (grub_util_get_dev_abstraction): ... here (new function).
26109
26110 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26111 `PRINT_ABSTRACTION'.
26112 (probe): Probe for abstraction type when requested.
26113 (main): Understand `--target=abstraction'.
26114
26115 * util/i386/efi/grub-install.in: Add abstraction module to core
26116 image when it is found to be necessary.
26117 * util/i386/pc/grub-install.in: Likewise.
26118 * util/powerpc/ieee1275/grub-install.in: Likewise.
26119
26120 * util/update-grub_lib.in (font_path): Return system path without
26121 converting to GRUB path.
26122 * util/update-grub.in: Convert system path returned by font_path()
26123 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26124 abstraction module is needed for loading fonts (if any). Export
26125 that as `GRUB_PRELOAD_MODULES'.
26126 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26127 insmod commands).
26128
52bd3de9 261292008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26130
26131 Remove some unused code from reiserfs.
f19dbdb7 26132
52bd3de9 26133 * fs/reiserfs.c (struct grub_reiserfs_key)
26134 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26135 (struct grub_reiserfs_node_body): Removed.
26136 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26137 Likewise.
26138 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26139 Likewise.
26140 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26141 Likewise.
26142 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26143 Likewise.
26144 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26145 Likewise.
26146 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26147 Likewise.
26148 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26149 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26150 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26151
2f80039d 261522008-01-10 Robert Millan <rmh@aybabtu.com>
26153
26154 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26155 Determines if a file is garbage left by packaging systems, etc.
26156 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26157 for processing /etc/grub.d scripts.
26158 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26159 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26160 as a condition for processing Linux images.
26161
87888032 261622008-01-10 Pavel Roskin <proski@gnu.org>
26163
26164 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26165 to compile reiserfs.c on PowerPC.
26166
7e54fced 261672008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 26168
26169 * kern/device.c (grub_device_iterate): Do not abort device iteration
26170 when one of the devices cannot be opened.
26171 * kern/disk.c (grub_disk_open): Do not account previous failures of
26172 unrelated functions when grub_errno is checked for.
26173
5aa541e6 261742008-01-08 Robert Millan <rmh@aybabtu.com>
26175
26176 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26177 `! grub_linux_is_bzimage', change order of address comparison to make
26178 it more intuitive, and improve "too big zImage" error message.
26179
7076340d 261802008-01-08 Robert Millan <rmh@aybabtu.com>
26181
26182 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26183 `$(update-grub_DATA)'.
26184 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26185 targets.
26186
9ca70333 261872008-01-07 Robert Millan <rmh@aybabtu.com>
26188
26189 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26190 which instruction is modified by grub-setup during installation
26191 (since it wasn't obvious by only looking at this file).
26192
38ccf575 261932008-01-07 Robert Millan <rmh@aybabtu.com>
26194
26195 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26196 listing actual TODO items.
26197
f5db4291 261982008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26199
868967cf 26200 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26201 correctly.
26202 (grub_reiserfs_get_key_offset): Likewise.
26203 (grub_reiserfs_set_key_offset): Likewise.
26204 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 26205 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 26206
26207 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26208 better to remove the bitfield version completely.
f19dbdb7 26209
868967cf 262102008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26211
f5db4291 26212 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26213 allocated from the heap, due to the fshelp implementation.
26214 (grub_reiserfs_dir): Free NODE, due to the same reason.
26215
492e6d9d 262162008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26217
26218 Mostly from Vincent Pelletier:
f19dbdb7 26219
492e6d9d 26220 * fs/reiserfs.c: New file.
f19dbdb7 26221
492e6d9d 26222 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26223 (reiserfs_mod_SOURCES): New variable.
26224 (reiserfs_mod_CFLAGS): Likewise.
26225 (reiserfs_mod_LDFLAGS): Likewise.
26226
26227 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26228 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26229 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26230 normal/color.c.
26231
9ce3e7c1 262322008-01-06 Robert Millan <rmh@aybabtu.com>
26233
26234 * normal/color.c: Remove `<grub/env.h>'.
26235
f3b58148 262362008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26237
26238 * include/grub/normal.h: Include <grub/env.h>.
26239
7ac3bcfa 262402008-01-05 Robert Millan <rmh@aybabtu.com>
26241
26242 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26243 usage example with `(hd0,1)'.
fb358190 26244 Reported by Samuel Thibault.
7ac3bcfa 26245
c8ee99d7 262462008-01-05 Robert Millan <rmh@aybabtu.com>
26247
26248 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26249 (grub_linux_boot_zimage): Rename to ...
26250 (grub_linux_boot): ... this.
26251 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26252 (grub_linux_boot_zimage): Conditionalize zImage copy.
26253
26254 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26255 (grub_linux_boot_bzimage): Remove prototype.
26256 (grub_linux_boot_zimage): Rename to ...
26257 (grub_linux_boot): ... this.
26258
26259 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26260 (grub_linux_boot): Remove function.
26261
0ece25b1 262622008-01-05 Robert Millan <rmh@aybabtu.com>
26263
26264 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26265 (grub_env_write_color_highlight): Likewise.
26266 (grub_wait_after_message): Likewise.
26267
26268 * normal/color.c: New file.
26269
26270 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26271 (normal_mod_DEPENDENCIES): Likewise.
26272
26273 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26274 (normal_mod_DEPENDENCIES): Likewise.
26275
26276 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26277 (normal_mod_DEPENDENCIES): Likewise.
26278
26279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26280 (normal_mod_DEPENDENCIES): Likewise.
26281
26282 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26283 for waiting after a message is printed.
26284 * normal/main.c (read_config_file): Likewise.
26285 (grub_normal_init): Register grub_env_write_color_normal() and
26286 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26287 `color_highlight' variables as global.
26288
26289 * normal/menu.c (grub_wait_after_message): New function.
26290 (grub_color_menu_normal): New variable. Replaces ...
26291 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26292 (grub_color_menu_highlight): New variable. Replaces ...
26293 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26294 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26295 `GRUB_TERM_COLOR_STANDARD'.
26296 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26297 `normal_code' and `highlight_code' to `old_color_normal' and
26298 `old_color_highlight', respectively.
26299 (grub_menu_init_page): Update colors when drawing the menu, based on
26300 `menu_color_normal' and `menu_color_highlight' variables.
26301 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26302 a message is printed.
26303
182dd4e5 263042008-01-05 Robert Millan <rmh@aybabtu.com>
26305
26306 * kern/env.c (grub_env_context_open): Propagate hooks for global
26307 variables to new context.
26308
26309 * kern/main.c (grub_set_root_dev): Export `root' variable.
26310
ddf8f6ad 263112008-01-05 Robert Millan <rmh@aybabtu.com>
26312
26313 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 26314 discs unconditionally, since udev and others have options to provide
ddf8f6ad 26315 them.
26316
d8b43d9b 263172008-01-05 Robert Millan <rmh@aybabtu.com>
26318
26319 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26320
2bff2de3 263212008-01-04 Christian Franke <franke@computer.org>
26322
26323 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26324 of eisa_mmap.
26325
97eab917 263262008-01-03 Pavel Roskin <proski@gnu.org>
26327
26328 * kern/i386/linuxbios/init.c: Put "void" to all function
26329 declarations with no arguments.
26330 * kern/powerpc/ieee1275/init.c: Likewise.
26331 * term/i386/pc/at_keyboard.c: Likewise.
26332 * term/i386/pc/vga_text.c: Likewise.
26333 * util/grub-mkdevicemap.c: Likewise.
26334
b9416d00 263352008-01-02 Robert Millan <rmh@aybabtu.com>
26336
26337 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26338 message when loaded image is out of bounds.
26339 (grub_multiboot_load_elf64): Likewise.
26340
92695df9 263412008-01-02 Pavel Roskin <proski@gnu.org>
26342
26343 * util/grub.d/10_linux.in: Try version without ".old" when
26344 looking for initrd. It's better to use initrd from the newer
26345 kernel of the same version than no initrd at all.
26346
d98d9cad 263472008-01-01 Robert Millan <rmh@aybabtu.com>
26348
26349 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26350
dbfdce36 263512008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26352
f19dbdb7 26353 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 26354 grub_video_get_active_render_target.
26355 (grub_video_adapter): Added unmap_color and get_active_render_target.
26356
f19dbdb7 26357 * video/video.c: Added grub_video_unmap_color and
dbfdce36 26358 grub_video_get_active_render_target.
26359 (grub_video_get_info): Changed method to accept NULL pointer as an
26360 argument to allow detection of active video adapter.
26361
26362 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26363 grub_video_vbe_unmap_color_int.
26364 Added grub_video_vbe_unmap_color and
26365 grub_video_vbe_get_active_render_target.
26366 (grub_video_vbe_adapter): Added unmap_color and
26367 get_active_render_target.
26368
f19dbdb7 26369 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 26370 with grub_video_vbe_unmap_color_int.
26371
26372 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26373 (DEFAULT_NORMAL_COLOR): Likewise.
26374 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26375 (DEFAULT_FG_COLOR): Removed.
26376 (DEFAULT_BG_COLOR): Likewise.
26377 (DEFAULT_CURSOR_COLOR): Changed value.
26378 (grub_virtual_screen): Added standard_color_setting,
26379 normal_color_setting, highlight_color_setting and term_color.
26380 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26381 (bitmap_width): Added.
26382 (bitmap_height): Likewise.
26383 (bitmap): Likewise.
26384 (set_term_color): Likewise.
26385 (grub_virtual_screen_setup): Changed to use new terminal coloring
26386 settings.
26387 (grub_gfxterm_init): Added init for bitmap.
26388 (grub_gfxterm_fini): Added destroy for bitmap.
26389 (redraw_screen_rect): Updated to use background bitmap and new
26390 terminal coloring.
26391 (scroll_up): Added optimization for case when there is no bitmap.
26392 (grub_gfxterm_cls): Fixed to use correct background color.
26393 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26394 coloring.
26395 (grub_virtual_screen_setcolor): Likewise.
26396 (grub_virtual_screen_getcolor): Added.
26397 (grub_gfxterm_background_image_cmd): Likewise.
26398 (grub_video_term): Added setcolor and getcolor.
26399 (MOD_INIT): Added registration of background_image command.
26400 (MOD_TERM): Added unregistration for background_image command.
26401
c3c20931 264022007-12-30 Pavel Roskin <proski@gnu.org>
26403
26404 * loader/multiboot_loader.c: Fix multiboot command
26405 unregistration. Fix all typos in the word "multiboot".
26406
df266716 264072007-12-29 Pavel Roskin <proski@gnu.org>
94239199 26408
26409 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26410 support for initrd names used in Fedora.
26411
fc6e896c 264122007-12-26 Bean <bean123ch@gmail.com>
26413
26414 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26415 (cpio_mod_SOURCES): New variable.
26416 (cpio_mod_CFLAGS): Likewise.
26417 (cpio_mod_LDFLAGS): Likewise.
26418
26419 * fs/cpio.c: New file.
26420
26421 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26422
26423 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26424
26425 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26426
26427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26428
533110ad 264292007-12-25 Robert Millan <rmh@aybabtu.com>
26430
26431 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26432 (grub_getcolor): New function.
26433
26434 * kern/term.c (grub_getcolor): New function.
26435 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26436 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26437 (print_entry): Set normal and highlight colors to
26438 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26439 respectively, before printing and restore them to old
26440 values afterwards.
26441 (grub_menu_init_page): Likewise. Fill an additional colored space
26442 that would otherwise be left blank.
26443
26444 * term/efi/console.c (grub_console_getcolor): New function.
26445 (struct grub_console_term.getcolor): New variable.
26446 * term/i386/pc/console.c (grub_console_getcolor): New function.
26447 (struct grub_console_term.getcolor): New variable.
26448 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26449 (struct grub_console_term.getcolor): New variable.
26450
26451 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26452 (struct grub_console_term.setcolor): Remove variable.
26453 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26454 (struct grub_console_term.setcolor): Remove variable.
26455 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26456 (struct grub_console_term.setcolor): Remove variable.
26457 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26458 (struct grub_console_term.setcolor): Remove variable.
26459
4931827f 264602007-12-25 Robert Millan <rmh@aybabtu.com>
26461
26462 * configure.ac: Search for possible unifont.hex locations, and
26463 define UNIFONT_HEX if found.
26464
26465 * Makefile.in (UNIFONT_HEX): Define variable.
26466 (DATA): Rename to ...
26467 (PKGLIB): ... this. Update all users.
26468 (PKGDATA): New variable.
26469 (pkgdata_IMAGES): Rename to ...
26470 (pkglib_IMAGES): ... this. Update all users.
26471 (pkgdata_MODULES): Rename to ...
26472 (pkglib_MODULES): ... this. Update all users.
26473 (pkgdata_PROGRAMS): Rename to ...
26474 (pkglib_PROGRAMS): ... this. Update all users.
26475 (pkgdata_DATA): Rename to ...
26476 (pkglib_DATA): ... this. Update all users.
26477 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26478 (unicode.pff, ascii.pff): New rules.
26479 (all-local): Add `$(PKGDATA)' dependency.
26480 (install-local): Process `$(PKGDATA)'.
26481
26482 * util/update-grub_lib.in (font_path): Search for *.pff files in
26483 a few more locations, including `${pkgdata}'.
26484
57e57e31 264852007-12-23 Robert Millan <rmh@aybabtu.com>
26486
26487 Patch from Bean <bean123ch@gmail.com>:
26488 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26489 `size'.
26490
4bc72aa9 264912007-12-21 Bean <bean123ch@gmail.com>
26492
26493 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26494 (ntfscomp_mod_SOURCES): New variable.
26495 (ntfscomp_mod_CFLAGS): Likewise.
26496 (ntfscomp_mod_LDFLAGS): Likewise.
26497
26498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26499 (grub_probe_SOURCES): Likewise.
26500 (grub_emu_SOURCES): Likewise.
26501
26502 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26503 (grub_emu_SOURCES): Likewise.
26504
26505 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26506 (grub_emu_SOURCES): Likewise.
26507
26508 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26509 (grub_emu_SOURCES): Likewise.
26510
26511 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26512 (read_run_list): Renamed to grub_ntfs_read_run_list.
26513 (decomp_nextvcn): Moved to ntfscomp.c.
26514 (decomp_getch): Likewise.
26515 (decomp_get16): Likewise.
26516 (decomp_block): Likewise.
26517 (read_block): Likewise.
26518 (read_data): Partially moved to ntfscomp.c.
26519 (fixup): Change unsigned to grub_uint16_t.
26520 (read_mft): Change unsigned long to grub_uint32_t.
26521 (read_attr): Likewise.
26522 (read_data): Likewise.
26523 (read_run_data): Likewise.
26524 (read_run_list): Likewise.
26525 (read_mft): Likewise.
26526
26527 * fs/ntfscomp.c: New file.
26528
26529 * include/grub/ntfs.h: New file.
26530
af680a87 265312007-12-16 Robert Millan <rmh@aybabtu.com>
26532
26533 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26534 IDE disk check, since Linux is known to support 20 IDE disks.
26535 Reported by Colin Watson.
26536
84be7599 265372007-12-15 Bean <bean123ch@gmail.com>
26538
26539 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26540 (lnxboot_img_SOURCES): New variable.
26541 (lnxboot_img_ASFLAGS): Likewise.
26542 (lnxboot_img_LDFLAGS): Likewise.
26543
26544 * boot/i386/pc/lnxboot.S: New file.
26545
6af9db01 265462007-11-24 Pavel Roskin <proski@gnu.org>
26547
26548 * configure.ac: Test if '--build-id=none' is supported by the
26549 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
26550 objcopy to generate incorrect binary files (binutils
26551 2.17.50.0.18-1 as shipped by Fedora 8).
26552 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
26553 linking, so that build ID doesn't break the test.
26554
7361cfe6 265552007-11-24 Pavel Roskin <proski@gnu.org>
26556
26557 * include/grub/i386/time.h: use "void" in the argument list
26558 of grub_cpu_idle().
26559 * include/grub/powerpc/time.h: Likewise.
26560 * include/grub/sparc64/time.h: Likewise.
26561
1593e10c 265622007-11-18 Christian Franke <franke@computer.org>
26563
26564 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
26565 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
26566 This fixes the problem that function keys did not work in grub-emu.
26567
3b8db1a8 265682007-11-18 Christian Franke <franke@computer.org>
26569
26570 * disk/host.c (grub_host_open): Remove attribute unused from
26571 name parameter. Add check for "host". This fixes the problem
26572 that grub-emu does not find partitions.
26573
2e29408d 265742007-11-18 Christian Franke <franke@computer.org>
26575
26576 * util/hostfs.c (is_dir): New function.
26577 (grub_hostfs_dir): Handle missing dirent.d_type case.
26578 (grub_hostfs_read): Add missing fseek().
26579 (grub_hostfs_label): Clear label pointer. This fixes a crash
26580 of grub-emu on "ls (host)".
26581
398cd047 265822007-11-18 Christian Franke <franke@computer.org>
26583
26584 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
26585 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
26586 to 64 bit boundary by default.
26587
c405c391 265882007-11-18 Bean <bean123ch@gmail.com>
26589
26590 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
26591 (hexdump_mod_SOURCES): New variable.
26592 (hexdump_mod_CFLAGS): Likewise.
26593 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 26594
c405c391 26595 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26596
26597 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26598
26599 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26600
26601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
26602
26603 * include/grub/hexdump.h: New file.
26604
26605 * commands/hexdump.c: New file.
26606
5cced7fd 266072007-11-10 Robert Millan <rmh@aybabtu.com>
26608
26609 * commands/i386/pc/play.c (beep_off): Switch order of arguments
26610 in grub_outb() calls.
26611 (beep_on): Likewise.
26612
8b714eb0 266132007-11-10 Christian Franke <franke@computer.org>
26614
26615 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
26616 (grub_menu_run): Likewise.
26617
ce0f1839 266182007-11-10 Robert Millan <rmh@aybabtu.com>
26619
26620 * include/grub/i386/efi/machine.h: New file.
26621 * include/grub/i386/linuxbios/machine.h: Likewise.
26622 * include/grub/i386/pc/machine.h: Likewise.
26623 * include/grub/powerpc/ieee1275/machine.h: Likewise.
26624 * include/grub/sparc64/ieee1275/machine.h: Likewise.
26625
26626 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
26627 (serial_hw_io_addr): New variable.
26628 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
26629 instead of `(unsigned short *) 0x400'.
26630
270c237d 266312007-11-10 Bean <bean123ch@gmail.com>
26632
26633 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
26634
a87783bf 266352007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26636
26637 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
26638 (vga_mod_SOURCES): Added.
26639 (vga_mod_CFLAGS): Likewise.
26640 (vga_mod_LDFLAGS): Likewise.
26641
26642 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
26643 grub_outb() calls.
26644 (set_map_mask): Likewise.
26645 (set_read_map): Likewise.
26646 (set_read_address): Likewise.
26647 (vga_font): Removed variable.
26648 (get_vga_glyph): Removed function.
26649 (invalidate_char): Likewise.
26650 (write_char): Changed to use grub_font_get_glyph() for font
26651 information.
26652 (grub_vga_putchar): Likewise.
26653 (grub_vga_getcharwidth): Likewise.
26654
6433b448 266552007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
26656
26657 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
26658 flags.
26659 (pxeboot_img_LDFLAGS): Likewise.
26660 (diskboot_img_LDFLAGS): Likewise.
26661 (kernel_img_LDFLAGS): Likewise.
26662
49178511 266632007-11-06 Robert Millan <rmh@aybabtu.com>
26664
26665 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
26666 in grub_outb() calls.
26667 (serial_hw_init): Likewise.
26668
53b052de 266692007-11-05 Robert Millan <rmh@aybabtu.com>
26670
26671 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
26672 spaces. Skip non-regular files.
26673
5ab33bba 266742007-11-05 Robert Millan <rmh@aybabtu.com>
26675
26676 * kern/disk.c (grub_disk_firmware_fini)
26677 (grub_disk_firmware_is_tainted): New variables.
26678
26679 * include/grub/disk.h (grub_disk_firmware_fini)
26680 (grub_disk_firmware_is_tainted): Likewise.
26681
26682 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
26683 (grub_disk_biosdisk_fini): ... to here.
26684 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
26685 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
26686 is set. Register grub_disk_biosdisk_fini() in
26687 `grub_disk_firmware_fini'.
26688
26689 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
26690 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
26691 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
26692 to finish existing firmware disk interface.
26693
26694 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
26695 (ata_mod_SOURCES): New variable.
26696 (ata_mod_CFLAGS): Likewise.
26697 (ata_mod_LDFLAGS): Likewise.
26698
0149ab7c 266992007-11-05 Robert Millan <rmh@aybabtu.com>
26700
26701 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
26702 (grub_ata_wait): Reimplement using grub_millisleep().
26703
26704 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
26705 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
26706
be7ac41e 267072007-11-03 Marco Gerards <marco@gnu.org>
26708
26709 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
26710 (CRTC_ADDR_PORT): New macro.
26711 (CRTC_DATA_PORT): Likewise.
26712 (CRTC_CURSOR): Likewise.
26713 (CRTC_CURSOR_ADDR_HIGH): Likewise.
26714 (CRTC_CURSOR_ADDR_LOW): Likewise.
26715 (update_cursor): New function.
26716 (grub_console_real_putchar): Call `update_cursor'.
26717 (grub_console_gotoxy): Likewise.
26718 (grub_console_cls): Set the default color when clearing the
26719 screen.
26720 (grub_console_setcursor): Implemented.
26721
bb06ab2e 267222007-11-03 Marco Gerards <marco@gnu.org>
26723
26724 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
26725 become activate.
26726 (grub_ata_pio_write): Likewise.
26727
26728 (grub_atapi_identify): Wait after issuing an ATA command.
26729 (grub_atapi_packet): Likewise.
26730 (grub_ata_identify): Likewise.
26731 (grub_ata_readwrite): Likewise.
26732
cf8f780b 267332007-11-03 Marco Gerards <marco@gnu.org>
26734
26735 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
26736 (grub_ata_pio_write): Likewise.
26737 (grub_ata_readwrite): Use `grub_error', instead of
26738 returning `grub_errno'.
26739
ed649e54 267402007-11-03 Marco Gerards <marco@gnu.org>
26741
26742 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
26743 grub_ata_pio_write once for every single sector, instead of for
26744 multiple sectors.
26745
ca25d8f0 267462007-10-31 Robert Millan <rmh@aybabtu.com>
26747
26748 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
26749
26750 * conf/i386-linuxbios.rmk: New file.
26751
26752 * kern/i386/pc/hardware.c: Likewise.
26753 * term/i386/pc/at_keyboard.c: Likewise.
26754 * term/i386/pc/vga_text.c: Likewise.
26755
26756 * include/grub/i386/linuxbios/boot.h: Likewise.
26757 * include/grub/i386/linuxbios/console.h: Likewise.
26758 * include/grub/i386/linuxbios/init.h: Likewise.
26759 * include/grub/i386/linuxbios/kernel.h: Likewise.
26760 * include/grub/i386/linuxbios/loader.h: Likewise.
26761 * include/grub/i386/linuxbios/memory.h: Likewise.
26762 * include/grub/i386/linuxbios/serial.h: Likewise.
26763 * include/grub/i386/linuxbios/time.h: Likewise.
26764
26765 * kern/i386/linuxbios/init.c: Likewise.
26766 * kern/i386/linuxbios/startup.S: Likewise.
26767 * kern/i386/linuxbios/table.c: Likewise.
26768
e911ecc1 267692007-10-31 Marco Gerards <marco@gnu.org>
26770
26771 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
26772 (ata_mod_SOURCES): New variable.
26773 (ata_mod_CFLAGS): Likewise.
26774 (ata_mod_LDFLAGS): Likewise.
26775
26776 * disk/ata.c: New file.
26777
26778 * include/grub/disk.h (grub_disk_dev_id): Add
26779 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 26780
7f66d0e0 267812007-10-31 Robert Millan <rmh@aybabtu.com>
26782
26783 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
26784 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
26785
26786 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
26787 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
26788
26789 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
26790 `<grub/types.h>'.
26791
26792 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
26793
5cd7dd46 267942007-10-27 Robert Millan <rmh@aybabtu.com>
26795
3236ca65 26796 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 26797
2ebfc90f 267982007-10-22 Robert Millan <rmh@aybabtu.com>
26799
26800 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
26801 `"../realmode.S"'.
26802 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
26803
73fcb0f3 268042007-10-22 Robert Millan <rmh@aybabtu.com>
26805
26806 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
26807 (pkgdata_MODULES): Add `biosdisk.mod'.
26808 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
26809 variables.
26810
26811 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
26812 (grub_biosdisk_init): Replace with ...
26813 (GRUB_MOD_INIT(biosdisk)): ... this.
26814 (grub_biosdisk_fini): Replace with ...
26815 (GRUB_MOD_FINI(biosdisk)): ... this.
26816
26817 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
26818 (grub_machine_init): Remove call to grub_biosdisk_init().
26819 (grub_machine_fini): Remove call to grub_machine_fini().
26820
26821 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
26822
3381d274 268232007-10-22 Robert Millan <rmh@aybabtu.com>
26824
26825 * include/grub/time.h: New file.
26826 * include/grub/i386/time.h: Likewise.
26827 * include/grub/powerpc/time.h: Likewise.
26828 * include/grub/sparc64/time.h: Likewise.
26829
26830 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
26831 instances to ...
26832 (KERNEL_MACHINE_TIME_HEADER): ... this.
26833 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26834 instances to ...
26835 (KERNEL_MACHINE_TIME_HEADER): ... this.
26836 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
26837 instances to ...
26838 (KERNEL_MACHINE_TIME_HEADER): ... this.
26839
26840 * kern/i386/efi/init.c: Include `<grub/time.h>'.
26841 (grub_millisleep): New function.
26842 * kern/i386/pc/init.c: Include `<grub/time.h>'.
26843 (grub_millisleep): New function.
26844 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
26845 Remove `grub/machine/time.h' include.
26846 (grub_millisleep): New function.
26847 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
26848 Remove `grub/machine/time.h' include.
26849 (grub_millisleep): New function.
26850
26851 * include/grub/misc.h (grub_div_roundup): New function.
26852
26853 * kern/misc.c: Include `<grub/time.h>'.
26854 (grub_millisleep_generic): New function.
26855
26856 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
26857 Add `time.h'.
26858 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
26859 Add `time.h'.
26860 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
26861 `machine/time.h'. Add `time.h'.
26862 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26863
a39a0312 268642007-10-21 Robert Millan <rmh@aybabtu.com>
26865
26866 * include/grub/misc.h (grub_max): New function.
26867
2aad70e2 268682007-10-21 Robert Millan <rmh@aybabtu.com>
26869
26870 * util/misc.c (grub_util_info): Call fflush() before returning.
26871
54b71c4b 268722007-10-20 Robert Millan <rmh@aybabtu.com>
26873
26874 * genmk.rb (Image): Copy `extra_flags' from here ...
26875 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
26876
26877 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
26878 to `argc' and `args' arguments.
26879
a979f513 268802007-10-17 Robert Millan <rmh@aybabtu.com>
26881
26882 * kern/i386/loader.S: New file.
26883
26884 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
26885 * kern/i386/loader.S (grub_linux_prot_size)... to here.
26886 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
26887 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
26888 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
26889 * kern/i386/loader.S (grub_linux_real_addr)... to here.
26890 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
26891 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
26892 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
26893 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
26894 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
26895 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
26896 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
26897 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
26898
26899 * kern/i386/realmode.S: New file.
26900
26901 * kern/i386/pc/startup.S (protstack): Moved from here ...
26902 * kern/i386/realmode.S (protstack)... to here.
26903 * kern/i386/pc/startup.S (gdt): Moved from here ...
26904 * kern/i386/realmode.S (gdt)... to here.
26905 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
26906 * kern/i386/realmode.S (prot_to_real)... to here.
26907
26908 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
26909 `kern/i386/realmode.S'.
26910
825fc8fd 269112007-10-17 Robert Millan <rmh@aybabtu.com>
26912
26913 * include/grub/i386/loader.h: New file.
26914
26915 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
26916 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26917 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26918 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26919 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
26920 * include/grub/i386/loader.h (grub_linux_prot_size)
26921 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
26922 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
26923 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
26924 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
26925
26926 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
26927
e179b2f4 269282007-10-15 Robert Millan <rmh@aybabtu.com>
26929
26930 * normal/misc.c (grub_normal_print_device_info): Do not probe for
26931 filesystem when dev->disk is unset.
26932 Do probe for filesystem even when dev->disk->has_partitions is set.
26933 In case a filesystem is found, always report it.
26934 In case it isn't, if dev->disk->has_partitions is set, report that
26935 a partition table was found instead of reporting that no filesystem
26936 could be identified.
26937
5db82af6 269382007-10-12 Robert Millan <rmh@aybabtu.com>
26939
26940 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
26941 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
26942
68f6ac74 26943 * include/grub/types.h (grub_host_to_target16): New macro.
26944 (grub_host_to_target32): Likewise.
26945 (grub_host_to_target64): Likewise.
26946 (grub_target_to_host16): Likewise.
26947 (grub_target_to_host32): Likewise.
26948 (grub_target_to_host64): Likewise.
5db82af6 26949
26950 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26951 Renamed from to ...
26952 (GRUB_MOD_ALIGN): ...this. Update all users.
26953
68f6ac74 26954 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
26955 grub_host_to_target32.
26956 Replace grub_be_to_cpu32 with grub_target_to_host32.
26957 (load_modules): Likewise.
26958 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
26959 Replace grub_be_to_cpu32 with grub_target_to_host32.
26960 Replace grub_cpu_to_be16 with grub_host_to_target16.
26961 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 26962
3cf497cc 269632007-10-12 Robert Millan <rmh@aybabtu.com>
26964
26965 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
26966 * util/elf/grub-mkimage.c: ... here.
26967
26968 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
26969 `util/powerpc/ieee1275/grub-mkimage.c'.
26970
c8cc3692 269712007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 26972
c8cc3692 26973 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
26974 and make it easier to figure out.
26975 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
26976 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
26977 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
26978 leave us with less than HEAP_MIN_SIZE total heap.
26979 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 26980
5c58b791 269812007-10-03 Robert Millan <rmh@aybabtu.com>
26982
26983 * include/grub/i386/io.h: New file.
26984 * commands/i386/pc/play.c (inb): Removed.
26985 (outb): Removed.
26986 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26987 with grub_outb().
afcd2ef8 26988 * term/i386/pc/serial.c (inb): Removed.
26989 (outb): Removed.
26990 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26991 with grub_outb().
26992 * term/i386/pc/vga.c (inb): Removed.
26993 (outb): Removed.
26994 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
26995 with grub_outb().
5c58b791 26996
1a477ed6 269972007-10-02 Robert Millan <rmh@aybabtu.com>
26998
26999 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27001 Reported by Marcin Kurek.
27002
6b5d80fa 270032007-09-07 Robert Millan <rmh@aybabtu.com>
27004
27005 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27006 SmartFirmware version updates (as released by Sven Luther), and avoid
27007 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27008 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27009 known broken.
27010
5618afbf 270112007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27012
27013 From Hitoshi Ozeki:
27014 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27015 when merging two regions.
27016
6139dcd9 270172007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27018
508e39ee 27019 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27020 * normal/completion.c (grub_normal_do_completion): Likewise.
27021 Reported by Hitoshi Ozeki.
27022
270232007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27024
6139dcd9 27025 Do not use devices at boot in chainloading.
f19dbdb7 27026
6139dcd9 27027 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27028 (boot_part_addr): Likewise.
27029 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27030 with BOOT_DRIVE and BOOT_PART_ADDR.
27031 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27032 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27033
38da6516 270342007-08-29 Robert Millan <rmh@aybabtu.com>
27035
27036 Patch from Simon Peter <dn.tlp@gmx.net>:
27037 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27038 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27039 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27040 util/i386/pc/grub-setup.c_DEPENDENCIES.
27041 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27042 util/grub-probe.c_DEPENDENCIES.
27043 * conf/powerpc-ieee1275.rmk: Likewise.
27044
29d0928c 270452007-08-28 Robert Millan <rmh@aybabtu.com>
27046
27047 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27048 to tell grub-mkdevicemap how to name devices.
27049 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27050 feature).
27051
27052 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27053 util/i386/get_disk_name.c.
27054 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27055 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27056 util/ieee1275/get_disk_name.c.
27057
27058 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27059
27060 * DISTLIST: Add util/i386/get_disk_name.c and
27061 util/ieee1275/get_disk_name.c.
27062
27063 * util/grub-mkdevicemap.c: Replace device naming logic with
27064 grub_util_get_disk_name() calls.
27065
5a0d3cca 270662007-08-20 Robert Millan <rmh@aybabtu.com>
27067
27068 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27069 (so that it works for both plural and singular quantities).
27070
8b72db2f 270712007-08-05 Robert Millan <rmh@aybabtu.com>
27072
27073 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27074 so that [xz] isn't taken into account when determining order.
27075
352466bf 270762007-08-02 Marco Gerards <marco@gnu.org>
27077
27078 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27079 `include/multiboot2.h', `include/grub/elfload.h',
27080 `include/multiboot.h', `include/grub/multiboot.h',
27081 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27082 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27083 `kern/elf.c', `loader/multiboot_loader.c',
27084 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27085 `loader/i386/pc/multiboot2.c',
27086 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27087 `util/i386/pc/grub-mkrescue.in'. Remove
27088 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27089 `include/grub/i386/pc/util/biosdisk.h' and
27090 `include/grub/powerpc/ieee1275/multiboot.h'.
27091
8f096014 270922007-08-02 Bean <bean123ch@gmail.com>
27093
27094 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27095 (ntfs_mod_SOURCES): New variable.
27096 (ntfs_mod_CFLAGS): Likewise.
27097 (ntfs_mod_LDFLAGS): Likewise.
27098
27099 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27100 (grub_probe_SOURCES): Likewise.
27101 (grub_emu_SOURCES): Likewise.
27102
27103 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27104 (grub_emu_SOURCES): Likewise.
27105
27106 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27107 (grub_emu_SOURCES): Likewise.
f19dbdb7 27108
8f096014 27109 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27110
27111 * fs/ntfs.c: New file.
27112
9959f7db 271132007-08-02 Bean <bean123ch@gmail.com>
27114
27115 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27116
27117 * file.h (grub_file): Likewise.
27118
27119 * fshelp.h (grub_fshelp_read_file): Likewise.
27120
27121 * util/i386/pc/grub-setup.c (setup): Likewise.
27122 (save_first_sector): Likewise.
27123 (save_blocklists): Likewise.
f19dbdb7 27124
9959f7db 27125 * fs/affs.c (grub_affs_read_file): Likewise.
27126
27127 * fs/ext2.c (grub_ext2_read_file): Likewise.
27128
27129 * fs/fat.c (grub_fat_read_data): Likewise.
27130
27131 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27132
27133 * fs/hfs.c (grub_hfs_read_file): Likewise.
27134
27135 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27136
27137 * fs/jfs.c (grub_jfs_read_file): Likewise.
27138
27139 * fs/minix.c (grub_minix_read_file): Likewise.
27140
27141 * fs/sfs.c (grub_sfs_read_file): Likewise.
27142
27143 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 27144
9959f7db 27145 * fs/xfs.c (grub_xfs_read_file): Likewise.
27146
27147 * command/blocklist.c (read_blocklist): Likewise.
27148 (print_blocklist): Likewise.
27149
0a203f83 271502007-08-02 Marco Gerards <marco@gnu.org>
27151
27152 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27153 `util/hostfs.c'.
27154
27155 * disk/host.c: New file.
27156
27157 * util/hostfs.c: Likewise.
27158
27159 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27160 return `GRUB_ERR_BAD_FS'.
27161 * fs/sfs.c (grub_sfs_mount): Likewise.
27162 * fs/xfs.c (grub_xfs_mount): Likewise.
27163
27164 * include/grub/disk.h (enum grub_disk_dev_id): Add
27165 `GRUB_DISK_DEVICE_HOST_ID'.
27166
27167 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27168
e5dfe777 271692007-07-24 Jerone Young <jerone@gmail.com>
27170
f19dbdb7 27171 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 27172 modules for compilation.
27173 * conf/powerpc-ieee1275.rmk: Likewise.
27174
27175 * include/multiboot.h: Move multiboot definitions to one file. Rename
27176 many definitions to not get grub specific.
27177 * include/multiboot2.h: Create header with multiboot 2 definitions.
27178 * include/grub/multiboot.h: Header for grub specific function
27179 prototypes and definitions.
27180 * include/grub/multiboot2.h: Likewise.
27181 * include/grub/multiboot_loader.h: Likewise.
27182 * include/grub/i386/pc/multiboot.h: Removed.
27183 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27184
27185 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27186 and 2 to allow for one multiboot and module commands.
27187 * loader/multiboot2.c: Add multiboot2 functionality.
27188 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27189 and definition names.
27190 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27191 2 functions.
27192 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27193 ieee1275 specific multiboot2 code.
27194
27195 * kern/i386/pc/startup.S: Change headers and definition names for
27196 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27197
daf0f0ba 271982007-07-22 Robert Millan <rmh@aybabtu.com>
27199
27200 * geninitheader.sh: Process file specified in first parameter rather
27201 than hardcoding grub_modules_init.lst.
fe6b695a 27202 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 27203 than hardcoding grub_modules_init.h.
27204
27205 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27206 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27207 grub_probe_init.[ch] and grub_setup_init.[ch].
27208
27209 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27210 grub_modules_init.h with grub_emu_init.h.
27211 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27212 grub_probe_init.[ch] files.
27213 * conf/i386-efi.rmk: Likewise.
27214 * conf/i386-pc.rmk: Likewise.
27215 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27216 grub_setup_init.[ch] files.
27217
27218 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27219 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27220 to initialize modules rather than a list of hardcoded functions.
27221 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27222 grub_init_all() to initialize modules rather than a list of hardcoded
27223 functions.
27224
54cdc1cc 272252007-07-22 Robert Millan <rmh@aybabtu.com>
27226
27227 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27228 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27229
ad0686cc 272302007-07-22 Robert Millan <rmh@aybabtu.com>
27231
27232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27233 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27234 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27235 flag when running on SmartFirmware.
27236 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27237 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27238 was set.
27239
27240 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27241 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27242 rather than decreasing it.
27243
27244 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27245 there's not enough space to do it, fail in the same way as when it
27246 can't be done because there are no partitions.
27247
27248 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27249 when nvsetenv failed.
27250
969c02ec 272512007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27252
27253 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27254 because this rule is automatically generated.
27255 (grub-mkrescue): Removed for the same reason as above.
27256
5a79f472 272572007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27258
27259 Migrate to GNU General Public License Version 3.
f19dbdb7 27260
5a79f472 27261 * COPYING: Replaced with the plain text version of GPLv3.
27262
27263 * config.guess: Updated from gnulib.
27264 * config.sub: Likewise.
27265
27266 * geninit.sh: Output a GPLv3 copyright notice.
27267 * geninitheader.sh: Likewise.
27268 * genmodsrc.sh: Likewise.
27269 * gensymlist.sh.in: Likewise.
27270
27271 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27272 * boot/i386/pc/diskboot.S: Likewise.
27273 * boot/i386/pc/pxeboot.S: Likewise.
27274 * commands/blocklist.c: Likewise.
27275 * commands/boot.c: Likewise.
27276 * commands/cat.c: Likewise.
27277 * commands/cmp.c: Likewise.
27278 * commands/configfile.c: Likewise.
27279 * commands/echo.c: Likewise.
27280 * commands/help.c: Likewise.
27281 * commands/ls.c: Likewise.
27282 * commands/search.c: Likewise.
27283 * commands/terminal.c: Likewise.
27284 * commands/test.c: Likewise.
27285 * commands/videotest.c: Likewise.
27286 * commands/i386/cpuid.c: Likewise.
27287 * commands/i386/pc/halt.c: Likewise.
27288 * commands/i386/pc/play.c: Likewise.
27289 * commands/i386/pc/reboot.c: Likewise.
27290 * commands/i386/pc/vbeinfo.c: Likewise.
27291 * commands/i386/pc/vbetest.c: Likewise.
27292 * commands/ieee1275/halt.c: Likewise.
27293 * commands/ieee1275/reboot.c: Likewise.
27294 * commands/ieee1275/suspend.c: Likewise.
27295 * disk/loopback.c: Likewise.
27296 * disk/lvm.c: Likewise.
27297 * disk/raid.c: Likewise.
27298 * disk/efi/efidisk.c: Likewise.
27299 * disk/i386/pc/biosdisk.c: Likewise.
27300 * disk/ieee1275/ofdisk.c: Likewise.
27301 * font/manager.c: Likewise.
27302 * fs/affs.c: Likewise.
27303 * fs/ext2.c: Likewise.
27304 * fs/fat.c: Likewise.
27305 * fs/fshelp.c: Likewise.
27306 * fs/hfs.c: Likewise.
27307 * fs/hfsplus.c: Likewise.
27308 * fs/iso9660.c: Likewise.
27309 * fs/jfs.c: Likewise.
27310 * fs/minix.c: Likewise.
27311 * fs/sfs.c: Likewise.
27312 * fs/ufs.c: Likewise.
27313 * fs/xfs.c: Likewise.
27314 * hello/hello.c: Likewise.
27315 * include/grub/acorn_filecore.h: Likewise.
27316 * include/grub/arg.h: Likewise.
27317 * include/grub/bitmap.h: Likewise.
27318 * include/grub/boot.h: Likewise.
27319 * include/grub/cache.h: Likewise.
27320 * include/grub/device.h: Likewise.
27321 * include/grub/disk.h: Likewise.
27322 * include/grub/dl.h: Likewise.
27323 * include/grub/elfload.h: Likewise.
27324 * include/grub/env.h: Likewise.
27325 * include/grub/err.h: Likewise.
27326 * include/grub/file.h: Likewise.
27327 * include/grub/font.h: Likewise.
27328 * include/grub/fs.h: Likewise.
27329 * include/grub/fshelp.h: Likewise.
27330 * include/grub/gzio.h: Likewise.
27331 * include/grub/hfs.h: Likewise.
27332 * include/grub/kernel.h: Likewise.
27333 * include/grub/loader.h: Likewise.
27334 * include/grub/lvm.h: Likewise.
27335 * include/grub/misc.h: Likewise.
27336 * include/grub/mm.h: Likewise.
27337 * include/grub/net.h: Likewise.
27338 * include/grub/normal.h: Likewise.
27339 * include/grub/parser.h: Likewise.
27340 * include/grub/partition.h: Likewise.
27341 * include/grub/pc_partition.h: Likewise.
27342 * include/grub/raid.h: Likewise.
27343 * include/grub/rescue.h: Likewise.
27344 * include/grub/script.h: Likewise.
27345 * include/grub/setjmp.h: Likewise.
27346 * include/grub/symbol.h: Likewise.
27347 * include/grub/term.h: Likewise.
27348 * include/grub/terminfo.h: Likewise.
27349 * include/grub/tparm.h: Likewise.
27350 * include/grub/types.h: Likewise.
27351 * include/grub/video.h: Likewise.
27352 * include/grub/efi/api.h: Likewise.
27353 * include/grub/efi/chainloader.h: Likewise.
27354 * include/grub/efi/console.h: Likewise.
27355 * include/grub/efi/console_control.h: Likewise.
27356 * include/grub/efi/disk.h: Likewise.
27357 * include/grub/efi/efi.h: Likewise.
27358 * include/grub/efi/pe32.h: Likewise.
27359 * include/grub/efi/time.h: Likewise.
27360 * include/grub/i386/linux.h: Likewise.
27361 * include/grub/i386/setjmp.h: Likewise.
27362 * include/grub/i386/types.h: Likewise.
27363 * include/grub/i386/efi/kernel.h: Likewise.
27364 * include/grub/i386/efi/loader.h: Likewise.
27365 * include/grub/i386/efi/time.h: Likewise.
27366 * include/grub/i386/pc/biosdisk.h: Likewise.
27367 * include/grub/i386/pc/boot.h: Likewise.
27368 * include/grub/i386/pc/chainloader.h: Likewise.
27369 * include/grub/i386/pc/console.h: Likewise.
27370 * include/grub/i386/pc/init.h: Likewise.
27371 * include/grub/i386/pc/kernel.h: Likewise.
27372 * include/grub/i386/pc/loader.h: Likewise.
27373 * include/grub/i386/pc/memory.h: Likewise.
27374 * include/grub/i386/pc/multiboot.h: Likewise.
27375 * include/grub/i386/pc/serial.h: Likewise.
27376 * include/grub/i386/pc/time.h: Likewise.
27377 * include/grub/i386/pc/vbe.h: Likewise.
27378 * include/grub/i386/pc/vbeblit.h: Likewise.
27379 * include/grub/i386/pc/vbefill.h: Likewise.
27380 * include/grub/i386/pc/vbeutil.h: Likewise.
27381 * include/grub/i386/pc/vga.h: Likewise.
27382 * include/grub/ieee1275/ieee1275.h: Likewise.
27383 * include/grub/ieee1275/ofdisk.h: Likewise.
27384 * include/grub/powerpc/libgcc.h: Likewise.
27385 * include/grub/powerpc/setjmp.h: Likewise.
27386 * include/grub/powerpc/types.h: Likewise.
27387 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27388 * include/grub/powerpc/ieee1275/console.h: Likewise.
27389 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27390 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27391 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27392 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27393 * include/grub/powerpc/ieee1275/time.h: Likewise.
27394 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27395 * include/grub/sparc64/libgcc.h: Likewise.
27396 * include/grub/sparc64/setjmp.h: Likewise.
27397 * include/grub/sparc64/types.h: Likewise.
27398 * include/grub/sparc64/ieee1275/console.h: Likewise.
27399 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27400 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27401 * include/grub/sparc64/ieee1275/time.h: Likewise.
27402 * include/grub/util/biosdisk.h: Likewise.
27403 * include/grub/util/getroot.h: Likewise.
27404 * include/grub/util/lvm.h: Likewise.
27405 * include/grub/util/misc.h: Likewise.
27406 * include/grub/util/raid.h: Likewise.
27407 * include/grub/util/resolve.h: Likewise.
27408 * io/gzio.c: Likewise.
27409 * kern/device.c: Likewise.
27410 * kern/disk.c: Likewise.
27411 * kern/dl.c: Likewise.
27412 * kern/elf.c: Likewise.
27413 * kern/env.c: Likewise.
27414 * kern/err.c: Likewise.
27415 * kern/file.c: Likewise.
27416 * kern/fs.c: Likewise.
27417 * kern/loader.c: Likewise.
27418 * kern/main.c: Likewise.
27419 * kern/misc.c: Likewise.
27420 * kern/mm.c: Likewise.
27421 * kern/parser.c: Likewise.
27422 * kern/partition.c: Likewise.
27423 * kern/rescue.c: Likewise.
27424 * kern/term.c: Likewise.
27425 * kern/efi/efi.c: Likewise.
27426 * kern/efi/init.c: Likewise.
27427 * kern/efi/mm.c: Likewise.
27428 * kern/i386/dl.c: Likewise.
27429 * kern/i386/efi/init.c: Likewise.
27430 * kern/i386/efi/startup.S: Likewise.
27431 * kern/i386/pc/init.c: Likewise.
27432 * kern/i386/pc/lzo1x.S: Likewise.
27433 * kern/i386/pc/startup.S: Likewise.
27434 * kern/ieee1275/ieee1275.c: Likewise.
27435 * kern/powerpc/cache.S: Likewise.
27436 * kern/powerpc/dl.c: Likewise.
27437 * kern/powerpc/ieee1275/cmain.c: Likewise.
27438 * kern/powerpc/ieee1275/crt0.S: Likewise.
27439 * kern/powerpc/ieee1275/init.c: Likewise.
27440 * kern/powerpc/ieee1275/openfw.c: Likewise.
27441 * kern/sparc64/cache.S: Likewise.
27442 * kern/sparc64/dl.c: Likewise.
27443 * kern/sparc64/ieee1275/init.c: Likewise.
27444 * kern/sparc64/ieee1275/openfw.c: Likewise.
27445 * loader/efi/chainloader.c: Likewise.
27446 * loader/efi/chainloader_normal.c: Likewise.
27447 * loader/i386/efi/linux.c: Likewise.
27448 * loader/i386/efi/linux_normal.c: Likewise.
27449 * loader/i386/pc/chainloader.c: Likewise.
27450 * loader/i386/pc/chainloader_normal.c: Likewise.
27451 * loader/i386/pc/linux.c: Likewise.
27452 * loader/i386/pc/linux_normal.c: Likewise.
27453 * loader/i386/pc/multiboot.c: Likewise.
27454 * loader/i386/pc/multiboot_normal.c: Likewise.
27455 * loader/powerpc/ieee1275/linux.c: Likewise.
27456 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27457 * normal/arg.c: Likewise.
27458 * normal/cmdline.c: Likewise.
27459 * normal/command.c: Likewise.
27460 * normal/completion.c: Likewise.
27461 * normal/execute.c: Likewise.
27462 * normal/function.c: Likewise.
27463 * normal/lexer.c: Likewise.
27464 * normal/main.c: Likewise.
27465 * normal/menu.c: Likewise.
27466 * normal/menu_entry.c: Likewise.
27467 * normal/misc.c: Likewise.
27468 * normal/parser.y: Likewise.
27469 * normal/script.c: Likewise.
27470 * normal/i386/setjmp.S: Likewise.
27471 * normal/powerpc/setjmp.S: Likewise.
27472 * normal/sparc64/setjmp.S: Likewise.
27473 * partmap/acorn.c: Likewise.
27474 * partmap/amiga.c: Likewise.
27475 * partmap/apple.c: Likewise.
27476 * partmap/gpt.c: Likewise.
27477 * partmap/pc.c: Likewise.
27478 * partmap/sun.c: Likewise.
27479 * term/gfxterm.c: Likewise.
27480 * term/terminfo.c: Likewise.
27481 * term/efi/console.c: Likewise.
27482 * term/i386/pc/console.c: Likewise.
27483 * term/i386/pc/serial.c: Likewise.
27484 * term/i386/pc/vesafb.c: Likewise.
27485 * term/i386/pc/vga.c: Likewise.
27486 * term/ieee1275/ofconsole.c: Likewise.
27487 * util/biosdisk.c: Likewise.
27488 * util/console.c: Likewise.
27489 * util/genmoddep.c: Likewise.
27490 * util/getroot.c: Likewise.
27491 * util/grub-emu.c: Likewise.
27492 * util/grub-mkdevicemap.c: Likewise.
27493 * util/grub-probe.c: Likewise.
27494 * util/lvm.c: Likewise.
27495 * util/misc.c: Likewise.
27496 * util/raid.c: Likewise.
27497 * util/resolve.c: Likewise.
27498 * util/update-grub.in: Likewise.
27499 * util/update-grub_lib.in: Likewise.
27500 * util/grub.d/00_header.in: Likewise.
27501 * util/grub.d/10_hurd.in: Likewise.
27502 * util/grub.d/10_linux.in: Likewise.
27503 * util/i386/efi/grub-install.in: Likewise.
27504 * util/i386/efi/grub-mkimage.c: Likewise.
27505 * util/i386/pc/grub-install.in: Likewise.
27506 * util/i386/pc/grub-mkimage.c: Likewise.
27507 * util/i386/pc/grub-mkrescue.in: Likewise.
27508 * util/i386/pc/grub-setup.c: Likewise.
27509 * util/i386/pc/misc.c: Likewise.
27510 * util/powerpc/ieee1275/grub-install.in: Likewise.
27511 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27512 * util/powerpc/ieee1275/misc.c: Likewise.
27513 * video/bitmap.c: Likewise.
27514 * video/video.c: Likewise.
27515 * video/i386/pc/vbe.c: Likewise.
27516 * video/i386/pc/vbeblit.c: Likewise.
27517 * video/i386/pc/vbefill.c: Likewise.
27518 * video/i386/pc/vbeutil.c: Likewise.
27519 * video/readers/tga.c: Likewise.
27520
3572d015 275212007-07-02 Robert Millan <rmh@aybabtu.com>
27522
27523 * conf/i386-efi.rmk: Replace obsolete reference to
27524 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27525 with util/getroot.c.
27526 * conf/powerpc-ieee1275.rmk: Likewise.
27527 * conf/sparc64-ieee1275.rmk: Likewise.
27528
27529 * util/grub-emu.c (main): Fix unchecked pointer handling.
27530
2c2a681b 275312007-07-02 Robert Millan <rmh@aybabtu.com>
27532
27533 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27534 invocation to fail, in order to support partition-less media.
27535
27536 * util/i386/pc/grub-install.in: Likewise.
27537
27538 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27539 which fs or partmap modules are needed (akin to its sister scripts).
27540
27541 Also use grub-probe to get rid of unportable /proc/mounts check.
27542
27543 Print the same informational message that the other scripts do, before
fe6b695a 27544 exiting.
2c2a681b 27545
6193defe 275462007-06-23 Robert Millan <rmh@aybabtu.com>
27547
fe6b695a 27548 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 27549 a font file can be found and, if so, echo the GRUB path to it.
27550
27551 * util/update-grub.in: Handle multiple terminals depending on user
27552 input, platform availability and font file presence. Propagate
27553 variables of our findings to /etc/grub.d/ children.
27554
27555 * util/grub.d/00_header.in: Handle multiple terminals, based on
27556 environment setup by update-grub.
27557
eface1dc 275582007-06-23 Robert Millan <rmh@aybabtu.com>
27559
ba50d28f 27560 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 27561
bf697e28 275622007-06-21 Robert Millan <rmh@aybabtu.com>
27563
27564 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
27565 indicate end of data section in kernel image.
27566 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
27567 GRUB_KERNEL_MACHINE_DATA_END.
27568
27569 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
27570 space for it.
27571 * kern/i386/efi/startup.S: Likewise.
27572
27573 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
27574 during image generation. Implement --prefix option to override this
27575 patch.
27576 * util/i386/efi/grub-mkimage.c: Likewise.
27577
27578 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
27579 code to make path relative to its root into a separate function.
27580
27581 * util/i386/pc/grub-install.in: Use newly provided
27582 make_system_path_relative_to_its_root() to convert ${grubdir}, then
27583 pass the result to grub-install --prefix.
27584
baa574b4 275852007-06-13 Robert Millan <rmh@aybabtu.com>
27586
27587 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
27588 DEFAULT_DEVICE_MAP.
27589 * util/grub-emu.c: Use above definitions from misc.h instead of
27590 defining them.
27591 * util/grub-mkdevicemap.c: Likewise.
27592 * util/i386/pc/grub-setup.c: Likewise.
27593 * util/grub-probe.c: Likewise.
27594 (probe): Abort with grub_util_error() when either
27595 grub_guess_root_device or grub_util_get_grub_dev fails.
27596
0215dcbf 275972007-06-12 Robert Millan <rmh@aybabtu.com>
27598
27599 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
27600 "pager" assignment.
27601 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
27602 "pcdata".
27603 * util/grub-probe.c (probe): Likewise for "drive_name".
27604
8af2ab7b 276052007-06-11 Robert Millan <rmh@aybabtu.com>
27606
27607 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
27608 not just the cdrom one.
27609
59d31694 276102007-06-11 Robert Millan <rmh@aybabtu.com>
27611
27612 * util/i386/pc/grub-mkrescue.in: Add "set -e".
27613 Add --pkglibdir=DIR option to override pkglibdir.
27614 Mention --image-type=TYPE in help output.
27615 Fix --grub-mkimage (it was a no-op).
fe6b695a 27616 Abort gracefully when no parameter is given.
59d31694 27617
7ee367e4 276182007-06-11 Robert Millan <rmh@aybabtu.com>
27619
27620 * util/i386/pc/grub-mkrescue.in: New file.
27621 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
27622 * Makefile.in: Handle bin_SCRIPTS.
27623
29b0ed46 276242007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
27625
27626 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
27627 list of video modes.
27628
c0f90770 276292007-06-06 Robert Millan <rmh@aybabtu.com>
27630
27631 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
27632 file doesn't exist, or if it is in a filesystem grub can't read.
27633
27634 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
27635 not abort if GRUB_DRIVE could not be defined. Rearrange generated
27636 header comment to fit in 80 columns when the variables are resolved.
27637
27638 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
27639 could be identified by update-grub. Remove redundant check for
fe6b695a 27640 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 27641 handles that).
27642
fb36dc26 276432007-06-04 Robert Millan <rmh@aybabtu.com>
27644
27645 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
27646
27647 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
27648
27649 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
27650
0c68c93e 276512007-06-04 Robert Millan <rmh@aybabtu.com>
27652
27653 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
27654
27655 * include/grub/partition.h: Declare grub_apple_partition_map_init and
27656 grub_apple_partition_map_fini.
27657
27658 * util/biosdisk.c
27659 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
27660 to access >2 TiB disks).
27661
27662 Print disk->total_sectors with %llu instead of %lu, since this
27663 variable is always 64-bit (prevents wrong disk size from being displayed
27664 on either >2 TiB disk or big-endian CPU).
27665
27666 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
27667 into a generic case that supports all (sane) partition maps.
27668
27669 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
27670 breaks big-endian.
27671
27672 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
27673 and grub_apple_partition_map_fini() after that.
27674
0f23eb74 276752007-06-01 Robert Millan <rmh@aybabtu.com>
27676
27677 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
27678
27679 * util/grub.d/00_header.in: Only enable gfxterm when
27680 convert_system_path_to_grub_path() succeeds.
27681
42c71976 276822007-05-20 Robert Millan <rmh@aybabtu.com>
27683
27684 * util/update-grub_lib.in: New file.
27685 * DISTLIST: Add update-grub_lib.in.
27686 * conf/common.rmk: Generate update-grub_lib and install it in
27687 $(lib_DATA).
27688 * Makefile.in: Add install routine for $(lib_DATA).
27689
27690 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
27691 function provided by update-grub_lib to support arbitrary paths of
27692 unifont.pff.
27693 * util/update-grub.in: Use convert_system_path_to_grub_path() to
27694 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
27695
5beb2291 276962007-05-19 Robert Millan <rmh@aybabtu.com>
27697
27698 * commands/i386/cpuid.c: New module.
27699 * DISTLIST: Add it.
27700 * conf/i386-efi.rmk: Enable cpuid.mod.
27701 * conf/i386-pc.rmk: Likewise.
27702
7262eca1 277032007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27704
27705 * kern/disk.c (grub_disk_read): Check return value of
27706 grub_realloc().
27707
260ba823 277082007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
27709
27710 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
27711 arrays.
27712 * disk/raid.c (grub_raid_open): Likewise.
27713
1ecb6cf2 277142007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27715
27716 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
27717 stack instead of on the heap.
27718
27719 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
27720 before doing a read on it.
27721
27722 * configure.ac: Only use -fno-stack-protector for the target
27723 environment.
f19dbdb7 27724
21c8cbb1 277252007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
27726
27727 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
27728 __attribute_ ((unused)) to mode_type argument.
27729
27730 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 27731
21c8cbb1 27732 * kern/misc.c (memcmp): Fix prototype.
27733
27734 * include/grub/partition.h [GRUB_UTIL]
27735 (grub_gpt_partition_map_init): Add prototype.
27736 (grub_gpt_partition_map_fini): Likewise.
27737
27738 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
27739 at the right place.
27740
27741 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
27742 (grub_fat_read_data): Likewise.
27743 (grub_fat_find_dir): Likewise.
27744
27745 * font/manager.c (find_glyph): Make table a const.
27746 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 27747
849d55d3 277482007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
27749
27750 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
27751 code, first search for device in /dev/mapper, then in /dev.
27752 (grub_util_get_grub_dev): New function.
27753 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
27754 prototype.
27755 * util/grub-probe.c (probe): Remove check for RAID, call
27756 grub_util_get_grub_dev() instead of
27757 grub_util_biosdisk_get_grub_dev().
27758 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
27759 grub_util_biosdisk_get_grub_dev().
27760 * util/i386/pc/grub-setup.c (main): Likewise.
27761
8fff7c2f 277622007-05-16 Robert Millan <rmh@aybabtu.com>
27763
27764 * DISTLIST: Update for the latest changes.
27765 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
27766 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
27767 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
27768 grub/util/biosdisk.h.
27769 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
27770 grub/util/biosdisk.h.
27771
48e12b52 277722007-05-16 Robert Millan <rmh@aybabtu.com>
27773
27774 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
27775
46b9d128 277762007-05-16 Robert Millan <rmh@aybabtu.com>
27777
27778 * util/i386/efi/grub-install.in: New.
27779 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
27780 newly added grub-install.
27781 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
27782 include.
27783 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
27784 grub/util/biosdisk.h.
27785 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
27786 grub/util/biosdisk.h.
27787
2d1a40a9 277882007-05-16 Robert Millan <rmh@aybabtu.com>
27789
27790 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
27791 * include/grub/util/biosdisk.h: ... here.
27792 * util/i386/pc/biosdisk.c: Moved to ...
27793 * util/biosdisk.c: ... here.
27794 * util/i386/pc/getroot.c: Moved to ...
27795 * util/getroot.c: ... here.
27796 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
27797 * util/grub-mkdevicemap.c: ... here.
27798 * util/i386/pc/grub-probe.c: Moved to ...
27799 * util/grub-probe.c: ... here.
27800
9e26e3bc 278012007-05-15 Robert Millan <rmh@aybabtu.com>
27802
27803 * util/update-grub.in: Remove duplicated line in grub.cfg header
27804 message.
27805
57f96397 278062007-05-13 Robert Millan <rmh@aybabtu.com>
27807
27808 * util/update-grub.in: Fix a few assumptions about the devices holding
27809 /, /boot and /boot/grub being the same.
27810 * util/grub.d/00_header.in: Likewise.
27811 * util/grub.d/10_hurd.in: Likewise.
27812 * util/grub.d/10_linux.in: Likewise.
27813
27814 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
27815 patterns. Use that to define the `.old' suffix as older than `'.
27816
27817 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
27818
27819 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
27820 the grub.cfg header message.
27821
2e610d62 278222007-05-11 Robert Millan <rmh@aybabtu.com>
27823
27824 * util/update-grub.in: Create device.map if it doesn't already exist,
27825 before attempting to run grub-probe.
27826 Check for grub-probe and grub-mkdevicemap with the same code
27827 grub-install is using.
27828 Remove test mode.
27829
3f6a10ef 278302007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
27831
27832 * Makefile.in: Add the datarootdir autoconf variable.
27833
02e7b75e 278342007-05-09 Robert Millan <rmh@aybabtu.com>
27835
27836 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 27837 fail gracefully if dev->disk->partition == NULL.
02e7b75e 27838
75f396cc 278392007-05-07 Robert Millan <rmh@aybabtu.com>
27840
27841 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
27842 determine partition map module.
27843 * util/i386/pc/grub-install.in: Use this feature to decide which
27844 partition module to load, instead of hardcoding pc and gpt.
27845
da65cb36 278462007-05-07 Robert Millan <rmh@aybabtu.com>
27847
27848 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
27849 source directory differs from build directory.
27850
b57d6a91 278512007-05-05 Robert Millan <rmh@aybabtu.com>
27852
27853 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
27854 initialisation.
27855
509d00f1 278562007-05-05 Robert Millan <rmh@aybabtu.com>
27857
27858 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
27859
c48f23ef 278602007-05-05 Robert Millan <rmh@aybabtu.com>
27861
27862 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
27863 command-line arguments via ${GRUB_CMDLINE_LINUX}.
27864
20b97658 278652007-05-05 Robert Millan <rmh@aybabtu.com>
27866
27867 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
27868 (grub_probe_SOURCES): Likewise.
27869 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
27870 GPT and initialize dos_part and bsd_part accordingly.
27871 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
27872 install_bsd_part.
27873 (main): Activate gpt module for use during partition identification,
27874 and deactivate it afterwards.
27875 * util/i386/pc/grub-install.in: Add gpt module to core.img.
27876 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
27877 partition identification, and deactivate it afterwards.
27878
99123174 278792007-05-05 Robert Millan <rmh@aybabtu.com>
27880
27881 * term/i386/pc/console.c (grub_console_fini): Call
27882 grub_term_set_current() before grub_term_unregister().
27883
ebd97f6e 278842007-05-04 Robert Millan <rmh@aybabtu.com>
27885
27886 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
27887 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
27888 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
27889 and update-grub_DATA.
27890 * conf/common.rmk: Build and install update-grub components.
27891 * conf/common.mk: Regenerate.
27892 * util/update-grub.in: New. Core of update-grub.
27893 * util/grub.d/00_header.in: New. Generates grub.cfg header.
27894 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
27895 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
27896 * util/grub.d/README: New. Document grub.d directory layout.
27897
b06a264d 278982007-05-01 Robert Millan <rmh@aybabtu.com>
27899
27900 * util/grub-emu.c: Move initialization functions
27901 grub_util_biosdisk_init() and grub_init_all() before
27902 grub_util_biosdisk_get_grub_dev(), which relies on them.
27903
41f0050e 279042007-04-19 Robert Millan <rmh@aybabtu.com>
27905
27906 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
27907 it is used later.
27908
04582bb3 279092007-04-18 Jerone Young <jerone@gmail.com>
27910
f19dbdb7 27911 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 27912 stanza.
27913
08db4632 279142007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 27915
08db4632 27916 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
27917 continue on and look for device node with real device name.
27918
801b76be 279192007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 27920
fe6b695a 27921 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 27922 ability.
27923 * Makefile.in: Add autoconf package transformation code.
27924 * util/i386/pc/grub-install.in: Likewise.
27925 * util/powerpc/ieee1275/grub-install.in: Likewise.
27926
6795c4e1 279272007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
27928
27929 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
27930 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
27931 (EXT2_REVISION): Likewise.
27932 (EXT2_INODE_SIZE): Likewise.
27933 (struct grub_ext2_block_group): Added a missing member
27934 "used_dirs".
27935 (grub_ext2_read_inode): Divide by the inode size in a superblock
27936 instead of 128 to obtain INODES_PER_BLOCK.
27937 Use the macro EXT2_INODE_SIZE instead of directly using
27938 SBLOCK->INODE_SIZE.
27939
d70af616 279402007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
27941
27942 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
27943 superblock instead of the structure size to compute an
27944 offset. This fixes the problem that GRUB could not read a
27945 filesystem when inode size is different from 128-byte.
27946
3b801603 279472007-03-05 Marco Gerards <marco@gnu.org>
27948
27949 * normal/main.c (read_config_file): When "menu" is not set, create
27950 an initial context.
27951
4785bfe4 279522007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27953
27954 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
27955 (HEAP_LIMIT): New macro.
27956 (grub_claim_heap): Claim memory up to `heaplimit'.
27957
a0cbb023 279582007-02-21 Hollis Blanchard <hollis@penguinppc.org>
27959
27960 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
27961 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
27962 (_start): Likewise.
27963 (grub_arch_modules_addr): Return address after `_end'.
27964 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
27965 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
27966 (add_segments): Calculate `_end' from phdr size and location.
27967 (ALIGN_UP): Moved to ...
27968 * include/grub/misc.h: here.
27969 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27970 New macro.
27971 (GRUB_IEEE1275_MODULE_BASE): Removed.
27972
fd7d8eba 279732007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27974
27975 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
27976 loop boundary.
27977
9b09e6fc 279782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27979
27980 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
27981 All users updated.
27982 (grub_elf64_load_hook_t): Likewise.
27983 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
27984 debug output.
27985
3ce27299 279862007-02-20 Hollis Blanchard <hollis@penguinppc.org>
27987
27988 * kern/mm.c: Update copyright.
27989 (grub_mm_debug): Correct syntax error.
27990 (grub_mm_dump_free): New function.
27991 (grub_debug_free): Call `grub_free'.
27992 * include/grub/mm.h: Update copyright.
27993 (grub_mm_dump_free): Add declaration.
27994
077d5fee 279952007-02-12 Hollis Blanchard <hollis@penguinppc.org>
27996
27997 * include/grub/ieee1275/ieee1275.h: Update copyright.
27998 * kern/powerpc/ieee1275/init.c: Likewise.
27999 * kern/powerpc/ieee1275/openfw.c: Likewise.
28000
28001 * loader/powerpc/ieee1275/linux.c: Likewise.
28002 * include/grub/elfload.h: Likewise.
28003 * kern/elf.c: Likewise.
28004 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28005 callers.
28006 (grub_elf64_load): Likewise.
28007 (grub_elf32_load_segment): Move to a nested function.
28008 (grub_elf64_load_segment): Likewise.
28009
dc946850 280102007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28011
28012 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28013 prototype.
28014 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28015 (grub_heap_len): Likewise.
28016 (HEAP_SIZE): New macro.
28017 (grub_claim_heap): New function.
28018 (grub_machine_init): Don't claim heap directly. Call
28019 `grub_claim_heap'.
28020 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28021 (grub_available_iterate): New function.
28022
baa2a121 280232007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28024
28025 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28026 * configure.ac: Use it for testing the HOST and TARGET compilers.
28027
4fe9862e 280282006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28029
28030 * Makefile.in (enable_grub_emu): New variable.
28031 * configure.ac (--enable-grub-emu): New option.
28032 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28033 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28034 * conf/i386-pc.rmk: Likewise.
28035 * conf/powerpc-ieee1275.rmk: Likewise.
28036 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28037
a8aa5762 280382006-12-12 Marco Gerards <marco@gnu.org>
28039
28040 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28041
28042 * kern/env.c (grub_env_unset): Don't free the member `value' when
28043 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28044 pointer.
28045
28046 * normal/main.c (current_menu): Removed.
28047 (free_menu): Unset the `menu' environment variable.
28048 (grub_normal_menu_addentry): Make use of the environment variable
28049 `menu', instead of using the global `current_menu'. Allocate
28050 memory for the sourcecode of this entry.
28051 (read_config_file): New argument `nested', changed all callers.
28052 Only in the case of a new context, initialize a new menu. Set the
28053 `menu' environment variable.
28054 (grub_normal_execute): Don't set and unset the environment
28055 variable `menu' here anymore. Only free the menu when leaving the
28056 context.
28057
28058 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28059 leak.
28060
957b3a3e 280612006-12-11 Marco Gerards <marco@gnu.org>
28062
28063 * normal/menu_entry.c (run): Fix off by one bug so the last line
28064 is executed. Move the loader check to outside the loop.
28065
ef875714 280662006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28067
28068 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28069
4e739985 280702006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28071
28072 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28073 the number of sectors. Reported by Andrey Shuvikov
28074 <mr_hyro@yahoo.com>.
f19dbdb7 28075
790707f2 280762006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28077
28078 * kern/disk.c (grub_disk_read): When there is a read error, always
28079 try to read only the necessary data.
f19dbdb7 28080
790707f2 28081 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28082 disk/raid.c.
28083 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28084 prototype.
28085 [GRUB_UTIL] (grub_raid_fini): Likewise.
28086 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 28087 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 28088 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28089 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28090 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28091 and grub_raid_fini().
f19dbdb7 28092
03e58196 280932006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28094
28095 * include/grub/types.h (__unused): Rename to UNUSED.
28096 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28097 (grub_elf64_size): Likewise.
f19dbdb7 28098
ae4f23bf 280992006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28100
28101 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28102 grub_error_push and grub_error_pop in the error-handling path.
28103 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28104 length.
28105
2166cc83 281062006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28107
28108 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28109 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28111 (kernel_elf_SOURCES): Likewise.
28112 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28113 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28114 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28115 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28116 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28117 (elf_mod_SOURCES): New variable.
28118 (elf_mod_CFLAGS): Likewise.
28119 (elf_mod_LDFLAGS): Likewise.
28120 * include/grub/types.h (__unused): New macro.
28121 * include/grub/elfload.h: New file.
28122 * kern/elf.c: Likewise.
28123 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28124 (ELF32_LOADMASK): New macro.
28125 (ELF64_LOADMASK): Likewise.
28126 (vmlinux): Removed.
28127 (grub_linux_load32): New function.
28128 (grub_linux_load64): Likewise.
28129 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28130 Use grub_elf_t instead of grub_file_t.
28131
a09d5aa5 281322006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28133
28134 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28135 `catch_result' to struct set_color_args.
28136
d976fc51 281372006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28138
28139 * normal/menu.c: Include grub/script.h.
28140 * normal/menu_entry.c: Likewise.
28141 * include/grub/normal.h: Do not include grub/script.h.
28142
67507549 281432006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28144
28145 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28146
69203a99 281472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28148
28149 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28150 disk.
28151 (grub_disk_close): Print debug messages when closing a disk.
28152 (grub_disk_read): Print debug messages when disk read fails.
28153 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28154 filesystem type.
28155 * kern/partition.c: Include misc.h.
28156 (grub_partition_iterate): Print debug messages when detecting
28157 partition type.
28158
e2b8278c 281592006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28160
28161 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28162 is negative.
28163 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28164
97b2f2ff 281652006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28166
28167 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28168 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28169
6555d655 281702006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28171
28172 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28173 instead of sizeof(lv). Patch by Michael Guntsche.
28174
4d42b77f 281752006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28176
28177 * disk/lvm.c: Rename VGS to VG_LIST.
28178 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28179 (grub_lvm_open): Likewise.
28180 Thanks to Michael Guntsche for finding this bug.
28181
5d74d927 281822006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28183
28184 * configure.ac (AC_INIT): Bumped to 1.95.
28185
a1bb27e4 281862006-10-14 Robert Millan <rmh@aybabtu.com>
28187
28188 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28189 with "/dev/.static/dev/md".
28190
e0994b8b 281912006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28192
28193 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28194 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28195 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28196 DRIVE_NAME are always freed.
28197
28198 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28199 DOS_PART, as a DOS partition is counted from one instead of zero
28200 now. Reported by Robert Millan.
28201
ddd5cee9 282022006-10-14 Robert Millan <rmh@aybabtu.com>
28203
28204 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28205 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28206 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28207 string returned by grub_guess_root_device.
28208 * util/i386/pc/grub-setup.c: Likewise.
28209 * util/i386/pc/grub-probefs.c: Likewise.
28210
28211 * util/i386/pc/grub-probefs.c: Rename to ...
28212 * util/i386/pc/grub-probe.c: ... this.
28213 * DISTLIST: Remove grub-probefs, add grub-probe.
28214 * conf/i386-efi.rmk: Likewise.
28215 * conf/i386-pc.rmk: Likewise.
28216 * util/i386/pc/grub-install.in: Likewise.
28217
28218 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28219 choose which information we want to print.
28220
2b002173 282212006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28222
28223 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28224 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28225 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28226 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28227 video/readers/tga.c and video/i386/pc/vbeutil.c.
28228
282292006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28230
28231 Added support for RAID and LVM.
f19dbdb7 28232
2b002173 28233 * disk/lvm.c: New file.
28234 * disk/raid.c: Likewise.
28235 * include/grub/lvm.h: Likewise.
f19dbdb7 28236 * include/grub/raid.h: Likewise.
2b002173 28237 * include/grub/util/lvm.h: Likewise.
28238 * include/grub/util/raid.h: Likewise.
28239 * util/lvm.c: Likewise.
28240 * util/raid.c: Likewise.
28241
28242 * include/grub/disk.h (grub_disk_dev_id): Add
28243 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28244 (grub_disk_get_size): New prototype.
28245 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28246 returns a partition.
28247 (grub_disk_get_size): New function.
f19dbdb7 28248
2b002173 28249 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28250 verbatim if grub_install_dos_part is -2.
28251
28252 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28253 and LVM devices.
28254
28255 * util/i386/pc/grub-setup.c (setup): New argument
28256 MUST_EMBED. Force embedding of GRUB when the argument is
28257 true. Close FILE before returning.
28258 (main): Add support for RAID and LVM.
f19dbdb7 28259
2b002173 28260 * conf/common.rmk: Add RAID and LVM modules.
28261 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28262 util/lvm.c.
28263 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28264
28265 * kern/misc.c (grub_strstr): New function.
28266 * include/grub/misc.h (grub_strstr): New prototype.
28267
050548d0 282682006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28269
28270 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28271
da849d2d 282722006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28273
28274 * kern/misc.c (grub_strtoull): Guess the base only if not
28275 specified.
28276
97b2f2ff 282772006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 28278
28279 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28280 PowerMac support.
28281
97b2f2ff 282822006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 28283
28284 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28285
28286 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28287 Remove `flags' argument. All callers changed.
28288 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28289 (IEEE1275_IHANDLE_INVALID): New variable.
28290 (IEEE1275_CELL_INVALID): New variable.
28291 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28292 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28293 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28294 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28295 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28296 codes from Open Firmware. All callers updated.
28297 (grub_ieee1275_next_property): Directly return Open Firmware return
28298 code.
28299 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28300 Standardize error checking from `grub_ieee1275_get_property'.
28301 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28302 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28303
97b2f2ff 283042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 28305
28306 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28307 `instance_to_package_args' to `instance_to_path_args'.
28308
28309 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28310 `grub_ieee1275_chosen'.
28311
28312 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28313 `grub_ieee1275_interpret'.
28314
97b2f2ff 283152006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 28316
28317 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28318
97b2f2ff 283192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 28320
28321 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28322 (__cmpdi): Likewise.
28323
28324 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28325 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28326 `grub_ssize_t'.
28327
02bb8acc 28328 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 28329
28330 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28331 to type `grub_ssize_t'.
28332 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28333
7f9a8531 283342006-09-22 Marco Gerards <marco@gnu.org>
28335
28336 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28337 newlines.
28338
b5ef1102 283392006-09-22 Marco Gerards <marco@gnu.org>
28340
28341 * commands/echo.c: New file.
28342
28343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28344
28345 * conf/common.rmk (echo_mod_SOURCES): New variable.
28346 (echo_mod_CFLAGS): Likewise.
28347 (echo_mod_LDFLAGS): Likewise.
28348
2cff3677 283492006-09-22 Marco Gerards <marco@gnu.org>
28350
28351 * normal/main.c (get_line): Malloc memory instead of using
28352 preallocated memory. Removed the arguments `cmdline' and
28353 `max_len'. Updated all callers.
28354
6ba4688b 283552006-09-22 Marco Gerards <marco@gnu.org>
28356
28357 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28358 (normal_mod_DEPENDENCIES): Likewise.
28359
28360 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28361 (normal_mod_DEPENDENCIES): Likewise.
28362
28363 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28364
e02ac02c 283652006-09-22 Johan Rydberg <jrydberg@gnu.org>
28366
28367 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28368 programs.
28369 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28370 (normal_mod_DEPENDENCIES): Likewise.
28371 * conf/i386-pc.mk: Regenerate.
28372 * conf/i386-efi.mk: Likewise
28373 * conf/common.mk: Likewise.
28374 * conf/powerpc-ieee1275.mk: Likewise.
28375 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28376
8d252e44 283772006-09-22 Robert Millan <rmh@aybabtu.com>
28378
28379 Sync with i386 version.
28380 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28381 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28382
209bf7ac 283832006-09-21 Robert Millan <rmh@aybabtu.com>
28384
28385 Import from GRUB Legacy (lib/device.c):
28386 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28387 (init_device_map) [__linux__]: Add support for I2O devices.
28388
6b146090 283892006-09-14 Marco Gerards <marco@gnu.org>
28390
28391 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28392 `-melf_i386'.
28393
e38600a8 283942006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 28395
28396 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28397 /boot/grub/*.lst.
78fa1790 28398
2952da5d 28399 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 28400
2952da5d 28401 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28402 before adding it to device.map.
28403
01b82a64 284042006-08-15 Johan Rydberg <jrydberg@gnu.org>
28405
fe6b695a 28406 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 28407 compiles a file; using the -MD option.
28408 * conf/common.mk: Regenerate.
28409 * conf/i386-pc.mk: Likewise.
28410 * conf/i386-efi.mk: Likewise.
28411 * conf/powerpc-ieee1275.mk: Likewise.
28412 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28413
1064790d 284142006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28415
28416 Move the prototypes of grub_setjmp and grub_longjmp to
28417 cpu/setjmp.h, so that each architecture may specify different
28418 attributes.
f19dbdb7 28419
1064790d 28420 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28421 (grub_longjmp): Likewise.
28422 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28423 (grub_longjmp): Likewise.
28424 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28425 (grub_longjmp): Likewise.
28426
28427 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28428 [!GRUB_UTIL] (grub_longjmp): Removed.
28429
29dda3ed 284302006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28431
28432 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28433 "color!" method does not return any value.
28434
ad2a06ed 284352006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28436
28437 * include/grub/bitmap.h: New file.
28438
28439 * include/grub/i386/pc/vbeutil.h: Likewise.
28440
28441 * video/bitmap.c: Likewise.
28442
28443 * video/readers/tga.c: Likewise.
28444
28445 * video/i386/pc/vbeutil.c: Likewise.
28446
28447 * commands/videotest.c: Code cleanup and updated to reflect to new
28448 video API.
28449
28450 * term/gfxterm.c: Likewise.
28451
28452 * video/video.c: Likewise.
28453
28454 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28455 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28456 (bitmap_mod_SOURCES): New entry.
28457 (bitmap_mod_CFLAGS): Likewise.
28458 (bitmap_mod_LDFLAGS): Likewise.
28459 (tga_mod_SOURCES): Likewise.
28460 (tga_mod_CFLAGS): Likewise.
28461 (tga_mod_LDFLAGS): Likewise.
28462
28463 * include/grub/video.h (grub_video_blit_operators): New enum type.
28464 (grub_video_render_target): Changed as forward declaration and moved
28465 actual definition to be video driver specific.
28466 (grub_video_adapter.blit_bitmap): Added blitting operator.
28467 (grub_video_adapter.blit_render_target): Likewise.
28468 (grub_video_blit_bitmap): Likewise.
28469 (grub_video_blit_render_target): Likewise.
28470
28471 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28472 driver specific render target definition.
28473 (grub_video_vbe_map_rgba): Added driver internal helper.
28474 (grub_video_vbe_unmap_color): Updated to use
28475 grub_video_i386_vbeblit_info.
28476 (grub_video_vbe_get_video_ptr): Likewise.
28477
28478 * include/grub/i386/pc/vbeblit.h
28479 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28480 grub_video_i386_vbeblit_info.
28481 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28482 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28483 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28484 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28485 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28486 (grub_video_i386_vbeblit_index_index): Likewise.
28487 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28488 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28489 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28490 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28491 operator.
28492 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28493 operator.
28494
28495 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28496 include/grub/i386/pc/vbeblit.h.
28497
28498 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28499 Updated to use grub_video_i386_vbeblit_info.
28500 (grub_video_i386_vbefill_R8G8B8): Likewise.
28501 (grub_video_i386_vbefill_index): Likewise.
28502 (grub_video_i386_vbefill): Added generic filler.
28503
28504 * video/i386/pc/vbefill.c: Updated to reflect changes on
28505 include/grub/i386/pc/vbefill.h.
28506
28507 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28508 grub_video_i386_vbeblit_info.
28509 (grub_video_vbe_unmap_color): Likewise.
28510 (grub_video_vbe_blit_glyph): Likewise.
28511 (grub_video_vbe_scroll): Likewise.
28512 (grub_video_vbe_draw_pixel): Removed function.
28513 (grub_video_vbe_get_pixel): Likewise.
28514 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28515 updated code to use it.
28516 (common_blitter): Added common blitter for render target and bitmap.
28517 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28518 (grub_video_vbe_blit_render_target): Likewise.
28519
bc8c036d 285202006-07-30 Johan Rydberg <jrydberg@gnu.org>
28521
28522 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28523 is in text mode if there is no console control protocol instance
28524 available.
28525
684a8eff 285262006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28527
28528 * include/grub/video.h: Code cleanup.
28529
28530 * include/grub/i386/pc/vbe.h: Likewise.
28531
28532 * video/i386/pc/vbe.c: Likewise.
28533
28534 * video/i386/pc/vbeblit.c: Likewise.
28535
28536 * video/i386/pc/vbefill.c: Likewise.
28537
28538 * video/video.c: Likewise. Also added more comments.
28539
5915059b 285402006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28541
28542 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28543 (struct grub_biosdisk_dap): Likewise.
28544
28545 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28546 linkage settings for all functions.
28547
90ce5d56 285482006-07-12 Marco Gerards <marco@gnu.org>
28549
28550 * configure.ac (--enable-mm-debug): Fix typo.
28551
28552 * genkernsyms.sh.in: Use proper quoting for `CC'.
28553
43e7f879 285542006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
28555
28556 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
28557 (normal_mod_ASFLAGS): Remove "-m32".
28558
4889bdec 285592006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
28560
28561 * util/misc.c: Include config.h.
28562 [!HAVE_MEMALIGN]: Do not include malloc.h.
28563 (grub_memalign): Use posix_memalign, if present. Then, use
28564 memalign, if present. Otherwise, emit an error.
28565
28566 * util/grub-emu.c: Do not include malloc.h.
28567
28568 * include/grub/util/misc.h: Include unistd.h. This is required for
28569 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
28570 D. Eades III <hde@foobar-qux.org>.
28571
28572 * configure.ac (AC_GNU_SOURCE): Added.
28573 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
28574 type.
28575
fd39d4da 285762006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
28577
28578 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
28579 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
28580
b786f3b5 285812006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
28582
28583 * include/grub/types.h (grub_host_addr_t): Rename to
28584 grub_target_addr_t.
28585 (grub_host_off_t): Rename to grub_target_off_t.
28586 (grub_host_size_t): Rename to grub_target_size_t.
28587 (grub_host_ssize_t): Rename to grub_target_ssize_t.
28588 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
28589
28590 * include/grub/kernel.h (struct grub_module_header): Change type
28591 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
28592 (grub_module_info): Likewise.
f19dbdb7 28593
051988bb 285942006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28595
28596 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
28597 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
28598 Velazquez <jesus.velazquez@gmail.com>.
28599
deae281b 286002006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
28601
28602 Count partitions from 1 instead of 0 in the string representation
28603 of partitions. Still use 0-based internally.
f19dbdb7 28604
deae281b 28605 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
28606 (sun_partition_map_iterate): Use grub_partition_t instead of
28607 struct grub_partition *. Cast DESC->START_CYLINDER to
28608 grub_uint64_t after converting the endian.
28609 (sun_partition_map_probe): Subtract 1 for PARTNUM.
28610 (sun_partition_map_get_name): Add 1 to P->INDEX.
28611
28612 * partmap/pc.c (grub_partition_parse): Subtract 1 for
28613 PCDATA->DOS_PART.
28614 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
28615
28616 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
28617 zero instead of one.
28618 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
28619 (gpt_partition_map_get_name): Add 1 into P->INDEX.
28620
28621 * partmap/apple.c (apple_partition_map_iterate): Change the type
28622 of POS to unsigned.
28623 (apple_partition_map_probe): Subtract 1 for PARTNUM.
28624 (apple_partition_map_get_name): Add 1 into P->INDEX.
28625
28626 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
28627 of POS to unsigned.
28628 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
28629 calculate the offset of a partition.
28630 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
28631 (amiga_partition_map_get_name): Add 1 into P->INDEX.
28632
28633 * partmap/acorn.c (acorn_partition_map_find): Change the type of
28634 SECTOR to grub_disk_addr_t.
28635 (acorn_partition_map_iterate): Likewise.
28636 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
28637 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
28638 top.
28639 (acorn_partition_map_get_name): Add 1 into P->INDEX.
28640
28641 * kern/i386/pc/init.c (make_install_device): Add 1 into
28642 GRUB_INSTALL_DOS_PART.
28643
28644 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
28645 conditional.
28646
524a1e6a 286472006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28648
28649 Clean up the code to support 64-bit addressing in disks and
28650 files. This change is not enough for filesystems yet.
f19dbdb7 28651
524a1e6a 28652 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
28653 type of "start" to grub_uint64_t.
28654 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
28655 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
28656 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
28657 convert addresses.
28658
28659 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
28660 to grub_disk_addr_t.
28661
28662 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
28663 string.
28664
28665 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28666
28667 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
28668 to char *.
28669
28670 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
28671
28672 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
28673
28674 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
28675
28676 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
28677 to grub_off_t, to detect an error from grub_file_seek.
28678 (grub_multiboot_load_elf32): Likewise.
28679
28680 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
28681 maximum unsigned long value when an overflow is detected.
28682 (grub_strtoull): New function.
28683 (grub_divmod64): Likewise.
28684 (grub_lltoa): use grub_divmod64.
28685
28686 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
28687 grub_disk_addr_t.
28688 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
28689 the pointer to next character. Use grub_strtoull instead of
28690 grub_strtoul.
28691 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
28692 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
28693 respectively.
28694
fe6b695a 28695 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 28696 return value is signed.
28697 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
28698 test if OFFSET is less than zero, as OFFSET is unsigned now.
28699
28700 * kern/disk.c (struct grub_disk_cache): Change the type of
28701 "sector" to grub_disk_addr_t.
28702 (grub_disk_cache_get_index): Change the type of SECTOR to
28703 grub_disk_addr_t. Calculate the hash with SECTOR casted to
28704 unsigned after shifting.
28705 (grub_disk_cache_invalidate): Change the type of SECTOR to
28706 grub_disk_addr_t.
28707 (grub_disk_cache_unlock): Likewise.
28708 (grub_disk_cache_store): Likewise.
28709 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
28710 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
28711 grub_disk_addr_t and grub_uint64_t, respectively.
28712 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
28713 body, as the value of OFFSET is tweaked by
28714 grub_disk_check_range. Change the types of START_SECTOR, LEN and
28715 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
28716 respectively.
28717 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
28718 body, as the value of OFFSET is tweaked by
28719 grub_disk_check_range. Change the types of LEN and N to
28720 grub_size_t.
28721
28722 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
28723 and "saved_offset" to grub_off_t.
28724 (test_header): Cast BUF to char *.
28725 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
28726 to char *.
28727 (grub_gzio_read): Change the types of OFFSET and SIZE to
28728 grub_off_t and grub_size_t, respectively.
28729
28730 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
28731 Removed.
28732 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
28733 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
28734 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
28735 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
28736 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
28737
28738 * include/grub/types.h (grub_off_t): Unconditionally set to
28739 grub_uint64_t.
28740 (grub_disk_addr_t): Changed to grub_uint64_t.
28741
28742 * include/grub/partition.h (struct grub_partition): Change the
28743 types of "start", "len" and "offset" to grub_disk_addr_t,
28744 grub_uint64_t and grub_disk_addr_t, respectively.
28745 (grub_partition_get_start): Return grub_disk_addr_t.
28746 (grub_partition_get_len): Return grub_uint64_t.
28747
28748 * include/grub/misc.h (grub_strtoull): New prototype.
28749 (grub_divmod64): Likewise.
28750
28751 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
28752 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
28753 grub_off_t, respectively.
28754 All callers and references changed.
28755
28756 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
28757 grub_size_t in "read".
28758 All callers and references changed.
28759
28760 * include/grub/file.h (struct grub_file): Change the types of
28761 "offset" and "size" to grub_off_t and grub_off_t,
28762 respectively. Change the type of SECTOR to grub_disk_addr_t in
28763 "read_hook".
28764 (grub_file_read): Change the type of LEN to grub_size_t.
28765 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
28766 grub_off_t.
28767 (grub_file_size): Return grub_off_t.
28768 (grub_file_tell): Likewise.
28769 All callers and references changed.
28770
28771 * include/grub/disk.h (struct grub_disk_dev): Change the types of
28772 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
28773 "write".
28774 (struct grub_disk): Change the type of "total_sectors" to
28775 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 28776 "read_hook".
524a1e6a 28777 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
28778 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
28779 (grub_disk_write): Likewise.
28780 All callers and references changed.
28781
28782 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
28783 char * for grub_strncmp to silence gcc.
28784 (grub_iso9660_mount): Likewise.
28785 (grub_iso9660_mount): Likewise.
28786 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
28787 return statement.
28788 (grub_iso9660_iterate_dir): Likewise.
28789 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
28790
28791 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
28792 LEN to grub_disk_addr_t and grub_size_t, respectively.
28793
28794 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
28795
28796 * fs/jfs.c (grub_jfs_read_file): Likewise.
28797
28798 * fs/minix.c (grub_jfs_read_file): Likewise.
28799
28800 * fs/sfs.c (grub_jfs_read_file): Likewise.
28801
28802 * fs/ufs.c (grub_jfs_read_file): Likewise.
28803
28804 * fs/xfs.c (grub_jfs_read_file): Likewise.
28805
28806 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
28807 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
28808 respectively.
28809
28810 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
28811 BLKNR to -1 instead of returning GRUB_ERRNO.
28812 (grub_ext2_read_file): Change the types of SECTOR and
28813 LEN to grub_disk_addr_t and grub_size_t, respectively.
28814
28815 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
28816 LEN to grub_disk_addr_t and grub_size_t, respectively.
28817
28818 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
28819 grub_file_read.
28820
28821 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
28822 string. Do not cast SECTOR explicitly.
28823
28824 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
28825 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
28826 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
28827 grub_disk_addr_t and grub_size_t, respectively. If the sector is
28828 over 2TB and LBA mode is not supported, raise an error.
28829 (get_safe_sectors): New function.
28830 (grub_biosdisk_read): Use get_safe_sectors.
28831 (grub_biosdisk_write): Likewise.
28832
28833 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
28834 (grub_efidisk_write): Likewise.
28835
28836 * disk/loopback.c (delete_loopback): Cosmetic changes.
28837 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
28838 correctly.
28839 (grub_loopback_open): Likewise.
28840 (grub_loopback_read): Likewise. Also, change the type of POS to
28841 grub_off_t, and fix the usage of grub_memset.
28842
28843 * commands/i386/pc/play.c: Include grub/machine/time.h.
28844
28845 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
28846 print FILE->SIZE.
28847
28848 * commands/configfile.c: Include grub/env.h.
28849
28850 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
28851 GRUB_ERRNO directly instead. Change the type of POS to
28852 grub_off_t. Follow the coding standard.
28853
28854 * commands/blocklist.c: Include grub/partition.h.
28855 (grub_cmd_blocklist): Return an error if the underlying device is
28856 not a disk. Take the starting sector of a partition into account,
28857 if a partition is used.
28858
28859 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
28860 a length field.
28861 (lba_mode): Support 64-bit addresses.
28862 (chs_mode): Likewise.
28863 (copy_buffer): Adapted to the new offsets of a length field and a
28864 segment field.
28865 (blocklist_default_start): Allocate 64-bit space.
28866
28867 * boot/i386/pc/boot.S (force_lba): Removed.
28868 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 28869 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 28870 space.
28871 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
28872 is useless.
28873 (lba_mode): Refactored to support a 64-bit address. More size
28874 optimization.
28875 (setup_sectors): Likewise.
28876
53af98ad 288772006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
28878
28879 * DISTLIST: Added include/grub/i386/linux.h. Removed
28880 include/grub/i386/pc/linux.h
28881
28882 * configure.ac (AC_INIT): Bumped to 1.94.
28883
28884 * config.guess: Updated from gnulib.
28885 * config.sub: Likewise.
28886 * install-sh: Likewise.
28887 * mkinstalldirs: Likewise.
28888
b4c1940a 288892006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28890
28891 * conf/common.rmk (grub_modules_init.lst): Depended on
28892 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
28893 MODSRCFILES.
28894
28895 * genmk.rb (PModule::rule): Reverted the previous change.
28896
cfca1cfd 288972006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
28898
28899 * conf/common.rmk (grub_modules_init.lst): Depends on
28900 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
28901 that the target does not exist before producing.
28902 (grub_modules_init.h): Remove the target before generating.
28903 (grub_emu_init.c): Likewise.
28904
28905 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
28906
aa6d7826 289072006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
28908
28909 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
28910 for the target-specific tests. Make sure that we also have the
28911 up-to-date target variables for those tests.
28912
26c607b9 289132006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28914
28915 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
28916 (PModule::rule): Likewise.
28917
0162321a 289182006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
28919
28920 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
28921 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
28922 target-specific flags should be prefixed.
28923 (PModule::rule): Likewise.
28924
6c826348 289252006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
28926
28927 * configure.ac (CMP): Check if cmp is available explicitly.
28928
b977bf01 289292006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
28930
28931 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
28932 (target_cpu): New variable.
28933 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 28934
b977bf01 28935 * util/i386/pc/grub-install.in (host_cpu): Removed.
28936 (target_cpu): New variable.
28937 (pkglibdir): Use target_cpu instead of host_cpu.
28938
28939 * util/genmoddep.c: Removed.
f19dbdb7 28940
b977bf01 28941 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
28942 instead of GRUB_HOST_SIZEOF_VOID_P.
28943 * kern/dl.c: Likewise.
28944
28945 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
28946 ...
28947 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28948 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28949 (GRUB_TARGET_SIZEOF_LONG): ... this.
28950 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28951 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28952 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28953 to ...
28954 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28955 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28956 (GRUB_TARGET_SIZEOF_LONG): ... this.
28957 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28958 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28959 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
28960 to ...
28961 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
28962 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
28963 (GRUB_TARGET_SIZEOF_LONG): ... this.
28964 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
28965 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
28966
28967 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
28968 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
28969 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
28970 instead of GRUB_HOST_SIZEOF_LONG.
28971 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
28972 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
28973 GRUB_CPU_WORDS_BIGENDIAN.
28974 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
28975 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
28976 grub_host_ssize_t.
28977
28978 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
28979 (genmoddep_SOURCES): Likewise.
28980 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
28981 (genmoddep_SOURCES): Likewise.
28982 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
28983 (genmoddep_SOURCES): Likewise.
28984 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
28985 Likewise.
28986 (genmoddep_SOURCES): Likewise.
28987
28988 * genmoddep.awk: New file.
28989
28990 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
28991 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
28992 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
28993 (PModule::rule): Likewise.
28994 (Program::rule): Likewise.
28995 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
28996 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
28997 respectively.
28998
28999 * configure.ac: Rewritten intensively to use host and target
29000 instead of build and host, respectively.
29001
29002 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29003 (host_cpu): Removed.
29004 (target_cpu): New variable.
29005 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29006 (BUILD_CC): Removed.
29007 (BUILD_CFLAGS): Likewise.
29008 (BUILD_CPPFLAGS): Likewise.
29009 (TARGET_CC): New variable.
29010 (TARGET_CFLAGS): Likewise.
29011 (TARGET_CPPFLAGS): Likewise.
29012 (TARGET_LDFLAGS): Likewise.
29013 (AWK): Likewise.
29014 (include): Use target_cpu instead of host_cpu.
29015 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 29016
b977bf01 29017 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29018
f09771a1 290192006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29020
29021 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29022 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29023 field 'false' to 'exec_on_false'.
29024 (grub_script_create_cmdif): Renamed argument names to reflect above
29025 changes.
29026
29027 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29028
29029 * normal/script.c (grub_script_create_cmdif): Likewise.
29030
118f4fb3 290312006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29032
29033 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29034 top.
29035 (grub_hfsplus_btree_recptr): Likewise.
29036 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29037 FILEBLOCK both to pass a block number and store next block
29038 number.
29039 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29040 overflow file correctly. Specify errors appropriately, because
29041 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29042 grub_hfsplus_btree_recptr to get the pointer to a found key.
29043 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29044 is found.
29045
29046 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29047 linux.mod.
29048 (_linux_mod_SOURCES): New variable.
29049 (_linux_mod_CFLAGS): Likewise.
29050 (_linux_mod_LDFLAGS): Likewise.
29051 (linux_mod_SOURCES): Likewise.
29052 (linux_mod_CFLAGS): Likewise.
29053 (linux_mod_LDFLAGS): Likewise.
29054
29055 * DISTLIST: Added loader/i386/efi/linux.c,
29056 loader/i386/efi/linux_normal.c and
29057 include/grub/i386/efi/loader.h.
29058
29059 * loader/i386/efi/linux.c: New file.
29060 * loader/i386/efi/linux_normal.c: Likewise.
29061 * include/grub/i386/efi/loader.h: Likewise.
29062
89a7d726 290632006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29064
29065 * commands/blocklist.c: New file.
29066
29067 * DISTLIST: Added commands/blocklist.c.
29068
29069 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 29070 color for the background, and a darker color for the foreground.
89a7d726 29071 (grub_console_checkkey): Return READ_KEY.
29072 (grub_console_cls): Set the background to
29073 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29074
29075 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29076
29077 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29078 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29079
29080 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29081 prototype.
29082
29083 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29084 BG. The spec is wrong again.
29085
29086 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29087 prototype.
29088 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29089
29090 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29091 commands/blocklist.c.
29092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 29093
89a7d726 29094 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29095 (blocklist_mod_SOURCES): New variable.
29096 (blocklist_mod_CFLAGS): Likewise.
29097 (blocklist_mod_LDFLAGS): Likewise.
29098
75c8f258 290992006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29100
29101 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29102 duplication.
29103 (lba_mode): Use %eax more intensively to reduce the code size.
29104
da2eb181 291052006-05-20 Marco Gerards <marco@gnu.org>
29106
29107 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29108
29109 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29110 for `menuentry'.
29111 (script): Accept leading newlines.
29112 (newlines): New rule to describe 0 or more newlines.
29113 (commands): Accept `command' with trailing newline. Fixed the
29114 order in which arguments were passed to `grub_script_add_cmd'.
29115 Accept commands separated by newlines.
29116 (function): Changed to accept newlines.
29117 (menuentry) Rewritten.
29118
29119 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29120 front of the list, instead of to the end.
29121
577b4050 291222006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29123
29124 * util/i386/pc/grub-install.in (bindir): New variable.
29125 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29126 Shaver <lbgwjl@gmail.com>.
29127
0d6e1189 291282006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29129
29130 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29131 grub/machine/linux.h
29132 * loader/i386/pc/linux.c: Likewise.
29133
29134 * include/grub/i386/pc/linux.h: Moved to ...
29135 * include/grub/i386/linux.h: ... here.
29136
29137 * include/grub/i386/linux.h (struct linux_kernel_params): New
29138 struct.
f19dbdb7 29139
31b86e9f 291402006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29141
29142 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29143 checking.
29144 (grub_video_vbe_blit_glyph): Likewise.
29145 (grub_video_vbe_blit_bitmap): Likewise.
29146 (grub_video_vbe_blit_render_target): Likewise.
29147
83b984de 291482006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29149
29150 * configure.ac (--with-platform): Properly quote the square
29151 brackets.
29152
5f0413bd 291532006-05-08 Marco Gerards <marco@gnu.org>
29154
29155 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29156 this...
29157 (kernel_elf_HEADERS): ...to this. Updated all users.
29158 (grubof_symlist.c): Renamed from this...
29159 (kernel_elf_symlist.c): ...to this. Updated all users.
29160 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29161 (grubof_SOURCES): Renamed from this...
29162 (kernel_elf_SOURCES): ...to this.
29163 (grubof_HEADERS): Renamed from this...
29164 (kernel_elf_HEADERS): ...to this.
29165 (grubof_CFLAGS): Renamed from this...
29166 (kernel_elf_CFLAGS): ...to this.
29167 (grubof_ASFLAGS): Renamed from this...
29168 (kernel_elf_ASFLAGS): ...to this.
29169 (grubof_LDFLAGS): Renamed from this...
29170 (kernel_elf_LDFLAGS): ...to this.
29171
29172 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29173 this...
29174 (kernel_elf_HEADERS): ...to this. Updated all users.
29175 (grubof_symlist.c): Renamed from this...
29176 (kernel_elf_symlist.c): ...to this. Updated all users.
29177 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29178 (grubof_SOURCES): Renamed from this...
29179 (kernel_elf_SOURCES): ...to this.
29180 (grubof_HEADERS): Renamed from this...
29181 (kernel_elf_HEADERS): ...to this.
29182 (grubof_CFLAGS): Renamed from this...
29183 (kernel_elf_CFLAGS): ...to this.
29184 (grubof_ASFLAGS): Renamed from this...
29185 (kernel_elf_ASFLAGS): ...to this.
29186 (grubof_LDFLAGS): Renamed from this...
29187 (kernel_elf_LDFLAGS): ...to this.
29188
29189 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29190 `kernel.elf' instead of `grubof'.
29191
05568c2e 291922006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29193
29194 Add --with-platform to configure. Use pkglibdir instead of
29195 pkgdatadir. This is reported by Roger Leigh.
29196
29197 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29198 (host_vendor): Likewise.
29199 (host_os): Likewise.
29200 (pkgdatadir): Likewise.
29201 (platform): New variable.
29202 (pkglibdir): Likewise.
29203 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 29204
05568c2e 29205 * util/i386/pc/grub-install.in (datadir): Removed.
29206 (host_vendor): Likewise.
29207 (host_os): Likewise.
29208 (pkgdatadir): Likewise.
29209 (platform): New variable.
29210 (pkglibdir): Likewise.
29211 Use PKGLIBDIR instead of PKGDATADIR.
29212
29213 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29214 instead of GRUB_DATADIR.
29215 (main): Likewise.
29216 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29217 (main): Likewise.
29218 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29219 (main): Likewise.
29220
29221 * configure.ac (--with-platform): New option.
29222 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29223
29224 * Makefile.in: Include a makefile based on PLATFORM instead of
29225 HOST_VENDOR.
29226 (pkgdatadir): Not appended by the machine type.
29227 (pkglibdir): Appended by the machine type.
29228 (host_vendor): Removed.
29229 (platform): New variable.
29230 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29231 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29232 (uninstall): Likewise.
29233
4e93851c 292342006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29235
29236 Use the environment context in the menu. Remove the commands
29237 "default" and "timeout", and use variables instead.
f19dbdb7 29238
4e93851c 29239 * normal/menu.c: Include grub/env.h.
29240 (print_entry): Cast TITLE to silence gcc.
29241 (get_timeout): New function.
29242 (set_timeout): Likewise.
29243 (get_entry_number): Likewise.
29244 (run_menu): Use a default entry, a fallback entry and a timeout
29245 in the environment variables "default", "fallback" and
29246 "timeout". Also, tweak the default entry if it is not within the
29247 current menu entries.
29248 (grub_menu_run): Use a fallback entry in the environment variable
29249 "fallback".
29250
29251 * normal/main.c (read_config_file): Do not initialize
29252 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29253 NEWMENU->TIMEOUT.
29254 (grub_normal_execute): Use a data slot to store the menu.
29255
29256 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29257 fallback_entry and timeout.
29258 (struct grub_menu_list): Removed.
29259 (grub_menu_list_t): Likewise.
29260 (struct grub_context): Likewise.
29261 (grub_context_t): Likewise.
29262 (grub_context_get): Likewise.
29263 (grub_context_get_current_menu): Likewise.
29264 (grub_context_push_menu): Likewise.
29265 (grub_context_pop_menu): Likewise.
29266 (grub_default_init): Likewise.
29267 (grub_default_fini): Likewise.
29268 (grub_timeout_init): Likewise.
29269 (grub_timeout_fini): Likewise.
29270
29271 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29272 and timeout.mod.
29273 (normal_mod_SOURCES): Removed normal/context.c.
29274
29275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29276 commands/default.c, commands/timeout.c and normal/context.c.
29277 (normal_mod_SOURCES): Removed normal/context.c.
29278
29279 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29280 commands/timeout.c and normal/context.c.
29281 (normal_mod_SOURCES): Removed normal/context.c.
29282
29283 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29284 commands/default.c, commands/timeout.c and normal/context.c.
29285 (normal_mod_SOURCES): Removed normal/context.c.
29286
29287 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29288 timeout.mod.
29289 (default_mod_SOURCES): Removed.
29290 (default_mod_CFLAGS): Likewise.
29291 (default_mod_LDFLAGS): Likewise.
29292 (timeout_mod_SOURCES): Removed.
29293 (timeout_mod_CFLAGS): Likewise.
29294 (timeout_mod_LDFLAGS): Likewise.
29295
29296 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29297 normal/context.c.
29298
29299 * commands/default.c: Removed.
29300 * commands/timeout.c: Likewise.
29301 * normal/context.c: Likewise.
29302
1eb9cc1d 293032006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29304
29305 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29306
385bd9c1 293072006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29308
29309 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29310 "next" to "prev" for readability.
29311 (struct grub_env_sorted_var): New struct.
29312 (grub_env_context): Renamed to ...
29313 (initial_context): ... this.
29314 (grub_env_var_context): Renamed to ...
29315 (current_context): ... this.
29316 (grub_env_find): Look only at CURRENT_CONTEXT.
29317 (grub_env_context_open): Rewritten to copy exported variables from
29318 previous context.
29319 (grub_env_context_close): Rewritten according to the new
29320 scheme. Also, add an assertion to prevent the initial context from
29321 removed.
29322 (grub_env_insert): Removed the code for the sorted list.
29323 (grub_env_remove): Likewise.
29324 (grub_env_export): Simply mark the variable with
29325 GRUB_ENV_VAR_GLOBAL.
29326 (grub_env_set): A cosmetic change for naming consistency.
29327 (grub_env_get): Likewise.
29328 (grub_env_unset): Likewise.
29329 (grub_env_iterate): Rewritten to sort variables within this
29330 function.
29331 (grub_register_variable_hook): Fixed for naming consistency. Call
29332 grub_env_find again, only if NAME is not found at the first time.
29333 (mangle_data_slot_name): New function.
29334 (grub_env_set_data_slot): Likewise.
29335 (grub_env_get_data_slot): Likewise.
29336 (grub_env_unset_data_slot): Likewise.
29337
29338 * include/grub/env.h (grub_env_var_type): New enum.
29339 (GRUB_ENV_VAR_LOCAL): New constant.
29340 (GRUB_ENV_VAR_GLOBAL): Likewise.
29341 (GRUB_ENV_VAR_DATA): Likewise.
29342 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29343 "type".
29344 (grub_env_set): Replace VAR with NAME for consistency.
29345 (grub_register_variable_hook): Likewise.
29346 (grub_env_export): Specify the name of the argument.
29347 (grub_env_set_data_slot): New prototype.
29348 (grub_env_get_data_slot): Likewise.
29349 (grub_env_unset_data_slot): Likewise.
29350
7f362539 293512006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29352
29353 Extend the loader so that GRUB can accept a loader which comes
29354 back to GRUB when a loaded image exits. Also, this change adds
29355 support for a chainloader on EFI.
f19dbdb7 29356
7f362539 29357 * term/efi/console.c: Include grub/misc.h.
29358 (grub_console_checkkey): Display a scan code on the top for
29359 debugging. This will be removed once the EFI port gets stable.
29360 Correct the scan code mapping.
29361
29362 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29363 allocate memory from larger regions, in order to reduce the number
29364 of allocated regions. Otherwise, the MacOSX loader panics.
29365 (filter_memory_map): Avoid less than 1MB for compatibility with
29366 other loaders.
29367 (add_memory_regions): Allocate from the tail of a region, if
29368 possible, to avoid allocating a region near to 1MB, for the MacOSX
29369 loader.
29370
29371 * kern/efi/init.c (grub_efi_set_prefix): Specify
29372 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29373
29374 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29375 argument IMAGE_HANDLE and specify it to get a loaded image.
29376 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29377 grub_efi_get_loaded_image.
fe6b695a 29378 (grub_efi_get_filename): Divide the length by the size of
7f362539 29379 grub_efi_char16_t.
29380 (grub_efi_get_device_path): New function.
29381 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29382 the length by the size of grub_efi_char16_t for a file path device
29383 path node.
29384
29385 * kern/loader.c (grub_loader_noreturn): New variable.
29386 (grub_loader_set): Accept a new argument NORETURN. Set
29387 GRUB_LOADER_NORETURN to NORETURN.
29388 All callers changed.
29389 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29390 grub_machine_fini.
29391
29392 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29393 prototype.
29394 (grub_efi_get_loaded_image): Take an argument to specify an image
29395 handle.
29396
29397 * include/grub/loader.h (grub_loader_set): Added one more argument
29398 NORETURN.
29399
29400 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29401 instead of grub_efi_open_protocol.
29402 (grub_efidisk_get_device_name): Likewise.
29403 (grub_efidisk_close): Print a newline.
29404 (grub_efidisk_get_device_handle): Fixed to use
29405 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29406 GRUB_EFI_DEVICE_PATH_TYPE.
29407
29408 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29409 * kern/efi/efi.c (device_path_guid): ... here.
29410
29411 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29412 chain.mod.
29413 (kernel_mod_HEADERS): Added efi/disk.h.
29414 (_chain_mod_SOURCES): New variable.
29415 (_chain_mod_CFLAGS): Likewise.
29416 (_chain_mod_LDFLAGS): Likewise.
29417 (chain_mod_SOURCES): Likewise.
29418 (chain_mod_CFLAGS): Likewise.
29419 (chain_mod_LDFLAGS): Likewise.
29420
29421 * DISTLIST: Added include/grub/efi/chainloader.h,
29422 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29423
29424 * include/grub/efi/chainloader.h: New file.
29425 * loader/efi/chainloader.c: Likewise.
29426 * loader/efi/chainloader_normal.c: Likewise.
29427
c0111d6e 294282006-04-30 Marco Gerards <marco@gnu.org>
29429
29430 * commands/configfile.c (grub_cmd_source): New function.
29431 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29432 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29433
df5341da 294342006-04-30 Marco Gerards <marco@gnu.org>
29435
29436 * normal/execute.c (grub_script_execute_cmd): Change the return
29437 type to `grub_err_t'. Correctly return the error.
29438 (grub_script_execute_cmdline): In case a command line is not a
29439 command or a function, try to interpret it as an assignment.
29440
f85934bd 294412006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29442
29443 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29444 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29445 skip a node whose name is obviously invalid as UTF-16,
29446 i.e. contains a NUL character. Stop the iteration when the last
29447 directory entry is found. Instead of using the return value of
29448 grub_hfsplus_btree_iterate_node, store the value in RET and use
29449 it, because the iterator can be stopped by the last directory
29450 entry.
29451
8f8a2cf8 294522006-04-30 Marco Gerards <marco@gnu.org>
29453
29454 * include/grub/env.h (grub_env_export): New prototype. Reported
29455 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29456
a27e84ce 294572006-04-30 Marco Gerards <marco@gnu.org>
29458
29459 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29460 size of the extents in a catalog file record.
29461
eaef0553 294622006-04-29 Marco Gerards <marco@gnu.org>
29463
29464 * commands/configfile.c (grub_cmd_configfile): Execute the
29465 configfile within its own context.
29466
29467 * include/grub/env.h (grub_env_context_open): New prototype.
29468 (grub_env_context_close): Likewise.
29469
29470 * kern/env.c (grub_env): Removed.
29471 (grub_env_sorted): Likewise.
29472 (grub_env_context): New variable.
29473 (grub_env_var_context): Likewise.
29474 (grub_env_find): Search both the active context and the global
29475 context.
29476 (grub_env_context_open): New function.
29477 (grub_env_context_close): Likewise.
29478 (grub_env_insert): Likewise.
29479 (grub_env_remove): Likewise.
29480 (grub_env_export): Likewise.
29481 (grub_env_set): Changed to use helper functions to avoid code
29482 duplication.
29483 (grub_env_iterate): Rewritten so both the current context and the
29484 global context are being used.
29485
29486 * normal/command.c (export_command): New function.
29487 (grub_command_init): Register the `export' function.
29488
7b455f4d 294892006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29490
29491 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29492 explicitly to suppress gcc's warnings.
29493 * fs/fat.c (grub_fat_find_dir): Likewise.
29494 (grub_fat_label): Likewise.
29495 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29496 (grub_xfs_mount): Likewise.
29497 (grub_xfs_label): Likewise.
29498 * fs/affs.c (grub_affs_mount): Likewise.
29499 (grub_affs_label): Likewise.
29500 (grub_affs_iterate_dir): Likewise.
29501 * fs/sfs.c (grub_sfs_mount): Likewise.
29502 (grub_sfs_iterate_dir): Likewise.
29503 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29504 * fs/hfs.c (grub_hfs_mount): Likewise.
29505 (grub_hfs_cmp_catkeys): Likewise.
29506 (grub_hfs_find_dir): Likewise.
29507 (grub_hfs_dir): Likewise.
29508 (grub_hfs_label): Likewise.
29509 * fs/jfs.c (grub_jfs_mount): Likewise.
29510 (grub_jfs_opendir): Likewise.
29511 (grub_jfs_getent): Likewise.
29512 (grub_jfs_lookup_symlink): Likewise.
29513 (grub_jfs_label): Likewise.
29514 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29515 (grub_hfsplus_iterate_dir): Likewise.
29516 (grub_hfsplus_btree_iterate_node): Made static.
29517
29518 * util/grub-emu.c (prefix): New variable.
29519 (grub_machine_set_prefix): New function.
29520 (main): Do not set the environment variable "prefix" here. Only
29521 set PREFIX, which is used later by grub_machine_set_prefix.
29522
29523 * include/grub/video.h: Do not include grub/symbol.h.
29524 (grub_video_register): Not exported. This symbol is not defined in
29525 the kernel.
29526 (grub_video_unregister): Likewise.
29527 (grub_video_iterate): Likewise.
29528 (grub_video_setup): Likewise.
29529 (grub_video_restore): Likewise.
29530 (grub_video_get_info): Likewise.
29531 (grub_video_get_blit_format): Likewise.
29532 (grub_video_set_palette): Likewise.
29533 (grub_video_get_palette): Likewise.
29534 (grub_video_set_viewport): Likewise.
29535 (grub_video_get_viewport): Likewise.
29536 (grub_video_map_color): Likewise.
29537 (grub_video_map_rgb): Likewise.
29538 (grub_video_map_rgba): Likewise.
29539 (grub_video_fill_rect): Likewise.
29540 (grub_video_blit_glyph): Likewise.
29541 (grub_video_blit_bitmap): Likewise.
29542 (grub_video_blit_render_target): Likewise.
29543 (grub_video_scroll): Likewise.
29544 (grub_video_swap_buffers): Likewise.
29545 (grub_video_create_render_target): Likewise.
29546 (grub_video_delete_render_target): Likewise.
29547 (grub_video_set_active_render_target): Likewise.
29548
29549 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
29550 Undefined.
29551 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
29552
29553 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
29554 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29555 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29556 instead of $(srcdir)/genkernsyms.sh.
29557
29558 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
29559 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29560 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29561 instead of $(srcdir)/genkernsyms.sh.
29562
29563 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
29564 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29565 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29566 instead of $(srcdir)/genkernsyms.sh.
29567
29568 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
29569 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
29570 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
29571 instead of $(srcdir)/genkernsyms.sh.
29572
29573 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
29574 genkernsyms.sh.
29575
29576 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
29577 genkernsyms.sh.
29578 (gensymlist.sh): New target.
29579 (genkernsyms.sh): Likewise.
29580
29581 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
29582 genkernsyms.sh.in and gensymlist.sh.in.
29583
29584 * genkernsyms.sh: Removed.
29585 * gensymlist.sh: Likewise.
f19dbdb7 29586
7b455f4d 29587 * genkernsyms.sh.in: New file.
29588 * gensymlist.sh.in: Likewise.
29589
1885bb27 295902006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29591
29592 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
29593 clobber "prefix", since we may have already set it manually.
29594
71538dff 295952006-04-25 Hollis Blanchard <hollis@penguinppc.org>
29596
29597 * kern/misc.c (abort): New alias for grub_abort.
29598
2965c7cc 295992006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
29600
29601 A new machine-specific function "grub_machine_set_prefix" is
29602 defined. This is called after loading modules, so that a prefix
29603 initialization can use modules. Also, this change adds an
29604 intensive debugging feature for the memory manager via the
29605 configure option "--enable-mm-debug".
f19dbdb7 29606
2965c7cc 29607 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
29608 PART.LEN.
29609
29610 * kern/sparc64/ieee1275/init.c (abort): Removed.
29611 (grub_stop): Likewise.
29612 (grub_exit): New function.
29613 (grub_set_prefix): Renamed to ...
29614 (grub_machine_set_prefix): ... this.
29615 (grub_machine_init): Do not call grub_set_prefix.
29616
29617 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
29618 (grub_machine_set_prefix): ... this.
29619 (grub_machine_init): Do not call grub_set_prefix.
29620
29621 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
29622 (grub_machine_init): Do not set the prefix here.
29623
29624 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
29625
29626 * kern/efi/init.c: Include grub/mm.h.
29627 (grub_efi_set_prefix): New function.
29628
29629 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
29630 (grub_efi_get_filename): New function.
29631 (grub_print_device_path): Renamed to ...
29632 (grub_efi_print_device_path): ... this.
29633
29634 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
29635 [MM_DEBUG] (grub_realloc): Likewise.
29636 [MM_DEBUG] (grub_free): Likewise.
29637 [MM_DEBUG] (grub_memalign): Likewise.
29638 [MM_DEBUG] (grub_mm_debug): New variable.
29639 [MM_DEBUG] (grub_debug_malloc): New function.
29640 [MM_DEBUG] (grub_debug_free): New function.
29641 [MM_DEBUG] (grub_debug_realloc): New function.
29642 [MM_DEBUG] (grub_debug_memalign): New function.
29643
29644 * kern/misc.c (grub_abort): Print a newline to distinguish
29645 the message.
29646
29647 * kern/main.c (grub_main): Call grub_machine_set_prefix and
29648 grub_set_root_dev after loading modules. This is necessary when
29649 setting a prefix depends on modules.
29650
29651 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
29652 (grub_efi_print_device_path): ... this.
29653 (grub_efi_get_filename): New prototype.
29654 (grub_efi_set_prefix): Likewise.
29655
29656 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
29657 and grub/disk.h.
29658 (grub_efidisk_get_device_handle): New prototype.
29659 (grub_efidisk_get_device_name): Likewise.
29660
29661 * include/grub/mm.h: Include config.h.
29662 (MM_DEBUG): Removed.
29663 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
29664 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
29665 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
29666 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
29667 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
29668 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
29669 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
29670 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
29671 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
29672
29673 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
29674
29675 * disk/efi/efidisk.c: Include grub/partition.h.
29676 (iterate_child_devices): New function.
29677 (add_device): First, compare only last device path nodes, so that
29678 devices are sorted by the types.
29679 (grub_efidisk_get_device_handle): New function.
29680 (grub_efidisk_get_device_name): Likewise.
29681
29682 * configure.ac (--enable-mm-debug): New option to enable the
29683 memory manager debugging feature. This makes the binary much
29684 bigger, so is disabled by default.
29685
9cacaa17 296862006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
29687
29688 Use grub_abort instead of grub_stop, and grub_exit must be
29689 define in each architecture now. Also, this change adds support
29690 for EFI disks.
f19dbdb7 29691
9cacaa17 29692 * util/i386/pc/grub-probefs.c: Include grub/term.h.
29693 (grub_getkey): New function.
29694 (grub_term_get_current): Likewise.
29695
29696 * util/i386/pc/grub-setup.c: Include grub/term.h.
29697 (grub_getkey): New function.
29698 (grub_term_get_current): Likewise.
29699
29700 * util/misc.c (grub_stop): Renamed to ...
29701 (grub_exit): ... this.
29702
29703 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
29704 (grub_exit): ... this.
29705 (grub_machine_init): Use grub_abort instead of abort.
29706 (grub_stop): Removed.
29707
29708 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
29709 abort.
29710
29711 * kern/i386/pc/startup.S (grub_exit): New function.
29712 (cold_reboot): New label.
29713
29714 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
29715 (grub_efi_init): Call grub_efidisk_init.
29716 (grub_efi_fini): Call grub_efidisk_fini.
29717
29718 * kern/efi/efi.c: Include grub/mm.h.
29719 (grub_efi_console_control_guid): Renamed to ...
29720 (console_control_guid): ... this.
29721 (grub_efi_loaded_image_guid): Renamed to ...
29722 (loaded_image_guid): ... this.
29723 (grub_efi_locate_handle): New function.
29724 (grub_efi_open_protocol): Likewise.
29725 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
29726 GRUB_EFI_CONSOLE_CONTROL_GUID.
29727 (grub_efi_exit): Removed.
29728 (grub_stop): Likewise.
29729 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
29730 (grub_exit): New function.
29731 (grub_print_device_path): Likewise.
29732
29733 * kern/rescue.c (grub_rescue_cmd_exit): New function.
29734 (grub_enter_rescue_mode): Register "exit".
29735
29736 * kern/misc.c (grub_real_dprintf): A cosmetic change.
29737 (grub_abort): New function.
29738
29739 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
29740
29741 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
29742
29743 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
29744
29745 * include/grub/efi/efi.h (grub_efi_exit): Removed.
29746 (grub_print_device_path): New prototype.
29747 (grub_efi_locate_handle): Likewise.
29748 (grub_efi_open_protocol): Likewise.
29749
29750 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
29751 * disk/efi/efidisk.c: Likewise.
29752
29753 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
29754
29755 * include/grub/efi/console_control.h
29756 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
29757
29758 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
29759 last 8 bytes as an array.
29760 (GRUB_EFI_DISK_IO_GUID): New macro.
29761 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
29762 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
29763 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
29764 grub_uint8_t.
29765 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
29766 (struct grub_efi_device_path): Rename the member "sub_type" to
29767 "subtype".
29768 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
29769 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
29770 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
29771 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
29772 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
29773 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
29774 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
29775 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
29776 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
29777 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
29778 (struct grub_efi_pci_device_path): New structure.
29779 (grub_efi_pci_device_path_t): New type.
29780 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
29781 (struct grub_efi_pccard_device_path): New structure.
29782 (grub_efi_pccard_device_path_t): New type.
29783 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
29784 (struct grub_efi_memory_mapped_device_path): New structure.
29785 (grub_efi_memory_mapped_device_path_t): New type.
29786 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
29787 (struct grub_efi_vendor_device_path): New structure.
29788 (grub_efi_vendor_device_path_t): New type.
29789 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
29790 (struct grub_efi_controller_device_path): New structure.
29791 (grub_efi_controller_device_path_t): New type.
29792 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
29793 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
29794 (struct grub_efi_acpi_device_path): New structure.
29795 (grub_efi_acpi_device_path_t): New type.
29796 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
29797 (struct grub_efi_expanded_acpi_device_path): New structure.
29798 (grub_efi_expanded_acpi_device_path_t): New type.
29799 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
29800 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
29801 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
29802 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
29803 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
29804 (struct grub_efi_atapi_device_path): New structure.
29805 (grub_efi_atapi_device_path_t): New type.
29806 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
29807 (struct grub_efi_fibre_channel_device_path): New structure.
29808 (grub_efi_fibre_channel_device_path_t): New type.
29809 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
29810 (struct grub_efi_1394_device_path): New structure.
29811 (grub_efi_1394_device_path_t): New type.
29812 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
29813 (struct grub_efi_usb_device_path): New structure.
29814 (grub_efi_usb_device_path_t): New type.
29815 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
29816 (struct grub_efi_usb_class_device_path): New structure.
29817 (grub_efi_usb_class_device_path_t): New type.
29818 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
29819 (struct grub_efi_i2o_device_path): New structure.
29820 (grub_efi_i2o_device_path_t): New type.
29821 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
29822 (struct grub_efi_mac_address_device_path): New structure.
29823 (grub_efi_mac_address_device_path_t): New type.
29824 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
29825 (struct grub_efi_ipv4_device_path): New structure.
29826 (grub_efi_ipv4_device_path_t): New type.
29827 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
29828 (struct grub_efi_ipv6_device_path): New structure.
29829 (grub_efi_ipv6_device_path_t): New type.
29830 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
29831 (struct grub_efi_infiniband_device_path): New structure.
29832 (grub_efi_infiniband_device_path_t): New type.
29833 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
29834 (struct grub_efi_uart_device_path): New structure.
29835 (grub_efi_uart_device_path_t): New type.
29836 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
29837 (struct grub_efi_vendor_messaging_device_path): New structure.
29838 (grub_efi_vendor_messaging_device_path_t): New type.
29839 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
29840 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
29841 (struct grub_efi_hard_drive_device_path): New structure.
29842 (grub_efi_hard_drive_device_path_t): New type.
29843 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
29844 (struct grub_efi_cdrom_device_path): New structure.
29845 (grub_efi_cdrom_device_path_t): New type.
29846 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
29847 (struct grub_efi_vendor_media_device_path): New structure.
29848 (grub_efi_vendor_media_device_path_t): New type.
29849 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
29850 (struct grub_efi_file_path_device_path): New structure.
29851 (grub_efi_file_path_device_path_t): New type.
29852 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
29853 (struct grub_efi_protocol_device_path): New structure.
29854 (grub_efi_protocol_device_path_t): New type.
29855 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
29856 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
29857 (struct grub_efi_bios_device_path): New structure.
29858 (grub_efi_bios_device_path_t): New type.
29859 (struct grub_efi_disk_io): New structure.
29860 (grub_efi_disk_io_t): New type.
29861 (struct grub_efi_block_io_media): New structure.
29862 (grub_efi_block_io_media_t): New type.
29863 (struct grub_efi_block_io): New structure.
29864 (grub_efi_block_io_t): New type.
29865
29866 * include/grub/misc.h (grub_stop): Removed.
29867 (grub_exit): New prototype.
29868 (grub_abort): Likewise.
29869
29870 * include/grub/disk.h (enum grub_disk_dev_id): Added
29871 GRUB_DISK_DEVICE_EFIDISK_ID.
29872
29873 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
29874 disk/efi/efidisk.c.
29875 (kernel_syms.lst): Remove the target if an error occurs.
29876
49986a9f 298772006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
29878
29879 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
29880 as it was simply too buggy.
29881
970d3b8a 298822006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
29883
29884 * kern/misc.c (grub_lltoa): New function.
29885 (grub_vsprintf): Added support for the long long suffix,
29886 i.e. "ll".
29887
ff04ec24 298882006-04-20 Hollis Blanchard <hollis@penguinppc.org>
29889
29890 * Makefile.in (LDFLAGS): Add variable.
29891 (LD): Remove variable.
29892 * configure.ac: Add -m32 to LDFLAGS.
29893 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
29894 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
29895 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
29896 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
29897 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
29898 variables.
29899 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
29900 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
29901 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
29902
37e5e1a4 299032006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
29904
29905 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
29906 length for unknown glyph.
29907
c352d8dd 299082006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
29909
2eab1c0d 29910 Add support for pre-loaded modules into the EFI port.
f19dbdb7 29911
2eab1c0d 29912 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
29913 completely. Accept one more argument DIR. The caller has changed.
29914
29915 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
29916
29917 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
29918 (grub_efi_loaded_image_guid): New variable.
29919 (grub_efi_get_loaded_image): New function.
29920 (grub_arch_modules_addr): Likewise.
29921
29922 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
29923 prototype.
29924
29925 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
29926 (struct grub_efi_loaded_image): New structure.
29927 (grub_efi_loaded_image_t): New type.
29928
299292006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29930
c352d8dd 29931 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
29932 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
29933 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
29934
6d01d6b4 299352006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
29936
29937 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
29938
976a4ea0 299392006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
29940
29941 * DISTLIST: Added include/grub/efi/console.h,
29942 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
29943 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
29944
29945 * include/grub/efi/console.h: New file.
29946 * include/grub/efi/time.h: Likewise.
29947 * include/grub/i386/efi/kernel.h: Likewise.
29948 * kern/efi/init.c: Likewise.
29949 * kern/efi/mm.c: Likewise.
29950 * term/efi/console.c: Likewise.
f19dbdb7 29951
976a4ea0 29952 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
29953 (grub_stop): Removed.
29954 (grub_get_rtc): Likewise.
29955 (grub_machine_init): Simply call grub_efi_init.
29956 (grub_machine_fini): Call grub_efi_fini.
29957
29958 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
29959 (grub_efi_output_string): Removed.
29960 (grub_efi_stall): New function.
29961 (grub_stop): Likewise.
29962 (grub_get_rtc): Likewise.
29963
29964 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
29965 (grub_efi_stall): New prototype.
29966 (grub_efi_allocate_pages): Likewise.
29967 (grub_efi_free_pages): Likewise.
29968 (grub_efi_get_memory_map): Likewise.
29969 (grub_efi_mm_init): Likewise.
29970 (grub_efi_mm_fini): Likewise.
29971 (grub_efi_init): Likewise.
29972 (grub_efi_fini): Likewise.
29973
29974 * include/grub/i386/efi/time.h: Do not include
29975 grub/symbol.h. Include grub/efi/time.h.
29976 (GRUB_TICKS_PER_SECOND): Removed.
29977 (grub_get_rtc): Likewise.
29978
29979 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
29980 Added padding. The EFI spec is buggy.
29981 (GRUB_EFI_BLACK): New macro.
29982 (GRUB_EFI_BLUE): Likewise.
29983 (GRUB_EFI_GREEN): Likewise.
29984 (GRUB_EFI_CYAN): Likewise.
29985 (GRUB_EFI_RED): Likewise.
29986 (GRUB_EFI_MAGENTA): Likewise.
29987 (GRUB_EFI_BROWN): Likewise.
29988 (GRUB_EFI_LIGHTGRAY): Likewise.
29989 (GRUB_EFI_BRIGHT): Likewise.
29990 (GRUB_EFI_DARKGRAY): Likewise.
29991 (GRUB_EFI_LIGHTBLUE): Likewise.
29992 (GRUB_EFI_LIGHTGREEN): Likewise.
29993 (GRUB_EFI_LIGHTCYAN): Likewise.
29994 (GRUB_EFI_LIGHTRED): Likewise.
29995 (GRUB_EFI_LIGHTMAGENTA): Likewise.
29996 (GRUB_EFI_YELLOW): Likewise.
29997 (GRUB_EFI_WHITE): Likewise.
29998 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
29999 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30000 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30001 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30002 (GRUB_EFI_BACKGROUND_RED): Likewise.
30003 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30004 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30005 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30006 (GRUB_EFI_TEXT_ATTR): Likewise.
30007
30008 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30009 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30010 (kernel_mod_HEADERS): Added efi/time.h.
30011
83709125 300122006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30013
30014 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30015 include/grub/efi/api.h, include/grub/efi/console_control.h,
30016 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30017 include/grub/i386/efi/time.h, kern/efi/efi.c,
30018 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30019 and util/i386/efi/grub-mkimage.c.
30020
30021 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30022
30023 * genmk.rb (PModule#rule): Do not export symbols if
30024 #{prefix}_EXPORTS is set to "no".
30025
30026 * conf/i386-efi.mk: New file.
30027 * conf/i386-efi.rmk: Likewise.
30028 * include/grub/efi/api.h: Likewise.
30029 * include/grub/efi/console_control.h: Likewise.
30030 * include/grub/efi/efi.h: Likewise.
30031 * include/grub/efi/pe32.h: Likewise.
30032 * include/grub/i386/efi/time.h: Likewise.
30033 * kern/efi/efi.c: Likewise.
30034 * kern/i386/efi/init.c: Likewise.
30035 * kern/i386/efi/startup.S: Likewise.
30036 * util/i386/efi/grub-mkimage.c: Likewise.
30037
300382006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 30039
30040 * include/grub/script.h: Include <grub/parser.h> and
30041 "grub_script.tab.h".
30042 (struct grub_lexer_param): New struct.
30043 (struct grub_parser_param): Likewise.
30044 (grub_script_create_arglist): Pass the state in an argument.
30045 (grub_script_add_arglist): Likewise.
30046 (grub_script_create_cmdline): Likewise.
30047 (grub_script_create_cmdblock): Likewise.
30048 (grub_script_create_cmdif): Likewise.
30049 (grub_script_create_cmdmenu): Likewise.
30050 (grub_script_add_cmd): Likewise.
30051 (grub_script_arg_add): Likewise.
30052 (grub_script_lexer_ref): Likewise.
30053 (grub_script_lexer_deref): Likewise.
30054 (grub_script_lexer_record_start): Likewise.
30055 (grub_script_lexer_record_stop): Likewise.
30056 (grub_script_mem_record): Likewise.
30057 (grub_script_mem_record_stop): Likewise.
30058 (grub_script_malloc): Likewise.
30059 (grub_script_yylex): Likewise.
30060 (grub_script_yyparse): Likewise.
30061 (grub_script_yyerror): Likewise.
30062 (grub_script_yylex): Likewise.
30063 (grub_script_lexer_init): Return the state.
30064
30065 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30066 (grub_script_lexer_done): Likewise.
30067 (grub_script_lexer_getline): Likewise.
30068 (grub_script_lexer_refs): Likewise.
30069 (script): Likewise.
30070 (newscript): Likewise.
30071 (record): Likewise.
30072 (recording): Likewise.
30073 (recordpos): Likewise.
30074 (recordlen): Likewise.
30075 (grub_script_lexer_init): Return the state instead of setting
30076 global variables.
30077 (grub_script_lexer_ref): Use the newly added argument for state
30078 instead of globals.
30079 (grub_script_lexer_deref): Likewise.
30080 (grub_script_lexer_record_start): Likewise.
30081 (grub_script_lexer_record_stop): Likewise.
30082 (recordchar): Likewise.
30083 (nextchar): Likewise.
30084 (grub_script_yylex2): Likewise.
30085 (grub_script_yylex): Likewise.
30086 (grub_script_yyerror): Likewise.
30087
30088 * normal/parser.y (func_mem): Removed variable.
30089 (menu_entry): Likewise.
30090 (err): Likewise.
30091 (%lex-param): New parser option.
30092 (%parse-param): Likewise.
30093 (script): Always return the AST.
30094 (argument): Pass the state around.
30095 (arguments): Likewise.
30096 (grubcmd): Likewise.
30097 (commands): Likewise.
30098 (function): Likewise.
30099 (menuentry): Likewise.
30100 (if_statement): Likewise.
30101 (if): Likewise.
30102
30103 * normal/script.c (grub_script_memused): Removed variable.
30104 (grub_script_parsed): Likewise.
30105 (grub_script_malloc): Added a state argument. Use that instead of
30106 global variables.
30107 (grub_script_mem_record): Likewise.
30108 (grub_script_mem_record_stop): Likewise.
30109 (grub_script_arg_add): Likewise.
30110 (grub_script_add_arglist): Likewise.
30111 (grub_script_create_cmdline): Likewise.
30112 (grub_script_create_cmdif): Likewise.
30113 (grub_script_create_cmdmenu): Likewise.
30114 (grub_script_add_cmd): Likewise.
30115 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 30116
e2a8c904 301172006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 30118
30119 * normal/command.c (grub_command_init): Remove the title command.
30120
30121 * normal/lexer.c (grub_script_yylex): Renamed from this...
30122 (grub_script_yylex2): ... to this.
30123 (grub_script_yylex): New function. Temporary
30124 introduced to filter some tokens.
30125 (grub_script_yyerror): Print a newline.
30126
30127 * normal/main.c (read_config_file): Output information about the
30128 lines that contain errors. Wait for a key after all lines have
30129 been processed. Don't return an empty menu.
30130
30131 * normal/parser.y (func_mem): Don't initialize.
30132 (menu_entry): Likewise.
30133 (err): New variable.
30134 (script): Don't return anything when an error was encountered.
30135 (ws, returns): Removed rules.
30136 (argument): Disabled concatenated variable support.
30137 (arguments): Remove explicit separators.
30138 (grubcmd): Likewise.
30139 (function): Likewise.
30140 (menuentry): Likewise.
30141 (if): Likewise.
30142 (commands): Likewise. Add error handling.
30143
30144 * normal/script.c (grub_script_create_cmdline): If
30145 `grub_script_parsed' is 0, assume the parser encountered an error.
30146
c9a86192 301472006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30148
30149 * configure.ac: Add support for EFI. Fix the typo
30150 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30151
70f3b243 301522006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30153
30154 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30155 foreign multibyte characters should be shown correctly.
30156
65f201ad 301572006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30158
30159 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30160 calculation.
30161 (read_config_file): Made it to close file before returning.
30162
b4b93674 301632006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30164
30165 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30166 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30167 video/i386/pc/vbefill.c.
30168
30169 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30170 video/i386/pc/vbefill.c.
30171
30172 * include/grub/video.h (grub_video_blit_format): New enum.
30173 (grub_video_mode_info): Added new member blit_format.
30174 (grub_video_get_blit_format): New function prototype.
30175
30176 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30177 function prototype.
30178 (grub_video_vbe_map_rgb): Likewise.
30179 (grub_video_vbe_unmap_color): Likewise.
30180
30181 * include/grub/i386/pc/vbeblit.h: New file.
30182
30183 * include/grub/i386/pc/vbefill.h: New file.
30184
30185 * video/video.c (grub_video_get_blit_format): New function.
30186 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30187 (grub_video_vbe_map_rgb): Likewise.
30188 (grub_video_vbe_unmap_color): Likewise.
30189
30190 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30191 optimized fills.
30192 (grub_video_vbe_blit_render_target): Changed to use more optimized
30193 blits.
30194 (grub_video_vbe_setup): Added detection for optimized settings.
30195 (grub_video_vbe_create_render_target): Likewise.
30196
30197 * video/i386/pc/vbeblit.c: New file.
30198
30199 * video/i386/pc/vbefill.c: New file.
30200
c2379b9c 302012006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30202
30203 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30204 here...
30205
30206 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30207 parsing to support both hex and dec ranges. If filename was missing
30208 show usage information.
30209
bd0d7896 302102006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30211
30212 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30213 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30214
30215 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30216 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30217 (video_mod_SOURCES): Added.
30218 (video_mod_CFLAGS): Likewise.
30219 (video_mod_LDFLAGS): Likewise.
30220 (gfxterm_mod_SOURCES): Likewise.
30221 (gfxterm_mod_CFLAGS): Likewise.
30222 (gfxterm_mod_LDFLAGS): Likewise.
30223 (videotest_mod_SOURCES): Likewise.
30224 (videotest_mod_CFLAGS): Likewise.
30225 (videotest_mod_LDFLAGS): Likewise.
30226 (vesafb_mod_SOURCES): Removed.
30227 (vesafb_mod_CFLAGS): Likewise.
30228 (vesafb_mod_LDFLAGS): Likewise.
30229 (vga_mod_SOURCES): Likewise.
30230 (vga_mod_CFLAGS): Likewise.
30231 (vga_mod_LDFLAGS): Likewise.
30232
30233 * commands/videotest.c: New file.
30234
30235 * font/manager.c (fill_with_default_glyph): Modified to use
30236 grub_font_glyph.
30237 (grub_font_get_glyph): Likewise.
30238 (fontmanager): Renamed from this...
30239 (font_manager): ... to this.
30240
30241 * include/grub/font.h (grub_font_glyph): Added new structure.
30242 (grub_font_get_glyph): Modified to use grub_font_glyph.
30243
30244 * include/grub/misc.h (grub_abs): Added as inline function.
30245
30246 * include/grub/video.h: New file.
30247
30248 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30249 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30250 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30251 (grub_vbe_get_controller_info): Renamed from this...
30252 (grub_vbe_bios_get_controller_info): ... to this.
30253 (grub_vbe_get_mode_info): Renamed from this...
30254 (grub_vbe_bios_get_mode_info): ... to this.
30255 (grub_vbe_set_mode): Renamed from this...
30256 (grub_vbe_bios_set_mode): ... to this.
30257 (grub_vbe_get_mode): Renamed from this...
30258 (grub_vbe_bios_get_mode): ... to this.
30259 (grub_vbe_set_memory_window): Renamed from this...
30260 (grub_vbe_bios_set_memory_window): ... to this.
30261 (grub_vbe_get_memory_window): Renamed from this...
30262 (grub_vbe_bios_get_memory_window): ... to this.
30263 (grub_vbe_set_scanline_length): Renamed from this...
30264 (grub_vbe_set_scanline_length): ... to this.
30265 (grub_vbe_get_scanline_length): Renamed from this...
30266 (grub_vbe_bios_get_scanline_length): ... to this.
30267 (grub_vbe_set_display_start): Renamed from this...
30268 (grub_vbe_bios_set_display_start): ... to this.
30269 (grub_vbe_get_display_start): Renamed from this...
30270 (grub_vbe_bios_get_display_start): ... to this.
30271 (grub_vbe_set_palette_data): Renamed from this...
30272 (grub_vbe_bios_set_palette_data): ... to this.
30273 (grub_vbe_set_pixel_rgb): Removed.
30274 (grub_vbe_set_pixel_index): Likewise.
30275
30276 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30277 from this...
30278 (grub_vbe_bios_get_controller_info): ... to this.
30279 (grub_vbe_get_mode_info): Renamed from this...
30280 (grub_vbe_bios_get_mode_info): ... to this.
30281 (grub_vbe_set_mode): Renamed from this...
30282 (grub_vbe_bios_set_mode): ... to this.
30283 (grub_vbe_get_mode): Renamed from this...
30284 (grub_vbe_bios_get_mode): ... to this.
30285 (grub_vbe_set_memory_window): Renamed from this...
30286 (grub_vbe_bios_set_memory_window): ... to this.
30287 (grub_vbe_get_memory_window): Renamed from this...
30288 (grub_vbe_bios_get_memory_window): ... to this.
30289 (grub_vbe_set_scanline_length): Renamed from this...
30290 (grub_vbe_set_scanline_length): ... to this.
30291 (grub_vbe_get_scanline_length): Renamed from this...
30292 (grub_vbe_bios_get_scanline_length): ... to this.
30293 (grub_vbe_set_display_start): Renamed from this...
30294 (grub_vbe_bios_set_display_start): ... to this.
30295 (grub_vbe_get_display_start): Renamed from this...
30296 (grub_vbe_bios_get_display_start): ... to this.
30297 (grub_vbe_set_palette_data): Renamed from this...
30298 (grub_vbe_bios_set_palette_data): ... to this.
30299 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30300 getting corrupted after calling it. Added more pushes and pops.
30301 (grub_vbe_bios_set_mode): Likewise.
30302 (grub_vbe_bios_get_mode): Likewise.
30303 (grub_vbe_bios_get_memory_window): Likewise.
30304 (grub_vbe_bios_set_scanline_length): Likewise.
30305 (grub_vbe_bios_get_scanline_length): Likewise.
30306 (grub_vbe_bios_get_display_start): Likewise.
30307 (grub_vbe_bios_set_palette_data): Likewise.
30308
30309 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30310 (cl_insert): Likewise.
30311 (cl_delete): Likewise.
30312
30313 * term/gfxterm.c: New file.
30314
30315 * term/i386/pc/vesafb.c: Removed file.
30316
30317 * video/video.c: New file.
30318
30319 * video/i386/pc/vbe.c (real2pm): Added new function.
30320 (grub_video_vbe_draw_pixel): Likewise.
30321 (grub_video_vbe_get_video_ptr): Likewise.
30322 (grub_video_vbe_get_pixel): Likewise
30323 (grub_video_vbe_init): Likewise.
30324 (grub_video_vbe_fini): Likewise.
30325 (grub_video_vbe_setup): Likewise.
30326 (grub_video_vbe_get_info): Likewise.
30327 (grub_video_vbe_set_palette): Likewise.
30328 (grub_video_vbe_get_palette): Likewise.
30329 (grub_video_vbe_set_viewport): Likewise.
30330 (grub_video_vbe_get_viewport): Likewise.
30331 (grub_video_vbe_map_color): Likewise.
30332 (grub_video_vbe_map_rgb): Likewise.
30333 (grub_video_vbe_map_rgba): Likewise.
30334 (grub_video_vbe_unmap_color): Likewise.
30335 (grub_video_vbe_fill_rect): Likewise.
30336 (grub_video_vbe_blit_glyph): Likewise.
30337 (grub_video_vbe_blit_bitmap): Likewise.
30338 (grub_video_vbe_blit_render_target): Likewise.
30339 (grub_video_vbe_scroll): Likewise.
30340 (grub_video_vbe_swap_buffers): Likewise.
30341 (grub_video_vbe_create_render_target): Likewise.
30342 (grub_video_vbe_delete_render_target): Likewise.
30343 (grub_video_vbe_set_active_render_target): Likewise.
30344 (grub_vbe_set_pixel_rgb): Remove function.
30345 (grub_vbe_set_pixel_index): Likewise.
30346 (index_color_mode): Remove static variable.
30347 (active_mode): Likewise.
30348 (framebuffer): Likewise.
30349 (bytes_per_scan_line): Likewise.
30350 (grub_video_vbe_adapter): Added new static variable.
30351 (framebuffer): Likewise.
30352 (render_target): Likewise.
30353 (initial_mode): Likewise.
30354 (mode_in_use): Likewise.
30355 (mode_list): Likewise.
30356
5f97350b 303572006-03-10 Marco Gerards <marco@gnu.org>
30358
30359 * configure.ac (AC_INIT): Bumped to 1.93.
30360
30361 * DISTLIST: Added `include/grub/hfs.h'.
30362
a3c5c6f8 303632006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30364
30365 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30366 18H, which might help the BIOS falling back to next boot media.
30367
6de53d26 303682006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30369
30370 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30371 Poe Chen <poe.poechen@gmail.com>.
30372
77c4a393 303732006-01-17 Marco Gerards <marco@gnu.org>
30374
30375 * include/grub/normal.h: Include <grub/script.h>.
30376 (grub_command_list): Removed struct.
30377 (grub_command_list_t): Removed type.
30378 (grub_menu_entry): Remove members `num' and `command_list'. Add
30379 members `commands' and `sourcecode'.
30380 * include/grub/script.h: Add inclusion guards.
30381 (grub_script_cmd_menuentry): New struct.
30382 (grub_script_execute_menuentry): New prototype.
30383 (grub_script_lexer_record_start): Likewise.
30384 (grub_script_lexer_record_stop): Likewise.
30385 * normal/execute.c (grub_script_execute_menuentry): New function.
30386 * normal/lexer.c (record, recording, recordpos, recordlen): New
30387 variables.
30388 (grub_script_lexer_record_start): New function.
30389 (grub_script_lexer_record_stop): Likewise.
30390 (recordchar): Likewise.
30391 (nextchar): Likewise.
30392 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30393 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30394 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30395 (current_menu): New variable.
30396 (free_menu): Mainly rewritten.
30397 (grub_normal_menu_addentry): New function.
30398 (read_config_file): Rewritten.
30399 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 30400 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 30401 the menu entry.
30402 (run): Mainly rewritten.
30403 * normal/parser.y (menu_entry): New variable.
30404 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30405 (menuentry): New rule.
30406 (command): Add `menuentry'.
30407 (if_statement): Allow additional returns before `fi'.
30408 * normal/script.c (grub_script_create_cmdmenu): New function.
30409
144f1f98 304102006-01-03 Marco Gerards <marco@gnu.org>
30411
30412 * INSTALL: GNU Bison is required.
30413 * configure.ac: Rewritten the test to detect Bison.
30414 * Makefile.in (YACC): New variable. Reported by Xun Sun
30415 <xun.sun.cn@gmail.com>.
30416
af4b2d89 304172006-01-03 Marco Gerards <marco@gnu.org>
30418
30419 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30420 the HFS+ filesystem to filesystem blocks.
30421 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30422 GCC warning is silenced.
30423
15643b71 304242006-01-03 Marco Gerards <marco@gnu.org>
30425
30426 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30427 read from disk from big endian to host byte order.
30428
00905879 304292006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30430
30431 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30432 documentation.
30433 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30434 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30435 embedded HFS+ filesystem.
30436 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30437 (grub_hfs_sblock): Move from here...
30438 * include/grub/hfs.h: To here... New file.
30439 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30440 documentation.
30441 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30442 New macros.
30443 (grub_hfsplus_volheader): Change type of member `magic' to
30444 `grub_uint16_t'.
30445 (grub_hfsplus_data): Add new member `embedded_offset'.
30446 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30447 returned block.
30448 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30449 Calculate the offset.
30450
8899bc3e 304512005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30452
30453 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30454 Removed.
30455 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30456
ae8c0277 304572005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30458
30459 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30460 ENV->NAME is NULL after allocating ENV->VALUE.
30461
07084456 304622005-12-25 Marco Gerards <marco@gnu.org>
30463
30464 * kern/env.c (grub_env_set): Rewritten the error handling code.
30465
4750f5f1 304662005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30467
30468 * geninit.sh: Made more robust, and more portable.
30469
50214199 304702005-12-25 Marco Gerards <marco@gnu.org>
30471
30472 Add support for Apple HFS+ filesystems.
f19dbdb7 30473
50214199 30474 * fs/hfsplus.c: New file.
30475
30476 * DISTLIST: Added `fs/hfsplus.c'.
30477
30478 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30479 (hfsplus_mod_SOURCES): New variable.
30480 (hfsplus_mod_CFLAGS): Likewise.
30481 (hfsplus_mod_LDFLAGS): Likewise.
30482 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30483 (grub_setup_SOURCES): Likewise.
30484 (grub_mkdevicemap_SOURCES): Likewise.
30485 (grub_emu_SOURCES): Likewise.
30486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30487
30488 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30489
30490 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30491
befaed6c 304922005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30493
30494 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30495 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30496 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30497 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30498 normal/lexer.c, normal/parser.y, normal/script.c, and
30499 partmap/gpt.c.
30500 Removed kern/sparc64/cache.c.
30501
30502 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30503 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30504 grub_emu_init.c.
30505
30506 * configure.ac (AC_INIT): Bumped to 1.92.
30507
6a124103 305082005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30509
30510 * kern/err.c (grub_error_push): Added new function to support error
30511 stacks.
30512 (grub_error_pop): Likewise.
30513 (grub_error_stack_items): New local variable to support error stacks.
30514 (grub_error_stack_pos): Likewise.
30515 (grub_error_stack_assert): Likewise.
30516 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30517 stack depth.
30518 (grub_print_error): Added support to print errors from error stack.
30519
30520 * include/grub/err.h (grub_error_push): Added function prototype.
30521 (grub_error_pop): Likewise.
30522
be973c1b 305232005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30524
30525 * configure.ac: Accept `powerpc64' as host_cpu.
30526 (amd64): Rename to `biarch32'.
30527
30528 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30529 non-cacheline-aligned addresses.
30530
30531 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30532 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30533 if `size' is non-zero.
30534
b04216ab 305352005-12-03 Marco Gerards <mgerards@xs4all.nl>
30536
30537 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30538 and `cd' to make sure the filename is not prefixed with a
30539 directory name.
30540 (pkgdata_MODULES): Add `gpt.mod'.
30541 (gpt_mod_SOURCES): New variable.
30542 (gpt_mod_CFLAGS): Likewise.
30543 (gpt_mod_LDFLAGS): Likewise.
30544
30545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30546
30547 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30548 New macro.
30549
30550 * partmap/gpt.c: New file.
30551
30552 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
30553 GPT partition map is detected.
30554
41730ed9 305552005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
30556
30557 * commands/i386/pc/play.c: New file.
30558 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
30559 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
30560 macros.
f19dbdb7 30561
95dc3643 305622005-11-27 Marco Gerards <mgerards@xs4all.nl>
30563
30564 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
30565 ((unused))' to silence gcc warning.
30566
1569ec51 305672005-11-26 Hollis Blanchard <hollis@penguinppc.org>
30568
30569 * configure.ac: Correct `AC_PROG_YACC' test.
30570
9abde152 305712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30572
30573 * util/powerpc/ieee1275/grub-install.in: Run the mount point
30574 check before installing files.
30575
44b83271 305762005-11-22 Mike Small <smallm@panix.com>
30577
30578 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
30579 number regex so multidigit numbers are recognized correctly.
30580
305812005-11-22 Mike Small <smallm@panix.com>
30582
30583 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
30584 debugging message before attempting to claim memory.
30585 (grub_rescue_cmd_initrd): Add a claim debugging message and try
30586 multiple addresses in case of failure.
30587
9c12956b 305882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30589
30590 * term/tparm.c (get_space): Remove empty `if' statement.
30591
30592 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
30593
30594 * kern/parser.c (check_varstate): Rename `state' to 's'.
30595
aeaf81d9 305962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30597
30598 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
30599 variable definitions to the beginning of each function. Sort stack
30600 variables by size.
30601 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
30602 `buf' argument to `char *'.
30603
79bbb63f 306042005-11-22 Hollis Blanchard <hollis@penguinppc.org>
30605
30606 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
30607 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 30608 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 30609 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30610 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30611 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30612 configfile.mod, search.mod, gzio.mod and test.mod.
30613 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30614 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30615 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30616 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30617 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30618 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30619 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30620 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30621 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30622 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30623 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30624 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30625 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30626 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30627 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30628 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30629 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30630 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30631 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30632 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30633 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30634 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30635 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
30636
30637 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
30638 `grep --include'.
30639 (pkgdata_MODULES): Add test.mod.
30640
233b1628 306412005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30642
30643 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
30644 appending to variables with "+=".
30645 (PModule): Use full pathname to generate *.lst filenames.
30646
30647 * Makefile.in: Fixed list rules moved from genmk.rb.
30648 (.DELETE_ON_ERROR): New special target.
30649 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
30650
30651 * conf/i386-pc.rmk: Include conf/common.mk.
30652 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 30653 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 30654 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
30655 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
30656 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
30657 configfile.mod, search.mod, gzio.mod and test.mod.
30658 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
30659 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
30660 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
30661 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
30662 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
30663 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
30664 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
30665 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
30666 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
30667 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
30668 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
30669 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
30670 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
30671 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
30672 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
30673 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
30674 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
30675 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
30676 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
30677 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
30678 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
30679 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
30680 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
30681 here...
30682 * conf/common.rmk: ... to here. New file.
30683
30684 * conf/common.mk: New file.
30685
16f820c8 306862005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
30687
30688 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
30689 (grub_script.tab.c): ... here.
30690
30691 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
30692 (grub_script.tab.c): ... here.
30693
30694 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
30695 (grub_script.tab.c): ... here.
30696
30697 * normal/command.c (grub_command_find): Fixed a memory leak of
30698 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
30699
63ba1554 307002005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30701
30702 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
30703 "@" which marks the start of a comment on ARM.
30704 (VARIABLE): Likewise.
30705
7f67dc13 307062005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
30707
79bbb63f 30708 Add support for Linux/ADFS partition tables.
7f67dc13 30709
30710 * partmap/acorn.c: New file.
30711
30712 * include/grub/acorn_filecore.h: Likewise.
30713
30714 * DISTLIST: Added `partmap/acorn.c' and
30715 `include/grub/acorn_filecore.h'.
f19dbdb7 30716
7f67dc13 30717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30718 `partmap/acorn.c'.
30719 (pkgdata_MODULES): Add `acorn.mod'.
30720 (acorn_mod_SOURCES): New variable.
30721 (acorn_mod_CFLAGS): Likewise.
30722
30723 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30724 `partmap/acorn.c'.
30725 (pkgdata_MODULES): Add `acorn.mod'.
30726 (acorn_mod_SOURCES): New variable.
30727 (acorn_mod_CFLAGS): Likewise.
30728
30729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
30730 (pkgdata_MODULES): Add `acorn.mod'.
30731 (acorn_mod_SOURCES): New variable.
30732 (acorn_mod_CFLAGS): Likewise.
30733 (acorn_mod_LDFLAGS): Likewise.
30734
30735 * include/types.h (grub_disk_addr_t): New typedef.
30736
6d099807 307372005-11-13 Marco Gerards <mgerards@xs4all.nl>
30738
30739 * geninit.sh: New file.
30740
30741 * geninitheader.sh: Likewise.
30742
30743 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
30744 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
30745 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
30746 * commands/configfile.c (grub_configfile_init)
30747 (grub_configfile_fini): Likewise.
30748 * commands/default.c (grub_default_init, grub_default_fini):
30749 Likewise.
30750 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
30751 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
30752 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
30753 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
30754 Likewise.
30755 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
30756 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
30757 Likewise.
30758 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 30759 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 30760 Likewise.
30761 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
30762 Likewise.
fe6b695a 30763 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 30764 Likewise.
30765 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
30766 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
30767 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
30768 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
30769 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
30770 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
30771 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
30772 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
30773 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
30774 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
30775 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
30776 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
30777 * partmap/amiga.c (grub_amiga_partition_map_init)
30778 (grub_amiga_partition_map_fini): Likewise.
30779 * partmap/apple.c (grub_apple_partition_map_init)
30780 (grub_apple_partition_map_fini): Likewise.
30781 * partmap/pc.c (grub_pc_partition_map_init)
30782 (grub_pc_partition_map_fini): Likewise.
30783 * partmap/sun.c (grub_sun_partition_map_init,
30784 grub_sun_partition_map_fini): Likewise.
30785 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
30786 Likewise.
30787
30788 * util/grub-emu.c: Include <grub_modules_init.h>.
30789 (main): Don't initialize and de-initialize any modules directly,
30790 use `grub_init_all' and `grub_fini_all' instead.
30791
30792 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
30793 `grub_vesafb_mod_init'.
30794 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
30795 all users.
30796 * term/i386/pc/vga.c (grub_vga_init): Renamed to
30797 `grub_vga_mod_init'. Updated all users.
30798 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 30799
6d099807 30800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
30801 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
30802 rules.
30803
30804 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
30805 Generate a function to initialize the module in utilities.
30806 Updated all callers.
30807 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
30808 initialize the module in utilities. Updated all callers.
30809
9046bcf0 308102005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30811
30812 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
30813 escape sequence and a literal ^L to clear the screen.
30814
30815 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
30816 when returning from Open Firmware.
30817
d13ea639 308182005-11-09 Hollis Blanchard <hollis@penguinppc.org>
30819
30820 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
30821 (grub_ofconsole_height): Likewise.
30822 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
30823 manually insert a '\n'.
30824 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
30825 `grub_ofconsole_height'. Return early if these are already set.
30826
a8fcf206 308272005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
30828
30829 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
30830 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
30831 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
30832 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
30833 and `normal/script.c'.
30834 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30835 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30836 (test_mod_SOURCES): New variable.
30837 (test_mod_CFLAGS): Likewise.
30838 (test_mod_LDFLAGS): Likewise.
30839 (pkgdata_MODULES): Add `test.mod'.
30840 (grub_script.tab.c): New rule.
30841 (grub_script.tab.h): Likewise.
30842
b6b32745 308432005-11-07 Marco Gerards <mgerards@xs4all.nl>
30844
30845 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30846 `commands/test.c', `normal/execute.c', `normal/lexer.c',
30847 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30848 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30849 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
30850 (test_mod_SOURCES): New variable.
30851 (test_mod_CFLAGS): Likewise.
30852 (pkgdata_MODULES): Add `test.mod'.
30853 (grub_script.tab.c): New rule.
30854 (grub_script.tab.h): Likewise.
30855
daac212a 308562005-11-06 Marco Gerards <mgerards@xs4all.nl>
30857
30858 Add initial scripting support.
30859
30860 * commands/test.c: New file.
30861 * include/grub/script.h: Likewise.
30862 * normal/execute.c: Likewise.
30863 * normal/function.c: Likewise.
30864 * normal/lexer.c: Likewise.
30865 * normal/parser.y: Likewise.
30866 * normal/script.c: Likewise.
30867
30868 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 30869
daac212a 30870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
30871 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
30872 `normal/function.c' and `normal/script.c'.
30873 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
30874 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 30875 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
30876 variables.
daac212a 30877 (pkgdata_MODULES): Add `test.mod'.
30878 (grub_script.tab.c): New rule.
30879 (grub_script.tab.h): Likewise.
30880
30881 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
30882
30883 * include/grub/normal.h (grub_test_init): New prototype.
30884 (grub_test_fini): Likewise.
f19dbdb7 30885
daac212a 30886 * normal/command.c: Include <grub/script.h>.
30887 (grub_command_execute): Rewritten.
f19dbdb7 30888
daac212a 30889 * util/grub-emu.c (main): Call `grub_test_init' and
30890 `grub_test_fini'.
30891
77500b2b 308922005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30893
30894 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
30895 to 0.
30896 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
30897 there are no pending characters.
30898
e45deb9e 308992005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30900
30901 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
30902 `grub_strndup' to drop device arguments. Replace unnecessary
30903 `grub_strndup' with `grub_strdup'.
30904
4ce32619 309052005-11-03 Hollis Blanchard <hollis@penguinppc.org>
30906
30907 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
30908 `debug' environment variable has been set.
30909
309102005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 30911
4ce32619 30912 * Makefile.in (install-local): Use $(DATA).
30913 (uninstall): Likewise.
30914 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
30915 (sbin_UTILITIES): ... to here.
30916 (sbin_SCRIPTS): New variable.
30917 (grub_install_SOURCES): New variable.
30918 * util/powerpc/ieee1275/grub-install.in: New file.
30919 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
30920 variable.
30921 (add_segments): Call `grub_util_get_path'.
30922
25fe6f03 309232005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
30924
30925 From Timothy Baldwin:
30926 * commands/ls.c (grub_ls_list_files): Close FILE with
30927 grub_file_close.
30928 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
30929
04ccf3ec 309302005-10-24 Marco Gerards <mgerards@xs4all.nl>
30931
30932 * include/grub/parser.h: New file.
30933
30934 * kern/parser.c: Likewise.
30935
30936 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
30937 (grub_setup_SOURCES): Likewise.
30938 (grub_probefs_SOURCES): Likewise.
30939 (grub_emu_SOURCES): Likewise.
30940 (kernel_img_HEADERS): Add `parser.h'.
30941
30942 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30943 (grub_emu_SOURCES): Add `kern/parser.c'.
30944 (grubof_SOURCES): Likewise.
30945
30946 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
30947 (grubof_SOURCES): Add `kern/parser.c'.
30948
30949 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
30950
30951 * kern/misc.c (grub_split_cmdline): Removed function.
30952
30953 * kern/rescue.c: Include <grub/parser.h>.
30954 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
30955 of `grub_split_cmdline'.
30956
30957 * normal/command.c: Include <grub/parser.h>.
30958 (grub_command_execute): Use `grub_parser_split_cmdline' instead
30959 of `grub_split_cmdline'.
30960
30961 * normal/completion.c: Include <grub/parser.h>.
30962 (cmdline_state): New variable.
30963 (iterate_dir): End the filename with a quote depending on the
30964 command line state.
30965 (get_state): new function.
30966 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
30967 split the arguments and determine the current argument. When the
30968 argument string is not quoted, escape all spaces.
30969
6d8f4b0e 309702005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30971
30972 * normal/sparc64/setjmp.S: New file.
30973
15cf03ed 309742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30975
30976 * include/grub/sparc64/libgcc.h: New file.
30977 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
30978 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
30979 normal/sparc64/setjmp.c.
30980
03e8661a 309812005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
30982
30983 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
30984 * kern/sparc64/cache.S: New file.
30985 * kern/sparc64/cache.c: Removed.
30986 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
30987 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
30988 -mtune=ultrasparc.
30989 (COMMON_LDFLAGS): Add -melf64_sparc.
30990 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
30991 (grubof_SOURCES): Use cache.S instead of cache.c.
30992 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
30993 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
30994 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
30995 commented though.
30996 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
30997 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
30998 (linux_mod_CFLAGS): Commented out.
30999 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31000 out because module isn't built.
31001 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31002 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31003 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31004 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31005 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31006 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31007 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31008 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31009 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31010 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31011 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31012 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31013 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31014 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31015
34eeec8a 310162005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31017
31018 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31019 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31020 longer, because HFS should not be used on PC.
31021
708367a3 310222005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31023
31024 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31025 consistently within the loop.
31026
6fa1251a 310272005-10-15 Marco Gerards <mgerards@xs4all.nl>
31028
31029 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31030 directory can not be read.
31031
4801580b 310322005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31033
31034 * configure.ac (AC_INIT): Increase the version number to 1.91.
31035
31036 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31037 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31038 term/i386/pc/serial.c.
31039
219ad426 310402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31041
31042 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31043 file size must be permitted.
31044
31045 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31046 between %ah and %al.
31047
688e5699 310482005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31049
31050 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31051 grub_uint64_t.
31052 Call the hook with a NUL-terminated filename.
31053 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31054 grub_cpu_to_be32.
31055
31056 * kern/term.c (cursor_state): New variable.
31057 (grub_term_set_current): Reset the cursor state on a new
31058 terminal.
31059 (grub_setcursor): Rewritten to use CURSOR_STATE.
31060 (grub_getcursor): New function.
31061
31062 * include/grub/term.h (grub_getcursor): New prototype.
31063
31064 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31065 integers on ARM. Reported by Timothy Baldwin
31066 <T.E.Baldwin99@members.leeds.ac.uk>.
31067
bb34586c 310682005-10-11 Marco Gerards <mgerards@xs4all.nl>
31069
31070 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31071 allocated.
31072 (grub_sfs_dir): Likewise.
31073
9a909877 310742005-10-09 Marco Gerards <mgerards@xs4all.nl>
31075
31076 Add support for the SFS filesystem.
31077
31078 * fs/sfs.c: New file.
31079
31080 * DISTLIST: Added `fs/sfs.c'.
31081
31082 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31083 (grub_probefs_SOURCES): Likewise.
31084 (grub_emu_SOURCES): Likewise.
31085 (pkgdata_MODULES): Add `sfs.mod'.
31086 (sfs_mod_SOURCES): New variable.
31087 (sfs_mod_CFLAGS): Likewise.
31088 (sfs_mod_LDFLAGS): Likewise.
31089
31090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31091 (pkgdata_MODULES): Add `sfs.mod'.
31092 (sfs_mod_SOURCES): New variable.
31093 (sfs_mod_CFLAGS): Likewise.
31094
31095 * util/grub-emu.c (main): Call `grub_sfs_init' and
31096 `grub_sfs_fini'.
31097
31098 * include/grub/fs.h (grub_sfs_init): New prototype.
31099 (grub_sfs_fini): Likewise.
31100
57bdbde3 311012005-10-07 Marco Gerards <mgerards@xs4all.nl>
31102
31103 Add support for the AFFS filesystem.
31104
31105 * fs/affs.c: New file.
31106
31107 * DISTLIST: Added `fs/affs.c'.
31108
31109 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31110 (grub_probefs_SOURCES): Likewise.
31111 (grub_emu_SOURCES): Likewise.
31112 (pkgdata_MODULES): Add `affs.mod'.
31113 (affs_mod_SOURCES): New variable.
31114 (affs_mod_CFLAGS): Likewise.
31115 (affs_mod_LDFLAGS): Likewise.
31116
31117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31118 (pkgdata_MODULES): Add `affs.mod'.
31119 (affs_mod_SOURCES): New variable.
31120 (affs_mod_CFLAGS): Likewise.
31121
31122 * util/grub-emu.c (main): Call `grub_affs_init' and
31123 `grub_affs_fini'.
31124
31125 * include/grub/fs.h (grub_affs_init): New prototype.
31126 (grub_affs_fini): Likewise.
31127
047b67e0 311282005-10-01 Marco Gerards <mgerards@xs4all.nl>
31129
31130 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31131
59b8208a 311322005-10-01 Marco Gerards <mgerards@xs4all.nl>
31133
31134 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31135 `-m32' to CFLAGS.
31136
31137 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31138 linking.
f19dbdb7 31139
59b8208a 31140 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31141 (COMMON_LDFLAGS): New variable.
31142 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31143 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31144 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31145 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31146 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31147 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31148 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31149 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31150 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31151 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31152 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31153 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31154 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31155 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31156 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31157 variables.
31158 (normal_mod_ASFLAGS): Add `-m32'.
31159
31160 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31161 (grub_host_size_t, grub_host_ssize_t): New types.
31162 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 31163 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 31164 `GRUB_HOST_SIZEOF_VOID_P'.
31165
31166 * include/grub/kernel.h (struct grub_module_header): Type of
31167 member offset changed to `grub_host_off_t'. Type of member size
31168 changed to `grub_host_size_t'.
31169 (struct grub_module_info): Type of member offset changed to
31170 `grub_host_off_t'. Type of member size changed to
31171 `grub_host_size_t'.
31172
b4093103 311732005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31174
31175 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 31176
b4093103 31177 * kern/i386/pc/startup.S (multiboot_header): New label.
31178 (multiboot_entry): Likewise.
31179 (multiboot_trampoline): Likewise.
31180
31181 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31182 Increased to 0x4A0.
31183
31184 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31185 put parentheses after a question mark.
31186 [!GRUB_UTIL] (my_mod): New variable.
31187
31188 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31189
b2499b29 311902005-09-28 Marco Gerards <mgerards@xs4all.nl>
31191
31192 Adds support for the XFS filesystem. Btrees are not supported
31193 yet.
31194
31195 * fs/xfs.c: New file.
31196
31197 * DISTLIST: Added `fs/xfs.c'.
31198
31199 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31200 (grub_probefs_SOURCES): Likewise.
31201 (grub_emu_SOURCES): Likewise.
31202 (pkgdata_MODULES): Add `xfs.mod'.
31203 (xfs_mod_SOURCES): New variable.
31204 (xfs_mod_CFLAGS): Likewise.
31205
31206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31207 (pkgdata_MODULES): Add `xfs.mod'.
31208 (xfs_mod_SOURCES): New variable.
31209 (xfs_mod_CFLAGS): Likewise.
31210
31211 * util/grub-emu.c (main): Call `grub_xfs_init' and
31212 `grub_xfs_fini'.
31213
31214 * include/grub/fs.h (grub_xfs_init): New prototype.
31215 (grub_xfs_fini): Likewise.
31216
f19dbdb7 31217
83d37a62 312182005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31219
31220 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31221 color modes, allow greater than 16 colors to be configured as
31222 a default palette.
31223
47d2d65e 312242005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31225
31226 * normal/completion.c (complete_arguments): Add the qualifier
31227 const into OPTIONS.
31228
31229 From Omniflux <omniflux+lists@omniflux.com>:
31230 * include/grub/terminfo.h: New file.
31231 * include/grub/tparm.h: Likewise.
31232 * include/grub/i386/pc/serial.h: Likewise.
31233 * term/terminfo.c: Likewise.
31234 * term/tparm.c: Likewise.
31235 * term/i386/pc/serial.c: Likewise.
31236 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31237 serial.mod.
31238 (terminfo_mod_SOURCES): New variable.
31239 (terminfo_mod_CFLAGS): Likewise.
31240 (serial_mod_SOURCES): Likewise.
31241 (serial_mod_CFLAGS): Likewise.
31242
48b671ff 312432005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31244
31245 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31246 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31247 and kern/powerpc/ieee1275/cmain.c, respectively.
31248
31249 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31250 * kern/powerpc/ieee1275/crt0.S: ... here.
31251
31252 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31253 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 31254
48b671ff 31255 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31256 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31257 instead of boot/powerpc/ieee1275/crt0.S and
31258 boot/powerpc/ieee1275/cmain.c, respectively.
31259
31260 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31261 sectors. It was not used anyway.
31262
09fc77a7 312632005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31264
31265 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31266 `unused parameter' warning.
31267
003789c7 312682005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31269
31270 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31271 function.
31272 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31273 getcharwidth.
31274
67f44c86 312752005-08-28 Marco Gerards <metgerards@student.han.nl>
31276
31277 * include/grub/normal.h (enum grub_completion_type): Added
31278 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31279
31280 * normal/cmdline.c (print_completion): Handle
31281 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31282 * normal/menu_entry.c (store_completion): Likewise.
31283
31284 * normal/completion.c (complete_arguments): New function.
31285 (grub_normal_do_completion): Call `complete_arguments' when the
31286 current words start with a dash.
31287
0b5abe02 312882005-08-27 Marco Gerards <metgerards@student.han.nl>
31289
31290 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31291 `gzio.mod' instead of `io.mod').
31292
d9864ee1 312932005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31294
31295 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31296 (DISTDIRS): Added io and video.
31297 Rewrite the search routine to make an output consistently.
31298
31299 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31300 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31301 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31302 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31303 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31304 util/powerpc/ieee1275/misc.c.
f19dbdb7 31305
d9864ee1 31306 * include/grub/gzio.h: New file.
31307 * io/gzio.c: Likewise.
f19dbdb7 31308
d9864ee1 31309 * kern/file.c (grub_file_close): Call grub_device_close only if
31310 FILE->DEVICE is not NULL.
31311
31312 * include/grub/mm.h [!NULL] (NULL): New macro.
31313
31314 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31315
31316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31317 (pkgdata_MODULES): Added gzio.mod.
31318 (gzio_mod_SOURCES): New variable.
31319 (gzio_mod_CFLAGS): Likewise.
31320
31321 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31322 (pkgdata_MODULES): Added gzio.mod.
31323 (gzio_mod_SOURCES): New variable.
31324 (gzio_mod_CFLAGS): Likewise.
31325
31326 * commands/cat.c: Include grub/gzio.h.
31327 (grub_cmd_cat): Use grub_gzfile_open instead of
31328 grub_file_open.
f19dbdb7 31329
d9864ee1 31330 * commands/cmp.c: Include grub/gzio.h.
31331 (grub_cmd_cmp): Use grub_gzfile_open instead of
31332 grub_file_open.
31333
31334 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31335 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31336 grub_file_open.
31337 (grub_rescue_cmd_module): Likewise.
31338
fa46f4b5 313392005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31340
31341 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31342 kern/sparc64/ieee1275/init.c because it contains _start.
31343 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31344
e9211b5d 313452005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31346
31347 * configure.ac: Add support for sparc64 host with ieee1275
31348 firmware.
31349 * configure: Generated from configure.ac.
31350 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31351 instead of int.
31352 (grub_ofdisk_read): Likewise.
31353 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31354 pointers as (void *) to remove a warning.
31355 (grub_ofdisk_close): Likewise.
31356 (grub_ofdisk_read): Likewise.
31357 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31358 returns, so make it return void to remove a warning.
31359 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31360 Corresponding prototype change.
31361 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31362 values, and cast the pointers as (void *) to remove a warning.
31363 (grub_mm_dump): Likewise.
31364 * conf/sparc64-ieee1275.mk: New file.
31365 * conf/sparc64-ieee1275.rmk: Likewise.
31366 * include/grub/sparc64/setjmp.h: Likewise.
31367 * include/grub/sparc64/types.h: Likewise.
31368 * include/grub/sparc64/ieee1275/console.h: Likewise.
31369 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31370 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31371 * include/grub/sparc64/ieee1275/time.h: Likewise.
31372 * kern/sparc64/cache.c: Likewise.
31373 * kern/sparc64/dl.c: Likewise.
31374 * kern/sparc64/ieee1275/init.c: Likewise.
31375 * kern/sparc64/ieee1275/openfw.c: Likewise.
31376
385c6a92 313772005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31378
31379 * util/console.c (grub_ncurses_putchar): If C is greater than
31380 0x7f, set C to a question mark.
31381 (grub_ncurses_getcharwidth): New function.
31382 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31383 getcharwidth.
31384
31385 * normal/menu.c (print_entry): Made aware of Unicode. First,
31386 convert TITLE to UCS-4, and predict the cursor position by
31387 grub_getcharwidth.
31388
31389 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31390 const to SRC.
31391 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31392
16ccb8b1 313932005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31394
31395 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31396 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31397 grub_strcat.
31398
31399 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31400 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31401 grub_strcpy and grub_strlen. Take it into account that a space
31402 character is inserted as a delimiter.
31403
6a85ce79 314042005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31405
31406 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 31407 invalid magic in the error.
6a85ce79 31408
31409 * commands/search.c: New file.
f19dbdb7 31410
6a85ce79 31411 * util/grub-emu.c (main): Call grub_search_init and
31412 grub_search_fini.
31413
31414 * kern/rescue.c (grub_rescue_print_disks): Removed.
31415 (grub_rescue_print_devices): New function.
31416 (grub_rescue_cmd_ls): Use grub_device_iterate with
31417 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31418 grub_rescue_print_disks.
31419
31420 * kern/partition.c (grub_partition_iterate): Return the result of
31421 PARTMAP->ITERATE instead of GRUB_ERRNO.
31422
31423 * kern/device.c: Include grub/partition.h.
31424 (grub_device_iterate): New function.
31425
31426 * include/grub/partition.h (grub_partition_iterate): Return int
31427 instead of grub_err_t.
31428
31429 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31430 prototype.
31431 [GRUB_UTIL] (grub_search_fini): Likewise.
31432
31433 * include/grub/device.h (grub_device_iterate): New prototype.
31434
31435 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31436 commands/search.c.
31437 (pkgdata_MODULES): Added search.mod.
31438 (search_mod_SOURCES): New variable.
31439 (search_mod_CFLAGS): Likewise.
31440
31441 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31442 (pkgdata_MODULES): Added search.mod.
31443 (search_mod_SOURCES): New variable.
31444 (search_mod_CFLAGS): Likewise.
31445
31446 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31447 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31448 All callers changed.
31449
31450 * DISTLIST: Added commands/search.c.
31451
ef095434 314522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31453
31454 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31455 conversion.
31456 (grub_getcharwidth): New function.
31457
31458 * kern/misc.c (grub_utf8_to_ucs4): New function.
31459
31460 * include/grub/term.h (struct grub_term): Added a new member
31461 "getcharwidth".
31462 (grub_getcharwidth): New prototype.
31463
31464 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31465
31466 * term/i386/pc/console.c (map_char): New function. Segregated from
31467 grub_console_putchar.
31468 (grub_console_putchar): Use map_char.
31469 (grub_console_getcharwidth): New function.
31470 (grub_console_term): Specified grub_console_getcharwidth as
31471 getcharwidth.
31472
31473 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31474 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31475
31476 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31477 GRUB_ERRNO.
31478 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31479 on grub_strtoul completely.
31480 (write_char): Declare local variables in the beginning of the
31481 function.
31482 (grub_vesafb_getcharwidth): New function.
31483 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31484 getcharwidth.
31485
1f0a95e4 314862005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31487
31488 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31489 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31490 commands/i386/pc/vbetest.c.
31491
31492 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31493 call grub_vbe_get_controller_info again, because the returned
31494 information is volatile.
31495 (grub_vbe_set_video_mode): Mostly rewritten.
31496 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31497 grub_vbe_status_t correctly.
31498 (grub_vbe_get_video_mode_info): Likewise.
31499 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31500 several if statements.
31501
31502 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31503 * commands/i386/pc/vbeinfo.c: ... this.
31504
31505 * commands/i386/pc/vbe_test.c: Renamed to ...
31506 * commands/i386/pc/vbetest.c: ... this.
31507
31508 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31509 ...
31510 (grub_cmd_vbeinfo): ... this. Save video modes before
31511 iterating. Skip a video mode, if it is not available, not enough
31512 information is given or it is monochrome. Show the memory
31513 model. Leave the interpretation of MODEVAR to grub_strtoul
31514 completely.
31515 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31516 (GRUB_MOD_FINI): Likewise.
31517
31518 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31519 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31520 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31521 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31522 grub_strtoul completely.
31523 (real2pm): Removed.
31524 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31525 (GRUB_MOD_FINI): Likewise.
31526
31527 * normal/misc.c: Include grub/mm.h.
31528
31529 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31530 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31531 (vbe_list_modes_mod_SOURCES): Removed.
31532 (vbe_list_modes_mod_CFLAGS): Likewise.
31533 (vbe_test_mod_SOURCES): Likewise.
31534 (vbe_test_mod_CFLAGS): Likewise.
31535 (vbeinfo_mod_SOURCES): New variable.
31536 (vbeinfo_mod_CFLAGS): Likewise.
31537 (vbetest_mod_SOURCES): Likewise.
31538 (vbetest_mod_CFLAGS): Likewise.
31539
992ffbbe 315402005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31541
31542 * normal/misc.c: New file.
31543
31544 * DISTLIST: Added normal/misc.c.
f19dbdb7 31545
992ffbbe 31546 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31547 DISK to HOOK. Call HOOK with DISK.
31548 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31549 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31550 * partmap/sun.c (sun_partition_map_iterate): Likewise.
31551
31552 * normal/menu_entry.c (struct screen): Added a new member
31553 "completion_shown".
31554 (completion_buffer): New global variable.
31555 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
31556 (store_completion): New function.
31557 (complete): Likewise.
31558 (clear_completions): Likewise.
31559 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
31560 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
31561 a tab, call complete.
31562
31563 * normal/completion.c (disk_dev): Removed.
31564 (print_simple_completion): Likewise.
31565 (print_partition_completion): Likewise.
31566 (print_func): New global variable.
31567 (add_completion): Do not take the arguments WHAT or PRINT any
31568 longer. Added a new argument TYPE. Instead of printing directly,
31569 call PRINT_FUNC if not NULL.
31570 All callers changed.
31571 (complete_device): Use a local variable DEV instead of
31572 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
31573 (grub_normal_do_completion): Take a new argument HOOK. Do not
31574 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
31575 empty string, return NULL instead.
31576 All callers changed.
31577
31578 * normal/cmdline.c (print_completion): New function.
31579
31580 * kern/partition.c (grub_partition_iterate): Add an argument DISK
31581 to HOOK.
31582 All callers changed.
31583
31584 * kern/disk.c (grub_print_partinfo): Removed.
31585
31586 * include/grub/partition.h (struct grub_partition_map): Add a new
31587 argument DISK into HOOK of ITERATE.
31588 (grub_partition_iterate): Add a new argument DISK to HOOK.
31589
31590 * include/grub/normal.h (enum grub_completion_type): New enum.
31591 (grub_completion_type_t): New type.
31592 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
31593 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
31594 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
31595 (GRUB_COMPLETION_TYPE_FILE): Likewise.
31596 (grub_normal_do_completion): Added a new argument HOOK.
31597 (grub_normal_print_device_info): New prototype.
31598
31599 * include/grub/disk.h (grub_print_partinfo): Removed.
31600
31601 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
31602 (normal_mod_SOURCES): Likewise.
31603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31604 (normal_mod_SOURCES): Likewise.
31605
31606 * commands/ls.c (grub_ls_list_disks): Use
31607 grub_normal_print_device_info instead of grub_print_partinfo. Free
31608 PNAME.
31609 (grub_ls_list_files): Use grub_normal_print_device_info instead of
31610 duplicating the code.
31611
0bd41162 316122005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31613
31614 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 31615 follow GCS more precisely.
31616 * commands/i386/pc/vbe_test.c: Likewise.
31617 * include/grub/i386/pc/vbe.h: Likewise.
31618 * term/i386/pc/vesafb.c: Likewise.
31619 * video/i386/pc/vbe.c: Likewise.
0bd41162 31620
6323696a 316212005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
31622
31623 * DISTLIST: Added term/i386/pc/vesafb.c
31624 DISTLIST: Added video/i386/pc/vbe.c
31625 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
31626 DISTLIST: Added commands/i386/pc/vbe_test.c.
31627 * commands/i386/pc/vbe_list_modes.c: New file.
31628 * commands/i386/pc/vbe_test.c: Likewise.
31629 * term/i386/pc/vesafb.c: Likewise.
31630 * video/i386/pc/vbe.c: Likewise.
31631 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
31632 (grub_vbe_probe) Added prototype.
31633 (grub_vbe_set_video_mode) Likewise.
31634 (grub_vbe_get_video_mode) Likewise.
31635 (grub_vbe_get_video_mode_info) Likewise.
31636 (grub_vbe_set_pixel_rgb) Likewise.
31637 (grub_vbe_set_pixel_index) Likewise.
31638 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
31639 (pkgdata_MODULES): Added vesafb.mod.
31640 (pkgdata_MODULES): Added vbe_list_modes.mod.
31641 (pkgdata_MODULES): Added vbe_test.mod.
31642 (vbe_mod_SOURCES): Added.
31643 (vbe_mod_CFLAGS): Likewise.
31644 (vesafb_mod_SOURCES): Likewise.
31645 (vesafb_mod_CFLAGS): Likewise.
31646 (vbe_list_modes_mod_SOURCES): Likewise.
31647 (vbe_list_modes_mod_CFLAGS): Likewise.
31648 (vbe_test_mod_SOURCES): Likewise.
31649 (vbe_test_mod_CFLAGS): Likewise.
31650
0a74e62f 316512005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
31652
0a74e62f 31653 * normal/command.c (grub_command_execute): If INTERACTIVE is
31654 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
31655 CMDLINE. Disable the pager if INTERACTIVE is true.
31656 All callers are changed.
31657
31658 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
31659 before reading a config file.
31660 * normal/main.c (read_config_file): Even if a command is not
31661 found, register it if it is within an entry.
31662
31663 * util/grub-emu.c: Include sys/types.h and unistd.h.
31664 (options): Added --hold.
31665 (struct arguments): Added a new member "hold".
31666 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
31667 missing.
31668 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
31669 cleared by a debugger, if it is not zero.
31670
31671 * include/grub/normal.h (grub_command_execute): Add an argument
31672 INTERACTIVE.
31673
e51f85ae 316742005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
31675
31676 * DISTLIST: Added include/grub/i386/pc/vbe.h.
31677
e9c6f39b 316782005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
31679
31680 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
31681 program with another one, because the old one didn't detect a bug
31682 in gcc-3.4. Always use regparm 2, because the new test is still
31683 not enough for gcc-4.0. Someone must investigate a simple test
31684 case which detects a bug in gcc-4.0.
31685
8de3495c 316862005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
31687
31688 * DISTLIST: Added normal/completion.c.
31689
31690 * normal/completion.c: New file.
f19dbdb7 31691
8de3495c 31692 * term/i386/pc/console.c (grub_console_getwh): New function.
31693 (grub_console_term): Assign grub_console_getwh to getwh.
31694
31695 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
31696 function is defined in normal/completion.c as
31697 grub_normal_do_completion.
31698 (grub_cmdline_get): Use grub_normal_do_completion instead of
31699 grub_tab_complete.
31700
31701 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
31702 returns non-zero, otherwise return 0.
31703 (grub_partition_iterate): First, probe the partition map. Then,
31704 call ITERATE only for this partition map.
31705
31706 * kern/misc.c (grub_strncmp): Rewritten.
31707
31708 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
31709 returns non-zero. Otherwise return 0.
31710
31711 * include/grub/partition.h (grub_partition_map_iterate): Return
31712 int instead of void.
31713
31714 * include/grub/normal.h (grub_normal_do_completion): New prototype.
31715
31716 * include/grub/misc.h (grub_strncmp): Change the type of N to
31717 grub_size_t.
31718
31719 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
31720 of void.
31721
31722 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 31723 unsigned explicitly before comparing it with I.
8de3495c 31724
31725 * kern/main.c (grub_env_write_root): Add the attribute unused into
31726 VAR.
31727
31728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31729 normal/completion.c.
31730 (normal_mod_SOURCES): Likewise.
31731 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31732 (normal_mod_SOURCES): Likewise.
31733
31734 * normal/command.c (grub_iterate_commands): If ITERATE returns
31735 non-zero, return one immediately.
31736
e85e144b 317372005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
31738
31739 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
31740 * kern/i386/pc/startup.S: Updated Global Descriptor table's
31741 descriptions.
31742 (grub_vbe_get_controller_info): New function.
31743 (grub_vbe_get_mode_info): Likewise.
31744 (grub_vbe_set_mode): Likewise.
31745 (grub_vbe_get_mode): Likewise.
31746 (grub_vbe_set_memory_window): Likewise.
31747 (grub_vbe_get_memory_window): Likewise.
31748 (grub_vbe_set_scanline_length): Likewise.
31749 (grub_vbe_get_scanline_length): Likewise.
31750 (grub_vbe_set_display_start): Likewise.
31751 (grub_vbe_get_display_start): Likewise.
31752 (grub_vbe_set_palette_data): Likewise.
31753 * include/grub/i386/pc/vbe.h: New file.
31754
c46153d2 317552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31756
31757 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31758 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
31759 * DISTLIST: Likewise.
31760 * kern/ieee1275/of.c: Moved to ...
31761 * kern/ieee1275/ieee1275.c: ... here.
31762
0cb90c45 317632005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31764
31765 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
31766 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
31767 Pass 0 as `end' parameter to grub_strtoul().
31768
a19fb360 317692005-08-08 Hollis Blanchard <hollis@penguinppc.org>
31770
31771 * include/grub/powerpc/ieee1275/console.h: Do not include
31772 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
31773 ifdef.
31774 (grub_console_cur_color): Remove i386-specific prototype.
31775 (grub_console_real_putchar): Likewise.
31776 (grub_console_checkkey): Likewise.
31777 (grub_console_getkey): Likewise.
31778 (grub_console_getxy): Likewise.
31779 (grub_console_gotoxy): Likewise.
31780 (grub_console_cls): Likewise.
31781 (grub_console_setcursor): Likewise.
31782 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
31783 Include <grub/machine/console.h>.
31784 * term/ieee1275/ofconsole.c: Likewise.
31785
4ac9bd04 317862005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
31787
31788 * Makefile.in (LIBLZO): New variable.
31789
31790 * configure.ac: Check for LZO version 2.
31791
31792 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
31793 lzo/lzo1x.h instead of lzo1x.h.
31794
31795 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
31796 of -llzo.
31797
31798 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
31799 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
31800
31801 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
31802 copying the data from PARTITION to P.
31803
f4917dfd 318042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31805
31806 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
31807 negative, unload the module.
31808
31809 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
31810 map is "pc_partition_map" but not "pc".
31811 (usage): Fix the description. The options are --boot-image and
31812 --core-image but not --boot-file or --core-file.
31813 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
31814 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
31815 DEFAULT_DIRECTORY.
31816
31817 * util/i386/pc/grub-install.in: Do not specify --boot-file or
31818 --core-file. Specify INSTALL_DEVICE as an argument.
31819
31820 * util/console.c: Include config.h.
31821 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
31822 [HAVE_NCURSES_H]: Include ncurses.h.
31823 [HAVE_CURSES_H]: Include curses.h.
31824 [!A_NORMAL] (A_NORMAL): Defined as zero.
31825 [!A_STANDOUT] (A_STANDOUT): Likewise.
31826
31827 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
31828 -lncurses.
31829 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
31830
31831 * configure.ac: Check for curses libraries and headers.
31832
31833 * Makefile.in (LIBCURSES): New variable.
31834
31835 * genmk.rb (Script::rule): Set the executable bits.
31836
31837 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
31838 name of the PC partition map is "pc_partition_map" but not "pc".
31839
0e143073 318402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31841
31842 * util/i386/pc/grub-install.in (grub_probefs): New variable.
31843 (modules): Likewise.
31844 (usage): Added descriptions for --modules and --grub-probefs.
31845 Handle --modules and --grub-probefs. Save the arguments in MODULES
31846 and GRUB_PROBEFS, respectively.
31847 Auto-detect a filesystem module against GRUBDIR. If the result is
31848 empty and modules are not specified explicitly, abort the
31849 installation. Add the result to MODULES.
31850
31851 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
31852 disk/powerpc/ieee1275/ofdisk.c,
31853 include/grub/powerpc/ieee1275/init.h and
31854 term/powerpc/ieee1275/ofconsole.c.
31855 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
31856 term/ieee1275/ofconsole.c.
31857
31858 * include/grub/powerpc/ieee1275/console.h: Resurrected.
31859
31860 * COPYING: Upgraded to the latest version. Only the address of the
31861 FSF office has changed.
f19dbdb7 31862
efd6e6d5 318632005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
31864
31865 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
31866 kern/ieee1275.c with kern/ieee1275/of.c.
31867
31868 * kern/ieee1275.c: Moved to ...
31869 * kern/ieee1275/of.c: ... here.
31870
8ceafda2 318712005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
31872
31873 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 31874 readability.
8ceafda2 31875
31876 * config.guess: Updated to the latest version from gnulib.
31877 * config.sub: Likewise.
31878 * install.sh: Likewise.
31879 * mkinstalldirs: Likewise.
31880
31881 * include/grub/console.h: Removed. This file is arch-specific. Do
31882 not put this in include/grub.
31883
31884 * include/grub/i386/pc/console.h: Resurrected.
31885
31886 * util/console.c: Include grub/machine/console.h instead of
31887 grub/console.h.
31888 * util/grub-emu.c: Likewise.
31889
267f6cd9 318902005-08-04 Marco Gerards <metgerards@student.han.nl>
31891
31892 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
31893 hardcoded value.
f19dbdb7 31894
267f6cd9 31895 From Vincent Pelletier <subdino2004@yahoo.fr>
31896 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
31897 Redefined to use grub_getwh.
31898 (grub_term): New member named getwh.
31899 (grub_getwh): New prototype.
31900 * kern/term.c (grub_getwh): New function.
31901 * term/i386/pc/console.c (grub_console_getwh): New function.
31902 (grub_console_term): New member `getwh'.
31903 * term/i386/pc/vga.c (grub_vga_getwh): New function.
31904 (grub_vga_term): New member `getwh'.
0b5abe02 31905 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 31906 grub_ssize_t.
31907 (grub_ofconsole_getw): New function.
31908 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
31909 (grub_ofconsole_term): New field named getwh and new initial
31910 value.
31911
3be7266d 319122005-08-03 Hollis Blanchard <hollis@penguinppc.org>
31913
31914 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
31915 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
31916 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
31917 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
31918 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
31919 of <grub/machine/ieee1275.h>.
31920 * commands/ieee1275/reboot.c: Likewise.
31921 * boot/powerpc/ieee1275/ieee1275.c: Move ...
31922 * kern/ieee1275.c: ... to here. All users updated. Change all
31923 parameter structs to use new type `grub_ieee1275_cell_t'.
31924 * term/powerpc/ieee1275/ofconsole.c: Move ...
31925 * term/ieee1275/ofconsole.c: ... to here. All users updated.
31926 * disk/powerpc/ieee1275/ofdisk.c: Move ...
31927 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
31928 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
31929 to return int.
31930 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
31931 Remove unused prototypes. All users updated.
31932 * include/grub/powerpc/ieee1275/console.h: Removed.
31933 * include/grub/powerpc/ieee1275/ieee1275.h: Define
31934 `grub_ieee1275_cell_t'.
31935 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
31936 Cast comparisons with -1 to the correct type.
31937 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
31938 type to match `grub_ieee1275_entry_fn'.
31939
8b5f3938 319402005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
31941
31942 * DISTLIST: Added util/i386/pc/grub-probefs.c.
31943
31944 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
31945 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
31946 partmap/sun.c.
31947 (grub_probefs_SOURCES): New variable.
31948
31949 * util/i386/pc/grub-probefs.c: New file.
31950
31951 * util/i386/pc/grub-setup.c (main): Call
31952 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
31953 grub_hfs_init and grub_jfs_init to initialize the system. Call
31954 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
31955 grub_pc_partition_map_fini to finish the system.
31956
ea409713 319572005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
31958
31959 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
31960 function.
31961 (grub_multiboot_load_elf32): Likewise.
31962 (grub_multiboot_is_elf64): Likewise.
31963 (grub_multiboot_load_elf64): Likewise.
31964 (grub_multiboot_load_elf): Likewise.
31965 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
31966 an ELF32 or ELF64 file.
31967 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
31968
31969 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
31970 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
31971 NULL before calling FS->LABEL.
31972 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
31973 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
31974 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
31975 before calling FS->LABEL.
31976
141a288b 319772005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
31978
31979 * util/i386/pc/grub-install.in (datadir): New variable.
31980 (libdir): Removed.
31981 (pkgdatadir): New variable.
31982 (pkglibdir): Removed.
31983
0d5f8a54 319842005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
31985
31986 * DISTLIST: Added util/i386/pc/grub-install.in.
31987
31988 * util/i386/pc/grub-install.in: New file.
31989
31990 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
31991 (grub_install_SOURCES): Likewise.
31992
31993 * genmk.rb: Added support for scripts.
31994 (Script): New class.
31995 (scripts): New variable.
31996
31997 * Makefile.in (install-local): Install sbin_SCRIPTS by
31998 INSTALL_SCRIPT.
31999 (uninstall): Remove sbin_SCRIPTS.
32000
32001 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32002 device, try to get a GRUB device by
32003 grub_util_biosdisk_get_grub_dev.
32004 Free DEST_DEV.
32005
32006 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32007 description for --device-map.
32008
5f968e1e 320092005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32010
32011 Change the semantics of variable hooks. They now return strings
32012 instead of error values.
f19dbdb7 32013
5f968e1e 32014 * util/i386/pc/grub-setup.c: Include grub/env.h.
32015 (setup): Use grub_device_set_root instead of grub_env_set.
32016
32017 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32018 grub_env_get instead of grub_device_set_root and
32019 grub_device_get_root, respectively.
32020
32021 * kern/main.c (grub_env_write_root): New function.
32022 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32023 grub_env_set instead of grub_device_set_root.
32024
32025 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32026 many variables.
32027 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32028 rather than calling ENV->WRITE_HOOK afterwards.
32029 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32030 passing a pointer of a pointer.
32031 (grub_register_variable_hook): Change the types of "read_hook" and
32032 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32033 respectively.
32034 Allocate the default empty string on the heap, because this string
32035 may be freed later.
32036
32037 * kern/device.c: Include grub/env.h.
32038 (grub_device_set_root): Removed.
32039 (grub_device_get_root): Likewise.
32040 (grub_device_open): Use grub_env_get instead of
32041 grub_device_get_root.
32042
32043 * include/grub/env.h (grub_env_read_hook_t): New type.
32044 (grub_env_write_hook_t): Likewise.
32045 (grub_env_var): Change the types of "read_hook" and "write_hook"
32046 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32047 (grub_register_variable_hook): Likewise.
32048
32049 * include/grub/device.h (grub_device_set_root): Removed.
32050 (grub_device_set_root): Likewise.
32051
32052 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32053 make sure that DIRNAME terminates with '/', so that
32054 grub_fat_find_dir will fail if PATH is not a directory.
32055
32056 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32057 from DIRNAME.
32058 Use the qualifier auto for print_files and print_files_long.
32059 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32060 as a regular file.
32061 Put a newline only if there is no error.
32062 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32063 used.
32064
896f0afd 320652005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32066
32067 * kern/partition.c (grub_partition_probe): Initialize PART to
32068 NULL. Otherwise, when no partition map is registered, this returns
32069 a garbage.
32070
b28b81b2 320712005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32072
32073 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32074 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32075 valid.
32076
5f3607e0 320772005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32078
32079 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32080 information on each device, if it does not have partitions. Print
32081 "Device" instead of "Disk", because this function is not specific
32082 to disk devices.
32083
32084 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32085 static to ensure that it is put on the memory rather than a
32086 register.
32087
502c87e8 320882005-07-17 Yoshinori Okuji <okuji@enbug.org>
32089
32090 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32091 (grub_cat_init): Likewise.
32092 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32093 (options): Likewise.
32094 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32095 (grub_configfile_init): Likewise.
32096 * font/manager.c (GRUB_MOD_INIT): Likewise.
32097 * commands/help.c (GRUB_MOD_INIT): Likewise.
32098 (grub_help_init): Likewise.
32099 * normal/command.c (grub_command_init): Likewise.
32100 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32101 * disk/loopback.c (grub_loop_init): Likewise.
32102 (GRUB_MOD_INIT): Likewise.
32103 * commands/ls.c (grub_ls_init): Likewise.
32104 (GRUB_MOD_INIT): Likewise.
32105 (options): Likewise.
32106 * commands/boot.c (grub_boot_init): Likewise.
32107 (GRUB_MOD_INIT): Likewise.
32108 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32109 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32110 (GRUB_MOD_INIT): Likewise.
32111 * commands/cmp.c (grub_cmp_init): Likewise.
32112 (GRUB_MOD_INIT): Likewise.
32113
32114 * normal/arg.c: Use <> instead of "" to include header files.
32115 (SHORT_ARG_HELP): New macro.
32116 (SHORT_ARG_USAGE): Likewise.
32117 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32118 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32119 descriptions.
32120 (find_short): Check if C is 'h' or 'u' explicitly.
32121 (grub_arg_show_help): Use space characters instead of tabs. Treat
32122 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32123 are shown with --help and --usage only if they are not used for
32124 the command itself.
32125 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32126 'h' and 'u'.
32127
32128 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32129 const into "longarg". Change the type of "shortarg" to int.
32130
f806d18e 321312005-07-17 Yoshinori Okuji <okuji@enbug.org>
32132
32133 * boot/i386/pc/boot.S (boot_drive_check): New label.
32134
32135 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32136 macro.
32137
32138 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32139 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32140
e293232b 321412005-07-17 Yoshinori Okuji <okuji@enbug.org>
32142
32143 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32144 When turning off Gate A20, skip the check and return immediately,
32145 because this is not fatal usually.
32146
ebedfd00 321472005-07-17 Yoshinori Okuji <okuji@enbug.org>
32148
32149 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32150 be 0x7C00 instead of 0x8000.
32151
32152 * boot/i386/pc/pxeboot.S: Rewritten.
32153
32154 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32155 EXT_C.
32156 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32157 result.
32158
654fc59f 321592005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32160
32161 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32162 robustness. This routine now supports a BIOS call and System
32163 Control Port A to modify the gate A20.
32164
32165 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32166 Increased to 0x440.
32167
09f9923f 321682005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32169
32170 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32171 device path and resulting ihandle.
32172 (grub_ofdisk_close): dprintf the ihandle being closed.
32173 (grub_ofdisk_read): dprintf function parameters.
32174 * kern/mm.c (grub_mm_init_region): Likewise.
32175 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32176 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32177 size, and boot arguments.
32178 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32179 before loading into memory.
32180 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32181 before loading into memory.
32182
7ef504d8 321832005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32184
32185 * kern/mm.c: Added much documentation.
32186 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32187 8, set to 5 instead of 8.
32188
e0f050c2 321892005-07-10 Yoshinori Okuji <okuji@enbug.org>
32190
32191 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32192
32193 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32194 (grub_mkdevicemap_SOURCES): New variable.
32195
32196 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32197 lib/device.c of GRUB Legacy.
32198
7224189a 321992005-07-10 Yoshinori Okuji <okuji@enbug.org>
32200
32201 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32202 instead of PATH is NULL.
32203
68c864eb 322042005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32205
32206 * commands/cmp.c (BUFFER_SIZE): New macro.
32207 (grub_cmd_cmp): Close the right file at the right time. Compare
32208 only data just read. Don't report files of different size as
32209 identical. Dynamically allocate buffers. Move variable
32210 declarations at the beginning of function.
32211
e6f3e614 322122005-07-09 Yoshinori Okuji <okuji@enbug.org>
32213
32214 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32215 reverse.
32216
f8f1559a 322172004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32218
32219 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32220 when backspace is pressed at beginning of line.
32221
39c9d41d 322222005-07-03 Yoshinori Okuji <okuji@enbug.org>
32223
32224 * DISTLIST: Added genfslist.sh.
32225
32226 * normal/main.c (fs_module_list): New variable.
32227 (autoload_fs_module): New function.
32228 (read_fs_list): Likewise.
32229 (grub_normal_execute): Call read_fs_list.
32230
32231 * kern/fs.c (grub_fs_autoload_hook): New variable.
32232 (grub_fs_probe): Added support for auto-loading.
32233
32234 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32235 (grub_fs_module_list_t): New type.
32236
32237 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32238 (grub_fs_autoload_hook): New prototype.
32239
32240 * genfslist.sh: New file.
f19dbdb7 32241
39c9d41d 32242 * genmk.rb: Added a rule to generate a filesystem list.
32243
121c1d83 322442005-06-30 Marco Gerards <metgerards@student.han.nl>
32245
32246 * configure.ac: Fix the test for cross-compiling.
32247
32248 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32249 define GRUB_UTIL anymore.
32250
32251 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32252 so this function works on other systems than just big endian.
32253 (load_modules): Likewise.
32254 (add_segments): Likewise.
32255
e75d76e1 322562005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32257
32258 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32259 contains `l' modifier, get a long from va_arg().
32260
50b5a0a7 322612005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32262
32263 * kern/mm.c (grub_free): If the next free block which is being
32264 merged is the first free block, set the first block to the block
32265 being freed.
32266 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32267
89371b20 322682005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32269
32270 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32271 `grub_ieee1275_chosen'.
32272
168d6e58 322732005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32274
32275 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32276 (grub_ieee1275_chosen): New variable.
32277 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32278 `chosen'.
32279 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32280 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32281 Rename first argument to `phandle' for consistency.
32282 (grub_ieee1275_get_property_length): Likewise.
32283 (grub_ieee1275_next_property): Likewise. Change type of first argument
32284 to grub_ieee1275_phandle_t.
32285 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32286 Move export next to declaration.
32287 (grub_ieee1275_chosen): New variable.
32288 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32289 Correct cosmetic typo.
32290 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32291 `grub_ieee1275_chosen'.
32292 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32293 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32294 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32295 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32296 `grub_ieee1275_chosen'.
32297
ca5baa3f 322982005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32299
32300 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32301 /chosen/bootargs.
32302 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32303 /chosen/bootargs as "variable=value" pairs.
32304
708b345f 323052005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32306
32307 * include/grub/misc.h (grub_dprintf): New macro.
32308 (grub_real_dprintf): New prototype.
32309 (grub_strword): Likewise.
32310 (grub_iswordseparator): Likewise.
32311 * kern/misc.c (grub_real_dprintf): New function.
32312 (grub_strword): Likewise.
32313 (grub_iswordseparator): Likewise.
32314
f4c5e67c 323152005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32316
32317 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32318 (roundup): Remove macro.
32319 (grub_ieee1275_flags): Make static.
32320 (grub_ieee1275_realmode): Remove.
32321 (grub_ieee1275_test_flag): New function.
32322 (grub_ieee1275_set_flag): Likewise.
32323 (find_options): Rename to `grub_ieee1275_find_options'; update
32324 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32325 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32326 (cmain): New prototype.
32327 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32328 `grub_ieee1275_flags' directly.
32329 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32330 machine/biosdisk.h.
32331 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32332 Don't include grub/machine/init.h.
32333 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32334 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32335 Remove prototype.
32336 (grub_ieee1275_realmode): Likewise.
32337 (grub_ieee1275_flag): New enum.
32338 (grub_ieee1275_test_flag): New prototype.
32339 (grub_ieee1275_set_flag): New prototype.
32340 * include/grub/powerpc/ieee1275/init.h: Remove file.
32341 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32342 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32343 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32344 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32345 comment.
32346 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32347 `grub_ieee1275_test_flag'.
32348 (grub_ieee1275_encode_devname): Likewise.
32349
ed16607e 323502005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32351
32352 * include/grub/powerpc/ieee1275/ieee1275.h
32353 (grub_ieee1275_encode_devname): New prototype.
32354 (grub_ieee1275_get_filename): Likewise.
32355 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32356 function.
32357 (grub_set_prefix): Likewise.
32358 (grub_machine_init): Call grub_set_prefix.
32359 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32360 (grub_parse_type): New enum.
32361 (grub_ieee1275_get_devargs): New function.
32362 (grub_ieee1275_get_devname): Likewise.
32363 (grub_ieee1275_parse_args): Likewise.
32364 (grub_ieee1275_get_filename): Likewise.
32365 (grub_ieee1275_encode_devname): Likewise.
32366
be369920 323672005-03-30 Marco Gerards <metgerards@student.han.nl>
32368
32369 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32370 `grub_loader_unset'.
32371
a5ce3a4a 323722005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32373
32374 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32375 instead of grub_ieee1275_interpret.
32376 (grub_halt_init): New function.
32377 (grub_halt_fini): Likewise.
32378 (GRUB_MOD_INIT): Correct message grammar.
32379 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32380 instead of grub_ieee1275_interpret.
32381 (grub_reboot_init): New function.
32382 (grub_reboot_fini): Likewise.
32383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32384 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32385 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32386 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32387 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32388 function.
32389 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32390 Add prototype.
32391 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32392 prototype.
32393 (grub_halt): Likewise.
32394 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32395 (cmain): Remove __attribute__((unused)).
32396 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32397 (grub_heap_len): Likewise.
32398 (grub_machine_fini): New function.
32399 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32400 (grub_halt): Likewise.
32401 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32402 function.
32403 * util/powerpc/ieee1275/misc.c: New file.
32404
0058f771 324052005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32406
32407 * DISTLIST: New file.
32408 * gendistlist.sh: Likewise.
f19dbdb7 32409
0058f771 32410 * Makefile.in (COMMON_DISTFILES): Removed.
32411 (BOOT_DISTFILES): Likewise.
32412 (CONF_DISTFILES): Likewise.
32413 (DISK_DISTFILES): Likewise.
32414 (FS_DISTFILES): Likewise.
32415 (INCLUDE_DISTFILES): Likewise.
32416 (KERN_DISTFILES): Likewise.
32417 (LOADER_DISTFILES): Likewise.
32418 (TERM_DISTFILES): Likewise.
32419 (UTIL_DISTFILES): Likewise.
32420 (DISTFILES): Likewise.
32421 (uninstall): Uninstall files in $(pkgdata_DATA).
32422 (DISTLIST): New target.
32423 (distdir): Use the contents of the file DISTLIST to get a list of
32424 distributed files.
32425
46b3b8a5 324262005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32427
32428 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32429 descriptor. This is ported from GRUB Legacy.
32430
32431 * gencmdlist.sh: Added an extra semicolon to make it work with
32432 old sed versions. Reported by Robert Bihlmeyer
32433 <robbe@orcus.priv.at>.
32434
5822ff87 324352005-03-08 Yoshinori Okuji <okuji@enbug.org>
32436
32437 Automatic loading of commands is supported.
f19dbdb7 32438
5822ff87 32439 * normal/main.c (read_command_list): New function.
32440 (grub_normal_execute): Call read_command_list.
32441
32442 * normal/command.c (grub_register_command): Return zero or CMD.
32443 Allocate CMD->NAME from the heap.
32444 Initialize CMD->MODULE_NAME to zero.
32445 Find the same name as well. If the same command is found and it is
32446 a dummy command, overwrite members. If it is not a dummy command,
32447 return zero.
32448 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32449 (grub_command_find): If a dummy command is found, load a module
32450 and retry to find a command only once.
32451
32452 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32453 make sure that each command is loaded.
32454
32455 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32456 macro.
32457 (struct grub_command): Remove const from the member `name'.
32458 Add a new member `module_name'.
32459 (grub_register_command): Return grub_command_t.
32460
32461 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32462 sure that each command is loaded.
32463
32464 * genmk.rb (PModule::rule): Specify a module name without the
32465 suffix ".mod" to gencmdlist.sh.
32466
7b1f4b57 324672005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32468
32469 * gencmdlist.sh: New file.
f19dbdb7 32470
7b1f4b57 32471 * genmk.rb (PModule::rule): Generate a rule for a command list.
32472 Clean command.lst.
32473 Generate command.lst from $(COMMANDFILES).
32474
32475 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32476 (DATA): Added $(pkgdata_DATA).
32477 (install-local): Install files in $(pkgdata_DATA).
32478
062aaf39 324792005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32480
32481 * term/i386/pc/vga.c (debug_command): Removed.
32482 (GRUB_MOD_INIT): Do not register the command "debug".
32483
32484 From Hollis Blanchard:
32485 * commands/configfile.c: New file.
32486 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32487 commands/configfile.c.
32488 (pkgdata_MODULES): Added configfile.mod.
32489 (configfile_mod_SOURCES): New variable.
32490 (configfile_mod_CFLAGS): Likewise.
32491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32492 commands/configfile.c.
32493 (pkgdata_MODULES): Added configfile.mod.
32494 (configfile_mod_SOURCES): New variable.
32495 (configfile_mod_CFLAGS): Likewise.
32496 * util/grub-emu.c (main): Call grub_configfile_init and
32497 grub_configfile_fini.
32498 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32499 prototype.
32500 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 32501
cee01aa6 325022005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32503
32504 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32505 address.
32506
32507 * commands/help.c (grub_cmd_help): Do not print newlines after
32508 the last command in print_command_help.
32509
93f3a1d8 325102005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32511
32512 * commands/default.h: New file.
32513 * commands/timeout.h: Likewise.
32514 * normal/context.c: Likewise.
f19dbdb7 32515
93f3a1d8 32516 * util/misc.c: Do not include sys/times.h.
32517 Include sys/time.h and grub/machine/time.h.
32518 (grub_get_rtc): Rewritten with gettimeofday.
32519
32520 * util/grub-emu.c (main): Call grub_default_init and
32521 grub_timeout_init before grub_normal_init, and call
32522 grub_timeout_fini and grub_default_fini after grub_main.
32523
32524 * util/console.c (grub_ncurses_checkkey): Return the read
32525 character or -1.
32526
32527 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32528 timeouts.
32529
32530 * normal/main.c (read_config_file): Push MENU. If this fails,
32531 print an error and wait for a user input.
32532 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32533 If a menu is empty or an error occurs, pop MENU.
32534 (grub_normal_execute): Pop and free MENU after grub_menu_run
32535 returns.
32536
32537 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32538
32539 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32540 include time.h.
32541 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32542 without GRUB_UTIL.
32543 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32544 time.h.
32545 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32546 without GRUB_UTIL.
32547
32548 * include/grub/normal.h (struct grub_menu_list): New struct.
32549 (grub_menu_list_t): New type.
32550 (struct grub_context): New struct.
32551 (grub_context_t): New type.
32552 (grub_register_command): Got rid of EXPORT_FUNC.
32553 (grub_unregister_command): Likewise.
32554 (grub_context_get): New prototype.
32555 (grub_context_get_current_menu): Likewise.
32556 (grub_context_push_menu): Likewise.
32557 (grub_context_pop_menu): Likewise.
32558 [GRUB_UTIL] (grub_default_init): Likewise.
32559 [GRUB_UTIL] (grub_default_fini): Likewise.
32560 [GRUB_UTIL] (grub_timeout_init): Likewise.
32561 [GRUB_UTIL] (grub_timeout_fini): Likewise.
32562
32563 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
32564 commands/timeout.c and normal/context.c.
32565 (pkgdata_MODULES): Added default.mod and timeout.mod.
32566 (normal_mod_SOURCES): Added normal/context.c.
32567 (default_mod_SOURCES): New variable.
32568 (default_mod_CFLAGS): Likewise.
32569 (timeout_mod_SOURCES): Likewise.
32570 (timeout_mod_CFLAGS): Likewise.
32571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
32572 conf/i386-pc.rmk.
32573 (pkgdata_MODULES): Added default.mod and timeout.mod.
32574 (normal_mod_SOURCES): Added normal/context.c.
32575 (default_mod_SOURCES): New variable.
32576 (default_mod_CFLAGS): Likewise.
32577 (timeout_mod_SOURCES): Likewise.
32578 (timeout_mod_CFLAGS): Likewise.
32579
32580 * Makefile.in (all-local): Added $(MKFILES).
32581
4ed2e1dd 325822005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
32583
32584 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
32585 (grub_emu_SOURCES): Likewise.
32586 (pkgdata_MODULES): Add `sun.mod'.
32587 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32589 `partmap/sun.c'.
32590 (pkgdata_MODULES): Add `sun.mod'.
32591 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
32592 * include/grub/partition.h (grub_sun_partition_map_init): New
32593 prototype.
32594 (grub_sun_partition_map_fini): Likewise.
32595 * partmap/sun.c: New file.
32596 * util/grub-emu.c (main): Initialize and de-initialize the sun
32597 partitionmap support.
32598
4d4e372e 325992005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
32600
32601 This implements an Emacs-like menu entry editor.
f19dbdb7 32602
4d4e372e 32603 * normal/menu_entry.c: New file.
f19dbdb7 32604
4d4e372e 32605 * util/console.c (grub_ncurses_putchar): Translate some Unicode
32606 characters to ASCII.
32607 (saved_char): New variable.
32608 (grub_ncurses_checkkey): Rewritten completely.
32609 (grub_ncurses_getkey): Likewise.
32610 (grub_ncurses_init): Call raw instead of cbreak.
32611
32612 * normal/menu.c (print_entry): Do not put a space.
32613 (init_page): Renamed to ...
32614 (grub_menu_init_page): ... this. All callers changed.
32615 (edit_menu_entry): Removed.
32616 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
32617
32618 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
32619
32620 * kern/misc.c (grub_vprintf): Call grub_refresh.
32621
32622 * normal/menu.c (DISP_LEFT): Renamed to ...
32623 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
32624 * normal/menu.c (DISP_UP): Renamed to ...
32625 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
32626 * normal/menu.c (DISP_RIGHT): Renamed to ...
32627 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
32628 * normal/menu.c (DISP_DOWN): Renamed to ...
32629 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
32630 * normal/menu.c (DISP_HLINE): Renamed to ...
32631 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
32632 * normal/menu.c (DISP_VLINE): Renamed to ...
32633 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
32634 * normal/menu.c (DISP_UL): Renamed to ...
32635 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
32636 * normal/menu.c (DISP_UR): Renamed to ...
32637 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
32638 * normal/menu.c (DISP_LL): Renamed to ...
32639 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
32640 * normal/menu.c (DISP_LR): Renamed to ...
32641 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
32642 * normal/menu.c (TERM_WIDTH): Renamed to ...
32643 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
32644 * normal/menu.c (TERM_HEIGHT): Renamed to ...
32645 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
32646 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
32647 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
32648 * normal/menu.c (TERM_MARGIN): Renamed to ...
32649 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
32650 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
32651 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
32652 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
32653 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
32654 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
32655 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
32656 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
32657 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
32658 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
32659 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
32660 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
32661 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
32662 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
32663 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
32664 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
32665 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
32666 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
32667 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
32668 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
32669 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
32670 All callers changed.
32671
32672 * include/grub/normal.h: New prototype.
32673
32674 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32675 normal/menu_entry.c.
32676 (normal_mod_SOURCES): Likewise.
32677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32678 (normal_mod_SOURCES): Likewise.
32679
e6b92c8a 326802005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
32681
32682 * include/grub/normal.h (grub_halt_init): New prototype.
32683 (grub_halt_fini): Likewise.
32684 (grub_reboot_init): Likewise.
32685 (grub_reboot_fini): Likewise.
32686
32687 * util/grub-emu.c: Include signal.h.
32688 (main_env): New global variable.
32689 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
32690 catch C-c.
32691 (grub_machine_fini): New function.
32692 (main): Call grub_halt_init and grub_reboot_init before
32693 grub_main, and grub_reboot_fini and grub_halt_fini after it.
32694 Call setjmp with MAIN_ENV to go back afterwards.
32695 Call grub_machine_fini right before return.
32696
32697 * include/grub/util/misc.h: Include setjmp.h.
32698 (main_env): New prototype.
32699
32700 * include/grub/kernel.h (grub_machine_fini): New prototype.
32701 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
32702 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
32703
32704 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
32705 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
32706 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 32707
e6b92c8a 32708 * util/i386/pc/misc.c: New file.
f19dbdb7 32709
e6b92c8a 32710 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32711 util/i386/pc/misc.c, commands/i386/pc/halt.c and
32712 commands/i386/pc/reboot.c.
32713
c642636f 327142005-02-14 Guillem Jover <guillem@hadrons.org>
32715
32716 * include/grub/dl.h (grub_dl_check_header): New prototype.
32717 (grub_arch_dl_check_header): Change return type to grub_err_t,
32718 remove size parameter and export function. Update all callers.
32719 * kern/dl.c (grub_dl_check_header): New function.
32720 (grub_dl_load_core): Use `grub_dl_check_header' instead of
32721 `grub_arch_dl_check_header'. Check ELF type. Check if sections
32722 are inside the core.
32723 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
32724 independent ELF header checks.
32725 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32726 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
32727 `grub_dl_check_header' instead of explicit checks. Check for the
32728 ELF type.
32729 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
32730 `grub_dl_check_header' instead of explicit checks. Remove arch
32731 specific ELF header checks.
32732
e6b92c8a 32733 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
32734 argument SIZE.
32735
5eabe94b 327362005-02-13 Hollis Blanchard <hollis@penguinppc.org>
32737
32738 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
32739 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
32740
1b14a681 327412005-02-12 Hollis Blanchard <hollis@penguinppc.org>
32742
32743 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 32744 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 32745 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 32746 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 32747 * partmap/amiga.c (amiga_partition_map_iterate): Return
32748 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
32749 * partmap/apple.c (apple_partition_map_iterate): Likewise.
32750
aca108aa 327512005-02-01 Guillem Jover <guillem@hadrons.org>
32752
32753 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
32754 help info.
32755
c9f9c556 327562005-01-31 Marco Gerards <metgerards@student.han.nl>
32757
32758 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
32759 Removed prototype.
32760 (grub_rescue_cmd_linux): New prototype.
32761 (grub_rescue_cmd_initrd): Likewise.
32762 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
32763 `bi_rec'.
32764 (grub_linux_release_mem): Release the memory for the initrd.
32765 (grub_load_linux): Renamed from this...
32766 (grub_rescue_cmd_linux): ...To this. Changed all callers.
32767 Changed `entry' not to be static. Loop over memory regions to
32768 find another one when the default fails.
32769 (grub_rescue_cmd_initrd): New function.
32770 (grub_linux_init): Remove function.
32771 (grub_linux_fini): Likewise.
32772 (GRUB_MOD_INIT): Register `initrd'.
32773 (GRUB_MOD_FINI): Unregister `initrd'.
32774 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
32775 Function removed.
32776 (grub_linux_normal_fini): Likewise.
32777 (GRUB_MOD_INIT): Register `initrd'.
32778 (GRUB_MOD_FINI): Unregister `initrd'.
32779
990cf3aa 327802005-01-31 Marco Gerards <metgerards@student.han.nl>
32781
32782 * commands/help.c: New file.
32783 * normal/arg.c (show_help): Renamed to...
32784 (grub_arg_show_help): ... this.
32785 * commands/i386/pc/halt.c: New file.
32786 * commands/i386/pc/reboot.c: Likewise.
32787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
32788 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
32789 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
32790 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
32791 variables.
32792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32793 `commands/help.c'.
32794 (pkgdata_MODULES): Add `help.mod'.
32795 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
32796 * grub/i386/pc/init.h (grub_reboot): New prototype.
32797 (grub_halt): Likewise.
32798 * include/grub/normal.h (grub_arg_show_help): New prototype.
32799 (grub_help_init): Likewise.
32800 (grub_help_fini): Likewise.
32801 * util/grub-emu.c (main): Initialize and deinitialize the help
32802 command.
32803
32804 * normal/cmdline.c (grub_cmdline_get): Doc fix.
32805
32806 * normal/command.c (grub_command_init): Fixed the description of
32807 the `set' and `unset' commands.
32808
328092005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 32810
32811 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
32812 function.
32813 * commands/ieee1275/halt.c: New file.
32814 * commands/ieee1275/reboot.c: Likewise.
32815 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
32816 `__attribute__ ((unused))'. Some GCS related fixed.
32817 (grub_suspend_init) [GRUB_UTIL]: Function removed.
32818 (grub_suspend_fini): Likewise.
32819 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
32820 and `halt.mod'.
32821 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
32822 (halt_mod_CFLAGS): New variables.
32823 * include/grub/powerpc/ieee1275/ieee1275.h
32824 (grub_ieee1275_interpret): New prototype.
32825
1ab09cc7 328262005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
32827
32828 * include/grub/misc.h (memmove): New prototype.
32829 (memcpy): Likewise.
32830
8b8cbdb2 328312005-01-22 Hollis Blanchard <hollis@penguinppc.org>
32832
32833 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
32834 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
32835
e3741a27 328362005-01-22 Marco Gerards <metgerards@student.han.nl>
32837
32838 * kern/misc.c (grub_strndup): Function rewritten.
32839
776bd780 328402005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
32841
32842 * normal/menu.c (TERM_WIDTH): Macro redefined.
32843 (TERM_TOP_BORDER_Y): Likewise.
32844 (draw_border): Replaced while-loop by a for-loop. Make the number
32845 of lines consistent with the number of lines displayed in
32846 print_entries. Added a margin below the rectangle.
32847 (print_entry): Make the entry fit in the rectangle.
32848 (print_entries): Display the scroll arrows next to the right
32849 border.
32850
78026bce 328512005-01-21 Marco Gerards <metgerards@student.han.nl>
32852
32853 * fs/minix.c (grub_minix_find_file): Reserve more space for
32854 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
32855 `grub_strncpy' to copy `path' into it.
32856
67bbaf0f 328572005-01-21 Marco Gerards <metgerards@student.han.nl>
32858
32859 Add the loopback device, a device via which files can be accessed
32860 as devices.
f19dbdb7 32861
67bbaf0f 32862 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
32863 (pkgdata_MODULES): Add loopback.mod.
32864 (loopback_mod_SOURCES): New variable.
32865 (loopback_mod_CFLAGS): Likewise.
32866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
32867 `disk/loopback.c'.
32868 (pkgdata_MODULES): Add loopback.mod.
32869 (loopback_mod_SOURCES): New variable.
32870 (loopback_mod_CFLAGS): Likewise.
32871 * disk/loopback.c: new file.
32872 * include/grub/normal.h (grub_loop_init): New prototype.
32873 (grub_loop_fini): New prototype.
32874 * util/grub-emu.c (main): Initialize and de-initialize loopback
32875 support.
32876 * include/grub/disk.h (grub_disk_dev_id): Add
32877 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
32878
6f1c18bd 328792005-01-20 Hollis Blanchard <hollis@penguinppc.org>
32880
32881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
32882 function.
32883 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
32884 (suspend_mod_SOURCES): New variable.
32885 (suspend_mod_CFLAGS): Likewise.
32886 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
32887 New prototype.
32888 * commands/ieee1275/suspend.c: New file.
32889
b38551da 328902005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
32891
32892 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 32893 ((unused))' to `__attribute__ ((used))'.
b38551da 32894 (GRUB_MOD_FINI): Likewise.
32895 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
32896 * genmk.rb (PModule): Assign space to common symbols when linking
32897 modules.
32898
777aff39 328992005-01-20 Marco Gerards <metgerards@student.han.nl>
32900
32901 * include/grub/mm.h (grub_mm_init_region): Change the type of the
32902 `unsigned' arguments to `grub_size_t'.
32903 (grub_malloc): Likewise.
32904 (grub_realloc): Likewise.
32905 (grub_memalign): Likewise.
32906 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
32907 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
32908 * util/misc.c (grub_malloc): Likewise.
32909 (grub_realloc): Likewise.
32910 * kern/mm.c (get_header_from_pointer): Change the casts to
32911 `unsigned' into a cast to `grub_size_t'.
32912
32913 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
32914 point to `currnode' when `currnode' is changed.
32915
32916 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
32917 Schottelius <nico-linux@schottelius.org>.
32918
d0ff18e1 329192005-01-09 Hollis Blanchard <hollis@penguinppc.org>
32920
32921 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
32922 (note_path): Remove variable.
32923 (GRUB_IEEE1275_NOTE_NAME): New macro.
32924 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
32925 (grub_ieee1275_note_hdr): New structure.
32926 (grub_ieee1275_note_desc): Likewise.
32927 (grub_ieee1275_note): Likewise.
32928 (load_note): Remove `dir' argument. All callers updated. Remove
32929 `note_img' and `path'. Do not load a file from `note_path'.
32930 Initialize a struct grub_ieee1275_note and write that to `out'.
32931 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
32932
4ca7004c 329332005-01-05 Marco Gerards <metgerards@student.han.nl>
32934
32935 * util/misc.c (grub_util_read_image): Revert last change. It
32936 called `grub_util_read_at', which seeks from the beginning of the
32937 file.
32938
0b412211 329392005-01-04 Hollis Blanchard <hollis@penguinppc.org>
32940
32941 * TODO: Add note about endianness in grub-mkimage.
32942 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
32943 section.
32944 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
32945 (grub_mkimage_SOURCES): New target.
32946 * include/grub/kernel.h (grub_start_addr): Remove variable.
32947 (grub_end_addr): Likewise.
32948 (grub_total_module_size): Likewise.
32949 (grub_kernel_image_size): Likewise.
32950 (GRUB_MODULE_MAGIC): New constant.
32951 (grub_module_info): New structure.
32952 (grub_arch_modules_addr): New prototype.
32953 (grub_get_end_addr): Remove prototype.
32954 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
32955 * include/grub/powerpc/ieee1275/kernel.h: New file.
32956 * include/grub/util/misc.h (grub_util_get_fp_size): New
32957 prototype.
32958 (grub_util_read_at): Likewise.
32959 (grub_util_write_image_at): Likewise.
32960 * kern/main.c (grub_get_end_addr): Remove function.
32961 (grub_load_modules): Call grub_arch_modules_addr instead of using
32962 grub_end_addr. Look for a grub_module_info struct in memory. Use
32963 the grub_module_info fields instead of calling grub_get_end_addr
32964 as loop conditions. Move grub_add_unused_region code here.
32965 (grub_add_unused_region): Remove function.
32966 * kern/i386/pc/init.c: Include grub/cache.h.
32967 (grub_machine_init): Remove call to grub_get_end_addr. Remove
32968 one call to add_mem_region.
32969 (grub_arch_modules_addr): New function.
32970 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
32971 (grub_total_module_size): Likewise.
32972 Include grub/machine/kernel.h.
32973 (grub_arch_modules_addr): New function.
32974 * util/grub-emu.c (grub_end_addr): Remove variable.
32975 (grub_total_module_size): Likewise.
32976 (grub_arch_modules_addr): New function.
32977 * util/misc.c: Include unistd.h.
32978 (grub_util_get_fp_size): New function.
32979 (grub_util_read_at): Likewise.
32980 (grub_util_write_image_at): Likewise.
32981 (grub_util_read_image): Call grub_util_read_at.
32982 (grub_util_write_image): Call grub_util_write_image_at.
32983 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
32984 additional memory in kernel_img for a struct grub_module_info.
32985 Fill in that grub_module_info.
32986 * util/powerpc/ieee1275/grub-mkimage.c: New file.
32987
458786f8 329882005-01-03 Hollis Blanchard <hollis@penguinppc.org>
32989
32990 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
32991 New function.
32992 * include/grub/powerpc/ieee1275/ieee1275.h
32993 (grub_ieee1275_milliseconds): New prototype.
32994 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
32995 Change to 1000.
32996 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
32997 grub_ieee1275_milliseconds.
32998
ac507d1b 329992005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33000
33001 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33002 variable.
33003 (find_options): New function.
33004 (cmain): Call find_options.
33005 * include/grub/powerpc/ieee1275/ieee1275.h
33006 (grub_ieee1275_realmode): New extern variable.
33007 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33008 grub_map if grub_ieee1275_realmode is false.
33009
6b8fd1c4 330102004-12-29 Marco Gerards <metgerards@student.han.nl>
33011
33012 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33013 lines are inserted and make it work like readline. Reported by
33014 Vincent Pelletier <subdino2004@yahoo.fr>.
33015
8514a1e0 330162004-12-28 Marco Gerards <metgerards@student.han.nl>
33017
33018 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33019
33020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33021 `kern/powerpc/cache.S'.
33022
924b6140 330232004-12-27 Marco Gerards <metgerards@student.han.nl>
33024
33025 * genmk.rb: Handle the `Program' class in the main loop. Written
33026 by Johan Rydberg <jrydberg@gnu.org>.
33027 (Program): New class.
33028 (programs): New variable.
33029 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33030 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33031 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33032 (help_arch): Function removed.
33033 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33034 `powerpc/libgcc.h' and `loader.h'.
33035 (pkgdata_PROGRAMS): New variable.
33036 (sbin_UTILITIES): Variable removed.
33037 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33038 (grubof_SOURCES): Variable re-defined so it only includes the
33039 core functionality.
33040 (grubof_CFLAGS): Remove `-DGRUBOF'.
33041 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33042 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33043 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33044 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33045 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33046 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33047 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33048 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33049 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33050 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33051 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33052 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33053 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33054 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33055 (pc_mod_CFLAGS): New variables.
33056 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33057 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33058 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33059 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33060 Moved from here...
33061 * include/grub/i386/pc/init.h (grub_os_area_addr)
33062 (rub_os_area_size): ... to here.
33063 * include/grub/powerpc/ieee1275/ieee1275.h
33064 (grub_ieee1275_entry_fn): Export symbol.
33065 * include/grub/powerpc/ieee1275/init.h: New file.
33066 * include/grub/powerpc/libgcc.h: Likewise.
33067 * include/grub/cache.h: Likewise.
33068 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33069 <hollis@penguinppc.org>.
33070 * kern/dl.c: Include <grub/cache.h>.
33071 (grub_dl_flush_cache): New function.
33072 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33073 for this module.
33074 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33075 (grub_console_init): Removed prototypes.
33076 (grub_machine_init): Don't initialize the modules anymore.
33077 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33078 static.
33079 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33080 Macro undef removed.
33081 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33082 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33083 relocation `R_PPC_REL32'. Return an error when the relocation is
33084 unknown.
33085 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33086 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33087 * util/misc.c (grub_arch_sync_caches): Likewise.
33088
e4b47e0c 330892004-12-19 Marco Gerards <metgerards@student.han.nl>
33090
33091 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33092 `symlist.c', add `grubof_symlist.c'.
33093 (symlist.c): Variable removed.
33094 (grubof_HEADERS): Variable added.
33095 (grubof_symlist.c): New target.
33096 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33097 `kernel_img_HEADERS'.
33098 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33099 * kern/powerpc/dl.c: New file.
33100 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33101 Function removed.
33102 (grub_arch_dl_relocate_symbols): Likewise.
33103 (grub_register_exported_symbols): Likewise.
33104
4ceb3636 331052004-12-13 Marco Gerards <metgerards@student.han.nl>
33106
33107 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33108 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33109 to fail instead. Reported by Vincent Pelletier
33110 <subdino2004@yahoo.fr>.
33111
33112 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33113 it is not allocated. Reported by Vincent Pelletier
33114 <subdino2004@yahoo.fr>.
33115
33116 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33117 output so the output looks better.
f19dbdb7 33118
3f1578fe 331192004-12-04 Marco Gerards <metgerards@student.han.nl>
33120
33121 Modulize the partition map support and add support for the amiga
33122 partition map.
f19dbdb7 33123
3f1578fe 33124 * commands/ls.c: Include <grub/partition.h> instead of
33125 <grub/machine/partition.h>.
33126 * kern/disk.c: Likewise.
33127 * kern/rescue.c: Likewise.
33128 * loader/i386/pc/chainloader.c: Likewise.
33129 * normal/cmdline.c: Likewise.
33130 * kern/powerpc/ieee1275/init.c: Likewise.
33131 (grub_machine_init): Call `grub_pc_partition_map_init',
33132 `grub_amiga_partition_map_init' and
33133 `grub_apple_partition_map_init'.
33134 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33135 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33136 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33137 `partition.h' and `pc_partition.h'.
33138 (grub_setup_SOURCES): Remove
33139 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33140 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33141 (grub_emu_SOURCES): Likewise.
33142 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33143 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33144 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33146 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33147 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33148 (grubof_SOURCES): Likewise.
33149 * disk/i386/pc/partition.c: File removed.
33150 * disk/powerpc/ieee1275/partition.c: Likewise.
33151 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33152 * include/grub/i386/pc/partition.h: Likewise.
33153 * kern/partition.c: New file.
33154 * partmap/amiga.c: Likewise.
33155 * partmap/apple.c: Likewise.
33156 * partmap/pc.c: Likewise.
33157 * include/grub/partition.h: Likewise..
33158 * include/grub/pc_partition.h: Likewise.
33159 * util/grub-emu.c: Include <grub/partition.h> instead of
33160 <grub/machine/partition.h>.
33161 (main): Call `grub_pc_partition_map_init',
33162 `grub_amiga_partition_map_init' and
33163 `grub_apple_partition_map_init' and deinitialize afterwards.
33164 * util/i386/pc/biosdisk.c: Include `#include
33165 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33166 `<grub/machine/partition.h>'.
33167 * util/i386/pc/grub-setup.c: Likewise.
33168 * util/i386/pc/biosdisk.c: Likewise.
33169 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33170 partition information in case of a PC partition.
33171 * util/i386/pc/grub-setup.c: Include `#include
33172 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33173 `<grub/machine/partition.h>'.
33174 (setup): Only access the PC specific partition information in case
33175 of a PC partition.
33176
0ef4ced9 331772004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33178
0ef4ced9 33179 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33180 (grub_longjmp): Likewise.
33181 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33182 20.
33183 * normal/powerpc/setjmp.S: New file.
33184 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33185 `normal/powerpc/setjmp.S'.
33186 (grubof_CFLAGS): Add `-DGRUBOF'.
33187 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33188 [GRUB_UTIL && !GRUBOF].
f19dbdb7 33189
19950e29 331902004-11-16 Marco Gerards <metgerards@student.han.nl>
33191
33192 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33193 property named `name'. Correctly handle the error returned by
33194 `grub_ieee1275_finddevice' if a device can not be opened.
33195
a2fea427 331962004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33197
33198 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33199 `actual' for negativity.
33200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33201 kern/fshelp.c.
33202
41ea0ea3 332032004-11-01 Marco Gerards <metgerards@student.han.nl>
33204
33205 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33206 (PAGE_OFFSET): New macro.
33207 (CRTC_ADDR_PORT): Likewise.
33208 (CRTC_DATA_PORT): Likewise.
33209 (START_ADDR_HIGH_REGISTER): Likewise.
33210 (START_ADDR_LOW_REGISTER): Likewise.
33211 (GRAPHICS_ADDR_PORT): Likewise.
33212 (GRAPHICS_DATA_PORT): Likewise.
33213 (READ_MAP_REGISTER): Likewise.
33214 (INPUT_STATUS1_REGISTER): Likewise.
33215 (INPUT_STATUS1_VERTR_BIT): Likewise.
33216 (page): New variable.
33217 (wait_vretrace): New function.
33218 (set_read_map): Likewise.
33219 (set_start_address): Likewise.
33220 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33221 the right page.
33222 (check_vga_mem): Take the page into account.
33223 (write_char): Likewise.
33224 (write_cursor): Likewise.
33225 (scroll_up): Likewise. Copy the page to the page that is not
33226 shown and switch between both pages.
33227 (grub_vga_putchar): Fix off by one error.
33228 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33229 account.
33230
ad0bd20b 332312004-11-01 Marco Gerards <metgerards@student.han.nl>
33232
33233 Add support for iso9660 (including rockridge).
f19dbdb7 33234
ad0bd20b 33235 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33236 (iso9660_mod_SOURCES): New variable.
33237 (iso9660_mod_CFLAGS): Likewise.
33238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33239 * include/grub/fs.h (grub_iso9660_init): New prototype.
33240 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33241 * fs/iso9660.c: New file.
33242
33243 * include/grub/misc.h (grub_strncat): New prototype.
33244 * kern/misc.c (grub_strncat): New function.
f19dbdb7 33245
ad0bd20b 33246 * fs/hfs.c (grub_hfs_mount): Translate the error
33247 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33248 * fs/jfs.c (grub_jfs_mount): Likewise.
33249 * fs/ufs.c (grub_ufs_mount): Likewise.
33250
a5477a59 332512004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33252
33253 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33254 which initialized BAT registers.
33255 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33256 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33257 Move from here...
33258 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33259 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33260 ... to here.
33261 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33262 (grub_mapclaim): Likewise.
33263 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33264 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33265 hand.
33266
9304c1f8 332672004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33268
33269 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33270 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33271 -ffreestanding and -msoft-float.
33272
86f4ae25 332732004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33274
33275 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33276 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33277 set in grub_ieee1275_flags.
33278
38912228 332792004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33280
33281 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33282 prototype.
33283 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33284 grub_console_init first.
33285 Change the memory range used for grub_ieee1275_claim and
33286 grub_mm_init_region.
33287 Print an error message if the claim fails.
33288 Include <grub/misc.h>.
33289
d1923dc8 332902004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33291
33292 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33293 Call grub_children_iterate for device nodes of type `scsi',
33294 `ide', or `ata'.
33295 (grub_ofdisk_open): Remove manual device alias resolution.
33296 Fix memory leak when device cannot be opened.
f19dbdb7 33297 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 33298 (grub_children_iterate): New prototype.
33299 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33300 New function.
33301 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33302 Return -1 if args.size was -1.
33303
4512e4f3 333042004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33305
33306 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33307 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33308 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33309 Open Firmware's memory for it; claim memory from _start to _end.
33310 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33311 (_end): New extern.
33312 (_start): Zero BSS from __bss_start to _end.
33313 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33314 New extern.
33315 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33316
4d61feb0 333172004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33318
ad0bd20b 33319 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33320 -1 if args.base was -1.
4d61feb0 33321
026fa2f9 333222004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33323
33324 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33325 escape sequence instead of a literal ^L. Also call
33326 grub_ofconsole_gotoxy.
33327
9f2220ef 333282004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33329
33330 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33331 void * arguments to grub_addr_t. All callers updated. Also make
33332 the `result' argument optional.
33333 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33334 All callers updated.
33335
8a572cd7 333362004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33337
33338 * commands/ls.c (grub_ls_list_files): Use the string following the
33339 initial ')', if present, as the filesystem path.
33340 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33341
33342 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33343
18aa81f2 333442004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33345
33346 Make the source code of the menu interface more readable.
f19dbdb7 33347
18aa81f2 33348 * normal/menu.c: Include grub/mm.h.
33349 (TERM_WIDTH): New macro.
33350 (TERM_HEIGHT): Likewise.
33351 (TERM_INFO_HEIGHT): Likewise.
33352 (TERM_MARGIN): Likewise.
33353 (TERM_SCROLL_WIDTH): Likewise.
33354 (TERM_TOP_BORDER_Y): Likewise.
33355 (TERM_LEFT_BORDER_X): Likewise.
33356 (TERM_BORDER_WIDTH): Likewise.
33357 (TERM_MESSAGE_HEIGHT): Likewise.
33358 (TERM_BORDER_HEIGHT): Likewise.
33359 (TERM_NUM_ENTRIES): Likewise.
33360 (TERM_FIRST_ENTRY_Y): Likewise.
33361 (TERM_ENTRY_WIDTH): Likewise.
33362 (TERM_CURSOR_X): Likewise.
33363 (draw_border): Use macros instead of magic numbers.
33364 (print_entry): Likewise.
33365 (print_entries): Likewise.
33366 (run_menu): Likewise. Also, handle the key 'e'.
33367 (run_menu_entry): Ignore empty command lines.
33368 (print_message): Added a new argument EDIT. If EDIT is true,
33369 print a different message.
33370 (init_page): Likewise.
33371 (edit_menu_entry): New function. Not implemented yet.
33372
b47efe30 333732004-09-17 Marco Gerards <metgerards@student.han.nl>
33374
33375 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33376 can be loaded from normal mode.
f19dbdb7 33377
b47efe30 33378 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33379 `multiboot.mod'.
33380 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33381 (multiboot_mod_CFLAGS): New variables.
33382 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 33383 * loader/i386/pc/multiboot_normal.c: Likewise.
33384
b47efe30 33385 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33386 attribute `unused'.
f19dbdb7 33387
b47efe30 33388 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33389 `fdiro' to read the mode information from instead of `diro'.
33390
33391 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33392 looking up a symlink.
33393
33394 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33395 macro.
33396 * normal/command.c (grub_command_execute): Don't parse the
33397 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33398 flags of the command.
33399
33400 * normal/menu.c (grub_menu_run): Fix typo.
33401
da75ac71 334022004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33403
33404 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33405
33406 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33407 `y + 1' instead of `y - 1'.
33408
33409 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 33410
062b24c2 334112004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33412
33413 From Hollis Blanchard <hollis@penguinppc.org>:
33414 * kern/misc.c (memmove): New alias for grub_memmove.
33415 (memcmp): New alias for grub_memcmp.
33416 (memset): New alias for grub_memset.
f19dbdb7 33417 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 33418 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 33419 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 33420 (grub_ieee1275_get_property): Likewise.
f19dbdb7 33421
8ddad845 334222004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33423
33424 Added normal mode command `chainloader' as module chain.mod, which
33425 depends on normal.mod and _chain.mod.
f19dbdb7 33426
8ddad845 33427 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33428 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33429 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33430 Deleted prototype.
33431 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33432 but arguments parsing moved to ...
33433 (grub_chainloader_cmd): ... here. New function.
33434 * include/grub/i386/pc/chainloader.h: New file.
33435 * loader/i386/pc/chainloader_normal.c: Likewise.
33436
2c1f4ce3 334372004-09-11 Marco Gerards <metgerards@student.han.nl>
33438
33439 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33440 (grub_mkimage_LDFLAGS): Likewise.
33441 (grub_emu_SOURCES): Likewise.
33442 (kernel_img_HEADERS): Added fshelp.h.
33443 * fs/ext2.c: Include <grub/fshelp.h>.
33444 (FILETYPE_REG): New macro.
33445 (FILETYPE_INO_REG): Likewise.
33446 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33447 Changed all users.
33448 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33449 all users.
33450 (grub_fshelp_node): New struct.
33451 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33452 to a pointer.
33453 (grub_ext2_get_file_block): Removed function.
33454 (grub_ext2_read_block): New function.
33455 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33456 This function was written.
33457 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33458 (grub_ext2_find_file): Removed function.
33459 (grub_ext2_read_symlink): New function.
33460 (grub_ext2_iterate_dir): Likewise.
33461 (grub_ext2_open): Rewritten.
33462 (grub_ext2_dir): Rewritten.
33463 * include/grub/fshelp.h: New file.
33464 * fs/fshelp.c: Likewise.
33465
3c52136a 334662004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33467
33468 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33469 (print_message): Add a missing newline.
33470 (run_menu): Added timeout support.
33471 (run_menu_entry): New local function.
33472 (grub_menu_run): Added support for booting.
33473
33474 * kern/loader.c (grub_loader_is_loaded): New function.
33475
33476 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33477 (grub_get_rtc): Exported.
33478
33479 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33480 (grub_get_rtc): Exported.
33481
33482 * include/grub/normal.h (struct grub_command_list): Remove
33483 constant from the member `command'.
33484
33485 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33486
33487 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33488
33489 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33490
aa033560 334912004-08-28 Marco Gerards <metgerards@student.han.nl>
33492
33493 Add support for the JFS filesystem.
33494
33495 * fs/jfs.c: New file.
33496 * include/grub/fs.h (grub_jfs_init): New prototype.
33497 (grub_jfs_fini): New prototype.
33498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33499 (grub_emu_SOURCES): Likewise.
33500 (pkgdata_MODULES): Add jfs.mod.
33501 (jfs_mod_SOURCES): New variable.
33502 (jfs_mod_CFLAGS): Likewise.
33503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33504 (grubof_SOURCES): Likewise.
33505 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33506
33507 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33508 endian to the host endian.
33509 (grub_fat_utf16_to_utf8): Move function from there...
33510 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 33511 the endianness of the source string anymore.
aa033560 33512 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33513
94bc45af 335142004-08-24 Marco Gerards <metgerards@student.han.nl>
33515
33516 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33517 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33518 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33519 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 33520
94bc45af 33521 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33522 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33523 for `node_found' and `it_dir'.
33524 (grub_hfs_dir): Add prototype for `dir_hook'.
33525
33526 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33527 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33528 and `indir32' to silence a gcc warning.
33529
33530 * include/grub/fs.h (grub_hfs_init): New prototype.
33531 (grub_hfs_fini): Likewise.
f19dbdb7 33532
33533
97543f08 335342004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33535
33536 Each disk device has its own id now. This is useful to make use
33537 of multiple disk devices.
f19dbdb7 33538
97543f08 33539 * include/grub/disk.h (grub_disk_dev_id): New enum.
33540 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33541 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33542
33543 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33544 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33545
33546 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33547 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33548
33549 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
33550 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33551
33552 * include/grub/disk.h (struct grub_disk_dev): Added a new member
33553 "id" which is used by the cache manager.
33554
33555 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
33556 of just "GRUB".
33557
64372eb4 335582004-08-18 Marco Gerards <metgerards@student.han.nl>
33559
33560 * fs/hfs.c: New file.
33561 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
33562 (grub_emu_SOURCES): Likewise.
33563 (pkgdata_MODULES): Add hfs.mod.
33564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
33565 (grubof_SOURCES): Likewise.
33566 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
33567
33568 * include/grub/misc.h (grub_strncasecmp): Add prototype.
33569 * kern/misc.c (grub_strncasecmp): Add function.
33570
cc61b58f 335712004-08-14 Marco Gerards <metgerards@student.han.nl>
33572
33573 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
33574 with parentheses.
33575
33576 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
33577 (grub_ext2_dir): In case the directory entry type is unknown, read
33578 it from the inode.
33579
0ef123f6 335802004-08-02 Peter Bruin <pjbruin@dds.nl>
33581
33582 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
33583 grub_load_linux instead of grub_rescue_cmd_linux as second
33584 argument of grub_rescue_register_command.
33585
33586 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
33587
a447c5df 335882004-07-27 Marco Gerards <metgerards@student.han.nl>
33589
33590 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
33591 function.
33592 * commands/boot.c: Remove the check for `GRUB_UTIL'.
33593 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33594 `loader/powerpc/ieee1275/linux.c',
33595 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
33596 * include/grub/powerpc/ieee1275/ieee1275.h
33597 (grub_ieee1275_release): New prototype.
33598 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
33599 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
33600 normal, boot, linux and linux_normal.
33601 * loader/powerpc/ieee1275/linux.c: New file.
33602 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33603
5a9e3546 336042004-07-12 Marco Gerards <metgerards@student.han.nl>
33605
33606 * normal/arg.c (grub_arg_parse): Correct error handling after
33607 reallocating the argumentlist (check if `argl' is not null instead
33608 of checking if `args' is not null).
33609 * kern/mm.c (grub_realloc): Return the same pointer when using the
33610 same region, instead of returning the header address.
33611
e15199cb 336122004-07-11 Marco Gerards <metgerards@student.han.nl>
33613
33614 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
33615 one block instead of two when looking for the initial partition.
33616 (grub_partition_probe): Initialize the local variable `p' with 0.
33617 Use base 10 for the grub_strtoul call.
33618 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
33619 need for one local variable.
33620 (grub_strtoul): Don't add the new value to `num', instead of that
33621 just assign it.
33622
020616c2 336232004-07-11 Marco Gerards <metgerards@student.han.nl>
33624
33625 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
33626 (pxeboot_img_SOURCES): New variable.
33627 (pxeboot_img_ASFLAGS): Likewise.
33628 (pxeboot_img_LDFLAGS): Likewise.
33629 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
33630 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
33631 <lode_leroy@hotmail.com>.
33632
6c51eb64 336332004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33634
33635 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
33636 there was no input.
33637
cfb12aff 336382004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33639
33640 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
33641 the history buffer logic.
33642
6eabba74 336432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
33644
33645 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
33646 (FILETYPE_INO_SYMLINK): New macros.
33647 (grub_ext2_find_file): Check if the node is a directory using the
33648 inode stat information instead of using the filetype in the
33649 dirent. Exclude the first character of an absolute symlink.
33650 (grub_ext2_dir): Mask out the filetype part of the mode member of
33651 the inode.
33652
66e19ef8 336532004-05-24 Marco Gerards <metgerards@student.han.nl>
33654
33655 Add support for UFS version 1 and 2. Add support for the minix
33656 filesystem version 1 and 2, both the variants with 14 and 30 long
33657 filenames.
f19dbdb7 33658
66e19ef8 33659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
33660 fs/minix.c.
33661 (grub_emu_SOURCES): Likewise.
33662 (pkgdata_MODULES): Add ufs.mod and minix.mod.
33663 (ufs_mod_SOURCES): New variable.
33664 (ufs_mod_CFLAGS): Likewise.
33665 (minix_mod_SOURCES): Likewise.
33666 (minix_mod_CFLAGS): Likewise.
33667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
33668 fs/minix.c.
33669 (grubof_SOURCES): Likewise.
33670 * fs/ufs.c: New file.
33671 * fs/minix.c: New file.
33672 * include/grub/fs.h (grub_ufs_init): New prototype.
33673 (grub_ufs_fini): Likewise.
33674 (grub_minix_init): Likewise.
33675 (grub_minix_fini): Likewise.
33676 * util/grub-emu.c (main): Initialize and deinitialize UFS and
33677 minix fs.
33678
cc2e748a 336792004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
33680
33681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
33682 commands/ls.c, commands/terminal.c, commands/boot.c,
33683 commands/cmp.c and commands/cat.c.
33684 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
33685
33686 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
33687 "env.h"
33688
4b13b216 336892004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33690
33691 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
33692 and grub_, respectively. Because the conversion is trivial and
33693 mechanical, I omit the details here. Please refer to the CVS
33694 if you need more information.
33695
6a142551 336962004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33697
33698 * include/pupa: Renamed to ...
33699 * include/grub: ... this.
33700 * util/i386/pc/pupa-mkimage.c: Renamed to ...
33701 * util/i386/pc/grub-mkimage.c: ... this.
33702 * util/i386/pc/pupa-setup.c: Renamed to ...
33703 * util/i386/pc/grub-setup.c: ... this.
33704 * util/pupa-emu.c: Renamed to ...
33705 * util/grub-emu.c: ... this.
33706
e56cdf21 337072004-03-29 Marco Gerards <metgerards@student.han.nl>
33708
33709 Add support for the newworld apple macintosh (PPC). This has been
33710 tested on the powerbook 2000 only. It only adds support for
33711 generic ieee1275 functions, console and disk support. This should
33712 be easy to port to other architectures with support for Open
33713 Firmware.
f19dbdb7 33714
e56cdf21 33715 * configure.ac: Accept the powerpc as host_cpu. In the case of
33716 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
33717 specific tests are only executed while building for the i386.
33718 Inverse test for crosscompile.
33719 * genmk.rb (Utility): Allow assembler files.
33720 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
33721 * conf/powerpc-ieee1275.rmk: New file.
33722 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
33723 * disk/powerpc/ieee1275/partition.c: Likewise.
33724 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
33725 * include/pupa/powerpc/ieee1275/console.h: Likewise.
33726 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
33727 * include/pupa/powerpc/ieee1275/time.h: Likewise.
33728 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
33729 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
33730 * include/pupa/powerpc/ieee1275/loader.h
33731 * include/pupa/powerpc/setjmp.h: Likewise.
33732 * include/pupa/powerpc/types.h: Likewise.
33733 * kern/powerpc/ieee1275/init.c: Likewise.
33734 * kern/powerpc/ieee1275/openfw.c: Likewise.
33735 * term/powerpc/ieee1275/ofconsole.c: Likewise.
33736
33737 These files were written by Johan Rydberg
33738 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 33739
e56cdf21 33740 * boot/powerpc/ieee1275/cmain.c: New file.
33741 * boot/powerpc/ieee1275/crt0.S: Likewise.
33742 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
33743 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
33744
8c8cc205 337452004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
33746
33747 * Makefile.in: Update copyright.
33748 * genmodsrc.sh: Likewise.
33749 * gensymlist.sh: Likewise.
33750 * term/i386/pc/vga.c: Indent correctly.
33751
33752 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
33753 bugreporting address.
33754 * util/i386/pc/pupa-setup.c (usage): Likewise,
33755 (main): Call pupa_ext2_init and pupa_ext2_fini.
33756
f19dbdb7 33757 * fs/fat.c (log2): Renamed to ...
8c8cc205 33758 (fat_log2): ... this.
33759 All callers changed.
33760 * kern/misc.c (memcpy): Alias to pupa_memmove.
33761 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
33762 lvalue cast.
33763 * util/console.c (pupa_ncurses_fini): Return 0.
33764
33765 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
33766 Move fail label here.
33767 [__GNU__]: Don't warn when using stat.
33768 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
33769 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
33770 long int. Use strtol instead of strtoul.
f19dbdb7 33771
db1771cf 337722004-03-14 Marco Gerards <metgerards@student.han.nl>
33773
33774 * commands/boot.c: New file.
33775 * commands/cat.c: Likewise.
33776 * commands/cmp.c: Likewise.
33777 * commands/ls.c: Likewise.
33778 * commands/terminal.c: Likewise.
33779 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
33780 (pupa_register_command): Changed interface to match the new
33781 argument parser.
33782 (pupa_command_execute): Changed (almost rewritten) so it uses
33783 pupa_split_command. Added support for setting variables using the
33784 syntax `foo=bar'.
33785 (rescue_command): Changed to work with the new argument parser.
33786 (terminal_command): Moved from here to commands/terminal.c.
33787 (set_command): New function.
33788 (unset_command): New function.
33789 (insmod_command): New function.
33790 (rmmod_command): New function.
33791 (lsmod_command): New function.
33792 (pupa_command_init): Don't initialize the command terminal
33793 anymore. Initialize the commands set, unset, insmod, rmmod and
33794 lsmod.
33795 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
33796 (kernel_img_HEADERS): Add arg.h and env.h.
33797 (pupa_mkimage_LDFLAGS): Add kern/env.c.
33798 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
33799 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
33800 normal/arg.c.
33801 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
33802 terminal.mod.
33803 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
33804 (boot_mod_SOURCES): New variable.
33805 (terminal_mod_SOURCES): Likewise.
33806 (ls_mod_SOURCES): Likewise.
33807 (cmp_mod_SOURCES): Likewise.
33808 (cat_mod_SOURCES): Likewise.
33809
33810 * normal/arg.c: New file.
33811 * kern/env.c: Likewise.
33812 * include/pupa/arg.h: Likewise.
33813 * include/pupa/env.h: Likewise.
33814 * font/manager.c (font_command): Changed to match argument parsing
33815 interface changes.
33816 (PUPA_MOD_INIT): Likewise.
33817 * hello/hello.c (pupa_cmd_hello): Likewise.
33818 (PUPA_MOD_INIT): Likewise.
33819 * include/pupa/disk.h: Include <pupa/device.h>.
33820 (pupa_print_partinfo): New prototype.
33821 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
33822 (pupa_dl_get_prefix): Likewise.
33823 * include/pupa/misc.h: Include <pupa/err.h>.
33824 (pupa_isgraph): New prototype.
33825 (pupa_isdigit): Likewise.
33826 (pupa_split_cmdline): Likewise.
33827 * include/pupa/normal.h: Include <pupa/arg.h>.
33828 (pupa_command): Changed the prototype of the member `func' to
33829 match the argument parsing interface. Added member `options'.
33830 (pupa_register_command): Updated to match function.
33831 (pupa_arg_parse): New prototype.
33832 (pupa_hello_init) [PUPA_UTIL]: New prototype.
33833 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
33834 (pupa_ls_init) [PUPA_UTIL]: Likewise.
33835 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
33836 (pupa_cat_init) [PUPA_UTIL]: Likewise.
33837 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
33838 (pupa_boot_init) [PUPA_UTIL]: Likewise.
33839 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
33840 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
33841 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
33842 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
33843 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
33844 * kern/disk.c: Include <pupa/file.h>.
33845 (pupa_print_partinfo): New function.
33846 * kern/dl.c: Include <pupa/env.h>.
33847 (pupa_dl_dir): Variable removed.
33848 (pupa_dl_load): Use the environment variable `prefix' instead of
33849 the variable pupa_dl_dir.
33850 (pupa_dl_set_prefix): Function removed.
33851 (pupa_dl_get_prefix): Likewise.
33852 * kern/i386/pc/init.c: Include <pupa/env.h>.
33853 (pupa_machine_init): Use the environment variable `prefix' instead of
33854 using pupa_dl_set_prefix to set the prefix.
33855 * kern/main.c: Include <pupa/env.h>.
33856 (pupa_set_root_dev): Use the environment variable `prefix' instead of
33857 using pupa_dl_get_prefix to get the prefix.
33858 * kern/misc.c: Include <pupa/env.h>.
33859 (pupa_isdigit): New function.
33860 (pupa_isgraph): Likewise.
33861 (pupa_ftoa): Likewise.
33862 (pupa_vsprintf): Added support for printing values of the type
33863 `double'. Make it possible to format variable output when using
33864 formatting like `%1.2%f'.
33865 (pupa_split_cmdline): New function.
33866 * kern/rescue.c: Include <pupa/env.h>.
33867 (next_word): Removed function.
33868 (pupa_rescue_cmd_prefix): Likewise.
33869 (pupa_rescue_cmd_set): New function.
33870 (pupa_rescue_cmd_unset): New function.
33871 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
33872 split the command line instead of splitting it here. Added
33873 support for setting variables using the syntax `foo=bar'. Don't
33874 initialize the prefix command anymore. Initialized the set and
33875 unset commands.
33876 * normal/cmdline.c: Include <pupa/env.h>.
33877 (pupa_tab_complete): Added prototypes for print_simple_completion,
33878 print_partition_completion, add_completion, iterate_commands,
33879 iterate_dev, iterate_part and iterate_dir. Moved code to print
33880 partition information from here to kern/disk.c.
fe6b695a 33881 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 33882 * normal/main.c: Include <pupa/env.h>.
33883 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
33884 instead of using pupa_dl_get_prefix to get the prefix.
33885 * term/i386/pc/vga.c: Include <pupa/arg.h>.
33886 (check_vga_mem): Cast pointers to `void *' to silence a gcc
33887 warning.
33888 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
33889 (pupa_vga_setcolor): Declare unused variables with `__attribute__
33890 ((unused))' to silence a gcc warning.
33891 (pupa_vga_setcolor): Likewise.
33892 (debug_command): Changed to match argument parsing
33893 interface changes.
33894 * util/pupa-emu.c: Include <pupa/env.h>.
33895 (options): Added 0's for unused fields to silence a gcc warning.
33896 (argp): Likewise.
33897 (main): Use the environment variable `prefix' instead of using
33898 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
33899 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
33900 and terminal.
33901
33902 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
33903 * util/misc.c: Include <malloc.h>.
33904 (pupa_malloc): Rewritten so errors are correctly reported.
33905 (pupa_realloc): Likewise.
33906 (pupa_memalign): Likewise.
33907 (pupa_mm_init_region): Declare unused variables with
33908 `__attribute__ ((unused))' to silence a gcc warning.
33909 * normal/i386/setjmp.S: Remove tab at the end of the file to
33910 silence a gcc warning.
33911 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
33912 variables with `__attribute__ ((unused))' to silence a gcc
33913 warning.
33914 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
33915 local variable i unsigned to silence a gcc warning.
33916
33917 * kern/term.c: Include <pupa/misc.h>.
33918 (pupa_more_lines): New variable.
33919 (pupa_more): Likewise.
33920 (pupa_putcode): When the pager is active pause at the end of every
33921 screen.
33922 (pupa_set_more): New function.
33923 * include/pupa/term.h (pupa_set_more): New prototype.
33924
33925
3b1139cb 339262004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
33927
33928 Now this project is GRUB 2 rather than PUPA. The location of
33929 the CVS repository was moved to GRUB's.
f19dbdb7 33930
3b1139cb 33931 * configure.ac: Use bug-grub as the reporting address.
33932 Use GRUB instead of PUPA.
33933 Change the version number to 1.90.
33934
8367695c 339352004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
33936
33937 * genkernsyms.sh: Updated copyright information.
33938 * genmk.rb: Likewise.
33939 * genmodsrc.sh: Likewise.
33940 * gensymlist.sh: Likewise.
33941 * boot/i386/pc/boot.S: Likewise.
33942 * boot/i386/pc/diskboot.S: Likewise.
33943 * disk/i386/pc/biosdisk.c: Likewise.
33944 * disk/i386/pc/partition.c: Likewise.
33945 * font/manager.c: Likewise.
33946 * fs/ext2.c: Likewise.
33947 * fs/fat.c: Likewise.
33948 * include/pupa/boot.h: Likewise.
33949 * include/pupa/device.h: Likewise.
33950 * include/pupa/disk.h: Likewise.
33951 * include/pupa/dl.h: Likewise.
33952 * include/pupa/elf.h: Likewise.
33953 * include/pupa/err.h: Likewise.
33954 * include/pupa/file.h: Likewise.
33955 * include/pupa/font.h: Likewise.
33956 * include/pupa/fs.h: Likewise.
33957 * include/pupa/kernel.h: Likewise.
33958 * include/pupa/loader.h: Likewise.
33959 * include/pupa/misc.h: Likewise.
33960 * include/pupa/mm.h: Likewise.
33961 * include/pupa/net.h: Likewise.
33962 * include/pupa/normal.h: Likewise.
33963 * include/pupa/rescue.h: Likewise.
33964 * include/pupa/setjmp.h: Likewise.
33965 * include/pupa/symbol.h: Likewise.
33966 * include/pupa/term.h: Likewise.
33967 * include/pupa/types.h: Likewise.
33968 * include/pupa/i386/setjmp.h: Likewise.
33969 * include/pupa/i386/types.h: Likewise.
33970 * include/pupa/i386/pc/biosdisk.h: Likewise.
33971 * include/pupa/i386/pc/boot.h: Likewise.
33972 * include/pupa/i386/pc/console.h: Likewise.
33973 * include/pupa/i386/pc/init.h: Likewise.
33974 * include/pupa/i386/pc/kernel.h: Likewise.
33975 * include/pupa/i386/pc/linux.h: Likewise.
33976 * include/pupa/i386/pc/loader.h: Likewise.
33977 * include/pupa/i386/pc/memory.h: Likewise.
33978 * include/pupa/i386/pc/multiboot.h: Likewise.
33979 * include/pupa/i386/pc/partition.h: Likewise.
33980 * include/pupa/i386/pc/time.h: Likewise.
33981 * include/pupa/i386/pc/vga.h: Likewise.
33982 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
33983 * include/pupa/util/getroot.h: Likewise.
33984 * include/pupa/util/misc.h: Likewise.
33985 * include/pupa/util/resolve.h: Likewise.
33986 * kern/device.c: Likewise.
33987 * kern/disk.c: Likewise.
33988 * kern/dl.c: Likewise.
33989 * kern/err.c: Likewise.
33990 * kern/file.c: Likewise.
33991 * kern/fs.c: Likewise.
33992 * kern/loader.c: Likewise.
33993 * kern/main.c: Likewise.
33994 * kern/misc.c: Likewise.
33995 * kern/mm.c: Likewise.
33996 * kern/rescue.c: Likewise.
33997 * kern/term.c: Likewise.
33998 * kern/i386/dl.c: Likewise.
33999 * kern/i386/pc/init.c: Likewise.
34000 * kern/i386/pc/lzo1x.S: Likewise.
34001 * kern/i386/pc/startup.S: Likewise.
34002 * loader/i386/pc/chainloader.c: Likewise.
34003 * loader/i386/pc/linux.c: Likewise.
34004 * loader/i386/pc/multiboot.c: Likewise.
34005 * normal/cmdline.c: Likewise.
34006 * normal/command.c: Likewise.
34007 * normal/main.c: Likewise.
34008 * normal/menu.c: Likewise.
34009 * normal/i386/setjmp.S: Likewise.
34010 * term/i386/pc/console.c: Likewise.
34011 * term/i386/pc/vga.c: Likewise.
34012 * util/console.c: Likewise.
34013 * util/genmoddep.c: Likewise.
34014 * util/misc.c: Likewise.
34015 * util/pupa-emu.c: Likewise.
34016 * util/resolve.c: Likewise.
34017 * util/unifont2pff.rb: Likewise.
34018 * util/i386/pc/biosdisk.c: Likewise.
34019 * util/i386/pc/getroot.c: Likewise.
34020 * util/i386/pc/pupa-mkimage.c: Likewise.
34021 * util/i386/pc/pupa-setup.c: Likewise.
34022
e6eced71 340232004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34024
34025 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34026 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34027 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34028 reading and reset it after reading.
34029 (pupa_ext2_close): Return PUPA_ERR_NONE.
34030
34031 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34032 Correct value.
34033 (struct linux_kernel_header): Add kernel_version and
34034 initrd_addr_max.
34035 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34036 pupa_file_read succeeds.
34037 (pupa_rescue_cmd_initrd): Implement.
34038
5aded270 340392003-12-03 Marco Gerards <metgerards@student.han.nl>
34040
34041 * fs/ext2.c (pupa_ext2_label): New function.
34042 (pupa_ext2_fs): Added label.
34043 * fs/fat.c (pupa_fat_label): New function.
34044 (pupa_fat_fs): Added label.
34045 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34046
34047 * kern/misc.c (pupa_strndup): New function.
34048 * include/pupa/misc.h (pupa_strndup): New prototype.
34049
34050 * include/pupa/normal.h: Include <pupa/err.h>.
34051 (pupa_set_history): New prototype.
34052 (pupa_iterate_commands): New prototype.
34053 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34054 <pupa/disk.h>, <pupa/file.h>.
34055 (hist_size): New variable.
34056 (hist_lines): Likewise.
34057 (hist_end): Likewise.
34058 (hist_used): Likewise.
34059 (pupa_set_history): New function.
34060 (pupa_history_get): Likewise.
34061 (pupa_history_add): Likewise.
34062 (pupa_history_replace): Likewise.
34063 (pupa_tab_complete): Likewise.
34064 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34065 completion shows partitionnames while completing partitions, this
34066 feature was suggested by Jeff Bailey.
34067 * normal/command.c (pupa_iterate_commands): New function.
34068 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34069 (pupa_normal_init): Initialize history buffer.
34070 (PUPA_MOD_INIT): Likewise.
34071 (pupa_normal_fini): Free the history buffer.
34072 (PUPA_MOD_FINI): Likewise.
34073
34074 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34075 key.
34076
34077 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34078 * configure.ac [i386]: Check for regparam bug.
34079 (NESTED_FUNC_ATTR) [! i386]: Defined.
34080
1f7315a3 340812003-11-17 Marco Gerards <metgerards@student.han.nl>
34082
34083 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34084 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34085 (pupa_emu_SOURCES): New variable.
34086 (pupa_emu_LDFLAGS): Likewise.
34087 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34088 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34089 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34090 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34091 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34092 (pupa_jmp_buf): New typedef.
34093 (pupa_setjmp) [PUPA_UTIL]: New macro.
34094 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34095 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34096 (pupa_refresh): New prototype.
34097 * include/pupa/util/getroot.h: New file.
34098 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34099 it.
34100 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34101 (pupa_rescue_cmd_cat): Likewise.
34102 (pupa_rescue_cmd_ls): Likewise.
34103 (pupa_rescue_cmd_testload): Likewise.
34104 (pupa_rescue_cmd_lsmod): Likewise.
34105 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34106 * normal/menu.c (run_menu): Likewise.
34107 * kern/term.c (pupa_cls): Likewise.
34108 (pupa_refresh): New function.
34109 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34110 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34111 * util/console.c: New file.
f19dbdb7 34112
1f7315a3 34113 * util/i386/pc/getroot.c: New file.
34114 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34115 (pupa_putchar): New function.
34116 (pupa_refresh): Likewise.
34117 (xgetcwd): Function moved to ...
34118 (strip_extra_slashes): Likewise.
34119 (get_prefix): Likewise.
f19dbdb7 34120 * util/i386/pc/getroot.c: ... here.
1f7315a3 34121 (find_root_device): Function moved and renamed to...
34122 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34123 Changed all callers.
34124 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34125 and renamed to...
34126 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34127 Changed all callers.
34128 * util/misc.c (pupa_memalign): New function.
34129 (pupa_mm_init_region): Likewise.
34130 (pupa_register_exported_symbols): Likewise.
34131 (pupa_putchar): Function removed.
34132 * util/pupa-emu.c: New file.
34133
9a5c1ade 341342003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34135
34136 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34137 (_multiboot_mod_SOURCES): New variable.
34138 (_multiboot_mod_CFLAGS): Likewise.
34139 * loader/i386/pc/multiboot.c: New file.
34140 * include/pupa/i386/pc/multiboot.h: Likewise.
34141 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34142 (pupa_multiboot_real_boot): New function.
34143 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34144 (pupa_multiboot_real_boot): New prototype.
34145 (pupa_rescue_cmd_multiboot): Likewise
34146 (pupa_rescue_cmd_module): Likewise.
34147
34148 * kern/loader.c (pupa_loader_set): Continue when
34149 pupa_loader_unload_func() fails.
34150 (pupa_loader_unset): New function.
34151 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34152
34153 * kern/misc.c (pupa_stpcpy): New function.
34154 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34155
8e72a9c0 341562003-11-12 Marco Gerards <metgerards@student.han.nl>
34157
34158 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34159 for available extensions.
34160
34161 * include/pupa/i386/pc/time.h: New file.
34162 * kern/disk.c: Include <pupa/machine/time.h>.
34163 (PUPA_CACHE_TIMEOUT): New macro.
34164 (pupa_last_time): New variable.
34165 (pupa_disk_open): Flush the cache when there was a timeout.
34166 (pupa_disk_close): Reset the timer.
34167 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34168 pupa_currticks.
34169 * util/misc.c: Include <sys/times.h>
34170 (pupa_get_rtc): New function.
34171
c4adbd32 341722003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34173
34174 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34175 as blocks.
34176 (pupa_ext2_get_file_block): Use blocks member.
34177
34178 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34179 first block. Return -1 instead of pupa_errno on error.
34180
bfd30f06 341812003-10-27 Marco Gerards <metgerards@student.han.nl>
34182
34183 * README: In the pupa-mkimage example use _chain instead of chain
34184 and ext2 instead of fat.
34185 * TODO: Replace ext2fs with jfs as an example. Add an item for
34186 adding journal playback for ext2fs.
34187 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34188 (pkgdata_MODULES): Added ext2.mod.
34189 (ext2_mod_SOURCES): New variable.
34190 (ext2_mod_CFLAGS): Likewise.
34191 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34192 * include/pupa/misc.h (pupa_strncpy): New prototype.
34193 (pupa_strcat): Likewise.
34194 (pupa_strncmp): Likewise.
34195 * kern/misc.c (pupa_strcat): Enable function.
34196 (pupa_strncpy): New function.
34197 (pupa_strncmp): Likewise.
34198 * fs/ext2.c: New file.
f19dbdb7 34199
bfd30f06 34200 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34201 when the read failed before retrying.
34202 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34203 (_FILE_OFFSET_BITS): Likewise.
34204 * configure.ac: Added AC_SYS_LARGEFILE.
34205
98d15063 342062003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34207
34208 * genmk.rb (PModule#rule): Make sure to get only symbol names
34209 from the output of nm.
59cad637 34210 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 34211
18d9c7cd 342122003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34213
34214 I forgot to check in these changes for a long time. This adds
34215 incomplete support for VGA console, and this is still very
34216 buggy. Also, a lot of consideration is required for I18N,
34217 UNICODE, and VGA font issues. Therefore, assume that this is
34218 such that "better than nothing".
f19dbdb7 34219
18d9c7cd 34220 * font/manager.c: New file.
34221 * include/pupa/font.h: Likewise.
34222 * include/pupa/i386/pc/vga.h: Likewise.
34223 * term/i386/pc/vga.c: Likewise.
34224 * util/unifont2pff.rb: Likewise.
34225
34226 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34227 (pkgdata_MODULES): Added vga.mod and font.mod.
34228 (vga_mod_SOURCES): New variables.
34229 (vga_mod_CFLAGS): Likewise.
34230 (font_mod_SOURCES): Likewise.
34231 (font_mod_CFLAGS): Likewise.
34232
34233 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34234
34235 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 34236 (struct pupa_term): Added init and fini.
18d9c7cd 34237 Changed the argument of putchar to pupa_uint32_t.
34238
34239 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34240 (pupa_console_real_putchar): New prototype.
34241 (pupa_console_putchar): Removed.
34242 (pupa_console_checkkey): Exported.
34243 (pupa_console_getkey): Likewise.
34244
34245 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34246 characters.
34247
34248 * kern/term.c (pupa_term_set_current): Rewritten.
34249 (pupa_putchar): Likewise.
34250 (pupa_putcode): New function.
34251
34252 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34253 (pupa_console_real_putchar): ... this.
34254 (pupa_vga_set_mode): New function.
34255 (pupa_vga_get_font): Likewise.
34256
34257 * normal/command.c: Include pupa/term.h.
34258 (terminal_command): New function.
34259 (pupa_command_init): Register the command "terminal".
34260
34261 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34262 (DISP_UP): Likewise.
34263 (DISP_RIGHT): Likewise.
34264 (DISP_DOWN): Likewise.
34265 (DISP_HLINE): Likewise.
34266 (DISP_VLINE): Likewise.
34267 (DISP_UL): Likewise.
34268 (DISP_UR): Likewise.
34269 (DISP_LL): Likewise.
34270 (DISP_LR): Likewise.
34271
34272 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 34273
977329f5 342742003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34275
34276 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34277 FIX. Reverse the path_list.
34278
34279 * include/pupa/normal.h: Export pupa_register_command and
34280 pupa_unregister_command.
34281
34282 * hello/hello.c (pupa_cmd_hello): New module.
34283 * conf/i386-pc.rmk: Added hello.mod.
34284
1f5ab428 342852003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34286
34287 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 34288
1f5ab428 34289 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34290 (compress_kernel): New variable.
34291 (generate_image): Heavily modified to support compressing a
34292 large part of the core image.
34293
34294 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34295 leak.
34296 (pupa_util_load_image): New function.
34297
34298 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34299 (pupa_compressed_size): New variable.
34300 (codestart): Enable Gate A20 here.
34301 Decompress the compressed part of the core image.
34302 Rearrange the code to put functions and variables which are
34303 required for initialization in the non-compressed part.
34304 Include lzo1x.S.
34305
34306 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34307 here.
34308
34309 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34310
f19dbdb7 34311 * include/pupa/i386/pc/kernel.h
1f5ab428 34312 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34313 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34314 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34315 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34316 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34317
34318 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34319
34320 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34321 (Utility#rule): Likewise.
34322
34323 * configure.ac: Check if LZO is available.
34324
ce5bf700 343252003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34326
34327 * include/pupa/normal.h: New file.
34328 * include/pupa/setjmp.h: Likewise.
34329 * include/pupa/i386/setjmp.h: Likewise.
34330 * normal/cmdline.c: Likewise.
34331 * normal/command.c: Likewise.
34332 * normal/main.c: Likewise.
34333 * normal/menu.c: Likewise.
34334 * normal/i386/setjmp.S: Likewise.
f19dbdb7 34335
ce5bf700 34336 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34337 (pupa_rescue_cmd_initrd): Likewise.
34338
34339 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34340 Likewise.
34341
34342 * kern/i386/pc/startup.S (translation_table): New variable.
34343 (translate_keycode): New function.
34344 (pupa_console_getkey): Call translate_keycode.
34345
34346 * kern/rescue.c (attempt_normal_mode): New function.
34347 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34348 it failed, print a message.
34349
34350 * kern/mm.c (pupa_real_malloc): Print more information when a
34351 free magic is broken.
34352 (pupa_free): If the first free header is not free actually, set
34353 it to P.
34354
34355 * kern/main.c (pupa_load_normal_mode): Just load the module
34356 "normal".
34357 (pupa_main): Don't print the message
34358 "Entering into rescue mode..." here.
34359
34360 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34361 Declared.
34362 (pupa_rescue_cmd_initrd): Likewise.
34363 (pupa_rescue_cmd_initrd): Likewise.
34364
34365 * include/pupa/symbol.h (FUNCTION): Specify the type.
34366 (VARIABLE): Likewise.
34367
34368 * include/pupa/err.h (pupa_err_t): Added
34369 PUPA_ERR_UNKNOWN_COMMAND.
34370
34371 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34372 (pupa_dl_get_prefix): Likewise.
34373
34374 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34375 Added _chain.mod and _linux.mod instead of chain.mod and
34376 linux.mod.
34377 (chain_mod_SOURCES): Renamed to ...
34378 (_chain_mod_SOURCES): ... this.
34379 (chain_mod_CFLAGS): Renamed to ...
34380 (_chain_mod_CFLAGS): ... this.
34381 (linux_mod_SOURCES): Renamed to ...
34382 (_linux_mod_SOURCES): ... this.
34383 (linux_mod_CFLAGS): Renamed to ...
34384 (_linux_mod_CFLAGS): ... this.
34385 (normal_mod_SOURCES): New variable.
34386 (normal_mod_CFLAGS): Likewise.
34387 (normal_mod_ASFLAGS): Likewise.
34388
343892003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34390
34391 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34392 possible.
34393
fe6b695a 34394 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 34395 recursively.
34396 (pupa_dl_unref): Unrefer depending modules recursively.
34397 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34398 a module is unloaded before one depending on that module is
34399 unloaded.
34400 (pupa_dl_unload): Unload depending modules explicitly,
34401 if possible.
34402
c04da074 344032003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34404
34405 * include/pupa/i386/pc/linux.h: New file.
34406 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 34407
c04da074 34408 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34409 Removed.
34410 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34411 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34412 of PUPA_CHAINLOADER_BOOT_SECTOR.
34413
34414 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34415 (pupa_linux_prot_size): New variable.
34416 (pupa_linux_tmp_addr): Likewise.
34417 (pupa_linux_real_addr): Likewise.
34418 (pupa_linux_boot_zimage): New function.
34419 (pupa_linux_boot_bzimage): Likewise.
34420
34421 * kern/i386/pc/init.c (struct mem_region): New structure.
34422 (MAX_REGIONS): New macro.
34423 (mem_regions): New variable.
34424 (num_regions): Likewise.
34425 (pupa_os_area_addr): Likewise.
34426 (pupa_os_area_size): Likewise.
34427 (pupa_lower_mem): Likewise.
34428 (pupa_upper_mem): Likewise.
34429 (add_mem_region): New function.
34430 (compact_mem_regions): Likewise.
34431 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34432 the size of the conventional memory and that of so-called upper
34433 memory (before the first memory hole).
34434 Instead of adding each found region to free memory, use
34435 add_mem_region and add them after removing overlaps.
34436 Also, add only 1/4 of the upper memory to free memory. The rest
34437 is used for loading OS images. Maybe this is ad hoc, but this
34438 makes it much easier to relocate OS images when booting.
34439
34440 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34441 (pupa_enter_rescue_mode): Don't register initrd and module.
34442
34443 * kern/mm.c: Include pupa/dl.h.
34444
34445 * kern/main.c: Include pupa/file.h and pupa/device.h.
34446
34447 * kern/loader.c (pupa_loader_load_module_func): Removed.
34448 (pupa_loader_load_module): Likewise.
34449
34450 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34451 ``.o''.
34452
34453 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34454 (pupa_linux_tmp_addr): Likewise.
34455 (pupa_linux_real_addr): Likewise.
34456 (pupa_linux_boot_zimage): Likewise.
34457 (pupa_linux_boot_bzimage): Likewise.
34458
34459 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34460 (pupa_upper_mem): Likewise.
34461 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34462 module is too dangerous.
34463
34464 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34465 (pupa_os_area_size): Likewise.
34466 (pupa_loader_set): Remove the first argument. Loader doesn't
34467 manage modules or initrd any longer.
34468 (pupa_loader_load_module): Removed.
34469
34470 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34471 (linux_mod_SOURCES): New variable.
34472 (linux_mod_CFLAGS): Likewise.
34473
a13f9237 344742003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34475
34476 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34477 the length of a blocklist correctly.
34478
34479 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34480 Use ioctl only if the OS file is a block device.
34481 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34482 not very useful for normal files.
34483
34484 * kern/main.c (pupa_set_root_dev): New function.
34485 (pupa_load_normal_mode): Likewise.
34486 (pupa_main): Call those above.
34487
34488 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34489 pupa_uint16_t.
34490
34491 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34492
a5ffe966 344932003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34494
34495 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34496 (setup): Configure the installed partition information and the
34497 dl prefix.
34498
34499 * loader/i386/pc/chainloader.c (my_mod): New variable.
34500 (pupa_chainloader_unload): New function.
34501 (pupa_rescue_cmd_chainloader): Refer itself.
34502 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34503
34504 * kern/i386/pc/startup.S (install_partition): Removed.
34505 (version_string): Likewise.
34506 (config_file): Likewise.
34507 (pupa_install_dos_part): New variable.
34508 (pupa_install_bsd_part): Likewise.
34509 (pupa_prefix): Likewise.
34510 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34511
34512 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34513 and pupa/misc.h.
34514 (make_install_device): New function.
34515 (pupa_machine_init): Set the dl prefix.
34516
34517 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34518 (buf): Renamed to ...
34519 (linebuf): ... this.
34520 (pupa_rescue_cmd_prefix): New function.
34521 (pupa_rescue_cmd_insmod): Likewise.
34522 (pupa_rescue_cmd_rmmod): Likewise.
34523 (pupa_rescue_cmd_lsmod): Likewise.
34524 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34525 rmmod and lsmod.
34526
34527 * kern/mm.c (pupa_memalign): If failed even after invalidating
34528 disk caches, unload unneeded modules and retry.
34529
34530 * kern/misc.c (pupa_memmove): New function.
34531 (pupa_memcpy): Removed.
34532 (pupa_strcpy): New function.
34533 (pupa_itoa): Made static.
34534
34535 * kern/dl.c (pupa_dl_iterate): New function.
34536 (pupa_dl_ref): Likewise.
34537 (pupa_dl_unref): Likewise.
34538 (pupa_dl_unload): Return if succeeded or not.
34539 (pupa_dl_unload_unneeded): New function.
34540 (pupa_dl_unload_all): Likewise.
34541 (pupa_dl_init): Renamed to ...
34542 (pupa_dl_set_prefix): ... this.
34543 (pupa_dl_get_prefix): New function.
34544
34545 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34546 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34547 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34548 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34549 (pupa_install_dos_part): Declared.
34550 (pupa_install_bsd_part): Likewise.
34551 (pupa_prefix): Likewise.
34552 (pupa_boot_drive): Likewise.
34553
34554 * include/pupa/types.h: Fix a typo.
34555
34556 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
34557 pupa_memmove.
34558 (pupa_memmove): Declared.
34559 (pupa_strcpy): Likewise.
34560
34561 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
34562 pupa_mod_init takes one argument, its own module.
34563 (pupa_dl_unload_unneeded): Declared.
34564 (pupa_dl_unload_all): Likewise.
34565 (pupa_dl_ref): Likewise.
34566 (pupa_dl_unref): Likewise.
34567 (pupa_dl_iterate): Likewise.
34568 (pupa_dl_init): Renamed to ...
34569 (pupa_dl_set_prefix): ... this.
34570 (pupa_dl_get_prefix): Declared.
34571
34572 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 34573 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 34574 unloaded.
34575 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
34576 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
34577
34578 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
34579 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
34580
012d7999 345812003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34582
34583 * util/i386/pc/pupa-setup.c (setup): Define the internal
34584 function find_first_partition_start at the top level, because GCC
34585 3.0.x cannot compile internal functions in deeper scopes
34586 correctly.
34587 (find_root_device): Use lstat instead of stat.
34588 Don't follow symbolic links.
34589 Fix the path-constructing code.
34590
34591 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
34592 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
34593 by a BLKGETSIZE ioctl first, because block devices don't fill
34594 the member st_mode of the structure stat on Linux.
34595 [__linux__] (linux_find_partition): Use a temporary buffer
34596 REAL_DEV for the working space. Copy it to DEV before returning.
34597 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
34598 buffer cache consistent.
34599 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
34600 strncmp. The previous value was merely wrong.
34601 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
34602
34603 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
34604 FAT size is 12. The previous value was merely wrong.
34605
34606 * kern/main.c (pupa_main): Don't split the starting message from
34607 newlines.
34608
34609 * kern/term.c (pupa_putchar): Put CR after LF instead of before
34610 LF, because BIOS goes crazy about character attributes in this
34611 case.
34612
1cc73a62 346132003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
34614
34615 * include/i386/pc/util/biosdisk.h: New file.
34616 * util/i386/pc/biosdisk.c: Likewise.
34617 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 34618
1cc73a62 34619 * Makefile.in (INCLUDE_DISTFILES): Added
34620 include/pupa/i386/pc/util/biosdisk.h.
34621 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
34622 directory util/i386/pc.
34623 (install-local): Added a rule for sbin_UTILITIES.
34624 (uninstall): Likewise.
34625
34626 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
34627
34628 * util/misc.c (xrealloc): New function.
34629 (pupa_malloc): Likewise.
34630 (pupa_free): Likewise.
34631 (pupa_realloc): Likewise.
34632 (pupa_stop): Likewise.
34633 (pupa_putchar): Likewise.
34634
34635 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
34636
34637 * include/pupa/util/misc.h (xrealloc): Declared.
34638
34639 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
34640 macro.
34641 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
34642 (PUPA_BOOT_MACHINE_BPB_END): ... this.
34643
34644 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
34645 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34646
34647 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
34648 way should be implemented.
34649 [PUPA_UTIL] (pupa_fat_fini): Likewise.
34650
34651 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
34652 the size of NAME for safety.
34653 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
34654 0x88.
34655
34656 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
34657 (pupa_setup_SOURCES): Likewise.
34658
34659 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
34660
08b70fe8 346612002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34662
34663 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
34664 bunch of pushl's from pusha, because this destroys the return
34665 value.
34666
62ddcc8f 346672002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
34668
34669 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
34670 This means that any missing prototypes could be fatal. Also, you
34671 must take care when writing assembly code. See the comments at
34672 the beginning of startup.S, for more details.
f19dbdb7 34673
62ddcc8f 34674 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
34675 compilation mechanism.
34676 (pupa_chainloader_real_boot): Likewise.
34677 (pupa_biosdisk_rw_int13_extensions): Likewise.
34678 (pupa_biosdisk_rw_standard): Likewise.
34679 (pupa_biosdisk_check_int13_extensions): Likewise.
34680 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
34681 (pupa_biosdisk_get_diskinfo_standard): Likewise.
34682 (pupa_get_memsize): Likewise.
34683 (pupa_get_mmap_entry): Likewise.
34684 (pupa_console_putchar): Likewise.
34685 (pupa_console_setcursor): Likewise.
34686 (pupa_getrtsecs): Use pushl instead of push.
34687
34688 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
34689 memory instead of the stack for a mmap entry, because some
34690 BIOSes may ignore the maximum size and overflow.
34691
34692 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
34693
34694 * genmk.rb (PModule#rule): Compile automatically generated
34695 sources with module-specific CFLAGS as well as other sources.
34696
9962ed99 346972002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34698
34699 * configure.ac: Check ld.
34700 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
34701 respectively, before checking endianness and sizes.
34702
34703 * Makefile.in (LD): New variable.
f19dbdb7 34704
abdfc3c5 347052002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34706
34707 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
34708
6a161fa9 347092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
34710
34711 * Changelog: New file.
34712