]> git.proxmox.com Git - grub2.git/blame - ChangeLog
merge commits from before Savannah compromise
[grub2.git] / ChangeLog
CommitLineData
8c317b27
RM
12010-11-30 Robert Millan <rmh@gnu.org>
2
c5c9cd3e
RM
3 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5
9be57a0d
CW
62010-11-26 Colin Watson <cjwatson@ubuntu.com>
7
8 Fix LVM-on-RAID probing.
9
10 * util/grub-probe.c (probe): Remember which disk was detected as
11 RAID (perhaps an LVM physical volume). Use that disk's raidname
12 rather than that of the top-level disk.
13
2c7859b3 142010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 15
d7647bb6
BC
16 Fix cmdline argument quotes for setparams command of menuentry
17 definitions.
7e623b0d
BC
18
19 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20 quotes for arguments.
f866fe80 21 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 22 grub_strchrsub function instead.
f866fe80 23
7955bea0 24 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 25
74f72a64
CW
262010-11-24 Colin Watson <cjwatson@ubuntu.com>
27
28 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
29 effort by skipping "." and ".." entries up-front.
30 Suggested by: Michael Lazarev.
31
5a407278
CW
322010-11-24 Colin Watson <cjwatson@ubuntu.com>
33
34 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
35 ldflags to ldadd, to fix link line ordering.
36 (none_decompress): Likewise.
37
3030d8ec
CW
382010-11-24 Colin Watson <cjwatson@ubuntu.com>
39
40 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
41 platforms.
42 (grub-emu-lite): Remove kern/emu/cache.S.
43
b7fbac12
CW
442010-11-23 Colin Watson <cjwatson@ubuntu.com>
45
46 * util/deviceiter.c (compare_devices): If the by-id link for a
47 device couldn't be resolved, fall back to sorting by the by-id link
48 rather than segfaulting.
49 Reported and tested by: Daniel Mierswa.
50
5225f328
CW
512010-11-23 Colin Watson <cjwatson@ubuntu.com>
52
53 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
54 ldflags, to fix link line ordering.
55
038b3ce8
CW
562010-11-23 Colin Watson <cjwatson@ubuntu.com>
57
58 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
59 linkers are picky about this.
60
bf16e98e
CW
612010-11-23 Colin Watson <cjwatson@ubuntu.com>
62
63 * grub-core/Makefile.am (command.lst): Adjust sed expression
64 ordering so that extended and priority commands aren't treated as
65 ordinary commands.
66
7242bab6
CW
672010-11-23 Colin Watson <cjwatson@ubuntu.com>
68
69 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
70 Remove byte-swapping function calls, which are not valid in
71 structure initialisers.
72 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
73 non-const.
74 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
75 grub_gpt_partition_type_bios_boot.
76
14e8b279
CW
772010-11-22 Colin Watson <cjwatson@ubuntu.com>
78
79 Fix test program build on GNU/kFreeBSD.
80
81 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
82 $(LIBNVPAIR)' library dependencies.
83
e6f63338 842010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
85
86 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
87
cf8ffc38
CW
882010-11-22 Colin Watson <cjwatson@ubuntu.com>
89
90 * util/grub-install.in: Remove excessive quoting that broke
91 installations to RAID devices.
92
7f8b0fd7
VS
932010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
96 bootloader version instead of 0.
97
dfd240b1
VS
982010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
101 warning.
102
7b61e609
VS
1032010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
106 retrieve the metadat sector if size isn't known.
107 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
108
9dfe92d0
RM
1092010-11-18 Robert Millan <rmh@gnu.org>
110
111 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
112 with grub_memcmp().
113
41cc919e
VS
1142010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
117 arrow.
118 Reported by: Jordan Uggla.
119
1afcc914
VS
1202010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Make better UTF compliant.
123
124 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
125 sequences as incorrect.
126 (grub_is_valid_utf8): Likewise.
127 (grub_utf8_to_ucs4): Likewise.
128 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
129 (grub_ucs4_to_utf8_alloc): Likewise.
130 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
131
f1808884
VS
1322010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
133
134 Make legacy_source behave like source.
135
136 * grub-core/commands/legacycfg.c (legacy_file): Don't call
137 grub_show_menu.
138 (grub_cmd_legacy_source): Call grub_show_menu if needed.
139
24ec575b
CW
1402010-11-16 Colin Watson <cjwatson@debian.org>
141
142 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
143 (-Wunused implies -Wunused-parameter, but not vice versa).
144
72b7c7aa
CW
1452010-11-16 Colin Watson <cjwatson@ubuntu.com>
146
147 * configure.ac: Make error messages less confusing by testing for
148 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
149 accepted, but produces a diagnostic if something else is wrong).
150
e98937aa
VS
1512010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
154 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
155 (now unused).
156 (grub_keyboard_controller_init)
157 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
158 read the initial state since controller isn't inited yet.
159
f6bbabc3
VS
1602010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
163 allocate_regbeg may need to create new chunk header.
164
22e7dbb2
VS
1652010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
166
167 Fix quoting in legacy parser.
168
169 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
170 single quotes.
171 (grub_legacy_parse): Likewise.
172 Reported by: Jordan Uggla.
173 Tested by: Jordan Uggla.
174
03f80960
VS
1752010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
176
177 Don't add -lgcc on i386 and x86_64.
178
179 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
180 * conf/Makefile.common (LDADD_KERNEL): Likewise.
181 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
182
779dc15b
VS
1832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * configure.ac: Add -Wno-trampolines when supported.
186
d20a3b37
MV
1872010-11-14 Modestas Vainius <modax@debian.org>
188
189 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
190 fakeraid.
191
e5360933
GC
1922010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
193
194 Add generic logical block size support for UDF.
195
196 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
197 (GRUB_UDF_BLKSZ): Removed.
198 (struct grub_udf_data): New field "lbshift" to hold the logical block
199 size of the file system in log2 format. All users updated.
200 (sblocklist): Change type to unsigned.
201 (grub_udf_mount): Change type of "sblklist" to unsigned.
202 Move AVDP search before VRS recognition, because the latter requires
203 knowledge of the logical block size, which is detected during the
204 former.
205 Detect and validate logical block size during AVDP search, adding
206 support for block sizes 512, 1024 and 4096.
207 Make VRS recognition independent of block size.
208
cb0229c5
GC
2092010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
210
211 Properly handle deleted files on UDF.
212
213 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
214 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
215 set.
216
406858a8
GC
2172010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
218
219 Support reading files larger than 2 GiB.
220
221 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
222 "offset" to grub_off_t.
223 (grub_udf_read_file): Likewise for parameter "pos".
224
130da6a7
VS
2252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
228 unavailable.
229 (Simple configuration): Refer to Changes from GRUB Legacy about
230 save_env availability.
231
65e93f6b
VS
2322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * util/grub-install.in: Ignore empty partition table detection
235 instead of trying to include part_ module.
236
1fd08bf1
VS
2372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
240 LVM on RAID support.
241
de1a024f
VS
2422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
243
244 Properly define WORDS_BIGENDIAN in wrapped environments.
245
246 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
247 definition.
248 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
249
250 Reported by: Manoel Rebelo Abranches.
251 Tested by: Manoel Rebelo Abranches.
252
bc5dd0b9
VS
2532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * util/grub-mkconfig.in: Fix quoting.
256
58c184be
VS
2572010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
258
259 Support big ext2 files.
260
261 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
262 (grub_ext2_read_block): Support triple indirect blocks.
263 (grub_ext2_read_file): Use 64-bit types and read size_high.
264 (grub_ext2_open): Read size_high.
265 Reported by: Ximin Luo.
266 Tested by: Manoel Rebelo Abranches.
267
5f0c02b3
VS
2682010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * util/grub-install.in: Handle filenames containing spaces.
271 Reported by: Jordan Uggla.
272 Tested by: Jordan Uggla.
273
4417aae6
VS
2742010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * util/grub-mkconfig.in (grub_script_check): New variable.
277 Use grub_script_check instead of grub-script-check.
278 Reported by: Barry Jackson.
279
7625a68e
VS
2802010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * docs/grub.texi (menu): Correct the order.
283 Reported by: D. Hugh Redelmeier.
284
10001ac5
VS
2852010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
288 jump.
289
9c4cf53b
MRA
2902010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
291
10001ac5
VS
292 * include/grub/elfload.h (grub_elf32_size): New parameter.
293 All users updated.
9c4cf53b
MRA
294 Return maximum segments alignment.
295 (grub_elf64_size): Likewise.
296 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
297 Return maximum segments alignment.
298 (grub_elf64_size): Likewise.
299 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
300 (grub_linux_claimmap_iterate): New function. Uses the
301 "available" property in the "memory" node for memory allocation
302 for kernel in the PowerPC loader.
9c4cf53b
MRA
303 (grub_linux_load32): Correctly find linux entry point offset.
304 (grub_linux_load64): Likewise.
305
d2bf06bf
RM
3062010-11-07 Robert Millan <rmh@gnu.org>
307
308 On mips-yeeloong, build with -march=loongson2f when this flag is
309 available (GCC >= 4.4).
310 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
311 `-march=mips3'.
312 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
313 or otherwise add -march=mips3.
314
898c99a2
BC
3152010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
316
87220a68
BC
317 Suppress shell expansion on echo '*' and echo "*" like cases.
318 Reported by: Jordan Uggla.
898c99a2
BC
319
320 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
321 string arguments before shell expansion.
322 * tests/grub_cmd_echo.in: New testcases.
323
4f9b406a
RM
3242010-11-07 Robert Millan <rmh@gnu.org>
325
326 * conf/mips-qemu-mips.rmk: Remove stale file from previous
327 transition.
328
80c6d25e
VS
3292010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/kern/emu/hostdisk.c
332 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
333
4a1a0153
VS
3342010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
337 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
338 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
339
34706ddc
VS
3402010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
343
6972dea9
VS
3442010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
345
346 * util/grub-install.in: Replace useless recomendation to pass
347 --modules with a recomendation to report a bug.
348
9c693bd6
VS
3492010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
350
351 Properly register serial terminfo.
352 Reported by: Jordan Uggla
353
354 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
355 const.
356 (grub_serial_terminfo_output_template): Likewise.
357 (grub_cmd_serial): Register "serial" with terminfo.
358 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
359 grub_serial_terminfo_output.
360
6c9e4c0c
RM
3612010-11-05 Robert Millan <rmh@gnu.org>
362
363 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
364 needed).
365
b9b3839f
RM
3662010-11-05 Robert Millan <rmh@gnu.org>
367
368 On Yeeloong, pass machine type information to Linux.
369
370 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
371 (LOONGSON_MACHTYPE): New macro, set to
372 "machtype=lemote-yeeloong-2f-8.9inches".
373 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
374 additional argument to Linux.
375
1a3aaff4
RM
3762010-11-04 Robert Millan <rmh@gnu.org>
377
378 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
379 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
380 (its SATA disks are detected as slaveless IDE master drives on
381 kFreeBSD).
382 Reported by Carsten Aulbert.
383
a75f4f62
CW
3842010-11-02 Colin Watson <cjwatson@ubuntu.com>
385
386 * util/bin2h.c (main): Fix spelling error in generated output.
387
33b4b0c6
GS
3882010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
389
390 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
391
2b36fbf4
VS
3922010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
395 vga= option is supplied.
396
74aaf558
VS
3972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
400 * util/grub.d/10_kfreebsd.in: Likewise.
401 * util/grub.d/10_linux.in: Likewise.
402 * util/grub.d/20_linux_xen.in: Likewise.
403
6428dec3
VS
4042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
407 argument as an argument to no-argument option.
408
f8729d98
VS
4092010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * util/grub.d/10_linux.in: Add missing load_video with explicit
412 GRUB_GFXPAYLOAD_LINUX.
413
89d68fa6
VS
4142010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
417
3a1197cd
VS
4182010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
421 elements with invlid index.
422 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
423 * grub-core/disk/raid.c (insert_array): Automatically reallocate
424 members.
425 * include/grub/raid.h (grub_raid_member): New struct.
426 (grub_raid_array): Transform devices and start_sector into usage of
427 grub_raid_member. All users updated
428 (allocated_devs): New member.
429
71574288
VS
4302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
433 is modified
434
8d40ec65
BC
4352010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
436
437 NetBSD build fix for getline function conflict from gnulib.
438
439 * Makefile.util.def (libgrubkern.a): New library for grub kernel
440 components that depend on gnulib headers.
441 (libgrubmods.a): Renamed from earlier libgrub.a.
442 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
443
95b9257e
VS
4442010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
447 install rather than creating a broken install.
448
26c53dc6
VS
4492010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * util/grub-setup.c (argp): Remove misleading example of installing to
452 a partition.
453
4171b3c5
VS
4542010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * util/grub-setup.c (setup): Clarify the error message.
457
18568d18
VS
4582010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
461
4f6a2e21
VS
4622010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/kern/emu/misc.c
465 (grub_make_system_path_relative_to_its_root)
466 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
467
4682010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
469
470 * grub-core/kern/emu/misc.c
471 (grub_make_system_path_relative_to_its_root): Revert r2882.
472
e138c458
VS
4732010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
476 useless field head. All users updated.
477 (free_subchunk): Correct handling of IN_REGION subchunk.
478
0cbcdf0e
CW
4792010-10-22 Colin Watson <cjwatson@ubuntu.com>
480
481 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
482 (Supported kernels): Likewise.
483
b65ea155
GS
4842010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
485
486 Make mktemp invocations portable.
487
488 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
489 exit if mktemp fails.
490 * tests/grub_script_blockarg.in: Likewise.
491 * tests/partmap_test.in: Likewise.
492 * tests/util/grub-shell-tester.in: Likewise.
493 * tests/util/grub-shell.in: Likewise.
494 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
495 * Makefile.am: Likewise, and chain shell commands with `&&'
496 instead of ';'.
497 * util/grub-mkrescue.in: Use the same explicit template as above, and
498 exit if mktemp fails.
499
05f43cdd
BC
5002010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
501
502 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
503 Linux kernel, reported by Dennis Schridde.
504
800e6a9b
SJ
5052010-10-17 Szymon Janc <szymon@janc.net.pl>
506
507 * grub-core/normal/auth.c (grub_auth_check_authentication):
508 Set-but-not-used variable removed.
509
d82df574
VS
5102010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
511
512 * docs/grub.texi (GNU/Linux): Document APM unavailability with
513 32-bit linux protocol.
514
7bced458
VS
5152010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
518 cursor shape for sanity.
519
5b027690
VS
5202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * docs/grub.texi (Installation): Document buggy BIOS install.
523
ba5f65cf
VS
5242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * docs/grub.texi (Installation): Indent.
527
fdf2ec9c
VS
5282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * util/grub-setup.c (setup): New parameter allow_floppy.
531 (arguments): New member allow_floppy.
532 (argp_parser): Handle --allow-floppy.
533 (main): Pass allow_floppy.
534 * util/grub-install.in: New option --allow-floppy passed though to
535 grub-setup.
536
861dfd4c
VS
5372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * util/grub-install.in: Handle partitionless disks.
540
f77a8c24
VS
5412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * util/grub-setup.c (setup): Don't clean blocklists before readability
544 verfification.
545
27d9ee32
VS
5462010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * docs/grub.texi (Installation): Document embedding zone. Remove
549 obsolete grub-install example.
550
6bdda8f8
SJ
5512010-10-16 Szymon Janc <szymon@janc.net.pl>
552
553 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
554 Set-but-not-used variable ifdef'ed.
555 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
556 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
557 variable removed.
558 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
559 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
560 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
561 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
562 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
563 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
564 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
565 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
566 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
567 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
568 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
569 Likewise.
570
e19b016b
VS
5712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
574 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
575 enum value.
576
6c8d3002
VS
5772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
580 synonym to _S5_. Needed for some DSDTs.
581
c32b51c9
VS
5822010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
583
584 Userspace ACPI parser debugging.
585
586 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
587 headers and add relevant defines. Don't include standard headers.
588 (main) [GRUB_DSDT_TEST]: New function.
589 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
590 Don't declare functions.
591
fbfbeb39
VS
5922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
593
594 Remove dead grub_efi_mm_fini.
595
596 * grub-core/kern/efi/mm.c (allocated_page): Removed.
597 (ALLOCATED_PAGES_SIZE): Likewise.
598 (MAX_ALLOCATED_PAGES): Likewise.
599 (allocated_pages): Likewise.
600 (grub_efi_allocate_pages): Don't record allocated pages.
601 (grub_efi_free_pages): Likewise.
602 (grub_efi_mm_init): Likewise.
603 (grub_efi_mm_fini): Removed.
604
65f7ed7c
VS
6052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
608 (grub_efi_mm_init): Take into account the memory map size increase.
609
24977b44
VS
6102010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
613 (serial_hw_put): Wait based on real time rather than port reads. Don't
614 roken ports.
615 * include/grub/serial.h (grub_serial_port): New field broken.
616
1eb01cd2
RM
6172010-10-16 Robert Millan <rmh@gnu.org>
618
619 * grub-core/kern/emu/misc.c
620 (grub_make_system_path_relative_to_its_root): Fix premature return
621 when processing non-root ZFS filesystems.
5f8b440b 622 Reported by Sergio Talens-Oliag.
1eb01cd2 623
2d5fed60
RM
6242010-10-15 Robert Millan <rmh@gnu.org>
625
626 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
627 guarantee compressed ones are processed first.
628
d0f4c1ea
VS
6292010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
632 grub_efiemu_autocore.
633
d87c681f
VS
6342010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
637 rather than 0x1b.
638 (grub_console_getkey): Use correct jae opcode rather than ja.
639
219b3564
RM
6402010-10-12 Robert Millan <rmh@gnu.org>
641
642 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
643 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
644 variable. All references updated.
645
646 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
647
20c6bb7e
VS
6482010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
649
650 Correctly distinguish mdraid flavours.
651
652 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
653 (insert_array): New argument raid.
654 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
655 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
656 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
657
74baff84
VS
6582010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
659
660 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
661 handling of special keys.
662
3ef068df 6632010-10-02 Aleš Nesrsta <starous@volny.cz>
664
c7980ad9
VS
665 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
666 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 667
a9455194 6682010-10-02 Aleš Nesrsta <starous@volny.cz>
669
c7980ad9
VS
670 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
671 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
672 users updated.
a9455194 673 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 674 Use right endpoint when querying descriptor.
a9455194 675
441cfe65
VS
6762010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
677
678 Clear out 0x80 color bit on EFI.
679 Tested by: decoder
680 Reported by: decoder and meta tech.
681
682 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
683 (grub_console_setcolorstate): Clear out 0x80 bit.
684 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
685 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
686 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
687
bf26bcc4
VS
6882010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
691 Set to "auto".
692
6e3c515d
VS
6932010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
696 mo_file after freeing.
697
e6d983ba
VS
6982010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
701
74ccb5b5
VS
7022010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
705 flags.
706
17821956
VS
7072010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
710 usage.
711
ee74fa48
VS
7122010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
713
714 Put terminfo into core on ieee1275 and yeeloong (needed for console).
715
716 * gentpl.py: New groups terminfoinkernel and terminfomodule.
717 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
718 and terminfo.h when needed.
719 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
720 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
721 (terminfo): Enable only on terminfokernel.
722 (extcmd): Likewise.
723 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
724 * include/grub/lib/arg.h: Likewise.
725 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
726 incorrect usage of ->.
727
aa438e68
VS
7282010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
731 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
732
57994012
VS
7332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
734
735 Fix coreboot compilation.
736
737 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
738 Take VBE info into account even if only text is supported.
739 (fill_vbe_info): Take into account the case when only VGA text
740 is supported.
741 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
742 on coreboot, multiboot and qemu.
743
2a406611
VS
7442010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
747 debug messages.
748 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
749
d33613fc
VS
7502010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
753 parameters.
754
44a1b432
VS
7552010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
758 if they were BSD-style.
759
edde54e6
VS
7602010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/boot/i386/pc/lnxboot.S: Replace
763 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
764 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
765
b65830fa
VS
7662010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
767
768 Write embedding zone using Reed-Solomon.
769
770 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
771 * grub-core/Makefile.am (rs_decoder.S): New target.
772 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
773 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
774 (multiboot): Move to RS part.
775 (post_reed_solomon): New label.
776 (grub_boot_drive): Move to non-RS part since it's modified in memory
777 on boot.
778 Include rs_decoder.S.
779 * grub-core/lib/reed_solomon.c: New file.
780 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
781 New definition.
782 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
783 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
784 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
785 * include/grub/partition.h (grub_partition_map): Change prototype of
786 embed to allow returning additional sectors.
787 * include/grub/reed_solomon.h: New file.
788 * util/grub-setup.c (setup): Handle Reed-Solomon.
789
0b4b227f
CW
7902010-09-28 Colin Watson <cjwatson@ubuntu.com>
791
792 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
793 i386 and x86-64 definedness tests.
794
f772623b
YB
7952010-09-27 Yves Blusseau <blusseau@zetam.org>
796
797 Fix generation of kernel_syms.lst
798
799 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
800 ASM_PREFIX
801
8e57a6ca
RM
8022010-09-26 Robert Millan <rmh@gnu.org>
803
804 Support degraded ZFS arrays in "grub-probe -t device" resolution.
805
806 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
807 the pool is an array of devices, iterate through it and return the
808 first device that passes a stat() test (instead of blindly returning
809 the first one).
810
f9130836
RM
8112010-09-26 Robert Millan <rmh@gnu.org>
812
813 Build fixes for GNU/kFreeBSD.
814
815 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
816 to programs that require ZFS conversion.
817 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
818 kernels that don't have FLOPPY_MAJOR.
819
96510faf
BC
8202010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
821
822 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
823
449333eb
BC
8242010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
825
826 Fix grub-emu build.
827
828 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
829 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
830 mdraid09 and mdraid1x.
831
e1fd1939
CW
8322010-09-24 Colin Watson <cjwatson@ubuntu.com>
833
834 Re-enable grub-extras.
835
836 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
837 avoid confusing Automake. Run autogen only twice, once for the top
838 level and once for grub-core. Add Makefile.util.def and
839 Makefile.core.def from extra modules to the appropriate autogen
840 invocations. If Makefile.common exists in an extra module, include
841 it in both Makefile.util.am and grub-core/Makefile.core.am;
842 similarly, include any Makefile.util.common file in Makefile.util.am
843 and any Makefile.core.common file in grub-core/Makefile.core.am.
844 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
845 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
846 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
847 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
848
849 * gentpl.py (gvar_add): Turn GVARS into a set.
850 (global_variable_initializers): Sort global variables on output.
851 (vars_init): New function.
852 (first_time): Likewise.
853 (library): Ensure that non-global variable initialisations are
854 emitted before the first time we emit code for a library block.
855 Append to variables rather than setting them. Only emit
856 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
857 each conditional path.
858 (program): installdir() emits an Autogen macro, so must be passed to
859 var_add rather than gvar_add.
860 (data): Likewise.
861 (script): Likewise.
862 (rules): New function, centralising handling for different target
863 types. Set up Guile association lists for first_time and vars_init,
864 and send most output to a diversion so that variable initialisations
865 can be emitted first.
866 (module_rules): Use new rules function.
867 (kernel_rules): Likewise.
868 (image_rules): Likewise.
869 (library_rules): Likewise.
870 (program_rules): Likewise.
871 (script_rules): Likewise.
872 (data_rules): Likewise.
873
874 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
875
876 * .bzrignore: Add contrib and grub-core/contrib. Remove
877 grub-core/Makefile.gcry.am.
878
1d12cf29
YB
8792010-09-24 Yves Blusseau <blusseau@zetam.org>
880
881 * grub-core/lib/LzFind.c: Add missing include.
882 * grub-core/lib/LzmaEnc.c: Likewise.
883 * grub-core/script/lexer.c: Likewise.
884 * grub-core/script/yylex.l: Likewise.
885 * util/grub-macho2img.c: Likewise.
886 * util/grub-menulst2cfg.c: Likewise.
887 * util/grub-mklayout.c: Likewise.
888 * util/grub-mkpasswd-pbkdf2.c
889 * util/grub-mkrelpath.c: Likewise.
890 * util/resolve.c: Likewise.
891
dd363028
BC
8922010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
893
894 * Makefile.util.def (example_unit_test): Add
895 grub-core/gnulib/libgnu.a.
896
f5a109e2
GS
8972010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
898
899 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
900
6d0fa83c
VS
9012010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
902
903 Support xz compression on yeeloong.
904
905 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
906 * configure.ac: Check for LZMA.
907 * grub-core/Makefile.core.def (xz_decompress): New target.
908 (none_decompress): Likewise.
909 * grub-core/boot/decompressor/minilib.c: New file.
910 * grub-core/boot/decompressor/none.c: Likewise.
911 * grub-core/boot/decompressor/xz.c: Likewise.
912 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
913 * grub-core/kern/mips/cache_flush.S: Likewise.
914 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
915 * grub-core/kern/mips/startup.S: Move first stage to ...
916 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
917 nomacro.
918 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
919 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
920 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
921 Allocate statically.
922 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
923 Allocate statically or use scratch. Don't check CRC32.
924 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
925 Allocate statically. Don't check CRC32.
926 * include/grub/decompressor.h: New file.
927 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
928 Removed.
929 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
930 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
931 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
932 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
933 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
934 * util/grub-mkimage.c (grub_compression_t): New type.
935 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
936 (image_target_desc): New field default_compression.
937 (image_targets): Adjust yeeloong targets.
938 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
939 (compress_kernel): New parameter comp.
940 (generate_image): Likewise. Handle new compression case.
941 (options): New option --compression
942 (help): Likewise.
943 (main): Handle new option.
944
1b655af6
GS
9452010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
946
947 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
948
8f03f0b5
CW
9492010-09-22 Colin Watson <cjwatson@ubuntu.com>
950
951 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
952 typo in __i386__ conditional.
953
7835dfd3
VS
9542010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
957 include.
958
e255597e
VS
9592010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
960
6d0fa83c 961 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
962
963 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
964 new tags as supported.
965 (acpiv2_size): New function.
966 (grub_multiboot_get_mbi_size): Take new tags into account.
967 (grub_multiboot_make_mbi): Add new tags.
968 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 969
6cc14051 9702010-09-21 Aleš Nesrsta <starous@volny.cz>
971
972 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
973 Added missing configuration of USB device.
974
df7769d8
CW
9752010-09-21 Colin Watson <cjwatson@ubuntu.com>
976
977 * grub-core/normal/menu_entry.c (run): Make sure we always return
978 a value.
979
b031012d
CW
9802010-09-21 Colin Watson <cjwatson@ubuntu.com>
981
982 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
983 NumberOfPages is UINT64 according to the UEFI specification, not
984 UINTN. Fix printf format.
985
174de8f3
CW
9862010-09-21 Colin Watson <cjwatson@ubuntu.com>
987
988 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
989 `err' to grub_usb_err_t.
990 Reported and tested by: KESHAV P.R.
991
d7dbe923
CW
9922010-09-21 Colin Watson <cjwatson@ubuntu.com>
993
994 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
995 tpart non-const, so that we can assign to it. (Since this is a
996 typedef, the constness refers to the pointer rather than what it
997 points to.)
998
8d5e2af3
CW
9992010-09-21 Colin Watson <cjwatson@ubuntu.com>
1000
1001 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
1002 $(top_srcdir)/grub-core/gnulib as well as
1003 $(top_builddir)/grub-core/gnulib.
1004 Reported by: KESHAV P.R.
1005
5c527783
CW
10062010-09-21 Colin Watson <cjwatson@ubuntu.com>
1007
1008 * util/grub-install.in: Fix the bootloader ID option to be
1009 consistently --bootloader-id, not --bootloader_id.
1010 Reported by: KESHAV P.R.
1011
d309a16e
CW
10122010-09-21 Colin Watson <cjwatson@ubuntu.com>
1013
1014 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
1015 check hash checksum." consistently translatable.
1016
b830cd16
YB
10172010-09-21 Yves Blusseau <blusseau@zetam.org>
1018
1019 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
1020 $(top_builddir).
1021
c4fe27a8
CW
10222010-09-21 Colin Watson <cjwatson@ubuntu.com>
1023
1024 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
1025 (GRUB_MOD_INIT): Register sha1sum command.
1026 (GRUB_MOD_FINI): Unregister sha1sum command.
1027
a4c1d277
YB
10282010-09-21 Yves Blusseau <blusseau@zetam.org>
1029
1030 Keep boot and grub directory names in sync with utils scripts
1031
1032 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
1033 * config.h.in: Add previous macros.
1034 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
1035 * util/grub-install.in: Use $bootdir and $grubdir variables.
1036
4eff79d2
CW
10372010-09-21 Colin Watson <cjwatson@ubuntu.com>
1038
1039 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
1040 convert partition names to disk names if the new `convert' parameter
1041 is set.
1042 (grub_util_biosdisk_get_grub_dev): If opening the disk device
1043 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
1044 disk in its own right. This can happen with Xen disk images.
1045
934d7e44
YB
10462010-09-21 Yves Blusseau <blusseau@zetam.org>
1047
1048 * util/grub-editenv.c: Update strings to avoid warnings when generating
1049 grub.pot file.
1050 * util/grub-setup.c: Likewise.
934d7e44 1051
df3367cc
VS
10522010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * configure.ac: Change version to 1.99~beta0.
1055
77a94e98
VS
10562010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1059 Add BADRAM.
1060 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
1061 Likewise.
1062 * include/multiboot.h: Resynced with specification.
1063 * include/multiboot2.h: Likewise.
1064
269004c1
CW
10652010-09-21 Colin Watson <cjwatson@ubuntu.com>
1066
1067 Fix po directory handling.
1068
1069 * configure.ac: Create po/Makefile.in rather than po/Makefile.
1070 * grub-core/gnulib/Makefile.am: Import gettext module.
1071 * m4/gnulib-cache.m4: Likewise.
1072 * m4/gnulib-comp.m4: Likewise.
1073 * m4/gettext.m4: New file, from gnulib.
1074 * m4/glibc2.m4: Likewise.
1075 * m4/iconv.m4: Likewise.
1076 * m4/intdiv0.m4: Likewise.
1077 * m4/intl.m4: Likewise.
1078 * m4/intldir.m4: Likewise.
1079 * m4/intlmacosx.m4: Likewise.
1080 * m4/intmax.m4: Likewise.
1081 * m4/inttypes-pri.m4: Likewise.
1082 * m4/lcmessage.m4: Likewise.
1083 * m4/lib-ld.m4: Likewise.
1084 * m4/lib-link.m4: Likewise.
1085 * m4/lib-prefix.m4: Likewise.
1086 * m4/lock.m4: Likewise.
1087 * m4/nls.m4: Likewise.
1088 * m4/po.m4: Likewise.
1089 * m4/printf-posix.m4: Likewise.
1090 * m4/progtest.m4: Likewise.
1091 * m4/threadlib.m4: Likewise.
1092 * m4/uintmax_t.m4: Likewise.
1093 * m4/visibility.m4: Likewise.
1094 * po/Makefile.am: Remove.
1095 * po/Makefile.in.in: New file, from gettext.
1096 ($(DOMAIN).pot-update): Support POTFILES-shell.
1097 * po/Makevars: New file.
1098 * po/POTFILES-shell: Rename to ...
1099 * po/POTFILES-shell.in: ... this. Update.
1100 * po/POTFILES: Rename to ...
1101 * po/POTFILES.in: ... this. Update.
1102 * po/Rules-quot: New file, from gettext.
1103 * po/boldquot.sed: Likewise.
1104 * po/en@boldquot.header: Likewise.
1105 * po/en@quot.header: Likewise.
1106 * po/insert-header.sin: Likewise.
1107 * po/quot.sed: Likewise.
1108 * po/remove-potcdate.sin: Likewise.
1109
3e0fa5d0
VS
11102010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
1113
ade9bd66
VS
11142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * util/grub.d/20_linux_xen.in: Use submenus.
1117
fc55cc4c
VS
11182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 Support submenus.
1121
1122 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
1123 parameter submenu. All users updated.
1124 * grub-core/normal/main.c (free_menu): Rename to ...
1125 (grub_normal_free_menu): ... this. Made global.
1126 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
1127 if requested.
1128 * grub-core/normal/menu_entry.c (screen): New field submenu.
1129 (make_screen): Set submenu.
1130 (run): Open new context if requested.
1131 * include/grub/menu.h (grub_menu_entry): New field submenu.
1132 * include/grub/normal.h (grub_normal_free_menu): New proto.
1133
600cedf7
VS
11342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 Menu entries extractor.
1137
1138 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
1139 variants.
1140 (GRUB_MOD_INIT): Register new variants.
1141 (GRUB_MOD_FINI): Unregister new variants.
1142 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
1143 into grub_cmd_legacy_source.
1144 (grub_cmd_legacy_source): Implement extractor variants.
1145 (GRUB_MOD_INIT): Register new variants.
1146 (GRUB_MOD_FINI): Unregister new variants.
1147 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
1148 as an extractor.
1149 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
1150 search as an extractor.
1151 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
1152 test as an extractor.
1153 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
1154 as an extractor.
1155 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
1156 (grub_env_new_context): New function.
1157 (grub_env_context_open): Likewise.
1158 (grub_env_extractor_open): Likewise.
1159 (grub_env_extractor_close): Likewise.
1160 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1161 grub_extractor_level.
1162 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
1163 * include/grub/env.h (grub_env_extractor_open): New proto.
1164 (grub_env_extractor_close): Likewise.
1165 * include/grub/normal.h (grub_extractor_level): New external variable.
1166
7bda3a87
VS
11672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Make cutmem accept a region specification.
1170 Suggested by: Samuel Thibault
1171
1172 * grub-core/mmap/mmap.c (parsemem): New function.
1173 (grub_cmd_cutmem): Handle new arguments.
1174
2ea57f88
VS
11752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 New command cutmem.
1178
1179 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
1180 (GRUB_MOD_INIT): Register new command.
1181 (GRUB_MOD_FINI): Unregister new command.
1182
74342e31
VS
11832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 Support some annoying BSD and Minix subpartitions.
1186
1187 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
1188 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1189 Properly handle concatenation.
1190 * grub-core/kern/device.c (grub_device_iterate): Likewise.
1191 * grub-core/normal/completion.c (iterate_partition): Likewise.
1192 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
1193 contain partition. All users updated.
1194 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
1195 struct.
1196 (grub_openbsdlabel_partition_map): Likewise.
1197 (bsdlabel_partition_map_iterate): Rename to ..
1198 (iterate_real): ... this. New arguments sector, freebsd and pmap.
1199 (bsdlabel_partition_map_iterate): New function.
1200 (netopenbsdlabel_partition_map_iterate): Likewise.
1201 (netbsdlabel_partition_map_iterate): Likewise.
1202 (openbsdlabel_partition_map_iterate): Likewise.
1203 (GRUB_MOD_INIT): Register new partmaps.
1204 (GRUB_MOD_FINI): Unregister new partmaps.
1205 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
1206 (grub_partition_msdos_iterate): ... this. All users updated.
1207 Don't support embedding other than in a minix partition.
1208 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
1209 proto.
1210 * include/grub/partition.h (grub_partition): New field msdostype.
1211 * util/grub-install.in: Handle openbsd and netbsd types being in
1212 part_bsd module.
1213
1e8d555b
VS
12142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
1217
1218 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
1219 * grub-core/Makefile.core.def (mdraid): Renamed to ...
1220 (mdraid09): ... this.
1221 (mdraid1x): New module.
1222 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
1223 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
1224
899d8af4
VS
12252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
1228 vsprintf.
1229
40901acd
CW
12302010-09-20 Colin Watson <cjwatson@ubuntu.com>
1231
1232 * grub-core/commands/efi/lsefimmap.c: Correct header.
1233 * NEWS: Update.
1234
dfe3b247
CW
12352010-09-20 Colin Watson <cjwatson@ubuntu.com>
1236
1237 * util/grub-editenv.c (argp_parser): Don't pass translated strings
1238 as printf format strings; the translations might contain '%' which
1239 could cause a crash.
1240 (main): Likewise.
1241 * util/grub-fstest.c (argp_parser): Likewise.
1242 * util/grub-setup.c (argp_parser): Likewise.
1243 (main): Likewise.
1244
3286a4b4
VS
12452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 Use argp in grub-fstest.
1248
1249 * util/grub-fstest.c: Don't include getopt.h.
1250 Include argp.h.
1251 (root): New variable.
1252 (args_count): Likewise.
1253 (nparm): Likewise.
1254 (num_disks): Likewise.
1255 (images): Likewise.
1256 (cmd): Likewise.
1257 (debug_str): Likewise.
1258 (args): Likewise.
1259 (options): Transformed to argp.
1260 (usage): Removed.
1261 (main): Split argument parsing into ...
1262 (argp_parser): ... this. Changed to argp format.
1263 (argp): New variable.
1264 (main): Use argp_parse.
1265
3dccbe4b
TG
12662010-09-20 Tristan Gingold <gingold@free.fr>
12672010-09-20 Robert Millan <rmh.grub@aybabtu.com>
12682010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/commands/efi/lsefimmap.c: New file.
1271 * grub-core/Makefile.core.def (lsefimmap): New module.
1272 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
1273
38c259a7
VS
12742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Pause the execution (10s max) if any errors are displayed so the user
1277 has a chance to see them.
1278
1279 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
1280 (grub_print_error): Increment grub_err_printed_errors.
1281 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
1282 execution if any errors were displayed.
1283 (show_menu): Remove old code for pause.
1284 * grub-core/normal/menu_entry.c (run): Likewise.
1285 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
1286 users updated.
1287 (grub_normal_get_char_counter): Likewise.
1288 * include/grub/err.h (grub_err_printed_errors): New external variable.
1289 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
1290
f218b09c
VS
12912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 Support multiboot VBE info.
1294
1295 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1296 Take VBE info into account.
1297 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
1298 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1299 Call fill_vbe_info when appropriate.
1300 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
1301 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
1302 as supported.
1303 (grub_multiboot_get_mbi_size): Take new tags into account.
1304 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
1305 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1306 Call fill_vbe_tag when appropriate.
1307 (grub_multiboot_make_mbi): Properly align tags.
1308 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
1309 function.
1310 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
1311 proto.
1312 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
1313
a9cc5438
VS
13142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 Suport manual terminal geometry specification.
1317
1318 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
1319 Save state in grub_ofconsole_terminfo_output.
1320 (grub_ofconsole_term): Use grub_terminfo_getwh.
1321 (grub_ofconsole_getwh): Removed.
1322 * grub-core/term/serial.c (grub_serial_getwh): Removed.
1323 (grub_serial_term): Use grub_terminfo_getwh.
1324 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
1325 (options): New struct.
1326 (OPTION_*): New enum.
1327 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
1328 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
1329 width and height.
1330 (grub_terminfo_getwh): New proto.
1331 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
1332
1a8fed20
VS
13332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 Handle legacy "terminal" command.
1336
1337 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
1338 and FLAG_TERMINAL.
1339 (legacy_commands): Add terminal and title.
1340 (grub_legacy_parse): Handle terminal. Simplify title handling.
1341
41e9c57d
VS
13422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
1345 parameters overflow.
1346
61c874c5
CW
13472010-09-20 Colin Watson <cjwatson@ubuntu.com>
1348
1349 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
1350 widthspec.h.
1351
1352 * docs/grub.texi (Shell-like scripting): Document `!'.
1353 (Network): Simplify using new i386-pc-pxe format. Mention
1354 grub-mknetdir.
1355
1356 * NEWS: Update.
1357
943682b4
CW
13582010-09-20 Colin Watson <cjwatson@ubuntu.com>
1359
1360 * Makefile.am (SUBDIRS): Restore "."; it's important to force
1361 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
1362 when needed.
1363
6d3d698d
CW
13642010-09-20 Colin Watson <cjwatson@ubuntu.com>
1365
1366 * grub-core/commands/efi/lsefisystab.c: Correct header.
1367 * grub-core/commands/efi/lssal.c: Likewise.
1368 * grub-core/commands/testload.c: Likewise.
1369
c982589f
CW
13702010-09-20 Colin Watson <cjwatson@ubuntu.com>
1371
1372 * util/grub-mkrescue.in: Add explicit root argument to --set to
1373 prevent the UUID being interpreted as an argument to --set (matches
1374 previous change to prepare_grub_to_access_device).
1375
a63c31b6
CW
13762010-09-20 Colin Watson <cjwatson@ubuntu.com>
1377
1378 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
1379 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
1380 the verbosity of later #ifs.
1381 (find_partition_start): Define this function on FreeBSD too.
1382 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
1383 function.
1384 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
1385 on FreeBSD.
1386
6439b8ee
YB
13872010-09-20 Yves Blusseau <blusseau@zetam.org>
1388
1389 * util/grub-editenv.c: Use argp instead of getopt.
1390
c5930ec8
YB
13912010-09-20 Yves Blusseau <blusseau@zetam.org>
1392
1393 * util/grub-setup.c: Use argp instead of getopt.
1394
15c69261
YB
13952010-09-20 Yves Blusseau <blusseau@zetam.org>
1396
1397 Use gnulib-tool to create gnulib source files.
1398
1399 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
1400 grub-core/gnulib directories
1401 * .bzignore: Add **/.deps and autogenerated gnulib files
1402 * configure.ac: Assign auxiliary directory to build-aux, add invocation
1403 of gnulib macros, add grub-core/gnulib/Makefile
1404 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
1405 include m4 directory to aclocal.
1406 * Makefile.util.def: Remove direct compilation of gnulib source files
1407 and use the new grub-core/gnulib/libgnu.a.
1408 * build-aux/config.rpath: move config.rpath from top directory to
1409 build-aux
1410 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
1411 in gnulib headers
1412 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
1413 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
1414 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
1415 header.
1416 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
1417 string.
1418
e511c9f5
YB
14192010-09-20 Yves Blusseau <blusseau@zetam.org>
1420
1421 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
1422 grub-core/genmod.sh and grub-core/gensyminfo.sh
1423
c2dede05
BC
14242010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
1425
1426 Add a test for echo command options.
1427
1428 * tests/grub_cmd_echo.in: New test.
1429 * Makefile.util.def: Rules for new test.
1430
c55f5018
SJ
14312010-09-20 Szymon Janc <szymon@janc.net.pl>
1432
1433 Remove crc.mod and move crc command to hashsum.mod.
1434 Remove lib/crc.c - users updated to use gcrypt implementation.
1435
1436 * grub-core/commands/crc.c: Removed.
1437 * grub-core/Makefile.core.def (crc): Module removed.
1438 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
1439 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
1440 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
1441 * grub-core/lib/crc.c: Removed.
1442 * include/grub/lib/crc.h: Removed.
1443 * Makefile.util.def (crc): Remove lib/crc.c
1444 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
1445 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
1446 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
1447 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
1448 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
1449 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
1450
e0337366
VS
14512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
1454
742f9232
VS
14552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 Split config.h for util and core.
1458
1459 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
1460 (ADDR32): Likewise.
1461 (DATA32): Likewise.
1462 (BSS_START_SYMBOL): Likewise.
1463 (END_SYMBOL): Likewise.
1464 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1465 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1466 * config.h.in: New file.
1467 * configure.ac: Use config-util.h as config define file.
1468 Rename MACHINE into GRUB_MACHINE. All users updated.
1469 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1470 updated.
1471 (NESTED_FUNC_ATTR): Likewise.
1472 Substitue new variables.
1473 (COND_HAVE_ASM_USCORE): New conditional.
1474 * grub-core/Makefile.am (ASM_PREFIX): New variable.
1475 (kernel_syms.lst): Use ASM_PREFIX.
1476 * grub-core/kern/emu/console.c: Include config-util.h.
1477 * grub-core/kern/emu/misc.c: Likewise.
1478 * grub-core/kern/emu/mm.c: Likewise.
1479 * include/grub/emu/misc.h: Likewise.
1480 * include/grub/libgcc.h: Likewise.
1481
39feb0e8
VS
14822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
1485 constants usage.
1486 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
1487 Fix GRUB_TERM_KEY_* constants usage.
1488 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
1489
9af6dac3
VS
14902010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
1493 print pointer.
1494 * grub-core/bus/usb/uhci.c: Remove empty define.
1495 (grub_uhci_check_transfer): Add missing cast.
1496 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
1497 print pointer.
1498 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
1499 PRIuGRUB_SIZE.
1500 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
1501
d6d94820
VS
15022010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/Makefile.core.def (legacycfg): Add
1505 lib/i386/pc/vesa_modes_table.c on emu.
1506
3572f2b6
BC
15072010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1508
1509 Reduce number of temporary files generated by build system.
1510
1511 * grub-core/gencmdlist.sh: Removed.
1512 * grub-core/genfslist.sh: Removed.
1513 * grub-core/genhandlerlist.sh: Removed.
1514 * grub-core/genmodsrc.sh: Removed.
1515 * grub-core/genpartmaplist.sh: Removed.
1516 * grub-core/genparttoollist.sh: Removed.
1517 * grub-core/gentermiinallist.sh: Removed.
1518 * grub-core/genvideolist.sh: Removed.
1519
1520 * grub-core/genmod.sh.in: New file.
1521 * grub-core/gensyminfo.sh.in: New file.
1522
1523 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1524 * conf/Makefile.extra-dist: Update with new files.
1525 * gentpl.py: Remove rules related to unnecessary temporary files.
1526 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1527 and und-* files.
1528 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1529 genmod.sh scripts.
1530 * grub-core/bus/usb/uhci.c: Remove empty #define.
1531 * grub-core/genmoddep.awk: Updated with new syminfo format.
1532 * util/bash-completion.d/Makefile.am: Add config.log to
1533 CLEANFILES.
1534
c836b030
YB
15352010-09-19 Yves Blusseau <blusseau@zetam.org>
1536
1537 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1538
2f4e8053
BC
15392010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1540
1541 * util/grub-mkconfig.in: Check the config script for syntax errors
1542 before saving.
1543
75831c34
CW
15442010-09-19 Colin Watson <cjwatson@ubuntu.com>
15452010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1548 platforms.
1549 * util/grub-install.in: Add EFI and IEEE1275 support.
1550 * util/i386/efi/grub-install.in: Removed.
1551 * util/ieee1275/grub-install.in: Likewise.
1552
eaf41b25
VS
15532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1556 (grub_cmd_cmosclean): Likewise.
1557 (GRUB_MOD_INIT): Register command cmosclean.
1558 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1559 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1560
1a9130dd
CPE
15612010-09-18 Carles Pina i Estany <carles@pina.cat>
15622010-09-18 Aleš Nesrsta <starous@volny.cz>
15632010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 Add keyboard layouts support.
1566
1567 * Makefile.util.def (grub-mklayout): New file.
1568 (grub-kbdcomp): New script.
1569 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1570 Add keyboard_layouts.h.
1571 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1572 commands/boot.c on yeeloong.
1573 (keylayouts): New module.
1574 * grub-core/bus/usb/ohci.c
1575 * grub-core/bus/usb/uhci.c
1576 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1577 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1578 (attach_root_port): Likewise.
1579 (poll_nonroot_hub): Likewise.
1580 (grub_usb_poll_devices): Likewise.
1581 (detach_device): Close transfer.
1582 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1583 function.
1584 (grub_usb_bulk_setup_readwrite): Likewise.
1585 (grub_usb_bulk_finish_readwrite): Likewise.
1586 * grub-core/commands/keylayouts.c: New file.
1587 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1588 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1589 aliases.
1590 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1591 support scancode 2.
1592 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1593 * include/grub/keyboard_layouts.h: New file.
1594 * util/grub-mklayout.c: New file.
1595 * util/grub-kbdcomp.in: Likewise.
1596
a1d84a5e
VS
15972010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 Unify memory types.
1600
1601 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1602 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1603 types.
1604 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1605 (grub_upper_mem): Likewise.
1606 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1607 * include/grub/memory.h (grub_memory_type_t): New enum.
1608 All users updated.
1609
9696382e
VS
16102010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/Makefile.core.def (lsapm): New module.
1613 * grub-core/commands/i386/pc/lsapm.c: New file.
1614 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1615 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1616 Likewise.
1617 * include/grub/i386/pc/apm.h: New file.
1618 * include/multiboot.h (multiboot_apm_info): New struct.
1619
16202010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 GRUB-legacy configuration file support.
1623
1624 * Makefile.util.def (grub-menulst2cfg): New util.
1625 * docs/man/grub-menulst2cfg.h2m: New file.
1626 * grub-core/Makefile.core.def (legacycfg): New module.
1627 * grub-core/commands/legacycfg.c: New file.
1628 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1629 (grub_normal_add_menu_entry): ... this.
1630 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1631 (grub_normal_set_password): ...this.
1632 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1633 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1634 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1635 * grub-core/lib/legacy_parse.c: New file.
1636 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1637 * include/grub/i386/pc/vesa_modes_table.h: New file.
1638 * include/grub/legacy_parse.h: Likewise.
1639 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1640 * util/grub-menulst2cfg.c: New file.
1641
bf8d1338
CW
16422010-09-17 Colin Watson <cjwatson@ubuntu.com>
1643
1644 * grub-core/kern/emu/hostdisk.c
1645 (convert_system_partition_to_system_disk): Initialise node.
1646
9c0bad2e
CW
16472010-09-17 Colin Watson <cjwatson@ubuntu.com>
1648
1649 * grub-core/kern/emu/hostdisk.c
1650 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1651 leak.
1652 Reported and based on patch by: Modestas Vainius.
1653
a939d135
CW
16542010-09-17 Colin Watson <cjwatson@ubuntu.com>
1655
1656 Fix DM-RAID probing with recent versions of device-mapper udev
1657 rules.
1658
1659 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1660 canonicalise device paths under /dev/mapper/.
1661 (convert_system_partition_to_system_disk): Compare the
1662 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1663 path, since device nodes under /dev/mapper/ are often symlinks.
1664
0f7ee3c9
YB
16652010-09-17 Yves Blusseau <blusseau@zetam.org>
1666
1667 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1668
10854d0d
YB
16692010-09-16 Yves Blusseau <blusseau@zetam.org>
1670
1671 * configure.ac: Avoid some annoying error messages if freetype-config
1672 program is not found.
1673
108538d8
CW
16742010-09-16 Colin Watson <cjwatson@ubuntu.com>
1675
1676 Support RAID on virtio devices, and others.
1677
1678 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1679 Rename to ...
1680 [__MINGW32__] (grub_find_device): ... this.
1681 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1682 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1683 reasonable default if dir is NULL.
1684 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1685 ...
1686 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1687 (grub_guess_root_device): Update callers.
1688 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1689
1690 * util/raid.c (grub_util_getdiskname): Remove.
1691 (grub_util_raid_getmembers): Use grub_find_device rather than
1692 grub_util_getdiskname.
1693
e5bfc130
CW
16942010-09-16 Colin Watson <cjwatson@ubuntu.com>
1695
1696 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1697 needing to be compiled with serial support.
1698 (ls): Indicate that multiple files are accepted.
1699 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1700 indicate that multiple files are accepted.
1701
be458ae2
CW
17022010-09-16 Colin Watson <cjwatson@ubuntu.com>
1703
1704 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1705 libgrub_a_init.c, and util/bash-completion.d/grub.
1706
cb731b5e
VS
17072010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * util/grub-setup.c (setup): Fix incorrect container semantics.
1710
35139e8a
VS
17112010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1714 misusage.
1715 Reported by: J. Nick Terry
1716
e50fca4a
VS
17172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 Move embedding routines to partmap sources files.
1720
1721 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1722 [GRUB_UTIL]: New variable.
1723 (gpt_partition_map_iterate): Set part.parent.
1724 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1725 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1726 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1727 New function.
1728 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1729 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1730 (grub_partition_map) [GRUB_UTIL]: New field embed.
1731 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1732 (setup): Use ->embed.
1733
f00478b7
VS
17342010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1737 function.
1738 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1739 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1740
2b94e3ff
YB
17412010-09-15 Yves Blusseau <blusseau@zetam.org>
1742
1743 Add function to get completions from usage.
1744
1745 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1746 completions from usage. Use LC_ALL=C to get options properly.
1747
2e04a006
VS
17482010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 * grub-core/gnulib/basename-lgpl.c: Imported.
1751 * grub-core/gnulib/basename.c: Likewise.
1752 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1753 * grub-core/gnulib/dirname.c: Likewise.
1754 * grub-core/gnulib/dirname.h: Likewise.
1755 * grub-core/gnulib/stripslash.c: Likewise.
1756
5dcdf93a
VS
17572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/gnulib/error.c: Resynced.
1760 * grub-core/gnulib/getopt.c: Likewise.
1761 * grub-core/gnulib/getopt_int.h: Likewise.
1762 * grub-core/gnulib/regex.h: Likewise.
1763 * grub-core/gnulib/regex_internal.c: Likewise.
1764 * grub-core/gnulib/regex_internal.h: Likewise.
1765
014f47b7
SJ
17662010-09-15 Szymon Janc <szymon@janc.net.pl>
1767
1768 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1769 CRC calculations and validity checks.
1770 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1771 calculations.
1772
dd521a4a
SJ
17732010-09-15 Szymon Janc <szymon@janc.net.pl>
1774
1775 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1776
79c4eeb9
VS
17772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 Fix incorrect echo options handling.
1780 Reported by: Yves Blusseau.
1781
1782 * include/grub/command.h (grub_command_flags_t): New flags
1783 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1784 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1785 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1786
ed80f7d5
VS
17872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1790 users updated.
1791 (GRUB_COMMAND_FLAG_MENU): Likewise.
1792 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1793 (GRUB_COMMAND_FLAG_TITLE): Removed.
1794 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1795 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1796 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1797 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1798 (grub_command_flags_t): New enum. All users updated.
1799
5fe7620a
SG
18002010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1801
1802 Fix solaris compilation.
1803
1804 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1805 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1806 (grub-emu-list): Likewise.
1807
545b752f
VS
18082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 Remove deprecated root command.
1811
1812 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1813 updated.
1814
6c1a338c
VS
18152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * util/i386/pc/grub-setup.c: Merge this ...
1818 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1819 * util/grub-setup.c: ... into this.
1820 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1821 New struct.
1822
18232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1826 possible.
1827
d2ea4551
VS
18282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1831 allocate p.
1832
3c3b5040
VS
18332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1836 explicit root argument to set to prevent UUID to be interpreted as
1837 argument to set.
1838
b71c3fae
VS
18392010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1842
275433e6
VS
18432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 Don't export grub_gate_a20.
1846
1847 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1848 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1849 to ...
1850 (grub_gate_a20): ... this. All users updated.
1851 * include/grub/i386/pc/init.h: Removed. All users updated.
1852
a5dbb1f1
VS
18532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 Create euro.pf2 which supports most European languages.
1856
1857 * Makefile.am (grubdata_DATA): Add euro.pf2.
1858 (euro.pf2): New target.
1859 (CLEANFILES): Add euro.pf2.
1860
62a747cb
VS
18612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * configure.ac: Disable emu-usb by default to prevent inadvertent
1864 device takeover.
1865
608e43b1
VS
18662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 Disable usbserial on grub-emu since our libusb code isn't good enough
1869 yet.
1870
1871 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1872 (usbserial_pl2303): Likewise.
1873 (usbserial_ftdi): Likewise.
1874
94564f81
VS
18752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * include/grub/disk.h (grub_disk): Remove has_partitions.
1878 All users updated.
1879 * disk/loopback.c (grub_loopback): Remove has_partitions.
1880 All users updated.
1881 (options): Remove partitions. All users updated.
1882 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1883 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1884 actual partition table is found.
1885
3352800b
VS
18862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 Remove readability checks (too many false negatives).
1889
1890 * util/grub-install.in: Remove readability checks.
1891 * util/grub-mkconfig.in: Likewise.
1892 * util/grub.d/10_hurd.in: Likewise.
1893 * util/grub.d/10_kfreebsd.in: Likewise.
1894 * util/grub.d/10_linux.in: Likewise.
1895 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1896 way.
1897
2419f17a
VS
18982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 Enable acpi shutdown on all ACPI platforms.
1901
1902 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1903 on coreboo, multiboot and EFI.
1904 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1905 (grub_acpi_halt): Likewise.
1906 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1907 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1908 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1909 * grub-core/lib/i386/halt.c (grub_halt)
1910 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1911
0575c7c3
VS
19122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1915 context.
1916
54ac3cd1
VS
19172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1920 * grub-core/video/efi_uga.c: Likewise.
1921
b2a30ac5
VS
19222010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 Filter devaliases and never open same device twice.
1925
1926 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
1927 (last_ihandle): Likewise.
1928 (ofdisk_hash_ent): New member shortest.
1929 (ofdisk_hash_add): Add canonical path too.
1930 (scan): New function.
1931 (grub_ofdisk_iterate): Iterate over hashed entries.
1932 (compute_dev_path): Don't add :0.
1933 (grub_ofdisk_open): Don't really open the disk.
1934 (grub_ofdisk_close): Avoid closing unrelated disk.
1935 (grub_ofdisk_read): Implement reopen logic.
1936 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
1937 New function.
1938 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
1939 New proto.
1940
fb53b340
VS
19412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 Fix sparc64.
1944
1945 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
1946 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
1947 right address. Add sparc64_ieee1275_ldflags.
1948 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
1949 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
1950 to grub_host_to_target_addr
1951 (load_image): Likewise.
1952
f452b040
VS
19532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * grub-core/normal/completion.c (complete_file): Handle device
1956 containing slash.
1957 Fix based on patch by Doug Nazar.
1958
9b5b2541
VS
19592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 grub-mknetdir script.
1962
1963 * Makefile.util.def (grub-mknetdir): New module.
1964 * tests/util/grub-shell.in: Support boot=net
1965 * util/grub-mknetdir.in: New file.
1966
9d2be652
VS
19672010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 videoinfo on non-vbe.
1970
1971 * grub-core/Makefile.core.def (vbeinfo): Removed.
1972 (vbetest): Removed.
1973 (videoinfo): New module.
1974 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
1975 * grub-core/commands/i386/pc/vbetest.c: Removed.
1976 * grub-core/commands/videoinfo.c: New file.
1977 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
1978 specification.
1979 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
1980 as vbetest.
1981 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
1982 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
1983 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
1984 mode_number. New parameter mode. All users updated.
1985 (grub_video_gop_iterate): New function.
1986 (grub_video_efi_gop): New member iterate.
1987 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
1988 (grub_vbe_set_video_mode): Remove setting useless fields.
1989 (vbe2videoinfo): New function.
1990 (grub_video_vbe_iterate): Likewise.
1991 (grub_video_vbe_setup): Use vbe2videoinfo.
1992 (grub_video_vbe_print_adapter_specific_info): New function.
1993 (grub_video_vbe_adapter): New fields iterate and
1994 print_adapter_specific_info.
1995 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
1996 All users updated.
1997 (grub_video_mode_info): New field mode_number.
1998 (grub_video_adapter): New fields iterate and
1999 print_adapter_specific_info.
2000
179503f5
TG
20012010-09-13 Tristan Gingold <gingold@free.fr>
20022010-09-13 Robert Millan <rmh.grub@aybabtu.com>
20032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2004
2005 * grub-core/commands/efi/lsefisystab.c: New file.
2006 * grub-core/commands/efi/lssal.c: Likewise.
2007 * grub-core/Makefile.core.def (lsacpi): New module.
2008 (lsefisystab): Likewise.
2009 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
2010 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
2011 (grub_efi_sal_system_table): New struct.
2012 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
2013 (grub_efi_sal_system_table_memory_descriptor): Likewise.
2014 (grub_efi_sal_system_table_platform_features): Likewise.
2015 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
2016 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
2017 (grub_efi_sal_system_table_ap_wakeup): Likewise.
2018 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
2019
cf9827de
VS
20202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 Support explicit user claim that a device is BIOS-visible.
2023
2024 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
2025 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
2026 * grub-core/kern/emu/hostdisk.c
2027 (convert_system_partition_to_system_disk): Support mdX.
2028 (find_system_device): New parameter add. All users updated.
2029 (grub_util_biosdisk_is_present): New function.
2030 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
2031 proto.
2032
53f0eb1f
VS
20332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 Search hints support.
2036
2037 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
2038 All users updated.
2039
b23ffd70
YB
20402010-09-13 Yves Blusseau <blusseau@zetam.org>
2041
2042 Bash completion script for util commands
2043
2044 * Makefile.am: Add util/bash-completion.d directory
2045 * configure.ac: Likewise.
2046 * util/bash-completion.d/Makefile.am: New file.
2047 * util/bash-completion.d/grub-completion.bash.in: Likewise.
2048
d547dc28
VS
20492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
2052 (print_backlog): set backlog_ucs4 and backlog_glyphs.
2053 Reported by: Yves Blusseau.
2054
2fc8ccb9
VS
20552010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
2058 partition size and offset.
2059
d8a84076
VS
20602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
2063
84fb3b3d
VS
20642010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
2067
768ec2e2
VS
20682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
2071 (grub_xvasprintf): Likewise.
2072
4870900f
VS
20732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
2076
faca6bec
VS
20772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
2080 args ending with NULL.
2081
20822010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
2083
2084 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
2085 pointer.
2086
3c70f225
SJ
20872010-09-11 Szymon Janc <szymon@janc.net.pl>
2088
2089 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
2090
4df7996d
VS
20912010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Shutdown using ACPI.
2094
2095 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
2096 * grub-core/commands/acpihalt.c: New file.
2097 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
2098 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
2099 (grub_acpi_halt): New proto.
2100 (GRUB_ACPI_SLP_EN): New const.
2101 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
2102 (GRUB_ACPI_OPCODE_*): New enum.
2103 (GRUB_ACPI_EXTOPCODE_*): Likewise.
2104
126b4c32
TG
21052010-09-11 Tristan Gingold <gingold@free.fr>
21062010-09-11 Robert Millan <rmh.grub@aybabtu.com>
21072010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * commands/lsacpi.c: New file.
2110 * grub-core/Makefile.core.def (lsacpi): New module.
2111 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
2112 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
2113 (grub_acpi_madt_entry_header): New struct.
2114 (grub_acpi_madt): Likewise.
2115 (grub_acpi_madt_entry_interrupt_override): Likewise.
2116 (grub_acpi_madt_entry_sapic): Likewise.
2117 (grub_acpi_madt_entry_lsapic): Likewise.
2118 (grub_acpi_madt_entry_platform_int_source): Likewise.
2119 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
2120 (PRIuGRUB_UINT32_T): Likewise.
2121 (PRIxGRUB_UINT64_T): Likewise.
2122
1aa4fe88
VS
21232010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Implement loading palette on ieee1275_fb.
2126
2127 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
2128 (have_setcolors): Likewise.
2129 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
2130 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
2131 (grub_video_ieee1275_set_palette): Implement.
2132
25761e13
VS
21332010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
21342010-09-11 Colin Watson <cjwatson@ubuntu.com>
2135
2136 * util/grub-install.in (grub_partition): New variable.
2137 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
2138 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
2139 Fixes a bug reported by Yves Blusseau.
2140
050abaea
VS
21412010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 Fix emu on mipsel.
2144
2145 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
2146 =grub_cpu_flush_cache on all mips and not only yeeloong.
2147 * configure.ac (COND_mips): New conditional.
2148 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
2149 platforms.
2150 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
2151 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
2152 [GRUB_LINKER_HAVE_INIT]: New function.
2153 (grub_emu_post_init): Likewise.
2154 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
2155 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
2156 * include/grub/cache.h (_mips): Include mips/cache.h.
2157 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
2158 LVM and RAID prototypes.
2159 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
2160 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
2161 function.
2162
5ed7d816
CW
21632010-09-10 Colin Watson <cjwatson@ubuntu.com>
2164
2165 * util/grub-install.in: Don't try to verify core.img until after
2166 running grub-mkimage to create it.
2167
90367e04
RM
21682010-09-10 Robert Millan <rmh@gnu.org>
2169
2170 * util/grub.d/10_hurd.in: Add misc readability checks.
2171 * util/grub.d/10_kfreebsd.in: Likewise.
2172 * util/grub.d/10_linux.in: Likewise.
2173
c452fa66
CW
21742010-09-10 Colin Watson <cjwatson@ubuntu.com>
2175
2176 * util/grub-install.in: ${imgext} won't be defined here until the
2177 install branch is merged. For the meantime, only verify core.img on
2178 i386-pc and sparc64-ieee1275 platforms.
2179
c38fe9f4
RM
21802010-09-10 Robert Millan <rmh@gnu.org>
2181
2182 Solaris support in grub_find_zpool_from_dir(). Thanks
2183 Seth Goldberg for referring to getextmntent() facility.
2184
2185 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
2186 `sys/mkdev.h'.
2187 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
2188 `<sys/mnttab.h>'.
2189 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
2190 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
2191 method for finding zpool name.
2192
905f7773
CW
21932010-09-10 Colin Watson <cjwatson@ubuntu.com>
2194
2195 grub-fstest needs the host and hostfs modules while other utilities
2196 actively require those modules to be absent, so grub-fstest needs
2197 its own initialisation and finalisation code.
2198
2199 * Makefile.am (grub_fstest.pp): New target.
2200 (grub_fstest_init.lst): Likewise.
2201 (grub_fstest_init.c): Likewise.
2202 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
2203
fb90b546
RM
22042010-09-10 Robert Millan <rmh@gnu.org>
2205
2206 * configure.ac: Check for `struct statfs.f_fstypename' and
2207 `struct statfs.f_mntfromname'.
2208
2209 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
2210 kFreeBSD-specific code.
2211
66d4bea5
RM
22122010-09-10 Robert Millan <rmh@gnu.org>
2213
2214 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
2215 on ZFS. Now non-main filesystems are supported as / too.
2216
b6a690ee
CW
22172010-09-09 Colin Watson <cjwatson@ubuntu.com>
2218
2219 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
2220 and grub-core/disk/host.c to ...
2221 (grub-fstest): ... here. Having the host disk implementation
2222 present confuses grub-probe and other utility programs.
2223
2224 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
2225 when writing to a file, not when writing to stdout.
2226
8901b00c 22272010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
2228
2229 * tests/partmap_test.in: New test for partitions.
2230 * Makefile.util.def: Rules for new test.
2231
7bf45fdd
RM
22322010-09-09 Robert Millan <rmh@gnu.org>
2233
2234 * util/grub-probe.c (probe): Fix a pair of unhandled error
2235 conditions.
2236
4dfbc574
RM
22372010-09-09 Robert Millan <rmh@gnu.org>
2238
2239 Basic Btrfs support (detection and UUID).
2240
2241 * grub-core/fs/btrfs.c: New file.
2242 * Makefile.util.def (library): Register btrfs.c.
2243 * grub-core/Makefile.core.def: Likewise.
2244
6b8e78ae
RM
22452010-09-08 Robert Millan <rmh@gnu.org>
2246
2247 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
2248 with (optional) parameters to specify device and relative path.
2249 * util/grub-install.in: Use is_path_readable_by_grub() to
2250 verify readability of a few critical files.
2251 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
2252 verify readability of grub.cfg.new.
2253
27f21a8b
VS
22542010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 Split minix.mod into minix.mod and minix2.mod.
2257
2258 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
2259 * grub-core/Makefile.core.def (minix2): New module.
2260 * grub-core/fs/minix.c: Use definitions instead of runtime version
2261 checking.
2262 * grub-core/fs/minix2.c: New file.
2263
c0e53ea5
YB
22642010-09-08 Yves Blusseau <blusseau@zetam.org>
2265
2266 Add new --boot-directory option to replace --root-directory
2267
2268 * util/grub-install.in: Add new --boot-directory option
2269 * util/grub-reboot.in: Likewise.
2270 * util/grub-set-default.in: Likewise.
2271
b9fe6ea2
YB
22722010-09-08 Yves Blusseau <blusseau@zetam.org>
2273
2274 * util/grub-mkconfig.in: Use new variable.
2275
d87aedff
YB
22762010-09-08 Yves Blusseau <blusseau@zetam.org>
2277
2278 * configure.ac: Define some useful variables.
2279
e55e8495
VS
22802010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2283 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
2284 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
2285 Use terminfo and don't use cursor-on/cursor-off unless it's known
2286 to work.
2287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
2288 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
2289
6fa6d675
CW
22902010-09-08 Colin Watson <cjwatson@ubuntu.com>
2291
2292 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
2293 starts with "(,", fill the drive containing the loaded image in
2294 between those two characters, but expect that a full partition
2295 specification including partition map names will follow.
2296
92f2aef0
RM
22972010-09-08 Robert Millan <rmh@gnu.org>
2298
2299 * configure.ac: Remove `--enable-grub-fstest' option.
2300 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
2301
2302 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
2303 `grub-fstest' instead of `grub-probe' for readability verification.
2304 * util/grub-probe.c (probe): Remove readability verification kludge.
2305
99fd620d
RM
23062010-09-08 Robert Millan <rmh@gnu.org>
2307
2308 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
2309 initializing `GRUB_FS'.
2310
058e30ac 23112010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
2312
2313 Not command (!) support to GRUB script.
2314
2315 * tests/grub_script_not.in: New test.
2316 * Makefile.util.def: Rules for new test.
2317
2318 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2319 ! command as a special case.
2320 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
2321
b61d05ed 23222010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2323
058e30ac 2324 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
2325 grub_free.
b61d05ed 2326
4d69c786 23272010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2328
2329 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
2330
aa3119c4 23312010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2332
2333 * docs/grub.texi (Shell-like scripting): Documentation for break,
2334 continue, shift and return commands.
2335
db0f7e3d
VS
23362010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 Rename CD-ROM to cd on BIOS.
2339
2340 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
2341 "cd".
2342 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2343
88b87c93
VS
23442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
2347 * util/grub-probe.c (main): Likewise.
2348 * util/i386/pc/grub-setup.c (main): Likewise.
2349 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2350 Reported and debugged by: alexxy
2351
294f324d
VS
23522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
2355 diagnostic info.
2356
d7ee3441
JS
23572010-09-05 Jo Shields <directhex@apebox.org>
2358
2359 * util/grub.d/30_os-prober.in: Add missing classes.
2360
d7e06c1f
VS
23612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2362
2363 * docs/grub.texi (Theme file format): Document new position format.
2364
fc157e53
VS
23652010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
2368 a table. Use @code instead of @verbatim.
2369
506e9a1c
CB
23702010-09-05 Colin D Bennett <colin@gibibit.com>
2371
2372 Gfxmenu documentation.
2373
2374 * docs/grub.texi (Theme file format): New chapter.
2375
f0aff67c
SJ
23762010-09-05 Szymon Janc <szymon@janc.net.pl>
2377
2378 * grub-core/Makefile.core.def (xzio): New module.
2379 * grub-core/io/xzio.c: New file.
2380 * grub-core/lib/xzembed/xz.h: New file (from xembed).
2381 * grub-core/lib/xzembed/xz_config.h: Likewise.
2382 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
2383 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
2384 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
2385 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
2386 * grub-core/lib/xzembed/xz_private.h: Likewise.
2387 * grub-core/lib/xzembed/xz_stream.h: Likewise.
2388 * include/grub/file.h (grub_file_filter_id): New compression filter
2389 GRUB_FILE_FILTER_XZIO.
2390
82a85062
VS
23912010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
2394 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
2395 size.
2396
3579415d
VS
23972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
2400 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2401
5124ae6d
VS
24022010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 Uncompressed checksum support.
2405
2406 * grub-core/commands/hashsum.c (options): Add option --uncompress.
2407 (check_list): New parameter uncompress.
2408 (grub_cmd_hashsum): Handle --uncompress.
2409
9aadb3d1
VS
24102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 Reintroduce testload.
2413
2414 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
2415 from here ...
2416 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
2417 (GRUB_MOD_INIT): New function.
2418 (GRUB_MOD_FINI): Likewise.
2419 * grub-core/Makefile.core.def (testload): New module.
2420
a17792c3
SJ
24212010-09-05 Szymon Janc <szymon@janc.net.pl>
2422
2423 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
2424 (uint8_t): New type.
2425 (uint16_t): Likewise.
2426 (uint32_t): Likewise.
2427 (uint64_t): Likewise.
2428
b81e40a3
SJ
24292010-09-05 Szymon Janc <szymon@janc.net.pl>
2430
2431 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
2432
fc2ef117
VS
24332010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
2436 Made static.
2437 (grub_gzfile_open): Removed. All users updated.
2438 (GRUB_MOD_INIT): New function.
2439 (GRUB_MOD_FINI): Likewise.
2440 * grub-core/kern/file.c (grub_file_filters_all): New variable.
2441 (grub_file_filters_enabled): Likewise.
2442 (grub_file_open): Handle filters.
2443 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
2444 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
2445 * include/grub/file.h (grub_file_filter_id_t): New type.
2446 (grub_file_filter_t): Likewise.
2447 (grub_file_filters_all): New extern variable.
2448 (grub_file_filters_enabled): Likewise.
2449 (grub_file_filter_register): New inline function.
2450 (grub_file_filter_unregister): Likewise.
2451 (grub_file_filter_disable): Likewise.
2452 (grub_file_filter_disable_compression): Likewise.
2453 * include/grub/gzio.h: Removed.
2454
35ee15e0
BC
24552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2456
2457 Filename expansion support for wildcards in GRUB script.
2458
2459 * tests/grub_script_expansion.in: New test.
2460 * Makefile.util.def: Rule for new test.
2461
2462 * grub-core/commands/wildcard.c: New file, implements filename
2463 expansion support for GRUB script.
2464 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2465 * grub-core/script/argv.c: Cosmetic changes.
2466 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2467 Refactored to perform wildcard expansion on arguments.
2468 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2469 struct.
2470
2471 * tests/util/grub-shell.in: Fix quoting for read input.
2472
5f0c4aca
BC
24732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2474
2475 Support for updating environment variables with matched substrings
2476 of regexp.
2477
2478 * tests/grub_cmd_regexp.in: New test.
2479 * Makefile.util.def: Rule for new test.
2480
2481 * grub-core/commands/regexp.c: New option -s to update environment
2482 variables with regexp matches.
2483
3759a35f
SJ
24842010-09-04 Szymon Janc <szymon@janc.net.pl>
2485
2486 * include/grub/file.h (grub_file): New member not_easly_seekable.
2487 (grub_file_seekable): New inline function.
2488 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
2489 easily seekable.
2490 (grub_gzio_open): Set not_easly_seekable.
2491 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
2492 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2493
ed8c6dec
BC
24942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2495
2496 Support for options to appear multiple times on cmdline.
2497
2498 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
2499 * grub-core/commands/extcmd.c: Support for repeatable option.
2500 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
2501 repeatable option support.
2502
2503 Refactor menuentry into a regular command.
2504
2505 * grub-core/commands/menuentry.c: New file, menuentry command
2506 implementation.
2507 * grub-core/Makefile.core.def: Rule update for normal.mod.
2508 * grub-core/normal/main.c: Moved menuentry creation to
2509 grub-core/commands/menuentry.c.
2510 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2511 (grub_menu_execute_entry_real): Removed.
2512 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2513 function.
2514 (grub_script_execute_menuentry): Removed.
2515 * grub-core/script/parser.y (menuentry): Removed.
2516 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2517 * grub-core/script/yylex.l (menuentry): Removed.
2518 * include/grub/menu.h (grub_menu_init): New prototype.
2519 (grub_menu_fini): New prototype.
2520 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2521 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2522 (grub_script_execute_sourcecode): New prototype.
2523
dacd0cf0
BC
25242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2525
2526 "return" command for GRUB script functions.
2527
2528 * tests/grub_script_return.in: New test.
2529 * Makefile.util.def: Rules for new test.
2530
2531 * grub-core/script/execute.c (grub_script_return): New function.
2532 * grub-core/script/main.c: Register/unregister return commaond.
2533 * include/grub/script_sh.h (grub_script_return): New prototype.
2534
52e72f9d
BC
25352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2536
2537 "setparams" command to update positional parameters.
2538
2539 * tests/grub_script_setparams.in: New test.
2540 * Makefile.util.def: Rules for new test.
2541
2542 * grub-core/script/argv.c (grub_script_argv_make): New function.
2543 * grub-core/script/execute.c (replace_scope): New function.
2544 (grub_script_setparams): New function.
2545 * grub-core/script/lexer.c: Remove unused variables.
2546 * grub-core/script/main.c: Register/unregister setparams command.
2547 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2548 (grub_script_setparams): New prototype.
2549
25b60c91
BC
25502010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2551
2552 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2553 grub_free order.
2554
37e7bf68
BC
25552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2556
2557 Support for passing block of commands as an argument to extcmds.
2558
2559 * Makefile.util.def: Rules for new test.
2560 * tests/grub_script_blockarg.in: New test.
2561 * grub-core/tests/test_blockarg.c: New file, block argument
2562 command used in the test.
2563
2564 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2565 (grub_register_extcmd_prio): New function prototype.
2566 (grub_extcmd_dispatcher): New function prototype.
2567 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2568 type.
2569 * include/grub/script_sh.h (struct grub_script): New members
2570 `children', `next_siblings' and `refcnt' for block arguments and
2571 reference counting.
2572 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2573 (grub_script_arg): New member `script' for block argument.
2574 (grub_script_argv): New member `script' for block argument.
2575 (grub_parser_param): New member `scripts' for block argument.
2576 (grub_script_mem_free): New extern function prototype.
2577 (grub_script_ref): New function prototype.
2578 (grub_script_unref): New function prototype.
2579
2580 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2581 extcmd form to support block arguments.
2582 * grub-core/script/argv.c: Block arguments support.
2583 * grub-core/script/execute.c: Likewise.
2584 * grub-core/script/lexer.c: Likewise.
2585 * grub-core/script/main.c: Likewise.
2586 * grub-core/script/script.c: Likewise.
2587 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2588 non-terminals.
2589
2590 * grub-core/commands/acpi.c: Update extcmd implementations with
2591 grub_extcmd_context_t.
2592 * grub-core/commands/cat.c: Likewise.
2593 * grub-core/commands/echo.c: Likewise.
2594 * grub-core/commands/extcmd.c: Likewise.
2595 * grub-core/commands/hashsum.c: Likewise.
2596 * grub-core/commands/hdparm.c: Likewise.
2597 * grub-core/commands/help.c: Likewise.
2598 * grub-core/commands/hexdump.c: Likewise.
2599 * grub-core/commands/i386/cpuid.c: Likewise.
2600 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2601 * grub-core/commands/i386/pc/halt.c: Likewise.
2602 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2603 * grub-core/commands/iorw.c: Likewise.
2604 * grub-core/commands/keystatus.c: Likewise.
2605 * grub-core/commands/loadenv.c: Likewise.
2606 * grub-core/commands/ls.c: Likewise.
2607 * grub-core/commands/lspci.c: Likewise.
2608 * grub-core/commands/memrw.c: Likewise.
2609 * grub-core/commands/probe.c: Likewise.
2610 * grub-core/commands/search_wrap.c: Likewise.
2611 * grub-core/commands/setpci.c: Likewise.
2612 * grub-core/commands/sleep.c: Likewise.
2613 * grub-core/disk/loopback.c: Likewise.
2614 * grub-core/hello/hello.c: Likewise.
2615 * grub-core/loader/i386/bsd.c: Likewise.
2616 * grub-core/loader/xnu.c: Likewise.
2617 * grub-core/term/gfxterm.c: Likewise.
2618 * grub-core/term/serial.c: Likewise.
2619 * grub-core/tests/lib/functional_test.c: Likewise.
2620
888d1500
BC
26212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2622
2623 Multi-line quoted strings support.
2624
2625 * grub-core/script/lexer.c (append_newline): Removed.
2626 (grub_script_lexer_yywrap): Refactored.
2627 (grub_script_lexer_init): Refactored.
2628 * grub-core/script/yylex.l (yywrap): New function.
2629 (grub_lexer_resplit): New function.
2630 (grub_lexer_unput): New function.
2631 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2632 and resplit.
2633 * tests/grub_script_echo1.in: Added few more testcases.
2634
dda060dd
VS
26352010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * grub-core/kern/misc.c: Don't add abort alias in utils.
2638 Reported by: echoline.
2639
6556eba9
BC
26402010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2641
2642 Add missing files into "make dist" tarball for other platforms.
2643
2644 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2645 * conf/Makefile.common (dist_noinst_DATA): New variable.
2646 * conf/Makefile.extra-dist: Added missing make dist files.
2647 * grub-core/Makefile.core.def: Likewise.
2648
c8e7bf5f
VS
26492010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 Compress grub_prefix.
2652
2653 * grub-core/boot/i386/pc/lnxboot.S: Use
2654 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2655 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2656 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2657 GRUB_MACHINE_PREFIX_END. All users updated.
2658 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2659 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2660 + 0x40.
2661 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2662 * util/grub-mkimage.c (image_target_desc): Change data_end to
2663 prefix_end. All users updated.
2664
a7c00cdb
VS
26652010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2668 value.
2669 (grub_openbsd_boot): Likewise.
2670 (grub_netbsd_boot): Likewise.
2671 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2672 (grub_xnu_boot): Likewise.
2673
9f915872
VS
26742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * configure.ac: Clean LIBS variable after tests.
2677
efa1bee7
CW
26782010-09-02 Colin Watson <cjwatson@ubuntu.com>
2679
2680 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2681
61d720e5
VS
26822010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2685 echo if libdevmapper will be used.
2686
ef8e0ec8
IT
26872010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2688
2689 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2690 constant for the same file.
2691
03e261d8
VS
26922010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2695
c2a4eba6
CW
26962010-09-02 Colin Watson <cjwatson@ubuntu.com>
2697
2698 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2699 grub-core/*.pp.
2700
9056cbf3
CW
27012010-09-02 Colin Watson <cjwatson@ubuntu.com>
2702
2703 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2704 required by the boot protocol.
2705
2706 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2707 ebp and edi members.
2708 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2709 state.ebp and state.edi.
2710 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2711 %ebp and %edi according to grub_relocator32_ebp and
2712 grub_relocator32_edi respectively.
2713 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2714 and state.edi.
2715
529cc99a
VS
27162010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 Add i386-pc-pxe image target.
2719
2720 * util/grub-mkimage.c (image_target_desc): New enum value
2721 IMAGE_I386_PC_PXE.
2722 (image_targets): New target i386-pc-pxe.
2723 (generate_image): Handle i386-pc-pxe image.
2724
9a093920
VS
27252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2726
2727 Fix grub_pxe_scan.
2728
2729 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2730 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2731 All users updated.
2732 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2733 (grub_pxe_pxenv): Correct type.
2734
f9cefc4e
CW
27352010-09-01 Colin Watson <cjwatson@ubuntu.com>
2736
2737 * NEWS: Document most of the important changes since 1.98.
2738
4066f57f
CW
27392010-09-01 Colin Watson <cjwatson@ubuntu.com>
2740
2741 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2742 generated manual page) a little.
2743
da2891f9
CW
27442010-09-01 Colin Watson <cjwatson@ubuntu.com>
2745
2746 * docs/grub.texi: Add myself as an author.
2747
ad717fae
VS
27482010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * Makefile.util.def (libgrub.a): Add missing sunpc.
2751 Reported by: Seth Goldberg.
2752
eefe8abd
VS
27532010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 Interrupt wrapping and code simplifications.
2756
9494ef9a
VS
2757 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2758 x86_noieee1275 which are functionaly equivalent in this case.
2759 (grub-install): Make source on each platform explicit. Enable on
2760 all noemu.
2761 * gentpl.py (x86_efi_pc): Removed group.
2762 (x86_noefi): Likewise.
2763 (i386_noefi): Likewise.
2764 (x86_noieee1275): Likewise.
2765 (i386_noieee1275): Likewise.
2766 (i386_noefi_noieee1275): Likewise.
2767 (i386_pc_qemu_coreboot): Likewise.
2768 (i386_coreboot_multiboot): Likewise.
2769 (i386_pc_coreboot_multiboot_qemu): Likewise.
2770 (x86_noefi_mips): Likewise.
2771 (noieee1275): Likewise.
2772 (ieee1275_mips): Likewise.
2773 (noemu_noieee1275): Likewise.
2774 (cmos): New group.
2775 (usb): Likewise.
2776 (videoinkernel): Likewise.
2777 (videomodules): Likewise.
eefe8abd 2778 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
2779 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2780 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2781 include/grub/loader.h, include/grub/msdos_partition.h,
2782 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2783 include/grub/machine/console.h, include/grub/machine/vga.h,
2784 include/grub/machine/vbe.h, include/grub/machine/init.h,
2785 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2786 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 2787 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
2788 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2789 * grub-core/Makefile.core.def (kernel): Explicit the source for
2790 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2791 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2792 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2793 Use videoinkernel tag.
2794 (usb): Enable on all usb.
2795 (usbserial_common): Likewise.
2796 (usbserial_pl2303): Likewise.
2797 (usbserial_ftdi): Likewise.
2798 (uhci): Enable on all x86.
2799 (ohci): Enable on all pci.
2800 (cmostest): Enable on all CMOS.
2801 (acpi): Include commands/acpi.c on all platforms.
2802 (halt): Add relevant lib/*/halt.c.
2803 (hdparm): Enable on all pci.
2804 (lspci): Likewise.
2805 (usbtest): Enable on all usb.
2806 (ata): Enable on all pci.
2807 (ata_pthru): Likewise.
2808 (usbms): Enable on all usb.
2809 (usb_keyboard): Likewise.
2810 (font): Use tag videomodules.
2811 (bufio): Likewise.
2812 (datetime): Use tag cmos. Enable on all noemu.
2813 (mmap): Use tags common and x86.
2814 (gfxterm): Use tag videomodules.
2815 (bitmap): Likewise.
2816 (bitmap_scale): Likewise.
2817 (video_fb): Likewise.
2818 (video): Likewise.
2819 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2820 adjust padding accordingly. All users updated.
2821 (grub_ohci_transaction): Fix bad format specification.
2822 (GRUB_MOD_INIT): Add asserts for struct size.
2823 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2824 (grub_alloc_td): Likewise.
2825 (grub_free_queue): Likewise.
2826 (grub_uhci_transfer): Likewise.
2827 (grub_uhci_transaction): Fix bad format specification.
2828 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2829 (grub_usb_bulk_readwrite): Likewise.
2830 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2831 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2832 Made static.
2833 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2834 Made static.
2835 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2836 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2837 Transformed into C.
2838 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2839 Moved from here ...
2840 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2841 ... here. Transformed into C. Made static.
2842 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2843 Moved from here ...
2844 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2845 ... here. Transformed into C. Made static.
2846 * grub-core/kern/i386/pc/startup.S
2847 (grub_biosdisk_check_int13_extensions): Moved from here ...
2848 * grub-core/disk/i386/pc/biosdisk.c
2849 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2850 Made static.
2851 * grub-core/kern/i386/pc/startup.S
2852 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2853 * grub-core/disk/i386/pc/biosdisk.c
2854 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2855 Transformed into C. Made static.
2856 * grub-core/kern/i386/pc/startup.S
2857 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2858 * grub-core/disk/i386/pc/biosdisk.c
2859 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2860 Transformed into C. Made static.
2861 * grub-core/kern/i386/pc/startup.S
2862 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2863 * grub-core/disk/i386/pc/biosdisk.c
2864 (grub_biosdisk_get_diskinfo_standard): ... here.
2865 Transformed into C. Made static.
2866 * grub-core/kern/i386/pc/startup.S
2867 (grub_biosdisk_get_num_floppies): Moved from here ...
2868 * grub-core/disk/i386/pc/biosdisk.c
2869 (grub_biosdisk_get_num_floppies): ... here.
2870 Transformed into C. Made static.
2871 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2872 New function.
2873 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2874 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2875 Transformed into C. Made static.
2876 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2877 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2878 Transformed into C. Made static.
2879 * grub-core/kern/i386/ieee1275/init.c: Removed.
2880 * grub-core/kern/i386/misc.S: Likewise.
2881 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2882 Splitted from here ...
2883 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2884 Transformed into C. Made static. All users updated.
2885 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2886 Transformed into C. Made static. All users updated.
2887 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2888 Moved from here...
2889 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2890 Transformed into C. Made static. All users updated.
2891 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2892 Moved from here...
2893 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2894 Transformed into C. Made static. All users updated.
2895 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2896 Removed (replaced by C version).
2897 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2898 Moved from here...
2899 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2900 Transformed into C. Made static.
2901 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2902 Moved from here...
2903 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2904 ... here. Transformed into C.
2905 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2906 Moved from here...
2907 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2908 ... here. Transformed into C.
2909 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2910 Moved from here...
2911 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2912 ... here. Transformed into C. Made static.
2913 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2914 Moved from here...
2915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2916 ... here. Transformed into C.
21ed554b
VS
2917 * grub-core/kern/i386/pc/startup.S
2918 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2919 * grub-core/video/i386/pc/vbe.c
2920 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
2921 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
2922 Moved from here...
2923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
2924 ... here. Transformed into C.
2925 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
2926 Moved from here...
2927 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
2928 ... here. Transformed into C.
2929 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
2930 Moved from here...
2931 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
2932 ... here. Transformed into C.
2933 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
2934 Moved from here...
2935 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
2936 ... here. Transformed into C.
2937 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
2938 Moved from here...
2939 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
2940 ... here. Transformed into C. Made static.
2941 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
2942 Moved from here...
2943 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
2944 ... here. Transformed into C. Made static.
2945 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
2946 Moved from here...
2947 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
2948 ... here. Transformed into C. Made static.
2949 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
2950 pxe_rm_entry as third argument.
2951 (grub_bios_interrupt): New function.
2952 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
2953 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
2954 of calling grub_stop.
2955 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
2956 * grub-core/lib/efi/halt.c (grub_halt): ...here.
2957 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
2958 * grub-core/lib/emu/halt.c (grub_halt): ... here.
2959 * grub-core/lib/i386/halt.c: Moved from here ...
2960 * grub-core/lib/i386/halt.c: ... here.
2961 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
2962 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
2963 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
2964 grub_stop_floppy.
2965 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
2966 * include/grub/i386/coreboot/init.h: Removed.
2967 * include/grub/i386/multiboot/init.h: Likewise.
2968 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
2969 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
2970 * include/grub/i386/pc/int.h: New file.
2971 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
2972 (grub_pxe_scan): Removed.
2973 (grub_pxe_call): Update prototype.
2974 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
2975 prototypes.
2976 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
2977 * include/grub/i386/qemu/init.h: Removed.
2978 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
2979 noreturn.
2980 (grub_halt): Likewise.
2981 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
2982 (grub_reboot): Likewise.
2983 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
2984 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
2985 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2986
215dd471
RM
29872010-08-30 Robert Millan <rmh@gnu.org>
2988
2989 * NEWS: Document addition of ZFS support in `grub-install' and
2990 `grub-mkconfig'.
2991
ebd65b82
BC
29922010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
2993
2994 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
2995 dprintf output.
2996
11721d19
VS
29972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 Remove leftover embedding of font objects.
3000
3001 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3002 * util/grub-install.in (font): Removed.
3003 * util/grub-mkimage.c (generate_image): Remove font support. All users
3004 updated.
3005
37837d4e
VS
30062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 Remove leftover embedding of font objects.
3009
3010 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3011 * util/grub-install.in (font): Removed.
3012 * util/grub-mkimage.c (generate_image): Remove font support. All users
3013 updated.
3014
b4c1aae0
VS
30152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 3018 Reported by: Ian Turner
b4c1aae0 3019
8920a08d
VS
30202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
3023 timeout to avoid indefinite boot stalling.
3024
f21db033
VS
30252010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
3028 (grub_env_write_color_highlight): Likewise.
3029
9a9de209
VS
30302010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * grub-core/normal/term.c (print_more): Return to normal and not
3033 to standard state after printing "---MORE---".
3034
3dca01d7
VS
30352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
3038 Mask out the bit 0x80 since it has other meaning that specifiing color.
3039
0b986c40
VS
30402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 New relocator. Allows for more kernel support and more straightforward
3043 loader writing.
3044
3045 * Makefile.am (BOOTTARGET): New variable.
3046 (QEMU32): Likewise.
3047 (linux.init.x86_64): New target.
3048 (linux.init.i386): Likewise.
3049 (multiboot.elf): Likewise.
3050 (kfreebsd.elf): Likewise.
3051 (kfreebsd.aout): Likewise.
3052 (pc-chainloader.elf): Likewise.
3053 (pc-chainloader.bin): Likewise.
3054 (ntldr.elf): Likewise.
3055 (ntldr.bin): Likewise.
3056 (multiboot2.elf): Likewise.
3057 (kfreebsd.init.x86_64): Likewise.
3058 (kfreebsd.init.i386): Likewise.
3059 (knetbsd.init.i386): Likewise.
3060 (kopenbsd.init.i386): Likewise.
3061 (knetbsd.init.x86_64): Likewise.
3062 (kopenbsd.init.x86_64): Likewise.
3063 (linux-initramfs.i386): Likewise.
3064 (linux-initramfs.x86_64): Likewise.
3065 (kfreebsd-mfsroot.i386.img): Likewise.
3066 (knetbsd.image.i386): Likewise.
3067 (kopenbsd.image.i386): Likewise.
3068 (kopenbsd.image.x86_64): Likewise.
3069 (knetbsd.miniroot-image.i386.img): Likewise.
3070 (kfreebsd-mfsroot.x86_64.img): Likewise.
3071 (knetbsd.image.x86_64): Likewise.
3072 (knetbsd.miniroot-image.x86_64.img): Likewise.
3073 (kfreebsd-mfsroot.i386.gz): Likewise.
3074 (bootcheck-kfreebsd-i386): Likewise.
3075 (kfreebsd-mfsroot.x86_64.gz): Likewise.
3076 (bootcheck-kfreebsd-x86_64): Likewise.
3077 (knetbsd.miniroot-image.i386.gz): Likewise.
3078 (bootcheck-knetbsd-i386): Likewise.
3079 (bootcheck-kopenbsd-i386): Likewise.
3080 (bootcheck-kopenbsd-x86_64): Likewise.
3081 (knetbsd.miniroot-image.x86_64.gz): Likewise.
3082 (bootcheck-knetbsd-x86_64): Likewise.
3083 (bootcheck-linux-i386): Likewise.
3084 (bootcheck-linux-x86_64): Likewise.
3085 (bootcheck-linux16-i386): Likewise.
3086 (bootcheck-linux16-x86_64): Likewise.
3087 (bootcheck-multiboot): Likewise.
3088 (bootcheck-multiboot2): Likewise.
3089 (bootcheck-kfreebsd-aout): Likewise.
3090 (bootcheck-pc-chainloader): Likewise.
3091 (bootcheck-ntldr): Likewise.
3092 (CLEANFILES): Add new targets.
3093 (BOOTCHECKS): New variable.
3094 (.PHONY): Add bootchecks.
3095 (SUCCESSFUL_BOOT_STRING): New variable.
3096 (BOOTCHECK_TIMEOUT): Likewise.
3097 (bootcheck): New target
3098 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
3099 * configure.ac: Correct efiemu excuse.
3100 * docs/grub.texi (Supported kernels): New chapter.
3101 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
3102 include/grub/mm_private.h. Simplify inclusion of
3103 include/grub/boot.h, include/grub/loader.h
3104 and include/grub/msdos_partition.h
3105 (KERNEL_HEADER_FILES) [i386_coreboot]:
3106 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
3107 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
3108 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
3109 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
3110 include/grub/machine/loader.h.
3111 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
3112 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
3113 extra_dist.
3114 (pci.mod): Enable on i386-multiboot.
3115 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
3116 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
3117 i386-qemu.
3118 (relocator.mod): Rewritten.
3119 (aout.mod): Enable on all x86.
3120 (bsd.mod): Likewise.
3121 (ntldr.mod): New module.
3122 (linux.mod): Use loader/i386/linux.c on all x86.
3123 (xnu.mod): Enable on all x86.
3124 (vga_text.mod): disable on EFI and QEMU.
3125 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
3126 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
3127 * grub-core/efiemu/loadcore.c: Likewise.
3128 * grub-core/efiemu/main.c: Likewise.
3129 (grub_efiemu_exit_boot_services): Removed.
3130 (grub_efiemu_finish_boot_services): Likewise.
3131 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
3132 function.
3133 * grub-core/efiemu/i386/nocfgtables.c: New file.
3134 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
3135 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
3136 (grub_efi_finish_boot_services): Moved from here ...
3137 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
3138 Fille finish memory map and related data.
3139 (finish_mmap_buf): New variable.
3140 (grub_efi_uintn_t finish_mmap_size): Likewise.
3141 (grub_efi_uintn_t finish_key): Likewise.
3142 (grub_efi_uintn_t finish_desc_size): Likewise.
3143 (grub_efi_uint32_t finish_desc_version): Likewise.
3144 (grub_efi_is_finished): Likewise.
3145 (grub_efi_get_memory_map): Use saved memory map if EFI is already
3146 finished.
3147 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
3148 (grub_elf64_phdr_iterate): Likewise.
3149 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
3150 (grub_os_area_size): Likewise.
3151 (grub_machine_init): Don't reserve os area.
3152 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
3153 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3154 * grub-core/kern/i386/loader.S: Removed.
3155 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
3156 (grub_os_area_size): Likewise.
3157 (grub_machine_init): Don't reserve os area.
3158 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3159 Don't call grub_dl_unload_all.
3160 Don't include loader.S.
3161 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3162 Declare the memory after _end as available.
3163 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 3164 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 3165 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
3166 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
3167 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
3168 * include/grub/mm_private.h (grub_mm_header): ... here.
3169 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
3170 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
3171 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
3172 (grub_mm_region): ..here. Removed addr. Added pre_size.
3173 All users updated.
3174 * grub-core/kern/mm.c (base): Renamed to ...
3175 (grub_mm_base): ... this. Made global.
3176 (grub_real_malloc): Alloc from end of region.
3177 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
3178 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
3179 * grub-core/kern/powerpc/cache_flush.S: ... here.
3180 * grub-core/lib/efi/relocator.c: New file.
3181 * grub-core/lib/i386/relocator.c: Rewritten.
3182 * grub-core/lib/i386/relocator16.S: New file.
3183 * grub-core/lib/i386/relocator32.S: Likewise.
3184 * grub-core/lib/i386/relocator64.S: Likewise.
3185 * grub-core/lib/i386/relocator_asm.S: Rewritten.
3186 * grub-core/lib/i386/relocator_common.S: New file.
3187 * grub-core/lib/ieee1275/relocator.c: Likewise.
3188 * grub-core/lib/mips/relocator.c: Rewritten.
3189 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
3190 stylistic adjustments.
3191 * grub-core/lib/powerpc/relocator.c: New file.
3192 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
3193 * grub-core/lib/relocator.c: Rewritten.
3194 * grub-core/lib/x86_64/relocator_asm.S: New file.
3195 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
3196 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
3197 (bsd_tag): New struct.
3198 (tags): New variable.
3199 (tags_last): Likewise.
3200 (netbsd_module): New struct.
3201 (netbsd_mods): New variable.
3202 (netbsd_mods_last): Likewise.
3203 (openbsd_opts): New parameter "serial".
3204 (OPENBSD_SERIAL_ARG): New definition.
3205 (netbsd_opts): New parameter "serial".
3206 (NETBSD_SERIAL_ARG): New definition.
3207 (grub_freebsd_add_meta): Reorganised into ...
3208 (grub_bsd_add_meta): ...this. All users updated.
3209 (grub_freebsd_add_mmap): Reorganised into ...
3210 (generate_e820_mmap): ...this...
3211 (grub_bsd_add_mmap): ...and this. All users updated.
3212 (grub_freebsd_list_modules): Use tags.
3213 (grub_netbsd_add_meta_module): New function.
3214 (grub_netbsd_list_modules): Likewise.
3215 (grub_freebsd_boot): Use relocator and finish EFI.
3216 (grub_openbsd_boot): Likewise.
3217 (grub_netbsd_setup_video): New function.
3218 (grub_netbsd_add_modules): Likewise.
3219 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
3220 and finish EFI.
3221 (grub_bsd_unload): Unload tags.
3222 (grub_bsd_load_aout): Use relocator.
3223 (grub_bsd_elf32_size_hook): New function.
3224 (grub_bsd_elf32_hook): Use relocator.
3225 (grub_bsd_elf64_size_hook): New function.
3226 (grub_bsd_elf64_hook): Use relocator.
3227 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
3228 (grub_bsd_load): Zero-out openbsd_ramdisk.
3229 (grub_bsd_load): Use relocator.
3230 (grub_cmd_openbsd): Support serial.
3231 (grub_cmd_netbsd): Support modules.
3232 (grub_cmd_freebsd_module): Use relocator.
3233 (grub_netbsd_module_load): New function.
3234 (grub_cmd_netbsd_module): Likewise.
3235 (grub_cmd_openbsd_ramdisk): Likewise.
3236 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
3237 kopenbsd_ramdisk.
3238 (GRUB_MOD_FINI): Unregister new commands.
3239 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
3240 (grub_freebsd_load_elfmodule_obj): Use relocator.
3241 (grub_freebsd_load_elfmodule): Likewise.
3242 (grub_freebsd_load_elf_meta): Likewise.
3243 (grub_netbsd_load_elf_meta): New function.
3244 (grub_openbsd_find_ramdisk): Likewise.
3245 * grub-core/loader/i386/bsd_helper.S: Removed.
3246 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
3247 * grub-core/loader/i386/bsd_trampoline.S: Removed.
3248 * grub-core/loader/i386/efi/linux.c: Likewise.
3249 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
3250 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
3251 (DEFAULT_VIDEO_MODE): Likewise.
3252 (real_mode_target): New variable.
3253 (prot_mode_target): Likewise.
3254 (initrd_mem_target): Likewise.
3255 (relocator): Likewise.
3256 (efi_mmap_buf): Likewise.
3257 (efi_mmap_size): Likewise.
3258 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
3259 (free_pages): Use relocator.
3260 (allocate_pages): Account for efi_mmap and use relocator. Return error.
3261 (grub_linux_setup_video): Return error.
3262 (grub_linux_trampoline_start): Removed.
3263 (grub_linux_trampoline_end): Likewise.
3264 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
3265 andd video parameters depending on firmware.
3266 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
3267 [GRUB_MACHINE_EFI]: Pass EFI parameters.
3268 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
3269 (grub_cmd_initrd): Use relocator.
3270 * grub-core/loader/i386/linux_trampoline.S: Removed.
3271 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
3272 (elf_sec_entsize): Likewise.
3273 (elf_sec_shstrndx): Likewise.
3274 (elf_sections): Likewise.
3275 (grub_multiboot_load): Use relocator.
3276 (grub_multiboot_get_mbi_size): Account for sections.
3277 (grub_multiboot_make_mbi): Use relocator and support sections.
3278 (grub_multiboot_add_elfsyms): New function.
3279 (grub_multiboot_free_mbi): Free sections.
3280 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
3281 (grub_linux_real_target): Likewise.
3282 (grub_linux_real_chunk): Likewise.
3283 (grub_linux16_prot_size): Likewise.
3284 (grub_linux16_boot): Use relocator.
3285 (grub_linux_unload): Unload relocator.
3286 (grub_cmd_linux): Use relocator.
3287 (grub_cmd_initrd): Likewise.
3288 * grub-core/loader/i386/pc/ntldr.c: New file.
3289 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
3290 Don't try to guess CPU frequency.
3291 (grub_xnu_set_video): Stretch bitmap.
3292 (grub_xnu_boot): Use relocator.
3293 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
3294 (grub_linux_unload): Free relocator.
3295 (grub_linux_load32): Use relocator.
3296 (grub_linux_load64): Likewise.
3297 (grub_cmd_initrd): Likewise.
3298 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
3299 (grub_multiboot_unload): Unload relocator.
3300 (grub_cmd_multiboot): Use relocator.
3301 (grub_cmd_module): Likewise.
3302 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
3303 Use relocator and support sections.
3304 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
3305 (elf_sec_entsize): Likewise.
3306 (elf_sec_shstrndx): Likewise.
3307 (elf_sections): Likewise.
3308 (grub_multiboot_load): Use relocator.
3309 (grub_multiboot_get_mbi_size): Account for sections.
3310 (grub_multiboot_make_mbi): Use relocator and support sections.
3311 (grub_multiboot_add_elfsyms): New function.
3312 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
3313 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
3314 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
3315 Prototype changed. All users updated.
3316 (grub_xnu_align_heap): Simplified.
3317 (grub_xnu_writetree_toheap): Likewise.
3318 (grub_xnu_unload): Unload relocator.
3319 (grub_cmd_xnu_kernel): Use relocator.
3320 (grub_cmd_xnu_kernel64): Likewise.
3321 (grub_xnu_register_memory): Simplified.
3322 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
3323 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
3324 EFI is finished.
3325 (grub_console_checkkey): Likewise.
3326 (grub_console_getkey): Likewise.
3327 (grub_console_getwh): Likewise.
3328 (grub_console_getxy): Likewise.
3329 (grub_console_gotoxy): Likewise.
3330 (grub_console_cls): Likewise.
3331 (grub_console_setcolorstate): Likewise.
3332 (grub_console_setcursor): Likewise.
3333 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
3334 * grub-core/tests/boot/kbsd.init-i386.S: New file.
3335 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
3336 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
3337 * grub-core/tests/boot/kernel-8086.S: Likewise.
3338 * grub-core/tests/boot/kernel-i386.S: Likewise.
3339 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
3340 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
3341 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
3342 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
3343 * grub-core/tests/boot/knetbsd.cfg: Likewise.
3344 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
3345 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
3346 * grub-core/tests/boot/linux.cfg: Likewise.
3347 * grub-core/tests/boot/linux.init-i386.S: Likewise.
3348 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
3349 * grub-core/tests/boot/linux16.cfg: Likewise.
3350 * grub-core/tests/boot/multiboot.cfg: Likewise.
3351 * grub-core/tests/boot/multiboot2.cfg: Likewise.
3352 * grub-core/tests/boot/ntldr.cfg: Likewise.
3353 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
3354 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
3355 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
3356 New definition.
3357 * include/grub/dl.h (grub_dl_unload_all): Removed.
3358 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
3359 (grub_efi_finish_boot_services): Change prototype.
3360 (grub_efi_is_finished): New variable.
3361 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
3362 Changed prototype.
3363 (grub_efiemu_finish_boot_services): Removed.
3364 (grub_machine_efiemu_init_tables): New prototype.
3365 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
3366 (grub_elf64_phdr_iterate): Likewise.
3367 * include/grub/i386/bsd.h: Include relocator.h.
3368 (freebsd_tag_header): New struct.
3369 (grub_openbsd_bios_mmap): Removed.
3370 (grub_unix_real_boot): Removed.
3371 (grub_freebsd_load_elfmodule32): Changed prototype.
3372 (grub_freebsd_load_elfmodule_obj64): Likewise.
3373 (grub_freebsd_load_elf_meta32): Likewise.
3374 (grub_freebsd_load_elf_meta64): Likewise.
3375 (grub_freebsd_add_meta): Removed.
3376 (grub_netbsd_load_elf_meta32): New prototype.
3377 (grub_netbsd_load_elf_meta64): Likewise.
3378 (grub_bsd_add_meta): Likewise.
3379 (grub_openbsd_ramdisk_descriptor): New struct.
3380 (grub_openbsd_find_ramdisk32): New prototype.
3381 (grub_openbsd_find_ramdisk64): Likewise.
3382 * include/grub/i386/coreboot/loader.h: Removed.
3383 * include/grub/i386/efi/loader.h: Likewise.
3384 * include/grub/i386/ieee1275/loader.h: Likewise.
3385 * include/grub/i386/linux.h (linux_kernel_header): Change void *
3386 to grub_uint32_t.
3387 * include/grub/i386/loader.h: Removed.
3388 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
3389 value.
3390 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
3391 (grub_phys_addr_t): New type.
3392 (grub_vtop): New inline function.
3393 (grub_map_memory): Likewise.
3394 (grub_unmap_memory): Likewise.
3395 * include/grub/i386/multiboot/loader.h: Removed.
3396 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
3397 (NETBSD_BTINFO_CONSOLE): New definition.
3398 (NETBSD_BTINFO_SYMTAB): Likewise.
3399 (NETBSD_BTINFO_MODULES): Likewise.
3400 (NETBSD_BTINFO_FRAMEBUF): Likewise.
3401 (grub_netbsd_bootinfo): New struct.
3402 (grub_netbsd_btinfo_common): Use explicit bitsize.
3403 (grub_netbsd_btinfo_mmap_entry): Removed.
3404 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
3405 (grub_netbsd_btinfo_bootdisk): New struct.
3406 (grub_netbsd_btinfo_symtab): Likewise.
3407 (grub_netbsd_btinfo_serial): Likewise.
3408 (grub_netbsd_btinfo_modules): Likewise.
3409 (grub_netbsd_btinfo_framebuf): Likewise.
3410 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
3411 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
3412 Likewise.
3413 (grub_openbsd_bootargs): Use explicit bitsize.
3414 (grub_openbsd_bootarg_console): New struct.
3415 (GRUB_OPENBSD_COM_MAJOR): New definition.
3416 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
3417 * include/grub/i386/pc/efiemu.h: Removed.
3418 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
3419 * include/grub/i386/qemu/loader.h: Removed.
3420 * include/grub/i386/relocator.h: Rewritten.
3421 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
3422 * include/grub/mips/memory.h: New file.
3423 * include/grub/mips/multiboot.h: Rewritten.
3424 * include/grub/mips/relocator.h: Rewritten.
3425 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
3426 (grub_vtop): New function.
3427 (grub_map_memory): Likewise.
3428 (grub_unmap_memory): Likewise.
3429 * include/grub/misc.h (ALIGN_DOWN): New definition.
3430 * include/grub/mm.h (grub_mm_check_real): New proto.
3431 (GRUB_MM_CHECK): New definition.
3432 * include/grub/mm_private.h: New file.
3433 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
3434 (grub_multiboot_get_mbi_size): Removed.
3435 (grub_multiboot_make_mbi): Change prottype.
3436 (grub_multiboot_set_accepts_video): New proto.
3437 (grub_multiboot_add_elfsyms): Likewise.
3438 (grub_multiboot_payload_eip): New variable.
3439 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
3440 New prototype.
3441 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
3442 New definition.
3443 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
3444 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
3445 * include/grub/powerpc/ieee1275/loader.h: Removed.
3446 * include/grub/powerpc/memory.h: New file.
3447 * include/grub/powerpc/relocator.h: Likewise.
3448 * include/grub/relocator.h: Likewise.
3449 * include/grub/relocator_private.h: Likewise.
3450 * include/grub/sparc64/ieee1275/loader.h: Removed.
3451 * include/grub/x86_64/memory.h: New file.
3452 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
3453 (grub_xnu_heap_malloc): Likewise.
3454 (grub_xnu_heap_real_start): Removed.
3455 (grub_xnu_heap_start): Likewise.
3456 (grub_xnu_relocator): New variable.
3457 (grub_xnu_heap_target_start): Likewise.
3458 * tests/util/grub-shell.in: Support non-pc.
3459 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 3460
5303b85d
VS
34612010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3464 on malloc error.
3465 (grub_bidi_logical_to_visual): Check that malloc succeded.
3466 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3467 puts.
3468 (grub_xputs_normal): Likewise.
3469
d768d159
VS
34702010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
3473 extra_dist.
3474
34752010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/efiemu/runtime/efiemu.sh: Removed.
3478
5bf84df4
VS
34792010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
3482
3626810e
VS
34832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
3486 dprintf.
3487
a7363f53
BC
34882010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
3489
3490 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
3491
902f75f6
VS
34922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * grub-core/normal/term.c (print_more): Fix a memory leak.
3495 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
3496 (grub_xputs_normal): Likewise.
3497
3c707967
VS
34982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
3501 the begining of the string
3502
2053cc07
VS
35032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3504
3505 * grub-core/script/script.c (grub_script_parse): Free parsed on
3506 failure.
3507
46422ebf
VS
35082010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3511 on failure.
3512
9e0fa3f6
VS
35132010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3514
3515 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3516 return.
3517
3393cf16
VS
35182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3521 (scroll_up): Fix a memory leak.
3522
b17540cb
VS
35232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3526 errors.
3527
67140446
VS
35282010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 Handle USB pendrives exposed as floppies.
3531
3532 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3533 floppy.
3534 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3535 Check for partitions on all devices.
3536
e35e46fc
VS
35372010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3540 (readkey): Likewise.
3541
d24c6190
BC
35422010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3543
3544 Multiple variable names support to "export" command.
3545
3546 * normal/context.c (grub_cmd_export): "export" command supports
3547 multiple variable names.
3548
04ddcc6a
ST
35492010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3550
3551 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3552 --target=drive output to Mach device name.
3553
0c8b61d8
BC
35542010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3555
3556 New Automake based build system for GRUB.
3557
3558 * ABOUT-NLS: New file.
3559 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3560 in Makefile.util.def file.
3561 * Makefile.util.def: New file. Autogen build definitions file for
3562 GRUB host utils.
3563 * conf/Makefile.common: New file. Common variables for GRUB host
3564 utils and target modules.
3565 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3566 * docs/Makefile.am: New file. Automake file for docs.
3567 * gentpl.py: New file. Python script to generate Autogen
3568 template.
3569 * grub-core/Makefile.am: New file. GRUB target modules' rules
3570 that doesn't fit in Makefile.core.def file.
3571 * grub-core/Makefile.core.def: New file. Autogen build
3572 definitions file for GRUB target modules.
3573 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3574 specific setjmp.S file.
3575 * po/Makefile.am: New file.
3576
3577 * .bzrignore: New ignores.
3578 * INSTALL: New requirements, without Ruby.
3579 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3580 * autogen.sh: Updated to invoke autogen as necessary.
3581 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3582 and defines for Automake conditionals.
3583 * geninit.sh: Refactoring.
3584
3585 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3586 necessary.
3587 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3588 New prototype.
3589
3590 * include/grub/test.h: Fix functional test modules' naming.
3591 * grub-core/tests/example_functional_test.c: Fix test module name.
3592
3593 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3594 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3595 * util/grub-editenv.c: Likewise.
3596 * util/grub-fstest.c: Likewise.
3597 * util/grub-mkdevicemap.c: Likewise.
3598 * util/grub-mkfont.c: Likewise.
3599 * util/grub-mkimage.c: Likewise.
3600 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3601 * util/grub-probe.c: Likewise.
3602 * util/grub-script-check.c: Likewise.
3603 * util/i386/pc/grub-setup.c: Likewise.
3604 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3605
3606 * tests/util/grub-shell.in: Fix override directory path.
3607 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3608 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3609
3610 * util/lvm.c: Update #includes.
3611 * util/raid.c: Likewise.
3612 * util/resolve.c: Likewise.
3613 * grub-core/bus/emu/pci.c: Likewise.
3614 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3615 * grub-core/lib/posix_wrap/string.h: Likewise.
3616 * grub-core/kern/emu/main.c: Likewise.
3617
3618 * grub-core/gensymlist.sh: New file. Script for generating kernel
3619 symbols file.
3620 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3621
3622 * grub-core/gentrigtables.c: Fix unused variable warnings.
3623
3624 * Makefile.in: Removed.
3625 * conf/any-emu.rmk: Removed.
3626 * conf/common.rmk: Removed.
3627 * conf/i386-coreboot.rmk: Removed.
3628 * conf/i386-efi.rmk: Removed.
3629 * conf/i386-ieee1275.rmk: Removed.
3630 * conf/i386-multiboot.rmk: Removed.
3631 * conf/i386-pc.rmk: Removed.
3632 * conf/i386-qemu.rmk: Removed.
3633 * conf/i386.rmk: Removed.
3634 * conf/mips-yeeloong.rmk: Removed.
3635 * conf/mips.rmk: Removed.
3636 * conf/powerpc-ieee1275.rmk: Removed.
3637 * conf/sparc64-ieee1275.rmk: Removed.
3638 * conf/tests.rmk: Removed.
3639 * conf/x86-efi.rmk: Removed.
3640 * conf/x86_64-efi.rmk: Removed.
3641 * gendistlist.sh: Removed.
3642 * geninitheader.sh: Removed.
3643 * genkernsyms.sh.in: Removed.
3644 * genmk.rb: Removed.
3645 * gensymlist.sh.in: Removed.
3646 * mkinstalldirs: Removed.
3647 * boot: Moved ...
3648 * grub-core/boot: ... to here.
3649 * bus: Moved ...
3650 * grub-core/bus: ... to here.
3651 * commands: Moved ...
3652 * grub-core/commands: ... to here.
3653 * disk: Moved ...
3654 * grub-core/disk: ... to here.
3655 * efiemu: Moved ...
3656 * grub-core/efiemu: ... to here.
3657 * font: Moved ...
3658 * grub-core/font: ... to here.
3659 * fs: Moved ...
3660 * grub-core/fs: ... to here.
3661 * gencmdlist.sh: Moved ...
3662 * grub-core/gencmdlist.sh: ... to here.
3663 * genemuinit.sh: Moved ...
3664 * grub-core/genemuinit.sh: ... to here.
3665 * genemuinitheader.sh: Moved ...
3666 * grub-core/genemuinitheader.sh: ... to here.
3667 * genfslist.sh: Moved ...
3668 * grub-core/genfslist.sh: ... to here.
3669 * genhandlerlist.sh: Moved ...
3670 * grub-core/genhandlerlist.sh: ... to here.
3671 * genmoddep.awk: Moved ...
3672 * grub-core/genmoddep.awk: ... to here.
3673 * genmodsrc.sh: Moved ...
3674 * grub-core/genmodsrc.sh: ... to here.
3675 * genpartmaplist.sh: Moved ...
3676 * grub-core/genpartmaplist.sh: ... to here.
3677 * genparttoollist.sh: Moved ...
3678 * grub-core/genparttoollist.sh: ... to here.
3679 * genterminallist.sh: Moved ...
3680 * grub-core/genterminallist.sh: ... to here.
3681 * gentrigtables.c: Moved ...
3682 * grub-core/gentrigtables.c: ... to here.
3683 * genvideolist.sh: Moved ...
3684 * grub-core/genvideolist.sh: ... to here.
3685 * gettext: Moved ...
3686 * grub-core/gettext: ... to here.
3687 * gfxmenu: Moved ...
3688 * grub-core/gfxmenu: ... to here.
3689 * gnulib: Moved ...
3690 * grub-core/gnulib: ... to here.
3691 * hello: Moved ...
3692 * grub-core/hello: ... to here.
3693 * hook: Moved ...
3694 * grub-core/hook: ... to here.
3695 * io: Moved ...
3696 * grub-core/io: ... to here.
3697 * kern: Moved ...
3698 * grub-core/kern: ... to here.
3699 * lib: Moved ...
3700 * grub-core/lib: ... to here.
3701 * loader: Moved ...
3702 * grub-core/loader: ... to here.
3703 * mmap: Moved ...
3704 * grub-core/mmap: ... to here.
3705 * normal: Moved ...
3706 * grub-core/normal: ... to here.
3707 * partmap: Moved ...
3708 * grub-core/partmap: ... to here.
3709 * parttool: Moved ...
3710 * grub-core/parttool: ... to here.
3711 * script: Moved ...
3712 * grub-core/script: ... to here.
3713 * term: Moved ...
3714 * grub-core/term: ... to here
3715 * tests/example_functional_test.c: Moved ...
3716 * grub-core/tests/example_functional_test.c: ... to here.
3717 * tests/lib/functional_test.c: Moved ...
3718 * grub-core/tests/lib/functional_test.c: ... to here.
3719 * tests/lib/test.c: Moved ...
3720 * grub-core/tests/lib/test.c: ... to here.
3721 * video: Moved ...
3722 * grub-core/video: ... to here.
3723
645586e6
BC
37242010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3725
3726 Replace --enable-grub-emu-modules with grub-emu-lite.
3727
3728 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3729 cache.S.
3730
3731 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3732 * kern/emu/full.c: New file. For grub-emu specific initialization.
3733 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3734 * kern/emu/main.c: Call initialization function grub_emu_init.
3735
3736 * Makefile.in: Include grub-emu-lite in install.
3737 * commands/parttool.c: Use grub_no_autoload to differentiate
3738 between grub-emu and grub-emu-lite.
3739 * include/grub/misc.h: New variable grub_no_autoload.
3740
3741 * conf/any-emu.rmk: New rules for grub-emu-lite.
3742 * configure.ac: Remove --enable-grub-emu-modules.
3743 * genmk.rb: Cleanup unnecessary rules.
3744 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3745
3746 * normal/main.c: Don't load list files on grub-emu-lite.
3747 * util/misc.c (grub_arch_sync_caches): Removed.
3748
f86a4030
CW
37492010-08-23 Colin Watson <cjwatson@ubuntu.com>
3750
3751 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3752 grub-mkimage rather than grub-mkelfimage.
3753 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3754
06776944
VS
37552010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3758 a key after CapsLock or NumLock. It's just a qemu bug.
3759
df262419
VS
37602010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3763 needed by libusb wrapper.
3764
b40ea81b
ST
37652010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3766
3767 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3768
dee50575
VS
37692010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3772 --nounzip is passed.
3773
fb1d7b79
VS
37742010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3775
3776 USB hotunplugging and USB serial support.
3777
3778 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3779 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3780 (grub_uhci_transfer): Respect timeout and set *actual.
3781 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3782 non-standard length.
3783 (grub_usb_device_attach): Autoload modules.
3784 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3785 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3786 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3787 users updated.
3788 (grub_usb_add_hub): Fill nports and children.
3789 (attach_root_port): Receive hub instead of controller.
3790 All users updated. Fill hub->devices.
3791 (grub_usb_root_hub): Allocate hub->devices.
3792 (detach_device): New function.
3793 (poll_nonroot_hub): Fill children and detach devices.
3794 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3795 actual arguments. All users updated.
3796 (grub_usb_bulk_read_extended): New function.
3797 * bus/usb/serial/common.c: New file.
3798 * bus/usb/serial/ftdi.c: Likewise.
3799 * bus/usb/serial/pl2303.c: Likewise.
3800 * commands/terminal.c (handle_command): Support wildcard.
3801 * commands/usbtest.c: Output "Unknown" instead of empty string.
3802 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3803 (usbserial_common_mod_SOURCES): New variable.
3804 (usbserial_common_mod_CFLAGS): Likewise.
3805 (usbserial_common_mod_LDFLAGS): Likewise.
3806 (pkglib_MODULES): Add usbserial_pl2303.mod.
3807 (usbserial_pl2303_mod_SOURCES): New variable.
3808 (usbserial_pl2303_mod_CFLAGS): Likewise.
3809 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3810 (pkglib_MODULES): Add usbserial_ftdi.mod.
3811 (usbserial_ftdi_mod_SOURCES): New variable.
3812 (usbserial_ftdi_mod_CFLAGS): Likewise.
3813 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3814 (pkglib_MODULES): Add serial.mod.
3815 (serial_mod_SOURCES): New variable.
3816 (serial_mod_CFLAGS): Likewise.
3817 (serial_mod_LDFLAGS): Likewise.
3818 * conf/i386-pc.rmk: Likewise.
3819 * conf/mips-yeeloong.rmk: Likewise.
3820 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3821 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3822 * disk/usbms.c (first_available_slot): New variable.
3823 (grub_usbms_attach): Don't reuse free slots due to potential cache
3824 problems.
3825 * include/grub/serial.h: Moved to ..
3826 * include/grub/ns8250.h: ...this.
3827 * include/grub/serial.h: New file.
3828 * include/grub/term.h (grub_term_poll_usb): New variable.
3829 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3830 readkey. All users updated.
3831 (grub_terminfo_output_state): Pass term to put.
3832 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3833 (grub_usb_controller_dev): Add timeout and actual arguments to
3834 transfer. All users updated.
3835 (grub_usb_interface): New field detach_data.
3836 (grub_usb_device): New fields children and nports.
3837 (grub_usb_ep_type_t): New type.
3838 (grub_usb_get_ep_type): New function.
3839 (grub_usb_bulk_read_extended): Likewise.
3840 * include/grub/usbdesc.h (grub_usb_desc): New type.
3841 * include/grub/usbserial.h: New file.
3842 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3843 * kern/term.c (grub_term_poll_usb): New variable.
3844 (grub_getkey): Call grub_term_poll_usb if set.
3845 (grub_checkkey): Likewise.
3846 (grub_getkeystatus): Likewise.
3847 * term/serial.c: Moved controller-specific parts to ...
3848 * term/ns8250.c: ... here.
3849 * term/serial.c: Mostly rewritten.
3850 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3851 according to spec.
3852
21a313de
RM
38532010-08-20 Robert Millan <rmh@gnu.org>
3854
3855 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3856 a separate module and maybe other interesting combinations.
3857
3858 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3859 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3860 (kfreebsd_entry): Add generic filesystem module load routine.
3861 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3862
63c734a6
CW
38632010-08-20 Colin Watson <cjwatson@ubuntu.com>
3864
3865 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3866 "numcenter" (I misunderstood the purpose of this entry).
3867 * docs/grub.texi (sendkey): Likewise.
3868
c4d16542
CW
38692010-08-20 Colin Watson <cjwatson@ubuntu.com>
3870
3871 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3872 status flag options; simply omitting the option is equivalent and
3873 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3874 (keysym_table): Rename "num5numlock" to "numlock".
3875 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3876 can uniformly say that only the last of multiple `sendkey'
3877 invocations has any effect.
3878 * docs/grub.texi (sendkey): New section.
3879
93541d66
CW
38802010-08-19 Colin Watson <cjwatson@ubuntu.com>
3881
3882 * commands/i386/pc/sendkey.c (options): Fix three typos.
3883
b4ece5e1
VS
38842010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 Implement sendkey support.
3887
3888 * commands/i386/pc/sendkey.c: New file.
3889 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3890 (sendkey_mod_SOURCES): New variable.
3891 (sendkey_mod_CFLAGS): Likewise.
3892 (sendkey_mod_LDFLAGS): Likewise.
3893
51f1f5af
CW
38942010-08-18 Colin Watson <cjwatson@ubuntu.com>
3895
3896 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3897 fix warnings from Autoconf.
3898
9da94e05
CW
38992010-08-18 Colin Watson <cjwatson@ubuntu.com>
3900
3901 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3902 to avoid false positives with some assemblers that output things
3903 like "someprefix_func" as part of their output.
3904
729a0f2e
RM
39052010-08-15 Robert Millan <rmh@gnu.org>
3906
3907 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3908 errors.
3909 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3910 grub_get_libzfs_handle() errors.
3911
f3710e08
RM
39122010-08-14 Robert Millan <rmh@gnu.org>
3913
3914 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3915 filesystem is not ZFS.
3916
7a3c13de
BC
39172010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3918
3919 Fix for misspelled color names defaulting to black/black (bug
3920 reported by Doug Nazar)
3921
3922 * include/grub/normal.h (grub_parse_color_name_pair): Add return
3923 status to prototype.
3924 * normal/color.c (grub_parse_color_name_pair): Return failure
3925 status.
3926 (grub_env_write_color_normal): Ignore bad color names.
3927 (grub_env_write_color_highlight): Likewise.
3928 * normal/main.c (GRUB_MOD_INIT): Set default color names.
3929
ab8ba50d
BC
39302010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3931
3932 "shift" command support to GRUB script.
3933
3934 * include/grub/script_sh.h (grub_script_shift): New prototype.
3935 * script/execute.c (grub_script_shift): New function.
3936 * script/main.c (grub_script_init): Register shift command.
3937 (grub_script_fini): Unregister shift command.
3938 * util/grub-script-check.c (grub_script_cmd_shift): New function.
3939
3940 * tests/grub_script_shift.in: New testcase.
3941 * conf/tests.rmk: Rules for new testcase.
3942
4d61999e
BC
39432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3944
3945 "continue" command support to GRUB script.
3946
3947 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
3948 (grub_script_break): Continue support.
3949 * script/main.c (grub_script_init): Register continue command.
3950 (grub_script_fini): Unregister continue command.
3951
3952 * tests/grub_script_continue.in: New testcase.
3953 * conf/tests.rmk: Rules for new testcase.
3954
4df51e00
BC
39552010-08-12 BVK Chaitanya <bvk@dbook>
3956
3957 "break" command support to GRUB script.
3958
3959 * conf/common.rmk: Rule updates to grub-script-check.
3960 * include/grub/misc.h (grub_min): New function.
3961 * include/grub/script_sh.h (grub_script_init): New prototype.
3962 (grub_script_fini): New prototype.
3963 (grub_script_break): New prototype.
3964 * script/main.c (grub_script_init): New function.
3965 (grub_script_fini): New function.
3966 * script/execute.c (grub_script_break): New function.
3967 * normal/main.c: Calls to grub_script_{init,fini}.
3968 * util/grub-script-check.c (grub_script_break): New function.
3969
3970 * tests/grub_script_break.in: New testcase.
3971 * conf/tests.rmk: Rules for new test case.
3972
f12c8420
BC
39732010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3974
3975 Function parameters support to GRUB script.
3976
3977 * script/yylex.l (VARIABLE): Regular expression update.
3978 * script/function.c (grub_script_function_call): Moved ...
3979 * script/execute.c (grub_script_function_call): ... to here.
3980 (grub_script_execute_arglist_to_argv): Removed.
3981 (grub_script_arglist_to_argv): New function.
3982 * script/argv.c: New file.
3983 (grub_script_argv_free): New function.
3984 (grub_script_argv_next): Likewise.
3985 (grub_script_argv_append): Likewise.
3986 (grub_script_argv_split_append): Likewise.
3987 * include/grub/script_sh.h (grub_script_argv): New struct.
3988 (grub_script_argv_free): New function.
3989 (grub_script_argv_next): Likewise.
3990 (grub_script_argv_append): Likewise.
3991 (grub_script_argv_split_append): Likewise.
3992
3993 * conf/common.rmk (normal.mod): New source script/argv.c.
3994
3995 * tests/grub_script_echo1.in: More tests.
3996 * tests/grub_script_vars1.in: Likewise.
3997 * tests/grub_script_functions.in: New test case.
3998 * conf/tests.rmk: Rules for new testcase.
3999
8022b748
BC
40002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4001
4002 Remove grub_script_cmdblock struct.
4003
4004 * include/grub/script_sh.h: Remove grub_script_cmdblock.
4005 * script/parser.y: Likewise.
4006 * script/execute.c: Rename cmdblock suffix to cmdlist.
4007 * script/script.c: Likewise.
4008 * util/grub-script-check.c: Likewise.
4009
79a6ba61
YB
40102010-08-11 Yves Blusseau <blusseau@zetam.org>
4011
4012 * .bzrignore: add grub-macho2img
4013
d04b9414
VS
40142010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
4017
f947ab49
VS
40182010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 Remove the dump of sm712 initialisation sequence.
4021
4022 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
4023 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
4024 (GRUB_VGA_IO_MISC_WRITE): Likewise.
4025 (GRUB_VGA_CR_*): Added many registers.
4026 (GRUB_VGA_SR_*): Likewise.
4027 (GRUB_VGA_GR_*): Likewise.
4028 (grub_vga_write_arx): New function.
4029 (grub_video_hw_config): New struct.
4030 (grub_vga_set_geometry): New function.
4031 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
4032 GRUB_PCI_CLASS_SUBCLASS_VGA.
4033 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
4034 * video/sm712.c (grub_sm712_write_reg): New function
4035 (grub_sm712_read_reg): Likewise.
4036 (grub_sm712_sr_write): Likewise.
4037 (grub_sm712_gr_write): Likewise.
4038 (grub_sm712_cr_write): Likewise.
4039 (grub_sm712_write_arx): Likewise.
4040 (grub_sm712_cr_shadow_write): Likewise.
4041 (grub_sm712_write_dda_lookup): Likewise.
4042 (grub_video_sm712_setup): Initialise the video rather then
4043 blindly replay the dump.
4044 (main) [TEST]: Add a routine to be able to compile as standalone for
4045 tests.
4046 * video/sm712_init.c (sm712_init): Removed.
4047 (sm712_sr_seq1): New array.
4048 (sm712_sr_seq2): Likewise.
4049
f0206638
VS
40502010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 * include/grub/vga.h: Add missing grub/pci.h include.
4053
2764da3b
YB
40542010-08-10 Yves Blusseau <blusseau@zetam.org>
4055
4056 * util/grub-macho2img.c (main): fix typo
4057
cf0c775e
VS
40582010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
4061 (grub_vga_gr_read): Likewise.
4062 (grub_vga_cr_write): Likewise.
4063 (grub_vga_cr_read): Likewise.
4064 (grub_vga_sr_write): Likewise.
4065 (grub_vga_sr_read): Likewise.
4066 (grub_vga_palette_read): Likewise.
4067 (grub_vga_palette_write): Likewise.
4068 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
4069 (grub_sm712_sr_read): New function.
4070 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
4071 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
4072
07f360e9
RM
40732010-08-09 Robert Millan <rmh@gnu.org>
4074
4075 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
4076 out unused variables on non-ZFS build.
4077
346c2072
RM
40782010-08-08 Robert Millan <rmh@gnu.org>
4079
4080 Fix path generation for sub-filesystems in ZFS.
4081
4082 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
4083 missing slash.
4084
71175420
RM
40852010-08-08 Robert Millan <rmh@gnu.org>
4086
4087 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
4088
0d8286f3
RM
40892010-08-08 Robert Millan <rmh@gnu.org>
4090
4091 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
4092 exist, issue a proper error message (rely on `ls' for translated
4093 strings).
4094
55dd2924
RM
40952010-08-08 Robert Millan <rmh@gnu.org>
4096
4097 Fix grub-probe invocation.
4098
4099 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
4100
d3dd9e80
RM
41012010-08-04 Robert Millan <rmh@gnu.org>
4102
4103 * configure.ac: Remove checks for getfsstat() and getmntany().
4104 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
4105 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
4106 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
4107 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
4108 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
4109 function.
4110 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
4111 via find_mount_point_from_dir() and getfsstat() / getmntany().
4112
0de22aa9
RM
41132010-08-04 Robert Millan <rmh@gnu.org>
4114
4115 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4116 (grub_find_zpool_from_mount_point): Merge into ...
4117 (grub_find_zpool_from_dir): ... this.
4118 * kern/emu/misc.c: Likewise.
4119
4120 * kern/emu/misc.c
4121 (grub_make_system_path_relative_to_its_root): Replace
4122 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
4123 with grub_find_zpool_from_dir().
4124 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
4125
62858144
RM
41262010-08-04 Robert Millan <rmh@gnu.org>
4127
4128 Support OpenSolaris in ZFS device resolution.
4129
4130 * configure.ac: Check for getmntany().
4131 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
4132 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
4133 support.
4134
9dd6fd50
RM
41352010-08-03 Robert Millan <rmh@gnu.org>
4136
4137 Fix grub-emu build.
4138
4139 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
4140 * include/grub/emu/misc.h: ... here.
4141
4142 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
4143 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
4144
4145 * util/misc.c: Remove `<grub/util/libzfs.h>'.
4146 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
4147 (grub_get_libzfs_handle): Move to ...
4148 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
4149 (grub_get_libzfs_handle): ... here.
4150
c9f7ff97
BC
41512010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
4152
4153 * script/execute.c (grub_script_execute_cmdline): Check for NULL
4154 as command name case.
4155
a870a783
CW
41562010-08-02 Colin Watson <cjwatson@ubuntu.com>
4157
4158 * disk/raid.c (insert_array): Select unique numbers for named arrays
4159 as well, for use as keys in the disk cache.
4160
c7db243b
RM
41612010-08-01 Robert Millan <rmh@gnu.org>
4162
4163 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
4164 kFreeBSD device name, except on ZFS where the filesystem label is
4165 used.
4166 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
4167 `/boot/zfs/zpool.cache'.
4168 Set mountfrom kernel variable using ${kfreebsd_device}.
4169
f7abdefb
RM
41702010-08-01 Robert Millan <rmh@gnu.org>
4171
4172 Make it even harder to use uninitialized `libzfs_handle' (and
4173 make the interface a bit simpler).
4174
4175 * include/grub/util/misc.h (grub_util_init_libzfs)
4176 (libzfs_handle): Remove.
4177 (grub_get_libzfs_handle): New prototype.
4178
4179 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
4180 attribute.
4181 (grub_util_init_libzfs): Remove.
4182 (grub_get_libzfs_handle): New function.
4183
4184 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
4185 grub_get_libzfs_handle() to obtain a libzfs handle instead of
4186 accessing `libzfs_handle' directly.
4187
c882acc0
RM
41882010-08-01 Robert Millan <rmh@gnu.org>
4189
4190 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4191 (grub_find_zpool_from_mount_point): New function prototypes.
4192
4193 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4194 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4195
4196 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4197 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4198 `static' attribute.
4199
4200 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4201 finding zpool from mount point into ...
4202 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4203
4204 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4205 requested path is part of a ZFS pool, use
4206 grub_find_zpool_from_mount_point() to detect its filesystem name,
4207 and generate a path with `/fsname@path' syntax.
4208
8bfe31d8
CW
42092010-08-01 Colin Watson <cjwatson@ubuntu.com>
4210
4211 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
4212 (void) rather than () so that this is a proper prototype.
4213
553df63d
VS
42142010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
4217
8687cf07
VS
42182010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
4221 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
4222
ea9be8ea
CW
42232010-08-01 Colin Watson <cjwatson@ubuntu.com>
4224
4225 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
4226
6eea041a
CW
42272010-08-01 Colin Watson <cjwatson@ubuntu.com>
4228
4229 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
4230
2cfb45df
CW
42312010-08-01 Colin Watson <cjwatson@ubuntu.com>
4232
4233 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
4234 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
4235 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
4236 disable gfxpayload.
4237 (Shell-like scripting): Add real content.
4238 (Serial terminal): Suggest `terminal_input serial; terminal_output
4239 serial' rather than putting the two commands on separate lines,
4240 since console input will be inoperative after the first command.
4241 (menuentry): Document --class, --users, and --hotkey options.
4242 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
4243 Vladimir Serbinenko).
4244
7decd202
VS
42452010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
42462010-08-01 Colin Watson <cjwatson@ubuntu.com>
4247
4248 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
4249
c882acc0
RM
42502010-08-01 Robert Millan <rmh@gnu.org>
4251
4252 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4253 (grub_find_zpool_from_mount_point): New function prototypes.
4254
4255 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4256 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4257
4258 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4259 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4260 `static' attribute.
4261
4262 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4263 finding zpool from mount point into ...
4264 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4265
4266 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4267 requested path is part of a ZFS pool, use
4268 grub_find_zpool_from_mount_point() to detect its filesystem name,
4269 and generate a path with `/fsname@path' syntax.
4270
deb0caa3
RM
42712010-08-01 Robert Millan <rmh@gnu.org>
4272
4273 Prevent accidental use of uninitialized libzfs_handle.
4274
4275 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
4276 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
4277 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
4278
ce04ef47
CW
42792010-08-01 Colin Watson <cjwatson@ubuntu.com>
4280
4281 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
4282 util/grub.d/10_linux.in). Fixes Debian bug #591093.
4283
ebf53056
RM
42842010-08-01 Robert Millan <rmh@gnu.org>
4285
4286 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 4287
3710bb6b
RM
42882010-07-31 Robert Millan <rmh@gnu.org>
4289
4290 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
4291
8072efeb
RM
42922010-07-31 Robert Millan <rmh@gnu.org>
4293
4294 * kern/emu/misc.c: Add missing license header.
4295
3169f4c7
RM
42962010-07-31 Robert Millan <rmh@gnu.org>
4297
4298 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
4299
4300 * include/grub/util/libnvpair.h: Include `<config.h>'.
4301 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
4302 declaring libnvpair prototypes ourselves.
4303 * include/grub/util/libzfs.h: Include `<config.h>'.
4304 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
4305 declaring libzfs prototypes ourselves.
4306
4307 (libzfs_handle): Moved to ...
4308 * include/grub/util/misc.h (libzfs_handle): ... here.
4309 Include `<grub/util/libzfs.h>'.
4310
c9a00aee
RM
43112010-07-30 Robert Millan <rmh@gnu.org>
4312
4313 * include/grub/emu/misc.h: Add missing license header.
4314
a184f9c8
RM
43152010-07-30 Robert Millan <rmh@gnu.org>
4316
4317 Enable `grub-probe -t device' resolution on ZFS.
4318
4319 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
4320 * include/grub/util/libnvpair.h: New file.
4321 * include/grub/util/libzfs.h: New file.
4322
4323 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
4324 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
4325 `<grub/util/libnvpair.h>'.
4326 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
4327
4328 (find_mount_point_from_dir): New static function.
4329 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
4330 function.
4331 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
4332 find_root_device_from_libzfs() before ressorting to find_root_device().
4333
4334 * include/grub/util/misc.h (grub_util_init_libzfs): New function
4335 prototype.
4336 * util/misc.c: Include `<grub/util/libzfs.h>'.
4337 (grub_util_init_libzfs): New function.
4338 [HAVE_LIBZFS] (libzfs_handle): New global variable.
4339 [HAVE_LIBZFS] (fini_libzfs): New static function.
4340 (grub_util_init_libzfs): New function.
4341 * util/grub-probe.c (main): Call grub_util_init_libzfs().
4342
f7790cdd
RM
43432010-07-30 Robert Millan <rmh@gnu.org>
4344
4345 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
4346 (xmalloc, xrealloc, xstrdup, xasprintf): Add
4347 `warn_unused_result' attribute.
4348 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
4349 (grub_xasprintf, grub_xvasprintf): Likewise.
4350 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
4351
0806b63c
RM
43522010-07-29 Robert Millan <rmh@gnu.org>
4353
4354 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
4355 (probe): Handle `PRINT_FS_LABEL'.
4356 (main): Handle `-t fs_label'.
4357
9f841f5c
RM
43582010-07-29 Robert Millan <rmh@gnu.org>
4359
4360 * configure.ac: Remove grub-mkisofs checks.
4361
46371121
VS
43622010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * util/ieee1275/grub-install.in: Don't use empty grub_device.
4365 Reported by: Lennart Sorensen.
4366
43672010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
4370 prior to terminal_input/terminal_output separation. It's been over 1.5
4371 years and those versions weren't widely deployed.
4372
a9600892
CW
43732010-07-22 Colin Watson <cjwatson@ubuntu.com>
4374
4375 * disk/raid.c (insert_array): Don't count named arrays when looking
4376 for unused array numbers.
697e053c 4377 Reported and tested by: Michael Guntsche.
a9600892 4378
c03507df
CW
43792010-07-20 Colin Watson <cjwatson@ubuntu.com>
4380
4381 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
4382 implementation of this so that grub-emu links again, with a note
4383 that this should support hotplugging in the future.
4384
b26f1c11
CW
43852010-07-20 Colin Watson <cjwatson@ubuntu.com>
4386
4387 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4388
efc9d7f1
CW
43892010-07-20 Colin Watson <cjwatson@ubuntu.com>
4390
4391 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
4392 handle on failure.
4393 (grub_loopback_close): Remove empty function.
4394 (grub_loopback_dev): Remove close method.
4395
dd8ff5c9
CW
43962010-07-20 Colin Watson <cjwatson@ubuntu.com>
4397
4398 Disable EFI cursor when the EFI console becomes inactive.
4399
4400 * term/efi/console.c (grub_efi_console_init): New function.
4401 (grub_efi_console_fini): New function.
4402 (grub_console_term_output): Register init and fini methods.
4403
5e3bec67
VS
44042010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * tests/util/grub-shell-tester.in: Remove bashism and declare as
4407 sh script.
4408
afaec079
VS
44092010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 * disk/loopback.c (grub_loopback): Replace filename with file.
4412 (delete_loopback): Handle new semantics.
4413 (grub_cmd_loopback): Likewise.
4414 (grub_loopback_iterate): Likewise.
4415 (grub_loopback_close): Likewise.
4416
a6a11f3c
VS
44172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
4420 with -p "".
4421 Reported by: Tito Keitel.
4422
64a638b0
VS
44232010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * docs/grub.texi (Naming convention): Document new naming convention.
4426
ab8ba957
VS
44272010-07-20 Vadim Solomin <vadic052@gmail.com>
44282010-07-20 Colin Watson <cjwatson@ubuntu.com>
4429
4430 Generate device.map in something closer to the old ordering.
4431
4432 * util/deviceiter.c (struct device): New declaration.
4433 (compare_file_names): Rename to ...
4434 (compare_devices): ... this. Sort by kernel name in preference to
4435 the stable by-id name, but keep the latter as a fallback comparison.
4436 Update header comment.
4437 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
4438 of `struct device' rather than of plain file names.
4439
a29d6a4b
TF
44402010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
4441
4442 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
4443 on i386.
4444
39d824e8
VS
44452010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4446
4447 * commands/acpi.c (setup_common_tables): Use sizeof instead of
4448 hardcoding size.
4449 (setv1table): Likewise.
4450
f058276b
FZ
44512010-07-20 Colin Watson <cjwatson@ubuntu.com>
4452
4453 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
4454 removing the homehost if present.
4455 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
4456 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
4457 removing the homehost if present.
4458 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
4459 if possible.
4460 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4461
4462 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4463 parameter. Set its pointer target to 0.
4464 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4465 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4466 `data_offset' value from the superblock for 1.x metadata.
4467 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4468 data on the device.
4469 (insert_array): Record the start sector of data on the device.
4470 (grub_raid_register): Pass start_sector parameters to
4471 grub_raid_list->detect and insert_array.
4472 * include/grub/raid.h (struct grub_raid_array): Add start_sector
4473 member.
4474 (struct grub_raid): Add start_sector parameter to `detect'.
4475
4476 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
4477 __attribute__ ((packed)), leaving a comment.
4478 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
4479 (grub_mdraid_detect_09): ... here and ...
4480 (grub_mdraid_detect_1x): ... here.
4481
44822010-07-20 Peter Henn <peter.henn@web.de>
4483
4484 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
4485 chunk size and disk size, which are already given as sector counts
4486 as distinct from the 0.90 units. Fetch the correct device number
4487 from the role table instead of using the table index.
4488
44892010-07-20 Felix Zielcke <fzielcke@z-51.de>
4490
4491 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
4492 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
4493 (WriteMostly1): New macro.
4494 Set array->name to NULL for metadata format 0.90. Add support for
4495 metadata 1.x. Fix some comments.
4496 * disk/raid.c (): Add support for name based RAID arrays. Fix a
4497 few comments.
4498 * util/getroot.c (grub_util_get_grub_dev): Add support for
4499 /dev/md/name style devices.
4500
4b761da9
CW
45012010-07-20 Colin Watson <cjwatson@ubuntu.com>
4502
4503 * .bzrignore: Ignore 20_linux_xen.
4504
5771289a
CW
45052010-07-17 Colin Watson <cjwatson@ubuntu.com>
4506
4507 * util/import_unicode.py: Remove unnecessary imports.
4508
5dab68df
AN
45092010-07-17 Aleš Nesrsta <starous@volny.cz>
4510
4511 Hotplugging and USB hub support.
4512
4513 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4514 (grub_ohci): Likewise.
4515 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4516 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4517 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4518 (GRUB_OHCI_CTRL_EDS): Likewise.
4519 (GRUB_OHCI_BULK_EDS): Likewise.
4520 (GRUB_OHCI_TDS): Likewise.
4521 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4522 (grub_ohci_ed_phys2virt): New function.
4523 (grub_ohci_virt_to_phys): Likewise.
4524 (grub_ohci_td_phys2virt): Likewise.
4525 (grub_ohci_td_virt2phys): Likewise.
4526 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4527 attachment.
4528 (grub_ohci_find_ed): New function.
4529 (grub_ohci_alloc_td): Likewise.
4530 (grub_ohci_free_td): Likewise.
4531 (grub_ohci_free_tds): Likewise.
4532 (grub_ohci_transfer): Use previously allocated memory.
4533 (grub_ohci_portstatus): Reset status changed bit.
4534 (grub_ohci_detect_dev): Supply status changed.
4535 (grub_ohci_fini_hw): Free memory.
4536 (grub_ohci_restore_hw): Reallocate memory.
4537 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4538 Reset status change.
4539 (grub_uhci_detect_dev): Supply status_change.
4540 * bus/usb/usb.c (attach_hooks): New var.
4541 (grub_usb_device_attach): New function.
4542 (grub_usb_register_attach_hook_class): Likewise.
4543 (grub_usb_unregister_attach_hook_class): Likewise.
4544 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4545 (grub_usb_add_hub): Reset connection changed bit.
4546 (attach_root_port): New function.
4547 (grub_usb_root_hub): Likewise.
4548 (poll_nonroot_hub): Likewise.
4549 (grub_usb_poll_devices): Likewise.
4550 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4551 * disk/usbms.c (grub_usbms_open): Use device hooks.
4552 (grub_usbms_iterate) :Poll devices.
4553 (grub_usbms_finddevs): Split into ...
4554 (grub_usbms_attach): ... this ...
4555 (grub_usbms_attach): ... and this.
4556 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4557 in detect_dev.
4558 (grub_usb_interface): New fields attached and detach_hook.
4559 (grub_usb_attach_hook_class): New type.
4560 (grub_usb_attach_desc): New struct.
4561 (grub_usb_register_attach_hook_class): New function.
4562 (grub_usb_unregister_attach_hook_class): Likewise.
4563 (grub_usb_poll_devices): Likewise.
4564 (grub_usb_device_attach): Likewise.
4565 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4566 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4567
3222efaf
VS
45682010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4571 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4572 delta determination style. Works with most NetBSD partitions too.
4573
139b714a
VS
45742010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4577 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4578
986aad56
VS
45792010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4580
4581 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4582
99be513c
AB
45832010-07-14 Anton Blanchard <anton@samba.org>
4584
4585 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4586 ET_DYN files.
4587
18075f62
GS
45882010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4589
4590 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4591
8d9a5b15
GS
45922010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4593
4594 * kern/partition.c (grub_partition_check_containment): New function to
4595 check that a partition is physically contained in a parent. Since
4596 offsets are relative (and non-negative), this reduces to checking that
4597 the partition ends before its parent.
4598 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4599 (grub_partition_iterate): Likewise.
4600 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4601 comments.
4602 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4603 partitions that start before their parent, and add debug printfs.
4604
19563c25
CW
46052010-07-13 Colin Watson <cjwatson@ubuntu.com>
4606
4607 * Makefile.in (.SUFFIX): Spell correctly, as ...
4608 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4609 bare module name without `.mod', e.g. `test') tried to invoke a
4610 Modula-2 compiler.
4611
1a1f1e67
CW
46122010-07-13 Colin Watson <cjwatson@ubuntu.com>
4613
4614 * README: Point to the Info manual.
4615
811b0dca
JS
46162010-07-13 Jiro SEKIBA <jir@unicus.jp>
4617
4618 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4619 2nd superblock position from partition size.
4620
e4f4eafc
CW
46212010-07-10 Colin Watson <cjwatson@ubuntu.com>
4622
4623 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4624 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4625 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4626 outputs.
4627
4274c30f
VS
46282010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 Restructure SCSI .id handling.
4631 Reported and tested by: Aleš Nesrsta.
4632
4633 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4634 (grub_atapi_dev): Changed .name to "ata". New field .id.
4635 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4636 (grub_usbms_dev): New field .id.
4637 * disk/scsi.c (grub_scsi_iterate): Generate name.
4638 (grub_scsi_open): Parse name.
4639 * include/grub/scsi.h (grub_make_scsi_id): New function.
4640 (grub_scsi_dev): Change iterate and open to number instead of naming
4641 busses. All users updated.
4642 (grub_scsi): Remove name. Add .bus.
4643
5bc24388
VS
46442010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * commands/help.c (grub_cmd_help): Fix a typo.
4647
249975ba
VS
46482010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4651 Reported and tested by: Colin Watson.
4652
3eaac1a1
VS
46532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4656 in this context.
4657
becce1b1
VS
46582010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4661
f7bf0918
CW
46622010-07-07 Colin Watson <cjwatson@ubuntu.com>
4663
4664 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4665 indentation.
4666
0b0f9620
CW
46672010-07-06 Colin Watson <cjwatson@ubuntu.com>
4668
4669 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4670 and disk/raid6_recover.c.
4671 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4672 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4673
1e545469
CW
46742010-07-06 Colin Watson <cjwatson@ubuntu.com>
4675
4676 * term/gfxterm.c (repaint_schedulded): Rename to ...
4677 (repaint_scheduled): ... this. Update all callers.
4678 (repaint_was_schedulded): Rename to ...
4679 (repaint_was_scheduled): ... this. Update all callers.
4680
5357687a
CW
46812010-07-06 Colin Watson <cjwatson@ubuntu.com>
4682
4683 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4684 which we expect to be handled by upper layers.
4685
29d7e783
BC
46862010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4687
4688 * bus/usb/usbhub.c: #include time.h header.
4689
37582066
CW
46902010-07-06 Colin Watson <cjwatson@ubuntu.com>
4691
4692 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4693 entry_name also for entries without stat blocks (e.g. ".."); fixes
4694 corruption of the first entry in a directory.
4695
c8c06953
CW
46962010-07-06 Colin Watson <cjwatson@ubuntu.com>
4697
4698 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4699 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4700 doesn't work otherwise.
4701
e75056f1
CW
47022010-07-05 Colin Watson <cjwatson@ubuntu.com>
4703
4704 * docs/grub.texi (Features): Update list of supported file systems.
4705 (GNU/Linux): Update for GRUB 2.
4706 (Serial terminal): Remove mention of --disable-serial, which was a
4707 GRUB Legacy configure option. Update instructions to use
4708 `terminal_input' and `terminal_output' rather than `terminal'.
4709 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4710 configuration' and `Installing GRUB using grub-install'.
4711 (Menu entry editor): Update for GRUB 2.
4712 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4713 Document new -a, -u, and -v options.
4714 (initrd): New section.
4715 (initrd16): New section.
4716 (linux): New section.
4717 (linux16): New section.
4718 (search): The `var' argument to `--set' is optional.
4719 (GRUB only offers a rescue shell): Go into a little more detail on
4720 drive ordering.
4721
5cf69151
CW
47222010-07-05 Colin Watson <cjwatson@ubuntu.com>
4723
4724 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4725
e3f90044
CW
47262010-07-05 Colin Watson <cjwatson@ubuntu.com>
4727
4728 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4729 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4730
38d8f4f3
CW
47312010-07-05 Colin Watson <cjwatson@ubuntu.com>
4732
4733 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4734 install_prefix, in line with install_dos_part and install_bsd_part.
4735 Add new prefix variable, which is copied to install_prefix after
4736 comparing core.img in memory with the one read from disk in the
4737 no-embedding case, and use that rather than overwriting
4738 install_prefix immediately when installing to a partition.
4739 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4740 Bicakci.
4741
57ebd41e
GS
47422010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4743
4744 * configure.ac: Avoid == in test command, it's not portable.
4745 * util/grub.d/30_os-prober.in: Likewise.
4746
cb7f64b2
CW
47472010-07-04 Colin Watson <cjwatson@ubuntu.com>
4748
4749 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4750
6b654bb0
GS
47512010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4752
4753 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4754 multiple (top-level) partmaps.
4755
72a2026d
VS
47562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 4759 Reported by: Tino Keitel.
72a2026d 4760
df3eb88f
VS
47612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4762
4763 Bidi and diacritics support.
4764
4765 * Makefile.in (widthspec.bin): New target.
4766 (widthspec.h): Likewise.
4767 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4768 * autogen.sh: Generate unidata.c.
4769 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4770 * commands/ls.c (grub_ls_list_devices): Likewise.
4771 (grub_ls_list_files): Likewise.
4772 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4773 (grub_mini_cmd_lsmod): Likewise.
4774 * commands/read.c: Likewise.
4775 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4776 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4777 * lib/arg.c (grub_arg_show_help): Likewise.
4778 * lib/crypto.c (grub_password_get): Likewise.
4779 * normal/auth.c (grub_username_get): Likewise.
4780 * normal/misc.c (grub_normal_print_device_info): Likewise.
4781 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4782 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4783 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4784 (normal/charset.c_DEPENDENCIES): New variable.
4785 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4786 (pkglib_MODULES): Remove charset.mod.
4787 (charset_mod_SOURCES): Removed.
4788 (charset_mod_CFLAGS): Likewise.
4789 (charset_mod_LDFLAGS): Likewise.
4790 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4791 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4792 and term/tparm.c.
4793 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4794 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4795 (kernel_img_HEADERS): Add terminfo.h.
4796 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4797 Fill ->font. Reverse ascii bitmaps.
4798 (grub_font_get_xheight): New function.
4799 * font/font.c (grub_font_get_string_width): Moved from here ...
4800 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4801 * font/font.c (grub_font_draw_string): Moved from here ...
4802 * gfxmenu/font.c (grub_font_draw_string): ... here.
4803 * font/font.c (grub_font_dup_glyph): New function.
4804 (grub_font_blit_glyph): Likewise.
4805 (grub_font_blit_glyph_mirror): Likewise.
4806 (blit_comb): Likewise.
4807 (grub_font_construct_dry_run): Likewise.
4808 (grub_font_get_constructed_device_width): Likewise.
4809 (grub_font_construct_glyph): Likewise.
4810 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4811 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4812 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4813 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4814 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4815 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4816 (grub_font_get_xheight): New proto.
4817 (grub_font_get_constructed_device_width): Likewise.
4818 (grub_font_construct_glyph): Likewise.
4819 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4820 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4821 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4822 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4823 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4824 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4825 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4826 (grub_console_getcharwidth): Likewise.
4827 * include/grub/misc.h (grub_xputs): New proto.
4828 (grub_puts): Inlined.
4829 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4830 (grub_normal_get_line_counter): Removed.
4831 (grub_install_newline_hook): Likewise.
4832 (grub_normal_get_char_counter): New proto.
4833 (grub_normal_reset_more): Likewise.
4834 (grub_xputs_normal): Likewise.
4835 * include/grub/powerpc/ieee1275/console.h: Removed.
4836 * include/grub/sparc64/ieee1275/console.h: Likewise.
4837 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4838 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4839 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4840 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4841 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4842 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4843 (grub_term_input): Pass reference to self. All users updated.
4844 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4845 Pass reference to self. New fields normal_color, highlight_color and
4846 data. All users updated.
4847 (grub_putchar): Removed.
4848 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4849 (grub_unicode_estimate_width): New function.
4850 (grub_term_getcharwidth): Add defaults.
4851 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4852 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4853 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4854 (grub_cls): Remove EXPORT_FUNC.
4855 (grub_setcolorstate): Inline.
4856 (grub_newline_hook): Removed.
4857 * include/grub/terminfo.h: Rewritten. All users updated.
4858 * include/grub/unicode.h: New file.
4859 * include/grub/video.h (grub_video_signed_rect): New type.
4860 * kern/emu/console.c (grub_console_highlight_color): Removed.
4861 (grub_console_normal_color): Likewise.
4862 (grub_console_standard_color): Made static.
4863 (grub_ncurses_putchar): Remove mapping.
4864 (grub_ncurses_getcharwidth): Removed.
4865 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4866 (grub_ncurses_setcolor): Removed.
4867 (grub_ncurses_getcolor): Likewise.
4868 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4869 (grub_console_putchar): ... this.
4870 (grub_console_putchar): Handle argument difference.
4871 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4872 console_init_early and console_init_lately.
4873 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4874 * kern/misc.c (grub_puts): Removed.
4875 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4876 (grub_vsnprintf_real): Remove str = NULL support.
4877 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4878 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4879 * kern/term.c (grub_putcode): Renamed to ...
4880 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4881 (grub_putchar): Removed.
4882 (grub_xputs_dumb): New function.
4883 (grub_xputs): New variable.
4884 * lib/charset.c: Move from here ...
4885 * normal/charset.c: ... to here.
4886 (grub_ucs4_to_utf8): New function.
4887 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4888 (join_types): New variable.
4889 (unpack_join): New function.
4890 (bidi_types): New variable.
4891 (unpack_bidi): New function.
4892 (get_bidi_type): Likewise.
4893 (get_join_type): Likewise.
4894 (is_mirrored): Likewise.
4895 (grub_unicode_get_comb_type): Likewise.
4896 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4897 (is_type_after): Likewise.
4898 (grub_unicode_aglomerate_comb): Likewise.
4899 (bidi_line_wrap): Likewise.
4900 (grub_bidi_line_logical_to_visual): Likewise.
4901 (grub_bidi_logical_to_visual): Likewise.
4902 (grub_unicode_mirror_code): Likewise.
4903 (grub_unicode_shape_code): Likewise.
4904 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4905 Don't use grub_putchar.
4906 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4907 (grub_normal_reader_init): Likewise.
4908 (grub_xputs_saved): New variable.
4909 (GRUB_MOD_INIT): Set grub_xputs.
4910 (GRUB_MOD_FINI): Restore grub_xputs.
4911 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4912 (menu_init): Avoid printing gfxmenu error.
4913 (show_menu): Use grub_normal_get_char_counter.
4914 * normal/menu_entry.c (update_screen): Fix out-of-array.
4915 (complete): Avoid NULL dereferencing.
4916 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4917 * normal/menu_text.c (print_spaces): Removed.
4918 (grub_print_ucs4): Likewise.
4919 (grub_print_message_indented): Use grub_print_ucs4.
4920 (print_message): Use grub_putcode.
4921 (print_entry): Hanlde diacritics.
4922 * normal/term.c (term_state): New type.
4923 (grub_more_lines): Removed.
4924 (term_states): New variable.
4925 (grub_normal_line_counter): Renamed to ..
4926 (grub_normal_char_counter): ...this. All users updated.
4927 (grub_normal_get_line_counter): Renamed to ...
4928 (grub_normal_get_char_counter): ... this.
4929 (grub_normal_reset_more): New function.
4930 (process_newline): Removed.
4931 (print_more): New function.
4932 (grub_install_newline_hook): Removed.
4933 (map_code): New function.
4934 (grub_puts_terminal): Use grub_print_ucs4.
4935 (putglyph): New function.
4936 (putcode_real): Likewise.
4937 (grub_putcode): Use putcode_real.
4938 (get_maxwidth): New function.
4939 (get_startwidth): Likewise.
4940 (print_ucs4_terminal): Likewise.
4941 (find_term_state): Likewise.
4942 (put_glyphs_terminal): Likewise.
4943 (print_backlog): Likewise.
4944 (print_ucs4_real): Likewise.
4945 (grub_print_ucs4): Likewise.
4946 (grub_xputs_normal): Likewise.
4947 * term/efi/console.c (grub_console_putchar): Output diacritics.
4948 (grub_console_getcharwidth): Removed.
4949 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4950 * term/gfxterm.c (clear_char): Free chars.
4951 (scroll_up): Avoid leaking memory.
4952 (grub_gfxterm_putchar): Support diacritics.
4953 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
4954 * term/i386/pc/console.c (grub_console_term_output): Declare as
4955 GRUB_TERM_CODE_TYPE_VGA.
4956 * term/i386/pc/vga.c (grub_vga_term): Declare as
4957 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
4958 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
4959 GRUB_TERM_CODE_TYPE_VGA.
4960 * term/i386/vga_common.c (map_char): Removed.
4961 (grub_console_putchar): Likewise.
4962 (grub_console_getcharwidth): Likewise.
4963 * term/ieee1275/ofconsole.c: Simplify using terminfo.
4964 (colors): Reordered to match terminfo.
4965 (grub_ofconsole_normal_color): Removed.
4966 (grub_ofconsole_writeesc): Likewise.
4967 (grub_ofconsole_highlight_color): Likewise.
4968 (grub_ofconsole_getcharwidth): Likewise.
4969 (grub_ofconsole_setcolorstate): Likewise.
4970 (grub_ofconsole_setcolor): Likewise.
4971 (grub_ofconsole_getcolor): Likewise.
4972 (grub_ofconsole_readkey): Renamed to ...
4973 (readkey): ... this. Remove escape sequence handling. Return -1 on no
4974 key.
4975 (grub_ofconsole_checkkey): Removed.
4976 (grub_ofconsole_getkey): Likewise.
4977 (grub_ofconsole_getxy): Likewise.
4978 (grub_ofconsole_gotoxy): Likewise.
4979 (grub_ofconsole_cls): Likewise.
4980 (grub_ofconsole_refresh): Likewise.
4981 (grub_ofconsole_terminfo_input): New struct.
4982 (grub_ofconsole_terminfo_output): Likewise.
4983 (grub_ofconsole_term_input): Use terminfo.
4984 (grub_ofconsole_term_output): Likewise.
4985 (grub_console_init): Split into ...
4986 (grub_console_init_early): ...this and ...
4987 (grub_console_init_lately): ...this. Use terminfo.
4988 (grub_ofconsole_putchar): Renamed to ...
4989 (put): ... this. Remove mapping.
4990 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4991 * term/serial.c: Simplify using terminfo.
4992 (xpos): Removed.
4993 (ypos): Likewise.
4994 (keep_track): Likewise.
4995 (registered): Likewise.
4996 (input_buf): Likewise.
4997 (npending): Likewise.
4998 (serial_translate_key_sequence): Likewise.
4999 (fill_input_buf): Likewise.
5000 (grub_serial_checkkey): Likewise.
5001 (grub_serial_getkey): Likewise.
5002 (grub_serial_getxy): Likewise.
5003 (grub_serial_gotoxy): Likewise.
5004 (grub_serial_putchar): Likewise.
5005 (grub_serial_cls): Likewise.
5006 (grub_serial_setcolorstate): Likewise.
5007 (grub_serial_setcursor): Likewise.
5008 (serial_hw_init): Use serial_hw_fetch.
5009 (grub_serial_terminfo_input): New variable.
5010 (grub_serial_terminfo_output): Likewise.
5011 (grub_serial_term_input): Use terminfo.
5012 (grub_serial_term_output): Likewise.
5013 * term/terminfo.c (putstr): Use put.
5014 (grub_terminfo_all_free): New function
5015 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
5016 (grub_terminfo_output_register): New function.
5017 (grub_terminfo_output_unregister): Likewise.
5018 (grub_terminfo_getxy): Likewise.
5019 (grub_terminfo_readkey): Likewise.
5020 (grub_terminfo_checkkey): Likewise.
5021 (grub_terminfo_getkey): Likewise.
5022 (grub_terminfo_input_init): Likewise.
5023 (print_terminfo): Likewise.
5024 (grub_cmd_terminfo): Handle encoding.
5025 (grub_terminfo_gotoxy): Track position.
5026 (grub_terminfo_cls): Likewise.
5027 (grub_terminfo_putchar): Likewise.
5028 (grub_terminfo_setcolorstate): Handle colors
5029 (grub_terminfo_cursor_on): This ...
5030 (grub_terminfo_cursor_off): ... and this merged into ...
5031 (grub_terminfo_setcursor): ... this.
5032 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
5033 * unicode/ArabicShaping.txt: New file (imported from Unicode).
5034 * unicode/BidiMirroring.txt: Likewise.
5035 * unicode/UnicodeData.txt: Likewise.
5036 * unicode/COPYING: Likewise.
5037 * util/grub-editenv.c (grub_putchar): Removed.
5038 (grub_xputs_real): New function.
5039 (grub_xputs): New variable.
5040 * util/grub-fstest.c (grub_putchar): Removed.
5041 (grub_xputs_real): New function.
5042 (grub_xputs): New variable.
5043 * util/grub-mkdevicemap.c (grub_putchar): Removed.
5044 (grub_xputs_real): New function.
5045 (grub_xputs): New variable.
5046 * util/grub-probe.c (grub_putchar): Removed.
5047 (grub_xputs_real): New function.
5048 (grub_xputs): New variable.
5049 * util/grub-script-check.c (grub_putchar): Removed.
5050 (grub_xputs_real): New function.
5051 (grub_xputs): New variable.
5052 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
5053 (grub_xputs_real): New function.
5054 (grub_xputs): New variable.
5055 * util/import_unicode.py: New file.
5056 * util/grub-mkfont.c (ft_errmsgs): New array.
5057 (grub_glyph_info): Make bitmap a pointer.
5058 (file_formats): New type WIDTH_SPEC.
5059 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
5060 (options): Add width-spec.
5061 (help): Likewise.
5062 (add_char): Renamed to ...
5063 (add_glyph): ... this.
5064 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
5065 (glyph_replace): New type.
5066 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
5067 (add_char): New function.
5068 (add_subst): Likewise.
5069 (process_cursive): Likewise.
5070 (add_font): Handle GSUB.
5071 (write_font_width_spec): New function.
5072 (main): Sort glyphs.
5073 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
5074 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
5075 * kern/term.c (grub_cls): Moved from here...
5076 * normal/term.c (grub_cls): ... here.
5077
50f0bcda
CW
50782010-07-02 Colin Watson <cjwatson@ubuntu.com>
5079
5080 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
5081 suitable for using within the format argument of printf when
5082 converting grub_size_t.
5083 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
5084 "x" to convert grub_size_t arguments.
5085
40372103
VS
50862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
5089 too long captions.
5090 (list_get_minimal_size): Take selection box into account.
5091
942a10c7
VS
50922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
5095 NULL font.
5096
2bdb2892
CW
50972010-07-02 Colin Watson <cjwatson@ubuntu.com>
5098
5099 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
5100 devices when iterating over /dev/disk/by-id; they will be handled
5101 later if appropriate, which they aren't always (e.g. LVM).
5102
e03ed6c1
CW
51032010-07-02 Colin Watson <cjwatson@ubuntu.com>
5104
5105 * include/grub/misc.h (grub_reboot): Declare as noreturn.
5106 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
5107 fails.
5108 (grub_halt): Likewise.
5109 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
5110 reset-all fails.
5111 (grub_halt): Don't return, even if all of shut-down, power-off, and
5112 poweroff fail.
5113
47695765
CW
51142010-07-02 Colin Watson <cjwatson@ubuntu.com>
5115
5116 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
5117 arguments, not three.
5118
507736c8
CW
51192010-07-02 Colin Watson <cjwatson@ubuntu.com>
5120
5121 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
5122 * util/grub.d/10_linux.in: Use it to check for LVM, so that
5123 LVM-on-RAID is handled correctly.
5124
e3c8cd37
CW
51252010-07-02 Colin Watson <cjwatson@ubuntu.com>
5126
5127 * docs/grub.texi (Changes from GRUB Legacy): New section.
5128 (Future): Fix typo.
5129
8d4a2fec
CW
51302010-07-02 Colin Watson <cjwatson@ubuntu.com>
5131
5132 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
5133 grub.d/README accidentally ends up executable for one reason or
5134 another. Ignore it.
5135
1c4827be
VS
51362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
5139 (gpt_partition_map_iterate): Support non-512B sectors.
5140
d9a0c941
VS
51412010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * kern/efi/init.c (grub_efi_init): Disable watchdog.
5144 Tested by: Seth Goldberg.
5145
48f27e87
VS
51462010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5147
5148 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
5149 Properly align mbi.
5150 Reported by: Seth Goldberg.
5151
b0c4f956
VS
51522010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * util/grub-mkrescue.in: Avoid module duplication.
5155
105a2e8c
SF
51562010-07-01 Sean Finney <seanius@seanius.net>
5157
5158 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
5159
5944958c
SF
51602010-07-01 Sean Finney <seanius@seanius.net>
5161
5162 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
5163
51642010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5165
5166 * disk/lvm.c (grub_lvm_checkvalue): New function.
5167 (grub_lvm_check_flag): Likewise.
5168
b79889ba
RM
51692010-07-01 Robert Millan <rmh@gnu.org>
5170
5171 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
5172 Support 'p' as partition separator on kernel of FreeBSD (used
5173 with GPT labels).
5174 (grub_util_biosdisk_get_grub_dev): Likewise.
5175
ec1d04f1
VS
51762010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 Yeeloong firmware port.
5179
5180 * boot/mips/yeeloong/fwstart.S: New file.
5181 * bus/cs5536.c (gpiodump): New const.
5182 (set_io_space): New function.
5183 (set_iod): Likewise.
5184 (set_p2d): Likewise.
5185 (grub_cs5536_init_geode): Likewise.
5186 * commands/mips/yeeloong/lsspd.c: New file.
5187 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
5188 (serial_mod_SOURCES): New variable.
5189 (serial_mod_CFLAGS): Likewise.
5190 (serial_mod_LDFLAGS): Likewise.
5191 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
5192 term/terminfo.c and term/tparm.c.
5193 (pkglib_IMAGES): Add fwstart.img.
5194 (fwstart_img_SOURCES): New variable.
5195 (fwstart_img_CFLAGS): Likewise.
5196 (fwstart_img_ASFLAGS): Likewise.
5197 (fwstart_img_LDFLAGS): Likewise.
5198 (fwstart_img_FORMAT): Likewise.
5199 (pkglib_MODULES): Add lsspd.mod.
5200 (lsspd_mod_SOURCES): New variable.
5201 (lsspd_mod_CFLAGS): Likewise.
5202 (lsspd_mod_LDFLAGS): Likewise.
5203 (pkglib_MODULES): Add halt.mod.
5204 (halt_mod_SOURCES): New variable.
5205 (halt_mod_CFLAGS): Likewise.
5206 (halt_mod_LDFLAGS): Likewise.
5207 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
5208 (serial_mod_SOURCES): Removed.
5209 (serial_mod_CFLAGS): Likewise.
5210 (serial_mod_LDFLAGS): Likewise.
5211 * disk/ata.c (check_device): New function.
5212 (grub_ata_device_initialize): Use check_device.
5213 (grub_ata_iterate): Recheck devices.
5214 (grub_ata_open): Likewise.
5215 (grub_atapi_iterate): Likewise.
5216 (grub_atapi_open): Likewise.
5217 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
5218 (GRUB_ATA_CH1_PORT1): Likewise.
5219 (GRUB_ATA_CH0_PORT2): Likewise.
5220 (GRUB_ATA_CH1_PORT2): Likewise.
5221 * include/grub/mips/loongson.h: New file.
5222 * include/grub/mips/yeeloong/ec.h: Likewise.
5223 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
5224 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
5225 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
5226 * include/grub/misc.h (grub_halt): Declare as noreturn.
5227 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
5228 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
5229 (UART_ENABLE_FIFO_TRIGGER1): New definition.
5230 (UART_ENABLE_DTRRTS): Likewise.
5231 (UART_ENABLE_MODEM): Removed.
5232 (UART_ENABLE_OUT2): New const.
5233 * include/grub/term.h (grub_term_register_input_active): New function.
5234 (grub_term_register_output_active): Likewise.
5235 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
5236 argument.
5237 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
5238 (init_pci): New function.
5239 (grub_machine_init): Execute platform init when firmware. Init serial.
5240 (grub_halt): Implement.
5241 (grub_exit): Likewise.
5242 (grub_reboot): Likewise.
5243 * term/serial.c (serial_hw_init): Update macros.
5244 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
5245 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
5246 (image_targets): New target mipsel-yeeloong-flash.
5247 (generate_image): Support IMAGE_YEELOONG_FLASH.
5248 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
5249 (grub_video_sm712_setup): Init card.
5250 (grub_video_sm712_set_palette): Removed.
5251 * video/sm712_init.c: New file.
5252
ff4a70d2
CW
52532010-06-30 Colin Watson <cjwatson@ubuntu.com>
5254
5255 * Makefile.in (install-local): Temporarily prepend $(builddir) to
5256 PATH when running help2man and then run it on the unadorned
5257 executable names, rather than passing $(builddir)/* paths to
5258 help2man. This avoids the build directory ending up in generated
5259 manual pages.
5260
1246efeb
CW
52612010-06-29 Colin Watson <cjwatson@ubuntu.com>
5262
5263 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
5264 to avoid accidents when debugging with 'sh -x'.
5265 * util/grub-mkrescue.in: Likewise.
5266 * util/grub.d/00_header.in: Likewise.
5267 * util/grub.d/10_hurd.in: Likewise.
5268 * util/grub.d/10_kfreebsd.in: Likewise.
5269 * util/grub.d/10_linux.in: Likewise.
5270 * util/grub.d/10_netbsd.in: Likewise.
5271 * util/grub.d/10_windows.in: Likewise.
5272 * util/grub.d/20_linux_xen.in: Likewise.
5273 * util/grub.d/30_os-prober.in: Likewise.
5274 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5275
1ba9b889
CW
52762010-06-29 Colin Watson <cjwatson@ubuntu.com>
5277
5278 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
5279 last character in the buffer.
5280 Reported by: Vladimir Serbinenko.
5281
dccaf99d
RM
52822010-06-29 Robert Millan <rmh@gnu.org>
5283
5284 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
5285 (Command-line and menu entry commands): Document `badram' command.
5286
d500ed12
RM
52872010-06-28 Robert Millan <rmh@gnu.org>
5288
5289 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
5290 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
5291 command using ${GRUB_BADRAM} as parameter.
5292
20bc84a6
CW
52932010-06-28 Colin Watson <cjwatson@ubuntu.com>
5294
5295 * docs/grub.texi (Device map): New section.
5296 (Themes): New section (stub).
5297 * Makefile.in (docs/grub.info): The info documentation now builds
5298 without errors. Make sure it stays that way.
5299
4045dee1
VS
53002010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 Use normal parser for menu entries.
5303 Reported by: Thomas Frauendorfer
5304
5305 * include/grub/parser.h (grub_parser_execute): Don't export.
5306 * normal/menu.c (grub_menu_execute_entry_real): New function.
5307 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
5308
bca58c7b
CW
53092010-06-28 Colin Watson <cjwatson@ubuntu.com>
5310
5311 * docs/grub.texi (Embedded configuration): New section (replacing
5312 old "Preset Menu" stub).
5313 (Images): New section.
5314 (configfile): Note that any menu entries defined in `file' are shown
5315 immediately.
5316
dec53e63
JT
53172010-06-28 Josh Triplett <josh@joshtriplett.org>
5318
5319 * mmap/i386/pc/mmap_helper.S: Set CF on return.
5320
c06e40f7
CW
53212010-06-28 Colin Watson <cjwatson@ubuntu.com>
5322
5323 * util/grub-install.in: Add --debug-image= option.
5324
cb88052b
CW
53252010-06-28 Colin Watson <cjwatson@ubuntu.com>
5326
5327 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
5328 possible on Linux.
5329
5330 * util/deviceiter.c (check_device): Rename to ...
5331 (check_device_readable_unique): ... this. Update all callers.
5332 Maintain and check a list of which devices (by canonicalized name)
5333 have already been seen.
5334 (clear_seen_devices): New function.
5335 (compare_file_names) [__linux__]: New function.
5336 (grub_util_iterate_devices): Clear the list of seen devices on exit
5337 and (just in case) on entry.
5338 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
5339 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
5340 seen-devices list, superseded by general code in check_device.
5341
bbe34652
CW
53422010-06-28 Colin Watson <cjwatson@ubuntu.com>
5343
5344 * commands/cat.c (options): New variable.
5345 (grub_cmd_cat): Parse options. If the --dos option is given, print
5346 DOS-style "\r\n" line endings as simple newlines (Debian bug
5347 #586358).
5348 (GRUB_MOD_INIT): Use extcmd.
5349 (GRUB_MOD_FINI): Likewise.
5350 * docs/grub.texi (cat): Document --dos.
5351
412e09f3
VS
53522010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 XEN with Linux grub-mkconfig support.
5355
5356 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
5357 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
5358 GRUB_CMDLINE_XEN_DEFAULT.
5359 * util/grub.d/20_linux_xen.in: New file.
5360
53f3ef38 53612010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
5362
5363 Initialise VGA video on qemu ourselves.
5364
5365 * boot/i386/qemu/boot.S: Don't call 0xc000.
5366 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
5367 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
5368 (kernel_img_HEADERS): Add pci.h.
5369 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
5370 * configure.ac: Force unifont on qemu and yeeloong.
5371 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
5372 (grub_vga_palette_write): Use correct register.
5373 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
5374 Call grub_qemu_init_cirrus.
5375 * kern/i386/qemu/init.c: New file.
5376 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
5377
5378 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
5379
c75be4fb
PR
53802010-06-26 Pavel Roskin <proski@gnu.org>
5381
5382 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
5383 13.
5384
d8034603
CW
53852010-06-26 Colin Watson <cjwatson@ubuntu.com>
5386
5387 * docs/grub.texi (Simple configuration): Explain that
5388 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
5389 set to `true' to disable their respective recovery entries, not
5390 merely set.
5391
3fa06487
CW
53922010-06-26 Colin Watson <cjwatson@ubuntu.com>
5393
5394 Make the `source' command slightly faster.
5395
5396 * normal/main.c (grub_normal_execute): Don't re-read list files when
5397 nested.
5398
e9b29642
CW
53992010-06-23 Colin Watson <cjwatson@ubuntu.com>
5400
5401 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
5402 field position and mask size to red fields from mode_info, not
5403 green.
5404 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
5405 Remove redundant tag->common.framebuffer_type assignment.
5406 Reported by: Seth Goldberg.
5407
e726542f
CW
54082010-06-23 Colin Watson <cjwatson@ubuntu.com>
5409
5410 Sync up other versions of the Linux loader with Robert Millan's
5411 change of 2010-01-09, "Make loader output a bit more user-friendly".
5412
5413 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
5414 grub_dprintf().
5415 (grub_cmd_linux): Likewise.
5416 (grub_cmd_initrd): Likewise.
5417 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
5418 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5419
d6e98a17
CW
54202010-06-21 Colin Watson <cjwatson@ubuntu.com>
5421
5422 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
5423 larger than MEMORY_MAP_SIZE.
5424
14d3f08e
BC
54252010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
5426
5427 Fix parallel build.
5428
5429 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
5430 dependency.
5431 * script/parser.y: #include grub_script.tab.h header.
5432
4f9613a3
VS
54332010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Support >3GiB and <16MiB RAM in i386-qemu.
5436
5437 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
5438 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
5439 (grub_lower_mem): Removed.
5440 (grub_upper_mem): Likewise.
5441 (mem_size): Made static.
5442 (above_4g): New variable.
5443 (grub_machine_mmap_init): Detect small mem_size and above_4g.
5444 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
5445 support.
5446
05e51879
VS
54472010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 Cirrus 5446 and Bochs video cards support.
5450
5451 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
5452 video_bochs.mod
5453 (video_cirrus_mod_SOURCES): New variable.
5454 (video_cirrus_mod_CFLAGS): Likewise.
5455 (video_cirrus_mod_LDFLAGS): Likewise.
5456 (video_bochs_mod_SOURCES): Likewise.
5457 (video_bochs_mod_CFLAGS): Likewise.
5458 (video_bochs_mod_LDFLAGS): Likewise.
5459 * include/grub/vga.h: New file.
5460 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5461 (grub_video_fb_set_page_t): New type.
5462 (grub_video_fb_setup): New prototype.
5463 (grub_video_fb_swap_buffers): Likewise.
5464 (grub_video_fb_get_info_and_fini): Likewise.
5465 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5466 (CRTC_DATA_PORT): Likewise.
5467 (CRTC_CURSOR): Likewise.
5468 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5469 (CRTC_CURSOR_ADDR_LOW): Likewise.
5470 (CRTC_CURSOR_DISABLE): Likewise.
5471 (update_cursor): Use grub_vga_cr_write.
5472 (grub_vga_text_setcursor): Likewise.
5473 * video/bochs.c: New file.
5474 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
5475 (palette): Likewise.
5476 (palette_size): Likewise.
5477 (framebuffer): New variable.
5478 (grub_video_fb_init): Use 'framebuffer'.
5479 (grub_video_fb_fini): Likewise.
5480 (grub_video_fb_get_info): Likewise.
5481 (grub_video_fb_get_palette): Likewise.
5482 (grub_video_fb_set_palette): Likewise.
5483 (grub_video_fb_set_viewport): Likewise.
5484 (grub_video_fb_get_viewport): Likewise.
5485 (grub_video_fb_map_color): Likewise.
5486 (grub_video_fb_map_rgb): Likewise.
5487 (grub_video_fb_map_rgba): Likewise.
5488 (grub_video_fb_unmap_color): Likewise.
5489 (grub_video_fb_unmap_color_int): Likewise.
5490 (grub_video_fb_fill_rect): Likewise.
5491 (grub_video_fb_blit_bitmap): Likewise.
5492 (grub_video_fb_blit_render_target): Likewise.
5493 (grub_video_fb_scroll): Likewise.
5494 (grub_video_fb_create_render_target): Likewise.
5495 (grub_video_fb_doublebuf_blit_init): Likewise.
5496 (grub_video_fb_set_active_render_target): Handle doublebuffering.
5497 (doublebuf_pageflipping_update_screen): New function.
5498 (doublebuf_pageflipping_init): Likewise.
5499 (grub_video_fb_setup): Likewise.
5500 (grub_video_fb_swap_buffers): Likewise.
5501 (grub_video_fb_get_info_and_fini): Likewise.
5502 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
5503 All users updated.
5504 (doublebuf_pageflipping_commit): Restructured into ...
5505 (doublebuf_pageflipping_set_page): ... this.
5506 (doublebuf_pageflipping_update_screen): Removed.
5507 (doublebuf_pageflipping_init): Likewise.
5508 (double_buffering_init): Likewise.
5509 (grub_video_vbe_setup): Use grub_video_fb_setup.
5510 (grub_video_vbe_swap_buffers): Removed.
5511 (grub_video_vbe_set_active_render_target): Likewise.
5512 (grub_video_vbe_get_active_render_target): Likewise.
5513 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5514 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5515 grub_video_fb_set_active_render_target and
5516 grub_video_fb_get_active_render_target.
5517 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5518 (SEQUENCER_DATA_PORT): Likewise.
5519 (MAP_MASK_REGISTER): Likewise.
5520 (CRTC_ADDR_PORT): Likewise.
5521 (CRTC_DATA_PORT): Likewise.
5522 (START_ADDR_HIGH_REGISTER): Likewise.
5523 (START_ADDR_LOW_REGISTER): Likewise.
5524 (GRAPHICS_ADDR_PORT): Likewise.
5525 (GRAPHICS_DATA_PORT): Likewise.
5526 (READ_MAP_REGISTER): Likewise.
5527 (INPUT_STATUS1_REGISTER): Likewise.
5528 (INPUT_STATUS1_VERTR_BIT): Likewise.
5529 (get_map_mask): Use grub_vga_sr_read.
5530 (set_map_mask): Use grub_vga_sr_write.
5531 (set_read_map): Use grub_vga_gr_write.
5532 (set_start_address): Use grub_vga_cr_write.
5533 * video/sm712.c (framebuffer): Remove leftover fields.
5534
4321c64a
CW
55352010-06-20 Colin Watson <cjwatson@ubuntu.com>
5536
5537 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5538 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5539 instead. Replace the gfxterm backend check with a check that
5540 ${GRUB_PREFIX}/video.lst is non-empty.
5541 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5542 again.
5543 (load_video): New generated function. Call it before loading
5544 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5545 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5546 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5547 * docs/grub.texi (Simple configuration): Document
5548 GRUB_VIDEO_BACKEND.
5549
55502010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 Use video functions in linux and xnu loaders.
5553
5554 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5555 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5556 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5557 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5558 loader/i386/pc/linux.c.
5559 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5560 (find_line_len): Removed.
5561 (find_framebuf): Likewise.
5562 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5563 * loader/i386/efi/xnu.c: Removed.
5564 * loader/i386/pc/xnu.c: Moved from here...
5565 * loader/i386/xnu.c: ...here.
5566
5567 Enable priorities in video drivers.
5568
5569 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5570 (grub_video_adapter): New field prio.
5571 (grub_video_register): Respect prio when inserting.
5572 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5573 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5574 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5575 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5576 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5577 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5578 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5579
5580 Fix SDL driver ID.
5581
5582 * include/grub/video.h (grub_video_driver_id_t): New value
5583 GRUB_VIDEO_DRIVER_SDL.
5584 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5585
7d24e434
CW
55862010-06-17 Colin Watson <cjwatson@ubuntu.com>
5587
5588 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5589 argument to printf.
5590 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5591
c88a83f6
CW
55922010-06-17 Colin Watson <cjwatson@ubuntu.com>
5593
5594 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5595 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5596
094dfb69
CW
55972010-06-17 Colin Watson <cjwatson@ubuntu.com>
5598
5599 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5600 directly, and recommend grub-install instead.
5601 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5602
2164da6b
CW
56032010-06-17 Colin Watson <cjwatson@ubuntu.com>
5604
5605 Fix i386-pc prefix handling with nested partitions (Debian bug
5606 #585068). Note that the case where the core image is booted using
5607 multiboot and relocated from its original location still requires
5608 more work.
5609
5610 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5611 with "(,", fill the boot drive in between those two characters, but
5612 expect that a full partition specification including partition map
5613 names will follow.
5614 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5615 specified, write a prefix without the drive name but including a
5616 full partition specification.
5617
044e2e60
CW
56182010-06-16 Colin Watson <cjwatson@ubuntu.com>
5619
5620 * util/grub-mkconfig.in: Ignore non-option arguments, for
5621 compatibility with older versions (before 2010-06-12) which did the
5622 same. In particular, this makes it easier to ship an update-grub
5623 wrapper which is compatible with that used with GRUB Legacy (Debian
5624 bug #586056).
5625
5591324f
GS
56262010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5627
5628 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5629 for manual page generation.
5630
662e24d5
GS
56312010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5632
5633 * po/POTFILES: Remove leftover commands/handler.c.
5634
8d70754e
CW
56352010-06-14 Colin Watson <cjwatson@ubuntu.com>
5636
5637 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5638 left this script non-functional.
5639
41160e2e
CW
56402010-06-14 Colin Watson <cjwatson@ubuntu.com>
5641
5642 * docs/man/grub-emu.h2m: New file.
5643
b5309cc1
CW
56442010-06-13 Colin Watson <cjwatson@ubuntu.com>
5645
5646 * docs/grub.texi (Commands): Document reduced command set in rescue
5647 mode.
5648 (cpuid): New section.
5649
fcb2d090
GS
56502010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5651
5652 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5653 new partition naming style.
5654 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5655
96e5c556
BC
56562010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5657
5658 Add "-o grub.iso" like cmdline options support.
5659
5660 * util/grub-install.in: Improve cmdline option parsing.
5661 * util/grub-mkconfig.in: Likewise.
5662 * util/grub-mkrescue.in: Likewise.
5663 * util/grub-reboot.in: Likewise.
5664 * util/grub-set-default.in: Likewise.
5665 * util/i386/efi/grub-install.in: Likewise.
5666 * util/ieee1275/grub-install.in: Likewise.
5667 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5668
c16be99b
CW
56692010-06-12 Colin Watson <cjwatson@ubuntu.com>
5670
5671 * .bzrignore: Ignore 41_custom.
5672
ce08a9fb
TS
56732010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5674
5675 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5676
7beac90c
CW
56772010-06-12 Colin Watson <cjwatson@ubuntu.com>
5678
5679 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5680 prototype declarations.
5681
5682 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5683 generating fs, partmap, and video lists.
5684 * include/grub/fs.h (grub_fs_register): Omit prototype if
5685 GRUB_LST_GENERATOR is defined.
5686 * include/grub/partition.h (grub_partition_map_register): Likewise.
5687 * include/grub/video.h (grub_video_register): Likewise.
5688
1c8f0f8d
JM
56892010-06-12 Javier Martín <lordhabbit@gmail.com>
5690
5691 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5692
a6085973
TS
56932010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5694
5695 * util/grub-mkrescue.in: Support --xorriso argument.
5696
25c56d29
VS
56972010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5700 Suggested by: Thomas Schmitt.
5701
e03e4b24
VS
57022010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5705 Suggested by: Thomas Schmitt.
5706
57711df6
VS
57072010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5708
5709 custom.cfg support.
5710
5711 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5712 * util/grub.d/41_custom.in: New file.
5713
ee62c427
CW
57142010-06-12 Colin Watson <cjwatson@ubuntu.com>
5715
5716 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5717 been merged back into normal.
5718
283af07a
CW
57192010-06-11 Colin Watson <cjwatson@ubuntu.com>
5720
5721 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5722 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5723
56a0d956
CW
57242010-06-11 Colin Watson <cjwatson@ubuntu.com>
5725
5726 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5727 when generating manual pages.
5728 * docs/man/grub-bin2h.h2m: New file.
5729 * docs/man/grub-editenv.h2m: New file.
5730 * docs/man/grub-fstest.h2m: New file.
5731 * docs/man/grub-install.h2m: New file.
5732 * docs/man/grub-macho2img.h2m: New file.
5733 * docs/man/grub-mkconfig.h2m: New file.
5734 * docs/man/grub-mkdevicemap.h2m: New file.
5735 * docs/man/grub-mkfont.h2m: New file.
5736 * docs/man/grub-mkimage.h2m: New file.
5737 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5738 * docs/man/grub-mkrelpath.h2m: New file.
5739 * docs/man/grub-mkrescue.h2m: New file.
5740 * docs/man/grub-ofpathname.h2m: New file.
5741 * docs/man/grub-pe2elf.h2m: New file.
5742 * docs/man/grub-probe.h2m: New file.
5743 * docs/man/grub-reboot.h2m: New file.
5744 * docs/man/grub-script-check.h2m: New file.
5745 * docs/man/grub-set-default.h2m: New file.
5746 * docs/man/grub-setup.h2m: New file.
5747
3a37e322
VS
57482010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5749
5750 Use FOR_* macros instead of *_iterate whenever possible.
5751
5752 * commands/handler.c: Removed.
5753 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5754 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5755 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5756 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5757 (grub_probe_SOURCES): Remove kern/parser.c.
5758 (util/grub-script-check.c_DEPENDENCIES): Removed.
5759 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5760 and grub_script_check_init.c.
5761 (grub_script_check_init.lst): Removed.
5762 (grub_script_check_init.h): Likewise.
5763 (grub_script_check_init.c): Likewise.
5764 (pkglib_MODULES): Remove handler.mod and sh.mod.
5765 (handler_mod_SOURCES): Removed.
5766 (handler_mod_CFLAGS): Likewise.
5767 (handler_mod_LDFLAGS): Likewise.
5768 (normal_mod_SOURCES): Remove normal/handler.c.
5769 Add script/main.c, script/script.c, script/execute.c,
5770 script/function.c, script/lexer.c, grub_script.tab.c
5771 and grub_script.yy.c.
5772 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5773 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5774 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5775 (grub_setup_SOURCES): Remove kern/parser.c.
5776 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5777 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5778 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5779 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5780 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5781 (grub_setup_SOURCES): Remove kern/parser.c.
5782 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5783 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5784 * include/grub/command.h (grub_command_iterate): Removed.
5785 (FOR_COMMANDS): New macro.
5786 * include/grub/dl.h (grub_dl): New member next.
5787 (grub_dl_iterate): Removed.
5788 (grub_dl_head): New variable declaration.
5789 (FOR_DL_MODULES): New macro.
5790 * include/grub/fs.h: Include list.h.
5791 (grub_fs): Make next first element.
5792 (grub_fs_list): New variable declaration.
5793 (grub_fs_register): Make inline.
5794 (grub_fs_unregister): Likewise.
5795 (grub_fs_iterate): Removed.
5796 (FOR_FILESYSTEMS): New macro.
5797 * include/grub/handler.h: Removed.
5798 * include/grub/list.h (grub_list_hook_t): Removed.
5799 (grub_list_test_t): Likewise.
5800 (grub_list_pop): Likewise.
5801 (grub_list_iterate): Likewise.
5802 (grub_list_insert): Likewise.
5803 (FOR_LIST_ELEMENTS): New macro.
5804 * include/grub/parser.h (grub_parser_class): Removed.
5805 (grub_parser_register): Likewise.
5806 (grub_parser_unregister): Likewise.
5807 (grub_parser_get_current): Likewise.
5808 (grub_parser_set_current): Likewise.
5809 (grub_register_rescue_parser): Likewise.
5810 (grub_rescue_parse_line): New function.
5811 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5812 * include/grub/script_sh.h (grub_script_function_list): New variable
5813 declaration.
5814 (FOR_SCRIPT_FUNCTIONS): New macro.
5815 (grub_script_function_iterate): Removed.
5816 (grub_normal_parse_line): New prototype.
5817 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5818 (FOR_DISABLED_TERM_INPUTS): Likewise.
5819 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5820 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5821 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5822 element.
5823 (grub_video_register): Inline.
5824 (grub_video_unregister): Likewise.
5825 (grub_video_adapter_list): New variable declaration.
5826 (grub_video_iterate): Removed.
5827 (FOR_VIDEO_ADAPTERS): New macro.
5828 * kern/dl.c (grub_dl_list): Removed. All users updated.
5829 (grub_dl_iterate): Removed.
5830 * kern/fs.c (grub_fs_list): Make global.
5831 (grub_fs_register): Removed.
5832 (grub_fs_unregister): Likewise.
5833 (grub_fs_iterate): Likewise.
5834 * kern/handler.c: Removed.
5835 * kern/list.c (grub_list_pop): Removed.
5836 (grub_list_iterate): Likewise.
5837 (grub_list_insert): Likewise.
5838 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5839 (grub_prio_list_insert): Don't use grub_list_insert.
5840 * kern/main.c (grub_register_rescue_parser): Don't call
5841 grub_register_rescue_parser.
5842 * kern/parser.c (grub_parser_class): Removed.
5843 (grub_parser_execute): Use grub_rescue_parse_line.
5844 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5845 (grub_rescue_parser): Removed.
5846 (grub_register_rescue_parser): Likewise.
5847 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5848 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5849 (grub_auth_check_authentication): Likewise.
5850 * normal/completion.c (iterate_command): Removed.
5851 (grub_normal_do_completion): Use FOR_COMMANDS.
5852 * normal/handler.c: Removed.
5853 * normal/main.c (read_config_file): Remove parser changing.
5854 (grub_normal_execute): Don't call read_handler_list.
5855 (grub_normal_read_line_real): Statically allocate prompt.
5856 (grub_cmdline_run): Use grub_normal_parse_line.
5857 (GRUB_MOD_FINI): Don't call free_handler_list.
5858 * normal/menu_entry.c (run): Likewise.
5859 * script/function.c (grub_script_function_list): Make global.
5860 (grub_script_function_iterate): Removed.
5861 * script/main.c (grub_normal_parse_line): Make global.
5862 (grub_sh_parser): Removed.
5863 (GRUB_MOD_INIT): Likewise.
5864 (GRUB_MOD_FINI): Likewise.
5865 * tests/lib/functional_test.c (grub_functional_test): Use
5866 FOR_LIST_ELEMENTS.
5867 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5868 (grub_test_run): Use FOR_LIST_ELEMENTS.
5869 * tests/lib/unit_test.c (main): Likewise.
5870 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5871 grub_list_pop.
5872 * util/grub-fstest.c (grub_term_input_class): Removed.
5873 (grub_term_output_class): Likewise.
5874 * util/grub-probe.c: Likewise.
5875 * util/i386/pc/grub-setup.c: Likewise.
5876 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5877 * util/grub-script-check.c (main): Don't call grub_init_all and
5878 grub_fini_all.
5879 * video/video.c (grub_video_adapter_list): Make global.
5880 (grub_video_register): Removed.
5881 (grub_video_unregister): Likewise.
5882 (grub_video_iterate): Likewise.
5883
6289c3a7
VS
58842010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5887 reported by Henrique Ferreiro.
5888
91460247
RM
58892010-06-09 Robert Millan <rmh@gnu.org>
5890
5891 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5892 ones, when both are available.
5893
0ea7c4f9
GS
58942010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5895
5896 Make --version uniform and avoid hard-coded program name.
5897
5898 * util/grub-mkimage.c (main): Use `program_name' instead of
5899 hard-coded string.
5900 * util/i386/pc/grub-setup.c (main): Likewise.
5901 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5902 * util/grub-install.in: Save the basename of $0 in $self, and use the
5903 latter in informational messages. Use the same format for --version
5904 as the binary programs.
5905 * util/grub-mkconfig.in: Likewise.
5906 * util/grub-mkrescue.in: Likewise.
5907 * util/grub-reboot.in: Likewise.
5908 * util/grub-set-default.in: Likewise.
5909 * util/i386/efi/grub-install.in: Likewise.
5910 * util/ieee1275/grub-install.in: Likewise.
5911 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5912
e8a6f3b6
GS
59132010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5914
5915 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5916 embedding area. Use <= instead of == when checking for non-emptiness.
5917
f4d095d7
GS
59182010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5919
5920 * configure.ac: Add `.' to the directories searched for unifont.
5921
50e532ca
CW
59222010-06-08 Colin Watson <cjwatson@ubuntu.com>
5923
5924 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
5925 grub_script.yy.h.
5926
d39f3dec
CW
59272010-06-08 Colin Watson <cjwatson@ubuntu.com>
5928
5929 * docs/grub.texi (History): Expand to cover GRUB 2.
5930 (Serial terminal): Refer to `terminal_input' and `terminal_output'
5931 commands, not `terminal'.
5932 (serial): Likewise.
5933 (terminal_input): New section.
5934 (terminal_output): New section.
5935 (uppermem): New section (stub).
5936 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
5937
6ef0ddb4
CW
59382010-06-08 Colin Watson <cjwatson@ubuntu.com>
5939
5940 * docs/grub.texi (Security): Menu entries are unrestricted by
5941 default, not restricted to superusers as I had previously thought.
5942 Reword to account for this.
5943
e0f4c438
CW
59442010-06-07 Colin Watson <cjwatson@ubuntu.com>
5945
5946 * kern/emu/misc.c (device_mapper_null_log): New function.
5947 (grub_device_mapper_supported): New function.
5948 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
5949 prototype.
5950 * kern/emu/hostdisk.c (find_partition_start): Check whether
5951 device-mapper is supported before trying to use it.
5952 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
5953
da908200
CW
59542010-06-07 Colin Watson <cjwatson@ubuntu.com>
5955
5956 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
5957 (File name syntax): Likewise.
5958 (help): --all is no longer supported in GRUB 2. Be more precise
5959 about pattern matching.
5960
fb55c3ac
CW
59612010-06-07 Colin Watson <cjwatson@ubuntu.com>
5962
5963 * normal/completion.c (grub_normal_do_completion): When completing
5964 arguments to "set" and the current word contains an equals sign,
5965 skip to after the equals sign before starting completion.
5966
258c2573
CW
59672010-06-07 Colin Watson <cjwatson@ubuntu.com>
5968
5969 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
5970
ee75515e
CW
59712010-06-07 Colin Watson <cjwatson@ubuntu.com>
5972
5973 * docs/grub.texi (Network): New section.
5974 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
5975 `(nd)' as in GRUB Legacy.
5976 (pxe_unload): New section.
5977
a6a700aa
CW
59782010-06-07 Colin Watson <cjwatson@ubuntu.com>
5979
5980 * docs/grub.texi (Troubleshooting): `echo' is not usually available
5981 in the rescue shell, so recommend using `set' instead. Thanks,
5982 Jordan Uggla.
5983
4003dd38
CW
59842010-06-07 Colin Watson <cjwatson@ubuntu.com>
5985
5986 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
5987 (password): New section.
5988 (password_pbkdf2): New section.
5989 (search): New section.
5990 (Security): New section.
5991 (Troubleshooting): New section, currently very incomplete.
5992 (Invoking grub-mkpasswd-pbkdf2): New section.
5993 (Internals): New section, currently very incomplete.
5994
e1cbcc40
CW
59952010-06-07 Colin Watson <cjwatson@ubuntu.com>
5996
5997 * util/grub.d/00_header.in: Add some more quoting (of
5998 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
5999 work again.
6000 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
6001
db8fa1ad
CW
60022010-06-07 Colin Watson <cjwatson@ubuntu.com>
6003
6004 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
6005 to `count', fixing variable shadowing that broke the -c option.
6006
60072010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
6008
6009 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
6010 in case they contain spaces.
6011
f28a9212
CW
60122010-06-04 Colin Watson <cjwatson@ubuntu.com>
6013
6014 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
6015 "part_" to partmap module names, in line with grub-install.
6016 Reported by: Jindřich Makovička (Debian bug #584426).
6017
9cdfe32f
CW
60182010-06-04 Colin Watson <cjwatson@ubuntu.com>
6019
6020 * util/grub-mkimage.c: Make target-related error messages slightly
6021 more helpful; -O talks about "format". Explicitly point to the use
6022 of -O if no target is specified.
6023 Reported by: Didier Raboud (Debian bug #584415).
6024
795b593a
CW
60252010-06-03 Colin Watson <cjwatson@ubuntu.com>
6026
6027 * INSTALL: Document several build requirements for optional features
6028 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
6029
9d9b5833
GS
60302010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6031
6032 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
6033 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
6034 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
6035
0819fec8
CW
60362010-06-02 Colin Watson <cjwatson@ubuntu.com>
6037
6038 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
6039 Thanks to Jordan Uggla for spotting this.
6040
49396b4f
VS
60412010-06-02 Aleš Nesrsta <starous@volny.cz>
6042
6043 Finally make USB usable.
6044
6045 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
6046 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
6047 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
6048 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
6049 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
6050 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
6051 (GRUB_OHCI_FSMPS): Likewise.
6052 (GRUB_OHCI_PERIODIC_START): Likewise.
6053 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
6054 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
6055 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
6056 (GRUB_OHCI_SET_PORT_RESET): Likewise.
6057 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
6058 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
6059 (grub_ohci_transaction): Likewise.
6060 (grub_ohci_transfer): Improve condition detection algorithms.
6061 Handle toggle property. Program the transactions correctly.
6062 Improve error handling. Various important fixups.
6063 (grub_ohci_portstatus): Put register writes in right order.
6064 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
6065 (grub_uhci_transfer): Don't show "failed" message on success.
6066 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
6067 array.
6068 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
6069 determine its size.
6070 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
6071 before initialization is completed. Use IN direction for empty
6072 transfers. Use last_trans and compute toggle.
6073 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
6074 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
6075 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
6076 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
6077 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
6078 (grub_usb_device): Increase toggle to 256.
6079 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
6080 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
6081 GRUB_USBMS_SUBCLASS_SFF8070.
6082 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
6083 (grub_scsi_inquiry): New member page and alloc_length.
6084 (grub_scsi_request_sense): New structure.
6085 (grub_scsi_request_sense_data): Likewise.
6086 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
6087 control.
6088 * disk/scsi.c (grub_scsi_request_sense): New function.
6089 (grub_scsi_test_unit_ready): Likewise.
6090 (grub_scsi_inquiry): Fill new fields.
6091 (grub_scsi_read_capacity): Likewise.
6092 (grub_scsi_read10): Add request sense at the end.
6093 (grub_scsi_read12): Likewise.
6094 (grub_scsi_write10): Likewise.
6095 (grub_scsi_write12): Likewise.
6096 (grub_scsi_open): Add Test Unit Ready.
6097 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
6098 Support additional subclasses. Con't clear halt yet. Activate the
6099 proper config. Calculate LUNs correctly.
6100 (grub_usbms_transfer): Various important fixups.
6101
61022010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
6105 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
6106 (grub_ohci_fini_hw): New function.
6107 (grub_ohci_restore_hw): Likewise.
6108 (GRUB_MOD_INIT(ohci)): Register preboot hook.
6109 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
6110 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
6111
61122010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 Dedicated DMA allocations.
6115
6116 * bus/pci.c (grub_memalign_dma32): New function
6117 (grub_dma_free): Likewise.
6118 (grub_dma_get_virt): Likewise.
6119 (grub_dma_get_phys): Likewise.
6120 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
6121 (grub_ohci_pci_iter): Use dma32_alloc.
6122 (grub_ohci_transfer): Likewise.
6123 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6124 (grub_usb_bulk_readwrite): Likewise.
6125 * include/grub/pci.h: Add declarations.
6126
61272010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 CS5536 support.
6130
6131 * bus/cs5536.c: New file.
6132 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
6133 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
6134 (cs5536_mod_SOURCES): New variable.
6135 (cs5536_mod_CFLAGS): Likewise.
6136 (cs5536_mod_LDFLAGS): Likewise.
6137 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
6138 machine/pci.h.
6139 (kernel_img_SOURCES): Add bus/cs5536.c.
6140 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
6141 usb_keyboard.mod.
6142 (usb_mod_SOURCES): New variable.
6143 (usb_mod_CFLAGS): New variable.
6144 (usb_mod_LDFLAGS): New variable.
6145 (usbtest_mod_SOURCES): New variable.
6146 (usbtest_mod_CFLAGS): New variable.
6147 (usbtest_mod_LDFLAGS): New variable.
6148 (ohci_mod_SOURCES): New variable.
6149 (ohci_mod_CFLAGS): New variable.
6150 (ohci_mod_LDFLAGS): New variable.
6151 (usbms_mod_SOURCES): New variable.
6152 (usbms_mod_CFLAGS): New variable.
6153 (usbms_mod_LDFLAGS): New variable.
6154 (usb_keyboard_mod_SOURCES): New variable.
6155 (usb_keyboard_mod_CFLAGS): New variable.
6156 (usb_keyboard_mod_LDFLAGS): New variable.
6157 * include/grub/smbus.h: New file.
6158 * include/grub/cs5536.h: New file.
6159
0b35b2a9
CW
61602010-06-02 Colin Watson <cjwatson@ubuntu.com>
6161
6162 * util/grub.d/00_header.in: Add safety check to make sure that
6163 ${locale_dir} exists before trying to probe it.
6164
ca0afd5b
CW
61652010-06-02 Colin Watson <cjwatson@ubuntu.com>
6166
6167 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
6168 per the GNU Coding Standards; this is now too obscure to be worth
6169 documenting.
6170 (QNX): Likewise.
6171 (chainloader): Remove cross-reference to `SCO UnixWare'.
6172
1c41aa78
CW
61732010-06-02 Colin Watson <cjwatson@ubuntu.com>
6174
6175 * docs/grub.texi (Chain-loading): New section.
6176 (DOS/Windows): New section, borrowed from GRUB Legacy with details
6177 adjusted for GRUB 2.
6178 (SCO UnixWare): Likewise.
6179 (QNX): Likewise.
6180 (chainloader): Add reference to `Block list syntax'.
6181 (drivemap): New section.
6182 (parttool): New section.
6183
bb8ea0f5
CW
61842010-06-02 Colin Watson <cjwatson@ubuntu.com>
6185
6186 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
6187 the grub shell'.
6188 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
6189 (Installing GRUB using grub-install): Remove reference to the grub
6190 shell; mention `grub-mkimage' and `grub-setup' instead.
6191 (Invoking grub-install): Likewise.
6192 (Interface): Add reference to `Menu entry editor'.
6193 (serial): Remove `--device' option.
6194
288dd6ed
CW
61952010-06-02 Colin Watson <cjwatson@ubuntu.com>
6196
6197 * docs/grub.texi (Configuration): New section, documenting
6198 configuration file generation using grub-mkconfig. I've left a slot
6199 for documenting the full shell scripting format but have not yet
6200 started on writing that up.
6201 (Invoking grub-mkconfig): New section.
6202
34c9f0e9
CW
62032010-06-02 Colin Watson <cjwatson@ubuntu.com>
6204
6205 * docs/grub.texi (direntry): Remove grub-terminfo reference.
6206 (GNU GRUB manual): Likewise.
6207 (General commands): Update description of `terminfo' for GRUB 2.
6208
9121567e
CW
62092010-06-02 Colin Watson <cjwatson@ubuntu.com>
6210
6211 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
6212 (GRUB_MOD_INIT): Fix capitalisation.
6213 * docs/grub.texi (Command-line and menu entry commands): Document
6214 gettext and gptsync commands.
6215
ab631611
CW
62162010-06-02 Colin Watson <cjwatson@ubuntu.com>
6217
6218 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
6219 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
6220
bde4a9ac
CW
62212010-06-01 Colin Watson <cjwatson@ubuntu.com>
6222
6223 Add btrfs probing support, currently only in the single-device case.
6224
6225 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
6226 function.
6227 (grub_guess_root_device): Call find_root_device_from_mountinfo
6228 before looking in /dev.
6229
b1d17e10
VS
62302010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
6233 GRUB_DISK_SIZE_UNKNOWN.
6234 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
6235
dfbfe004
JS
62362010-05-31 Jiro SEKIBA <jir@unicus.jp>
6237
6238 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
6239 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
6240 corrupted or not synced properly.
6241
c2ffc8e9
VS
62422010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
6245 Reported by: Seth Goldberg.
6246
56293166
VS
62472010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
6250 addition of dest.
6251 Reported by: Seth Goldberg.
6252
7620e7de
VS
62532010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
6256 Reported by: Seth Goldberg.
6257
c837af3f
VS
62582010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
6261 64-bit address as signed on MIPS.
6262
c7c75cf4
CW
62632010-05-28 Colin Watson <cjwatson@ubuntu.com>
6264
6265 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
6266 to the empty string.
6267
fa4b8490
BC
62682010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
6269
6270 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
6271
6272 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
6273 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
6274 * kern/misc.c (__enable_execute_stack): Disable on
6275 GRUB_MACHINE_EMU.
6276
a33075b9
CW
62772010-05-28 Colin Watson <cjwatson@ubuntu.com>
6278
6279 Make grub-probe work with symbolic links under /dev/mapper as well
6280 as with real block devices. The Linux world seems to be (at best)
6281 in transition here, and GRUB shouldn't get caught in the middle.
6282
6283 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
6284 /dev/mapper.
6285
d8708134
CW
62862010-05-27 Colin Watson <cjwatson@ubuntu.com>
6287
6288 * util/grub-script-check.c (main): Ensure defined behaviour on empty
6289 input files (in which case exit zero).
6290
db2102a0
CW
62912010-05-27 Colin Watson <cjwatson@ubuntu.com>
6292
6293 * kern/emu/misc.c (canonicalize_file_name): realpath can still
6294 return NULL for various reasons even if it has a maximum-length
6295 buffer: for example, there might be a symlink loop, or the path
6296 might exceed PATH_MAX. If this happens, return NULL.
6297
5fdba519
RM
62982010-05-27 Robert Millan <rmh@gnu.org>
6299
6300 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
6301 partmap module to handle cross-partmap setups.
6302 Reported by Orestes Mas. Gràcies!
6303
d1d368e4
CW
63042010-05-27 Colin Watson <cjwatson@ubuntu.com>
6305
6306 * util/grub-mkrescue.in: Initialise override_dir rather than
6307 assuming that it's unset or empty in the environment.
6308
95ac3c73
GS
63092010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
6310
6311 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
6312 variable index into p_index to suppress a warning with -Wshadow.
6313
7d8c0213
BC
63142010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
6315
6316 * INSTALL: Added flex >= 2.5.35 requirement.
6317
db4d5813
VS
63182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6319
6320 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
6321
f24f4300
VS
63222010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 cmostest support.
6325
6326 * commands/i386/cmostest.c: New file.
6327 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
6328 (cmostest_mod_SOURCES): New variable.
6329 (cmostest_mod_CFLAGS): Likewise.
6330 (cmostest_mod_LDFLAGS): Likewise.
6331 * conf/i386-pc.rmk: Likewise.
6332 * docs/grub.texi (Vendor power-on keys): New section.
6333 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
6334 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
6335 and GRUB_BUTTON_CMOS_ADDRESS.
6336 * util/grub.d/00_header.in: Handle powering-on by separate button.
6337
ad603f61
VS
63382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
6341 Removed drawing_scrollbar argument. All users updated
6342 Fixes #29792.
6343 Reported by Jo Shields
6344
3ecb080a
VS
63452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6346
6347 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
6348 buffer since gfxterm handles double repaint.
6349
5f2316c1
VS
63502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
6353 * term/gfxterm.c (real_scroll): Likewise.
6354
9a25f885
VS
63552010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
6358 before calling BIOS.
6359
39fbb79a
VS
63602010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * include/grub/i18n.h: Always enable grub_gettext.
6363
228cfa97
VS
63642010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
6367 partition naming style.
6368
21717c8f
CW
63692010-05-21 Colin Watson <cjwatson@ubuntu.com>
6370
6371 * util/grub-mkconfig.in: Fix handling of -o so that it works when
6372 not the first option.
6373
c0f48e65
CW
63742010-05-20 Colin Watson <cjwatson@ubuntu.com>
6375
6376 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
6377
96779aec
CW
63782010-05-20 Colin Watson <cjwatson@ubuntu.com>
6379
6380 * util/misc.c: Move inclusion of <limits.h> to ...
6381 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
6382
fa9d256e
GS
63832010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6384
6385 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
6386 Fix merge error in NetBSD code.
6387 (find_partition_start) [__NetBSD__]: Likewise.
6388
123b7a85
BC
63892010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
6390
6391 Fix grub-mkrescue usage unit testing.
6392
6393 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
6394
74276c0d
CF
63952010-05-18 Christian Franke <franke@computer.org>
6396
6397 * util/grub.d/10_windows.in: Use path names instead of
6398 drive letters to prevent warning from Cygwin 1.7.
6399 Add drivemap command to menuentry if needed.
6400
c4f7b523
ST
64012010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
6402
6403 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
6404 gnumach and gnumach.gz.
6405
95b97950
VS
64062010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * include/grub/i18n.h (gettext): Inline instead of using #define.
6409 (grub_gettext): Likewise.
6410 (_): Likewise.
6411
01b8d2d7
VS
64122010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
6415 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
6416 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
6417 (main): Add a slash after pkglibdirroot.
6418
654e1d1e
VS
64192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * util/grub-install.in: Add missing "in" keyword.
6422
26966aeb
VS
64232010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
6426 Reported by: Seth Goldberg.
6427
75006747
VS
64282010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
6431
74cbf5bd
CW
64322010-05-18 Colin Watson <cjwatson@ubuntu.com>
6433
6434 * configure.ac: Check for Linux device-mapper support.
6435
6436 * util/hostdisk.c (device_is_mapped): New function.
6437 (find_partition_start): New function, partly broken out from
6438 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
6439 device-mapper support added.
6440 (linux_find_partition): Use find_partition_start.
6441 (convert_system_partition_to_system_disk): Add `st' argument.
6442 Support Linux /dev/mapper/* devices if device-mapper support is
6443 available; only DM-RAID devices are understood at present.
6444 (find_system_device): Add `st' argument. Pass it to
6445 convert_system_partition_to_system_disk.
6446 (grub_util_biosdisk_get_grub_dev): Pass stat result to
6447 find_system_device and convert_system_partition_to_system_disk. Use
6448 find_partition_start.
6449
6450 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
6451 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
6452 * util/deviceiter.c [__linux__]: Define MINOR.
6453 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
6454 * util/mkdevicemap.c (grub_putchar): New function.
6455 (grub_getkey): New function.
6456 (grub_refresh): New function.
6457 (main): Set debug=all if -v -v is used.
6458
355b51e9
CW
64592010-05-18 Colin Watson <cjwatson@ubuntu.com>
6460
6461 Fix build with non-GNU libcs.
6462
6463 * util/misc.c (canonicalize_file_name): Move to ...
6464 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6465 grub_make_system_path_relative_to_its_root.
6466
7fb5c25f
CW
64672010-05-18 Colin Watson <cjwatson@ubuntu.com>
6468
6469 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6470 we handle finding grub-mkimage. Default to finding grub-mkimage in
6471 ${bindir} with program_transform_name applied, and provide a
6472 --grub-mkimage option to override this.
6473
1d3293d6
VS
64742010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 Remove grub-mkisofs.
6477
6478 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
6479 (grub_mkisofs_SOURCES): Removed.
6480 (grub_mkisofs_CFLAGS): Removed.
6481 * util/mkisofs/defaults.h: Removed.
6482 * util/mkisofs/eltorito.c: Likewise.
6483 * util/mkisofs/exclude.h: Likewise.
6484 * util/mkisofs/hash.c: Likewise.
6485 * util/mkisofs/include/: Likewise.
6486 * util/mkisofs/include/fctldefs.h: Likewise.
6487 * util/mkisofs/include/mconfig.h: Likewise.
6488 * util/mkisofs/include/prototyp.h: Likewise.
6489 * util/mkisofs/include/statdefs.h: Likewise.
6490 * util/mkisofs/iso9660.h: Likewise.
6491 * util/mkisofs/joliet.c: Likewise.
6492 * util/mkisofs/match.c: Likewise.
6493 * util/mkisofs/match.h: Likewise.
6494 * util/mkisofs/mkisofs.c: Likewise.
6495 * util/mkisofs/mkisofs.h: Likewise.
6496 * util/mkisofs/msdos_partition.h: Likewise.
6497 * util/mkisofs/multi.c: Likewise.
6498 * util/mkisofs/name.c: Likewise.
6499 * util/mkisofs/rock.c: Likewise.
6500 * util/mkisofs/tree.c: Likewise.
6501 * util/mkisofs/write.c: Likewise.
6502
5dde9afe
VS
65032010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 Unify grub-mkimage accross platforms.
6506
6507 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6508 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6509 (grub_mkelfimage_SOURCES): Removed.
6510 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6511 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6512 (bin_UTILITIES): Add grub-mkimage.
6513 (grub_mkimage_SOURCES): New variable.
6514 (kernel_img_HEADERS): Remove machine/kernel.h.
6515 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6516 (pkglib_PROGRAMS): Add kernel.img.
6517 (kernel_img_HEADERS): Add machine/kernel.h.
6518 (kernel_img_FORMAT): Removed.
6519 (bin_UTILITIES): Remove grub-mkimage.
6520 (grub_mkimage_SOURCES): Removed.
6521 (grub_mkimage_CFLAGS): Likewise.
6522 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6523 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6524 (pkglib_PROGRAMS): Add kernel.img.
6525 (bin_UTILITIES): Remove grub-mkimage.
6526 (grub_mkimage_SOURCES): Removed.
6527 (grub_mkimage_CFLAGS): Likewise.
6528 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6529 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6530 (pkglib_PROGRAMS): Add kernel.img.
6531 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6532 (pkglib_PROGRAMS): Add kernel.img.
6533 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6534 (grub_mkimage_SOURCES): Removed.
6535 (grub_mkimage_CFLAGS): Likewise.
6536 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6537 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6538 (pkglib_PROGRAMS): Add kernel.img.
6539 (bin_UTILITIES): Remove grub-mkimage.
6540 (grub_mkimage_SOURCES): Removed.
6541 (grub_mkimage_CFLAGS): Likewise.
6542 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6543 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6544 (grub_mkimage_SOURCES): Removed.
6545 (grub_mkimage_CFLAGS): Likewise.
6546 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6547 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6548 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6549 (grub_pe32_optional_header): ... this.
6550 (grub_pe64_optional_header): ... and this. All users updated.
6551 (GRUB_PE32_PE32_MAGIC): Split into ..
6552 (GRUB_PE32_PE32_MAGIC): .. this.
6553 (GRUB_PE32_PE64_MAGIC): .. and this.
6554 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6555 * include/grub/elf.h (PT_GNU_STACK): New definition.
6556 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6557 * include/grub/i386/efi/kernel.h: Likewise.
6558 * include/grub/i386/kernel.h: Likewise.
6559 * include/grub/i386/pc/kernel.h: Likewise.
6560 * include/grub/i386/qemu/boot.h: Likewise.
6561 * include/grub/mips/kernel.h: Likewise.
6562 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6563 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6564 * include/grub/powerpc/kernel.h: Likewise.
6565 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6566 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6567 * include/grub/sparc64/kernel.h: Likewise.
6568 * include/grub/x86_64/efi/kernel.h: Likewise.
6569 * include/grub/x86_64/kernel.h: Likewise.
6570 * include/grub/offsets.h: New file.
6571 * include/grub/kernel.h (grub_module_info): Split into ...
6572 (grub_module_info32): ... this.
6573 (grub_module_info64): ... and this.
6574 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6575 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6576 (grub_boot_blocklist): Moved from here ...
6577 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6578 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6579 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6580 * include/grub/types.h (grub_target_to_host16): Removed.
6581 (grub_target_to_host32): Likewise.
6582 (grub_target_to_host64): Likewise.
6583 (grub_host_to_target16): Likewise.
6584 (grub_host_to_target32): Likewise.
6585 (grub_host_to_target64): Likewise.
6586 (grub_host_to_target_addr): Likewise.
6587
6588 Support grub-mkrescue for efi, coreboot and qemu.
6589
6590 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6591 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6592 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6593 * util/grub-mkrawimage.c: Moved from here ...
6594 * util/grub-mkimage.c: ... here. All users updated.
6595 (ALIGN_ADDR): Use image_target.
6596 (TARGET_NO_FIELD): New const.
6597 (image_target_desc): New type.
6598 (image_targets): New array.
6599 (grub_target_to_host64): Use image_target.
6600 (grub_target_to_host32): Likewise.
6601 (grub_target_to_host16): Likewise.
6602 (grub_host_to_target64): Likewise.
6603 (grub_host_to_target32): Likewise.
6604 (grub_host_to_target16): Likewise.
6605 (grub_host_to_target_addr): Likewise.
6606 (generate_image): Handle multiimage.
6607 (main): Require -O parameter. All users updated.
6608 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6609 util/efi/grub-mkimage.c
6610 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6611 New option --rom-directory.
6612 Use xorriso.
6613 * util/i386/efi/grub-mkimage.c: Removed.
6614 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6615 (grub_target_to_host32): Likewise.
6616 (grub_target_to_host64): Likewise.
6617 (grub_host_to_target16): Likewise.
6618 (grub_host_to_target32): Likewise.
6619 (grub_host_to_target64): Likewise.
6620 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6621 (grub_target_to_host32): Likewise.
6622 (grub_target_to_host64): Likewise.
6623 (grub_host_to_target16): Likewise.
6624 (grub_host_to_target32): Likewise.
6625 (grub_host_to_target64): Likewise.
6626
f4fc97d0
BC
66272010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6628
6629 Source tree is reorganized for emu build.
6630
6631 * include/grub/util/console.h: Move from here...
6632 * include/grub/emu/console.h: ...to here.
6633 * include/grub/util/getroot.h: Move from here...
6634 * include/grub/emu/getroot.h: ...to here.
6635 * include/grub/util/hostdisk.h: Move from here...
6636 * include/grub/emu/hostdisk.h: ...to here.
6637 * util/console.c: Move from here...
6638 * kern/emu/console.c: ...to here.
6639 * util/getroot.c: Move from here...
6640 * kern/emu/getroot.c: ...to here.
6641 * util/grub-emu.c: Move from here...
6642 * kern/emu/main.c: ...to here.
6643 * util/hostdisk.c: Move from here...
6644 * kern/emu/hostdisk.c: ...to here.
6645 * util/hostfs.c: Move from here...
6646 * kern/emu/hostfs.c: ...to here.
6647 * util/mm.c: Move from here...
6648 * kern/emu/mm.c: ...to here.
6649 * util/pci.c: Move from here...
6650 * bus/emu/pci.c: ...to here.
6651 * util/sdl.c: Move from here...
6652 * video/emu/sdl.c: ...to here.
6653 * util/time.c: Move from here...
6654 * kern/emu/time.c: ...to here.
6655 * util/usb.c: Move from here...
6656 * bus/usb/emu/usb.c: ...to here.
6657
6658 * include/grub/emu/misc.h: New header for grub-emu functions.
6659 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6660
6661 * conf/any-emu.rmk: Rule updates for above renames.
6662 * conf/common.rmk: Likewise.
6663 * conf/i386-pc.rmk: Likewise.
6664 * conf/i386-qemu.rmk: Likewise.
6665 * conf/mips.rmk: Likewise.
6666 * conf/sparc64-ieee1275.rmk: Likewise.
6667 * conf/x86-efi.rmk: Likewise.
6668
6669 * disk/lvm.h: #include updates for above renames.
6670 * util/grub-mkrelpath.c: Likewise.
6671 * util/grub-probe.c: Likewise.
6672 * util/i386/pc/grub-setup.c: Likewise.
6673 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6674 * kern/emu/console.c: Likewise.
6675 * kern/emu/getroot.c: Likewise.
6676 * kern/emu/hostdisk.c: Likewise.
6677 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6678
6679 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6680 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6681 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6682 * util/misc.c: Remove grub-emu functions.
6683
cced9145
VS
66842010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 Fix gfxmenu crash.
6687 Reported by: Thorsten Grützmacher.
6688
6689 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6690 timeout hook.
6691 (circprog_set_property): Register and unregister timeout hook.
6692 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6693 (label_destroy): Free template. and unregister hook.
6694 (label_set_state): New function.
6695 (label_set_property): Handle templates and hooks.
6696 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6697 timeout hook.
6698 (progress_bar_set_property): Register and unregister timeout hook.
6699 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6700 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6701 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6702 (update_timeout_visit): Removed.
6703 (update_timeouts): New function.
6704 (redraw_timeouts): Likewise.
6705 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6706 (grub_gfxmenu_clear_timeout): Likewise.
6707 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6708 (grub_gfxmenu_timeout_notify): Likewise.
6709 (grub_gfxmenu_timeout_notifications): New external variable.
6710 (grub_gfxmenu_timeout_register): New function.
6711 (grub_gfxmenu_timeout_unregister): Likewise.
6712
c6e5caab
VS
67132010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 Transform (broken) vga terminal into (working) vga video driver.
6716
6717 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6718 video/i386/pc/vga.c.
6719 * include/grub/video.h (grub_video_driver_id):
6720 Add GRUB_VIDEO_DRIVER_VGA.
6721 * term/i386/pc/vga.c: Renamed to ...
6722 * video/i386/pc/vga.c: ...this
6723 (DEBUG_VGA): Removed.
6724 (CHAR_WIDTH): Likewise.
6725 (CHAR_HEIGHT): Likewise.
6726 (TEXT_WIDTH): Likewise.
6727 (TEXT_HEIGHT): Likewise.
6728 (DEFAULT_FG_COLOR): Likewise.
6729 (DEFAULT_BG_COLOR): Likewise.
6730 (colored_char): Likewise.
6731 (xpos): Likewise.
6732 (ypos): Likewise.
6733 (cursor_state): Likewise.
6734 (fg_color): Likewise.
6735 (bg_color): Likewise.
6736 (text_buf): Likewise.
6737 (page): Likewise.
6738 (font): Likewise.
6739 (framebuffer): New variable.
6740 (set_read_map): Disabled.
6741 (setup): New variable.
6742 (is_target): Likewise.
6743 (grub_vga_mod_init): Likewise.
6744 (grub_vga_mod_fini): Likewise.
6745 (check_vga_mem): Likewise.
6746 (write_char): Likewise.
6747 (write_cursor): Likewise.
6748 (scroll_up): Likewise.
6749 (grub_vga_putchar): Likewise.
6750 (grub_vga_getcharwidth): Likewise.
6751 (grub_vga_getwh): Likewise.
6752 (grub_vga_getxy): Likewise.
6753 (grub_vga_gotoxy): Likewise.
6754 (grub_vga_cls): Likewise.
6755 (grub_vga_setcolorstate): Likewise.
6756 (grub_vga_setcursor): Likewise.
6757 (grub_video_vga_init): New function.
6758 (grub_video_vga_setup): Likewise.
6759 (grub_video_vga_fini): Likewise.
6760 (update_target): Likewise.
6761 (grub_video_vga_blit_bitmap): Likewise.
6762 (grub_video_vga_blit_render_target): Likewise.
6763 (grub_video_vga_set_active_render_target): Likewise.
6764 (grub_video_vga_get_active_render_target): Likewise.
6765 (grub_video_vga_swap_buffers): Likewise.
6766 (grub_video_vga_set_palette): Likewise.
6767 (grub_video_vga_get_info_and_fini): Likewise.
6768 (grub_vga_term): Removed.
6769 (grub_video_vga_adapter): New variable.
6770 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6771 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6772
2bf61a98
VS
67732010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * video/readers/jpeg.c: Indented.
6776
09ddcd11
VS
67772010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6778
6779 Various jpeg cleanups.
6780
6781 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6782 (grub_jpeg_decode_quan_table): Use sizeof.
6783 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6784
e5507505
PH
67852010-05-05 Peter Hurley <No e-mail available> (tiny change)
6786
6787 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6788 tables. Ignore non-last ac bit.
6789 (grub_jpeg_decode_quan_table): Likewise.
6790
7e720a9b
VS
67912010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6792
6793 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6794 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6795 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6796 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6797 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6798 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6799
a7fc080b
VS
68002010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6801
6802 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6803 error.
6804
2bf6012d
VS
68052010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6806
6807 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6808
265d68cd
VS
68092010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6810
6811 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6812 condition.
6813
68142010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6815
6816 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6817 part.
6818
265d68cd 68192010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6820
6821 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6822 pointers.
6823
265d68cd 68242010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6825
6826 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6827
d1b61374
CF
68282010-05-01 Christian Franke <franke@computer.org>
6829
6830 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6831 Remove broken Cygwin path conversion.
6832 * util/misc.c: [__CYGWIN__] Add include and define.
6833 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6834 for Cygwin 1.7.
6835 (make_system_path_relative_to_its_root): Simplify loop, replace early
6836 return by break.
6837 [__CYGWIN__] Add conversion to win32 path.
6838 Include "/" case in trailing slash removal.
6839
3558c6e9
VS
68402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6843 Reported by: Seth Goldberg
6844
f5f3ff93
VS
68452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 * commands/help.c (grub_cmd_help): Fix a typo.
6848 Reported by: Seth Goldberg
6849
d8b5cd40
VS
68502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6853 name and add N_.
6854 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6855 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6856 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6857 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6858 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6859 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6860 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6861 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6862 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6863 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6864 * normal/context.c (GRUB_MOD_INIT): Likewise.
6865 * normal/main.c (GRUB_MOD_INIT): Likewise.
6866 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6867 * term/serial.c (GRUB_MOD_INIT): Likewise.
6868 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6869
88c14915
VS
68702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6873 extra == 0.
6874
165134bc
VS
68752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * commands/iorw.c: New file.
6878 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6879 (iorw_mod_SOURCES): New variable.
6880 (iorw_mod_CFLAGS): Likewise.
6881 (iorw_mod_LDFLAGS): Likewise.
6882
c5ac9b32
VS
68832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 Hotkey support
6886
6887 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6888 * normal/main.c (hotkey_aliases): New variable.
6889 (grub_normal_add_menu_entry): Parse "--hotkey".
6890 * normal/menu_text.c (run_menu): Handle hotkeys.
6891
ce60689c
VS
68922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * kern/i386/coreboot/init.c (grub_machine_init): Call
6895 grub_machine_mmap_init on qemu.
6896
0359d006
VS
68972010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * boot/i386/qemu/boot.S: Add a missing .code16.
6900
7819a456
VS
69012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 Use LBIO on coreboot.
6904
6905 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6906 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6907 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6908 New declaration.
6909 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6910 grub_machine_mmap_init on coreboot.
6911 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6912 GRUB_LINUXBIOS_MEMBER_LINK.
6913 (grub_machine_mmap_iterate): Fix declaration.
6914 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6915
7210dca9
VS
69162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 Split coreboot and multiboot ports.
6919
6920 * conf/i386-multiboot.rmk: New file.
6921 * configure.ac: Add multiboot port.
6922 * include/grub/i386/multiboot/boot.h: New file.
6923 * include/grub/i386/multiboot/console.h: Likewise.
6924 * include/grub/i386/multiboot/init.h: Likewise.
6925 * include/grub/i386/multiboot/kernel.h: Likewise.
6926 * include/grub/i386/multiboot/loader.h: Likewise.
6927 * include/grub/i386/multiboot/memory.h: Likewise.
6928 * include/grub/i386/multiboot/serial.h: Likewise.
6929 * include/grub/i386/multiboot/time.h: Likewise.
6930 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
6931 * loader/multiboot.c: Likewise.
6932 * loader/multiboot_mbi2.c: Likewise.
6933 * util/grub-mkrescue.in: Generate multiboot rescue.
6934
6f8aaf68
VS
69352010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6936
3080f7a7
VS
6937 * kern/parser.c (grub_parser_execute): Cope with read-only config.
6938
69392010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
6942
6943 * commands/terminal.c (abstract_terminal): New struct.
6944 (handle_command): New function. Based on grub_cmd_terminal_input.
6945 (grub_cmd_terminal_input): Use handle_command.
6946 (grub_cmd_terminal_output): Use handle_command.
6947
a8ebb841
BC
69482010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
6949
6950 Fix comment handling.
6951
6952 * tests/grub_script_comments.in: New testcase.
6953 * conf/tests.rmk: Rules for new testcase.
6954 * script/yylex.l: Updated flex rules.
6955
bb06ba08
ST
69562010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
6957
6958 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
6959 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
6960 if argc is 1.
bb06ba08 6961
cc9d2425
VS
69622010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
6965 autogen issues.
6966
460d8402
CF
69672010-04-26 Christian Franke <franke@computer.org>
6968
6969 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
6970 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
6971 (grub_get_prefix): Remove function.
6972 * util/grub-emu.c (main): Replace grub_get_prefix () call by
6973 make_system_path_relative_to_its_root ().
6974 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6975
553c01f9
CF
69762010-04-24 Christian Franke <franke@computer.org>
6977
6978 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
6979 (kernel_img_LDFLAGS): Remove -static-libgcc.
6980
2aec1692
CF
69812010-04-24 Christian Franke <franke@computer.org>
6982
6983 * configure.ac: Do not CHECK_BSS_START_SYMBOL
6984 and CHECK_END_SYMBOL if grub-emu is built.
6985 Unset TARGET_OBJ2ELF if grub-emu is built
6986 without module support.
6987
f67dc308
JS
69882010-04-24 Jiro SEKIBA <jir@unicus.jp>
6989
6990 Nilfs2 support.
6991
6992 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
6993 (grub_fstest_SOURCES): Likewise.
6994 (pkglib_MODULES): Add nilfs2.mod.
6995 (nilfs2_mod_SOURCES): New variable.
6996 (nilfs2_mod_CFLAGS): Likewise.
6997 (nilfs2_mod_LDFLAGS): Likewise.
6998 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
6999 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7000 * fs/nilfs2.c: New file.
7001
4ba8d354
VS
70022010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
7005 is not supported.
7006
0d2c20c6
GS
70072010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
7008
7009 Add grub-mkconfig support for NetBSD.
7010
7011 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
7012 * util/grub-mkconfig.in: export new NetBSD specific variables.
7013 * po/POTFILES-shell: added 10_netbsd.in.
7014 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
7015
bc4a2d83
BC
70162010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
7017
7018 Fix emu build with grub-emu-pci and grub-emu-modules.
7019
7020 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
7021 functions.
7022 * include/grub/libpciaccess.h: New file.
7023 * conf/any-emu.rmk: Update kernel headers for emu build.
7024
f48c87aa
VS
70252010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
7028
18959385
VS
70292010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
7032
0037de3f
VS
70332010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
7036 Retrieve chosen/bootpath if bootpath isn't hardcoded.
7037 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
7038 util/ieee1275/ofpath.c.
7039 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
7040 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
7041 * include/grub/sparc64/ieee1275/boot.h
7042 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
7043 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
7044 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
7045 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
7046 const char *.
7047 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
7048 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
7049 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
7050 install.
7051
38e55e90
GS
70522010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7053
7054 * util/grub-mkconfig.in: Corrected two == equality tests.
7055 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
7056 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
7057 expect a number appended to it.
7058 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
7059 expects a number appended to it.
7060
a9e6ff28
VS
70612010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
7064
0b830b8f
VS
70652010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * util/hostdisk.c (make_device_name): Change to new partition naming.
7068
0973daeb
VS
70692010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
7072
460d8402 70732010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
7074
7075 * Makefile.in: Add missing localedir setting.
7076
0b456309
CW
70772010-04-14 Colin Watson <cjwatson@ubuntu.com>
7078
7079 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
7080 mistake in r2156. Noticed by Anthony Fok.
7081
7082 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
7083 @localedir@.
7084 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7085
08f46d62
BC
70862010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
7087
7088 Fix a spurious, uninitialized variable warning.
7089
7090 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
7091 Initialize variable, shdr.
7092 (grub_freebsd_load_elfmodule): Likewise.
7093 (grub_freebsd_load_elf_meta): Likewise.
7094
8c4a72d4
BC
70952010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
7096
7097 Fix for escaped dollar in double quoted strings.
7098
7099 * script/yylex.l: Updated flex rules.
7100 * conf/tests.rmk: Rule for new testcase.
7101 * tests/grub_script_dollar.in: New testcase.
7102
ce44826e
CPE
71032010-04-13 Carles Pina i Estany <carles@pina.cat>
71042010-04-13 Colin Watson <cjwatson@ubuntu.com>
7105
7106 Enclose all translated strings in grub.cfg in single quotes, and
7107 escape them appropriately (Ubuntu bug #552921).
7108
7109 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
7110 * util/grub.d/10_hurd.in: Use it.
7111 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7112 * util/grub.d/10_linux.in (linux_entry): Likewise.
7113
4b0cd8f8
VS
71142010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 Fix cygwin compilation.
7117
7118 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
7119 * include/grub/misc.h (__register_frame_info)
7120 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
7121 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7122 * kern/misc.c (__register_frame_info)
7123 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
7124 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7125
01fcf061
VS
71262010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7127
7128 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
7129
5d04b11e
VS
71302010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 Unify libgcc processing.
7133
7134 * Makefile.in (kernel_img_LDFLAGS): New variable.
7135 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
7136 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
7137 overwriting.
7138 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
7139 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
7140 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
7141 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
7142 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
7143 overwriting. Remove -lgcc and -static-libgcc
7144 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
7145 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7146 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7147 (kernel_img_LDFLAGS): Append instead of overwriting.
7148 Remove -lgcc and -static-libgcc
7149 * conf/sparc64-ieee1275.rmk: Likewise.
7150 * include/grub/powerpc/libgcc.h: Move to ...
7151 * include/grub/libgcc.h: .. this.
7152 * include/grub/libgcc.h: Don't export most of the function on x86.
7153 (__bswapsi2): New export.
7154 (__bswapdi2): Likewise.
7155 * include/grub/mips/libgcc.h: Removed.
7156 * include/grub/sparc64/libgcc.h: Likewise.
7157
b7f3ac29
VS
71582010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
7161 disk_info_msg (conflicts with gettexting into languages with cases).
7162
2c7031b1
GS
71632010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7164
7165 Add grub-probe support for NetBSD.
7166
7167 * util/getroot.c (find_root_device): Convert block device to
7168 character device on NetBSD.
7169 * util/probe.c (probe): Require character device on NetBSD.
7170 * util/hostdisk.c: NetBSD specific headers.
7171 (configure_device_driver): new function to tune device driver
7172 parameters (currently only for NetBSD floppy driver).
7173 (grub_util_biosdisk_open): NetBSD specific code (get disk size
7174 via disklabel ioctl).
7175 (open_device): call configure_device_driver on NetBSD.
7176 (convert_system_partition_to_system_disk): NetBSD specific code.
7177 (device_is_wholedisk): Likewise.
7178 (grub_util_biosdisk_get_grub_dev): Likewise.
7179 (make_device_name): Fixed a typo in bsd_part_str.
7180 * configure.ac: check for opendisk() and getrawpartition() on
7181 NetBSD and set LIBUTIL.
7182 * Makefile.in: add LIBUTIL to LIBS.
7183
f516290c
BC
71842010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7185
7186 Documentation fix.
7187
7188 * util/grub-script-check.c: Better help message.
7189
d8dcc0df
BC
71902010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7191
7192 Fix FreeBSD build.
7193
7194 * configure.ac: Flex version check.
7195 * conf/common.rmk: Add -Wno-error to sh.mod.
7196 * script/yylex.l: Remove all #pragma.
7197
6734334a
VS
71982010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * include/grub/util/misc.h (canonicalise_file_name): Add missing
7201 prototype.
7202 Reported by: Seth Goldberg.
7203
daea6abd
VS
72042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
7207 Rename "module" to "module2".
7208 Reported by: Seth Goldberg.
7209
f2fd9d2b
VS
72102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
7213 EXPORT_FUNC.
7214 Reported by: Seth Goldberg.
7215
be124579
VS
72162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * lib/posix_wrap/locale.h: Add missing file.
7219 Reported by: Seth Goldberg.
7220
ef5da797
VS
72212010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 grub-emu module load support.
7224
7225 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
7226 NO_DYNAMIC_MODULES switched to this.
7227 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
7228 (CFLAGS): Likewise.
7229 * conf/any-emu.rmk: Generate symlist.
7230 (kernel_img_HEADERS): Add util/datetime.h.
7231 (kernel_img_HEADERS) [sdl]: Add sdl.h.
7232 (kernel_img_HEADERS) [libusb]: Add libusb.h.
7233 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
7234 kern/$(target_cpu)/cache.S.
7235 * configure.ac (grub-emu-modules): New option.
7236 * genmk.rb: Handle multiple source lists.
7237 * include/grub/sdl.h: New file.
7238 * include/grub/libusb.h: Likewise.
7239 * util/grub-emu.c (main): Hanle (host) root.
7240 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
7241 GRUB_ERR_UNKNOWN_DEVICE.
7242 * util/misc.c: Move mm functions to ...
7243 * util/mm.c: ... here. All users updated.
7244
47822096
VS
72452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
7248 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
7249 missing files.
7250 (maintainer-clean): Remove libgcrypt-grub.
7251
5d7e7445
VS
72522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
7255
25f4e252
EC
72562010-04-09 EFI Coder <eficoder@hotmail.com>
7257
7258 * normal/menu_text.c (print_message): Clean up the message and show
7259 the Fn information when on EFI
7260 * term/efi/console.c (grub_console_checkkey): Add F4 support.
7261
027de555
VS
72622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
7265 All users updated.
7266 * normal/crypto.c (read_crypto_list): Likewise.
7267 * normal/dyncmd.c (read_command_list): Likewise.
7268 * normal/term.c (read_terminal_list): Likewise.
7269 * normal/main.c (read_lists): Use explicit prefix.
7270 (read_lists_hook): Use read_lists.
7271 (grub_normal_execute): Likewise.
7272
47779711
VS
72732010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
7276 Reported by: Thomas Schmitt.
7277 Add -no-emul-boot to grub-mkisofs parameters.
7278
1118c32e
VS
72792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * font/font.c: Indented.
7282
7d652447
BC
72832010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7284
7285 Elif support to GRUB script (by Deepak Vankadaru).
7286
7287 * tests/grub_script_if.in: New testcase.
7288 * conf/tests.rmk: Rule for new testcase.
7289 * script/parser.y: Grammar rules for elif.
7290
34bb22df
BC
72912010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7292
7293 While and until loops support to GRUB script.
7294
7295 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
7296 (grub_script_create_cmdwhile): New function prototype.
7297 (grub_script_execute_cmdwhile): New function prototype.
7298 * script/execute.c (grub_script_execute_cmdwhile): New function.
7299 * script/parser.y (command): New commands.
7300 (whilecmd): New grammar rule.
7301 (untilcmd): New grammar rule.
7302 * script/script.c (grub_script_create_cmdwhile): New function.
7303 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
7304 function.
7305
7306 * tests/grub_script_while1.in: New testcase.
7307 * conf/tests.rmk: Rule for new testcase.
7308
e215d8e0
VS
73092010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
7312 as *.jpg.
7313
d7c43ba1
MV
73142010-04-09 Mario Vazquez <mariovazq@gmail.com>
7315
7316 GRUB_BACKGROUND support.
7317
7318 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
7319 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
7320
d64795c0
VS
73212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 7324 Idea by: Mario Vazquez
d64795c0
VS
7325
7326 * util/grub.d/00_header.in: Load pf2 and image modules.
7327
f267f83a
VS
73282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 grub-mkconfig multiple terminal support.
7331
7332 * util/grub-mkconfig.in: Handle multiple terminals correctly.
7333 * util/grub.d/00_header.in: Likewise.
7334
b7841ceb
VS
73352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * Makefile.in: Specify files explicitly instead of using $< and $@ since
7338 we use cd $(srcdir).
7339
df60998c
CW
73402010-04-08 Colin Watson <cjwatson@ubuntu.com>
7341
7342 * util/grub.d/10_linux.in: Only use the first word of
7343 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
7344 spaces in GRUB_DISTRIBUTOR.
7345 * util/grub.d/10_kfreebsd.in: Likewise.
7346 * util/grub.d/10_hurd.in: Likewise.
7347
fa09c82e
BC
73482010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
7349
14e18ae3 7350 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
7351
7352 * tests/util/grub-shell.in: Remove -serial stdio option.
7353
daf892b3
BC
73542010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 POSIX header file wrappers.
7357
7358 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
7359 equivalents.
7360 * lib/posix_wrap/ctype.h: Likewise.
7361 * lib/posix_wrap/errno.h: Likewise.
7362 * lib/posix_wrap/langinfo.h: Likewise.
7363 * lib/posix_wrap/limits.h: Likewise.
7364 * lib/posix_wrap/localcharset.h: Likewise.
7365 * lib/posix_wrap/stdint.h: Likewise.
7366 * lib/posix_wrap/stdio.h: Likewise.
7367 * lib/posix_wrap/stdlib.h: Likewise.
7368 * lib/posix_wrap/string.h: Likewise.
7369 * lib/posix_wrap/sys/types.h: Likewise.
7370 * lib/posix_wrap/unistd.h: Likewise.
7371 * lib/posix_wrap/wchar.h: Likewise.
7372 * lib/posix_wrap/wctype.h: Likewise.
7373 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
7374 (grub_script.yy.h): Likewise.
7375 * script/yylex.l: Remove POSIX emulation #defines.
7376 * Makefile.in (POSIX_CFLAGS): New variable.
7377 (GNULIB_UTIL_CFLAGS): Likewise.
7378
7379 Regexp support.
7380
7381 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
7382 (regexp_mod_SOURCES): New variable.
7383 (regexp_mod_CFLAGS): Likewise.
7384 (regexp_mod_LDFLAGS): Likewise.
7385 * commands/regexp.c: New file.
7386 * gnulib/regcomp.c: New file. Imported from gnulib.
7387 * gnulib/regex.c: Likewise.
7388 * gnulib/regex_internal.c: Likewise.
7389 * gnulib/regex_internal.h: Likewise.
7390 * gnulib/regexec.c: Likewise.
7391 * gnulib/regex.h: Likewise.
7392
974ac4f7
VS
73932010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
7396 unsupported video mode types.
7397
2622c3ff
VS
73982010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
7401
064cb524
VS
74022010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
7405 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
7406
a8c3b552
VS
74072010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 Remove unused grub_vga_get_font.
7410
7411 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
7412 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
7413
187bbe3d
GS
74142010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7415
7416 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
7417 * include/grub/misc.h: Likewise.
7418
b9396631
GS
74192010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7420
7421 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
7422 for which failure is fatal.
7423
50479feb
GS
74242010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7425
7426 * util/grub-install.in: Use mkdir -p to create grub directory.
7427 * util/i386/efi/grub-install.in: Likewise.
7428 * util/ieee1275/grub-install.in: Likewise.
7429
b1654fdf
GS
74302010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7431
7432 * Makefile.in (LEX): new variable.
7433
bd5a6415
GS
74342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7435
7436 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
7437 `=' and added double quotes on operands of this equality test.
7438
3db3a82b
VS
74392010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * Makefile.in (uninstall): Remove a leftover debug echo.
7442 Reported by: Grégoire Sutre
7443
38023412
VS
74442010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 MIPS multiboot2 support.
7447
7448 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
7449 (multiboot2_mod_SOURCES): New variable.
7450 (multiboot2_mod_CFLAGS): Likewise.
7451 (multiboot2_mod_LDFLAGS): Likewise.
7452 (multiboot2_mod_ASFLAGS): Likewise.
7453 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
7454 definition.
7455 (MULTIBOOT_ENTRY_REGISTER): Likewise.
7456 (MULTIBOOT_MBI_REGISTER): Likewise.
7457 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
7458 (MULTIBOOT_ELF32_MACHINE): Likewise.
7459 (MULTIBOOT_ELF64_MACHINE): Likewise.
7460 * include/grub/mips/multiboot.h: New file.
7461 * include/grub/video.h (grub_video_driver_id): New type
7462 GRUB_VIDEO_DRIVER_SM712.
7463 (grub_video_get_info_and_fini): Export.
7464 (grub_video_get_palette): Likewise.
7465 (grub_video_get_driver_id): Likewise.
7466 * include/multiboot2.h: Resynced with spec.
7467 * loader/i386/multiboot.c: Moved from here ...
7468 * loader/multiboot.c: ... here. All users updated.
7469 (grub_multiboot_boot): Use platform-specific macros.
7470 * loader/i386/multiboot_elfxx.c: Moved from here ...
7471 * loader/multiboot_elfxx.c: ... here. All users updated.
7472 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
7473 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
7474 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
7475
47674667
VS
74762010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 Import gnulib argp module.
7479
7480 * gnulib/argp-ba.c: New file.
7481 * gnulib/argp-eexst.c: Likewise.
7482 * gnulib/argp-fmtstream.c: Likewise.
7483 * gnulib/argp-fmtstream.h: Likewise.
7484 * gnulib/argp-fs-xinl.c: Likewise.
7485 * gnulib/argp-help.c: Likewise.
7486 * gnulib/argp-namefrob.h: Likewise.
7487 * gnulib/argp-parse.c: Likewise.
7488 * gnulib/argp-pin.c: Likewise.
7489 * gnulib/argp-pv.c: Likewise.
7490 * gnulib/argp-pvh.c: Likewise.
7491 * gnulib/argp-version-etc.c: Likewise.
7492 * gnulib/argp-version-etc.h: Likewise.
7493 * gnulib/argp-xinl.c: Likewise.
7494 * gnulib/argp.h: Likewise.
7495
495442ed
VS
74962010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * kern/device.c (grub_device_iterate): Clear errors after failed
7499 opening device.
7500
f9fd65df
VS
75012010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7504 returned by firmware.
7505
af09641e
VS
75062010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7509 compilation on coreboot and qemu
7510
016883a5
VS
75112010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 * include/multiboot2.h: Resync with spec.
7514
f97e1f7d
VS
75152010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 Multiboot2 tag support
7518
7519 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7520 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7521 Remove loader/multiboot_loader.c.
7522 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7523 (grub_multiboot2_real_boot): Likewise.
7524 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7525 (grub_get_multiboot_mmap_count): New proto.
7526 (grub_fill_multiboot_mmap): Likewise.
7527 (grub_multiboot_set_video_mode): Likewise.
7528 (grub_multiboot_set_console): Likewise.
7529 (grub_multiboot_load): Likewise.
7530 (grub_multiboot_load_elf): Likewise.
7531 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7532 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7533 * include/multiboot.h: Resynced with specification.
7534 * include/multiboot2.h: Resynced with specification.
7535 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7536 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7537 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7538 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7539 users updated.
7540 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7541 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7542 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7543 Removed.
7544 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7545 Moved from here...
7546 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7547 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7548 Moved from here...
7549 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7550 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7551 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7552 All users updated.
7553 * loader/i386/multiboot_mbi2.c: New file.
7554
3506b90b
VS
75552010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 Resync with gnulib.
7558
7559 * Makefile.in (GNULIB_CFLAGS): New variable.
7560 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7561 (grub_script_check_CFLAGS): New variable.
7562 * gnulib/alloca.h: Resync with gnulib.
7563 * gnulib/error.c: Likewise.
7564 * gnulib/error.h: Likewise.
7565 * gnulib/fnmatch.c: Likewise.
7566 * gnulib/fnmatch_loop.c: Likewise.
7567 * gnulib/getdelim.c: Likewise.
7568 * gnulib/getline.c: Likewise.
7569 * gnulib/getopt.c: Likewise.
7570 * gnulib/getopt1.c: Likewise.
7571 * gnulib/getopt_int.h: Likewise.
7572 * gnulib/gettext.h: Likewise.
7573 * gnulib/progname.c: Likewise.
7574 * gnulib/progname.h: Likewise.
7575
394a3120
GS
75762010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7577
7578 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7579 which is the case with --disabled-nls.
7580
7581 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7582 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7583 * util/misc.c: Likewise.
7584 * util/mkisofs/mkisofs.c: Likewise.
7585 * util/mkisofs/mkisofs.h: Likewise.
7586
969d1c78
VS
75872010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 Simplify Apple CC support.
7590
7591 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7592 Add 0 byte at the end not to have a symbol with empty target.
7593 * mmap/i386/pc/mmap_helper.S: Likewise.
7594 * genmk.rb: Ignore errors 2030 and 2050.
7595 * kern/i386/pc/startup.S: Use LOCAL when possible.
7596
8d2977bb
BC
75972010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7598
7599 Testcase and the fix for final semicolon on cmdline.
7600
7601 * tests/grub_script_final_semicolon.in: New testcase.
7602 * conf/tests.rmk: Rules for the new testcase.
7603 * script/parser.y: Grammar fix.
7604
a7bd6915
BC
76052010-03-26 BVK Chaitanya <bvk@localhost>
7606
7607 Blank lines testcase for GRUB script.
7608
7609 * tests/grub_script_blanklines.in: New testcase.
7610 * conf/tests.rmk: Rules for the new testcase.
7611
e4ff6628
VS
76122010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7613
7614 Don't use __FILE__.
7615
7616 * genmk.rb: Add -DGRUB_FILE to all C targets.
7617 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7618 * include/grub/list.h: Likewise.
7619 * include/grub/misc.h: Likewise.
7620 * include/grub/mm.h: Likewise.
7621 * include/grub/test.h: Likewise.
7622 * kern/mm.c: Likewise.
7623 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7624
6a5cf6b6
VS
76252010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 Sunpc partitions support.
7628
7629 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7630 (grub_fstest_SOURCES): Likewise.
7631 (pkglib_MODULES): Add part_sunpc.mod.
7632 (part_sunpc_mod_SOURCES): New variable.
7633 (part_sunpc_mod_CFLAGS): Likewise.
7634 (part_sunpc_mod_LDFLAGS): Likewise.
7635 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7636 * partmap/sunpc.c: New file.
7637
746d9045
BC
76382010-03-26 BVK Chaitanya <bvk@localhost>
7639
7640 For loop support to GRUB script.
7641
7642 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7643 (grub_script_create_cmdfor): New function prototype.
7644 (grub_script_execute_cmdfor): New function prototype.
7645 * script/execute.c (grub_script_execute_cmdfor): New function.
7646 * script/parser.y (command): New for command.
7647 (forcmd): New grammar rule.
7648 * script/script.c (grub_script_create_cmdfor): New function.
7649 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7650 function.
7651 * tests/grub_script_for1.in: New testcase.
7652 * conf/tests.rmk: Rules for new testcase.
7653
18486b18
VS
76542010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 Nested partitions
7657
7658 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7659 'partition' is NULL, grub_partition_get_start already does that.
7660 * commands/loadenv.c (check_blocklists): Likewise.
7661 (write_blocklists): Likewise.
7662 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7663 (grub_fstest_SOURCES): Likewise.
7664 (pkglib_MODULES): Add part_bsd.mod.
7665 (part_bsd_mod_SOURCES): New variable.
7666 (part_bsd_mod_CFLAGS): Likewise.
7667 (part_bsd_mod_LDFLAGS): Likewise.
7668 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7669 (grub_emu_SOURCES): Likewise.
7670 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7671 * include/grub/bsdlabel.h: New file.
7672 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7673 'get_name'.
7674 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7675 (grub_partition_map_list): New variable.
7676 (grub_partition_map_register): Inline.
7677 (grub_partition_map_unregister): Likewise.
7678 (FOR_PARTITION_MAPS): New macro.
7679 (grub_partition_map_iterate): Removed.
7680 (grub_partition_get_start): Handle nested partitions.
7681 * include/grub/msdos_partition.h: Remove bsd-related entries.
7682 (grub_pc_partition): Remove.
7683 * kern/disk.c (grub_disk_close): Free partition data.
7684 (grub_disk_adjust_range): Handle nested partitions.
7685 * kern/partition.c (grub_partition_map_probe): New function.
7686 (grub_partition_probe): Parse name to number, handle subpartitions.
7687 (get_partmap): New function.
7688 (grub_partition_iterate): Handle subpartitions.
7689 (grub_partition_get_name): Likewise.
7690 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7691 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7692 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7693 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7694 Set 'number'.
7695 (acorn_partition_map_probe): Remove.
7696 (acorn_partition_map_get_name): Likewise.
7697 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7698 Set 'number'.
7699 Set 'index' to 0 since there can be only one partition entry per sector.
7700 (amiga_partition_map_probe): Remove.
7701 (amiga_partition_map_get_name): Likewise.
7702 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7703 Set 'number'.
7704 Set 'offset' and 'index' to real positions of partitions.
7705 (apple_partition_map_probe): Remove.
7706 (apple_partition_map_get_name): Likewise.
7707 * partmap/bsdlabel.c: New file.
7708 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7709 Set 'number'.
7710 Allocate 'data' so it can be correctly freed.
7711 Set 'index' to offset inside sector.
7712 (gpt_partition_map_probe): Remove.
7713 (gpt_partition_map_get_name): Likewise.
7714 * partmap/msdos.c (grub_partition_parse): Remove.
7715 (pc_partition_map_iterate): Don't force raw access.
7716 Set 'number'.
7717 Make 'ext_offset' a local variable.
7718 (pc_partition_map_probe): Remove.
7719 (pc_partition_map_get_name): Remove.
7720 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7721 Set 'number'.
7722 (sun_partition_map_probe): Remove.
7723 (sun_partition_map_get_name): Likewise.
7724 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7725 (grub_pcpart_type): Likewise.
7726 * util/hostdisk.c (open_device): Handle new numbering scheme.
7727 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7728 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7729 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7730 * util/grub-install.in: Insert all subpartition modules.
7731 * util/ieee1275/grub-install.in: Likewise.
7732
a3940f88
AG
77332010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7734
7735 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7736 grammar.
7737
21b99926 77382010-03-24 Colin Watson <cjwatson@ubuntu.com>
7739
7740 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7741
bed1d352
CW
77422010-03-21 Colin Watson <cjwatson@ubuntu.com>
7743
7744 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7745 match where 'make install' puts them.
7746 * util/i386/efi/grub-install.in: Likewise.
7747
c9f58427
CW
77482010-03-19 Colin Watson <cjwatson@ubuntu.com>
7749
7750 * .bzrignore: Add gentrigtables, grub-script-check,
7751 grub_script_check_init.c, grub_script_check_init.h, and
7752 trigtables.c.
7753
f84afb27
VS
77542010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * kern/parser.c: Indented.
7757
ed0e3d30
VS
77582010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7761
0ea81d98
VS
77622010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7765 alpha_mask_size == 0 case.
7766
0cdc2a09
BC
77672010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7768
7769 GRUB shell lexer and parser improvements.
7770
7771 * conf/any-emu.rmk: Build rule updates.
7772 * conf/common.rmk: Likewise.
7773 * conf/i386-coreboot.rmk: Likewise.
7774 * conf/i386-efi.rmk: Likewise.
7775 * conf/i386-ieee1275.rmk: Likewise.
7776 * conf/i386-pc.rmk: Likewise.
7777 * conf/powerpc-ieee1275.rmk: Likewise.
7778 * conf/x86_64-efi.rmk: Likewise.
7779
7780 * configure.ac: Configure check for flex.
7781
7782 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7783 types.
7784 (grub_lexer_param): Struct member updates.
7785 (grub_parser_param): Likewise.
7786 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7787 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7788 (grub_script_lexer_init): Prototype update.
7789 (grub_script_lexer_record_start): Likewise.
7790 (grub_script_lexer_record_stop): Likewise.
7791 (grub_script_lexer_yywrap): New function prototype.
7792 (grub_script_lexer_fini): Likewise.
7793 (grub_script_execute_argument_to_string): Removed by...
7794 (grub_script_execute_argument_to_argv): ...better version.
7795
7796 * script/execute.c (ROUND_UPTO): New macro.
7797 (grub_script_execute_cmdline): Out of memory fixes.
7798 (grub_script_execute_menuentry): Likewise.
7799 (grub_script_execute_argument_to_string): Removed. Update all
7800 users by...
7801 (grub_script_execute_argument_to_argv): ...better version.
7802 * script/function.c (grub_script_function_create): Use
7803 grub_script_execute_argument_to_argv instead of
7804 grub_script_execute_argument_to_string.
7805
7806 * script/lexer.c (check_varstate): Removed.
7807 (check_textstate): Removed.
7808 (grub_script_lexer_record_start): Likewise.
7809 (grub_script_lexer_record_stop): Likewise.
7810 (recordchar): Replaced with...
7811 (grub_script_lexer_record): ...new function.
7812 (nextchar): Removed.
7813 (grub_script_lexer_init): Rewritten.
7814 (grub_script_yylex): Rewritten.
7815 (append_newline): New function.
7816 (grub_script_lexer_yywrap): New function.
7817 (grub_script_lexer_fini): New function.
7818 (grub_script_yyerror): Sets error flag.
7819
7820 * script/yylex.l: New file.
7821 (grub_lexer_yyfree): Wrapper for flex yyffre.
7822 (grub_lexer_yyalloc): Likewise.
7823 (grub_lexer_yyrealloc): Likewise.
7824 * script/parser.y: Refactored.
7825
7826 * script/script.c (grub_script_arg_add): Out of memory fixes.
7827 (grub_script_add_arglist): Likewise.
7828 (grub_script_create_cmdline): Likewise.
7829 (grub_script_create_cmdmenu): Likewise.
7830 (grub_script_add_cmd): Likewise.
7831 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7832 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7833 unnecessary code.
7834
7835 * tests/grub_script_echo1.in: New testcase.
7836 * tests/grub_script_vars1.in: New testcase.
7837 * tests/grub_script_echo_keywords.in: New testcase.
7838
1d63a066
VS
78392010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 Remove some redundancy in build system.
7842
7843 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7844 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7845 (TARGET_LDFLAGS): Add -nostdlib.
7846 (TARGET_IMG_LDFLAGS): Likewise.
7847 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7848 anything since mmap isn't available.
7849 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7850 Add util/time.c.
7851 (pkglib_MODULES): Remove reboot.mod.
7852 (reboot_mod_SOURCES): Removed.
7853 (reboot_mod_CFLAGS): Likewise.
7854 (reboot_mod_LDFLAGS): Likewise.
7855 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7856 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7857 (DEFSYMFILES): Add kernel_syms.lst.
7858 (kernel_img_HEADERS): Add common headers.
7859 (symlist.c): New target.
7860 (kernel_syms.lst): Likewise.
7861 (pkglib_MODULES): Add memdisk.mod.
7862 (memdisk_mod_SOURCES): New variable.
7863 (memdisk_mod_CFLAGS): Likewise.
7864 (memdisk_mod_LDFLAGS): Likewise.
7865 (pkglib_MODULES): Add reboot.mod.
7866 (reboot_mod_SOURCES): New variable.
7867 (reboot_mod_CFLAGS): Likewise.
7868 (reboot_mod_LDFLAGS): Likewise.
7869 (pkglib_MODULES): Add date.mod.
7870 (date_mod_SOURCES): New variable.
7871 (date_mod_CFLAGS): Likewise.
7872 (date_mod_LDFLAGS): Likewise.
7873 (pkglib_MODULES): Add datehook.mod.
7874 (datehook_mod_SOURCES): New variable.
7875 (datehook_mod_CFLAGS): Likewise.
7876 (datehook_mod_LDFLAGS): Likewise.
7877 (pkglib_MODULES): Add lsmmap.mod.
7878 (lsmmap_mod_SOURCES): New variable.
7879 (lsmmap_mod_CFLAGS): Likewise.
7880 (lsmmap_mod_LDFLAGS): Likewise.
7881 (pkglib_MODULES): Add boot.mod.
7882 (boot_mod_SOURCES): New variable.
7883 (boot_mod_CFLAGS): Likewise.
7884 (boot_mod_LDFLAGS): Likewise.
7885 * conf/i386-coreboot.rmk: Removed redundant parts.
7886 * conf/i386-ieee1275.rmk: Likewise.
7887 * conf/i386-pc.rmk: Likewise.
7888 * conf/mips-yeeloong.rmk: Likewise.
7889 * conf/mips.rmk: Likewise.
7890 * conf/powerpc-ieee1275.rmk: Likewise.
7891 * conf/sparc64-ieee1275.rmk: Likewise.
7892 * conf/x86_64-efi.rmk: Likewise.
7893 * conf/i386-coreboot.rmk: Moved qemu parts ..
7894 * conf/i386-qemu.rmk: ... here
7895 * conf/i386-efi.rmk: Moved common parts to...
7896 * conf/x86-efi.rmk: ... here.
7897 * conf/i386.rmk: Added modules common to all x86 variants.
7898 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7899 * disk/memdisk.c: Remove grub/machine/kernel.h.
7900 * gensymlist.sh.in: Include symbol.h.
7901 * hook/datehook.c: Correct module name.
7902 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7903 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7904 * include/grub/i386/efi/serial.h: New file.
7905 * include/grub/x86_64/efi/serial.h: Likewise.
7906 * util/time.c: Likewise.
7907 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7908
463ac55f
CK
79092010-03-14 Colin King <colin.king@ubuntu.com>
79102010-03-14 Colin Watson <cjwatson@ubuntu.com>
7911
7912 Shrink the pre-partition-table part of boot.img by eight bytes.
7913
7914 * boot/i386/pc/boot.S (ERR): New macro.
7915 (chs_mode): Use ERR.
7916 (geometry_error): Likewise.
7917 (hd_probe_error): Remove. This is only used once, so we wrwite
7918 it inline instead.
7919 (read_error): Instead of printing read_error_string, just set up
7920 %si and fall through to ...
7921 (error_message): ... this new function, also used by ERR.
7922
08e46ede
CW
79232010-03-14 Colin Watson <cjwatson@ubuntu.com>
7924
7925 Speed up consecutive hostdisk operations on the same device.
7926
7927 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
7928 (grub_util_biosdisk_open): Initialise disk->data.
7929 (struct linux_partition_cache): New structure.
7930 (linux_find_partition): Cache partition start positions; these are
7931 expensive to compute on every read and write.
7932 (open_device): Cache open file descriptor in disk->data, so that we
7933 don't have to reopen it and flush the buffer cache for consecutive
7934 operations on the same device.
7935 (grub_util_biosdisk_close): New function.
7936 (grub_util_biosdisk_dev): Set `close' member.
7937
7938 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
7939 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
7940 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
7941 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
7942 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
7943
4a6d2d06
VS
79442010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 Compile parts of grub-emu as modules.
7947
7948 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
7949 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
7950 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
7951 (all-local): Add $(GRUB_EMU).
7952 (install-local): Install $(GRUB_EMU).
7953 (uninstall): Uninstall $(GRUB_EMU).
7954 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
7955 * kern/dl.c: Likewise.
7956 * commands/sleep.c: Not include machine/time.h.
7957 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
7958 (COMMON_CFLAGS): Likewise.
7959 (sbin_UTILITIES): Remove grub-emu.
7960 (grub_emu_SOURCES): Removed.
7961 (kernel_img_RELOCATABLE): New variable.
7962 (pkglib_PROGRAMS): Add kernel.img.
7963 (kernel_img_SOURCES): New variable
7964 (kernel_img_CFLAGS): Likewise.
7965 (kernel_img_LDFLAGS): Likewise.
7966 (TARGET_NO_STRIP): Likewise.
7967 (TARGET_NO_DYNAMIC_MODULES): Likewise.
7968 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
7969 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
7970 (grub-emu): New target.
7971 (GRUB_EMU): New variable.
7972 * configure.ac: Whitelist -emu as possible x86_64 architecture.
7973 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
7974 * loader/xnu.c: Likewise.
7975 * include/grub/pci.h: Likewise.
7976 * genemuinit.sh: New file.
7977 * genemuinitheader.sh: Likewise.
7978 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
7979 Support TARGET_NO_DYNAMIC_MODULES.
7980 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
7981 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
7982 * disk/loopback.c: Likewise.
7983 * font/font_cmd.c: Likewise.
7984 * partmap/acorn.c: Likewise.
7985 * partmap/amiga.c: Likewise.
7986 * partmap/apple.c: Likewise.
7987 * partmap/gpt.c: Likewise.
7988 * partmap/msdos.c: Likewise.
7989 * partmap/sun.c: Likewise.
7990 * parttool/msdospart.c: Likewise.
7991 * term/gfxterm.c: Likewise.
7992 * video/bitmap.c: Likewise.
7993 * video/readers/jpeg.c: Likewise.
7994 * video/readers/png.c: Likewise.
7995 * video/readers/tga.c: Likewise.
7996 * video/video.c: Likewise.
7997 * util/grub-emu.c (read_command_list): Removed.
7998 (main): Don't call util_init_nls.
7999 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
8000 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
8001
91fdd2ed
VS
80022010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
8005 date.mod, datehook.mod.
8006 (datetime_mod_SOURCES): New variable.
8007 (datetime_mod_CFLAGS): Likewise.
8008 (datetime_mod_LDFLAGS): Likewise.
8009 (date_mod_SOURCES): Likewise.
8010 (date_mod_CFLAGS): Likewise.
8011 (date_mod_LDFLAGS): Likewise.
8012 (datehook_mod_SOURCES): Likewise.
8013 (datehook_mod_CFLAGS): Likewise.
8014 (datehook_mod_LDFLAGS): Likewise.
8015 * conf/sparc64-ieee1275.rmk: Likewise.
8016 * lib/ieee1275/datetime.c: New file.
8017
873ccae6
VS
80182010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8019
8020 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
8021 (ieee1275_fb_mod_SOURCES): New variable.
8022 (ieee1275_fb_mod_CFLAGS): Likewise.
8023 (ieee1275_fb_mod_LDFLAGS): Likewise.
8024 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
8025 New proto.
8026 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
8027 (HEAP_MAX_ADDR): Likewise.
8028 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
8029 type.
8030 Correct stop condition.
8031 (grub_ieee1275_devices_iterate): New function.
8032 * video/ieee1275.c: New file.
8033
601c97c0
VS
80342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
8037
8038 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
8039 as scratch.
8040 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
8041 SCRATCH_PAD_DISKBOOT as scratch.
8042 (bootit): Pass Openfirmware pointer in %o4.
8043 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
8044 of 0x200000.
8045 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
8046 with util/grub-mkrawimage.c.
8047 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
8048 * include/grub/aout.h (AOUT_MID_SUN): New definition.
8049 (grub_aout_get_type) [GRUB_UTIL]: Removed.
8050 (grub_aout_load) [GRUB_UTIL]: Likewise.
8051 * include/grub/kernel.h (grub_modules_get_end): New proto.
8052 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
8053 (SCRATCH_PAD_BOOT): New definition.
8054 (SCRATCH_PAD_DISKBOOT): Likewise.
8055 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
8056 * include/grub/sparc64/ieee1275/ieee1275.h
8057 (grub_ieee1275_original_stack): New variable
8058 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
8059 New definition
8060 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
8061 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
8062 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
8063 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
8064 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
8065 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
8066 (grub_platform_image_format_t): New type.
8067 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
8068 * kern/main.c (grub_modules_get_end)
8069 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
8070 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
8071 (codestart): Switch stacks.
8072 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
8073 variable.
8074 (grub_heap_init): Use grub_modules_get_end.
8075 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
8076 stack.
8077 * util/grub-mkrawimage.c (generate_image): Support sparc64.
8078 (main): Likewise.
8079 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
8080
d68b491e
TG
80812010-03-14 Thorsten Glaser <tg@mirbsd.org>
8082
8083 * util/grub-mkrescue.in: Base ISO UUID on UTC.
8084
4e02ed50
MK
80852010-03-08 Matt Kraai <kraai@ftbfs.org>
8086
8087 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
8088 bug #559005).
8089
1f15fc1e
VS
80902010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 * genmoddep.awk: Output all missing symbols and not only first.
8093
fce5d8ff
VS
80942010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * NEWS: Put the date of 1.98 release.
8097
d1e8a02f
VS
80982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
8101 ft2build.h.
8102
696fd607
VS
81032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
8106 completition in the middle of string.
8107
33e2e6f3
VS
81082010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * util/grub-mkrescue.in: Use mktemp with explicit template.
8111
b1f6d291
VS
81122010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
8115
2ac227c7
VS
81162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
8119 right pointer.
8120
8f9a632b
VS
81212010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 Fix FreeBSD compilation.
8124
8125 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
8126 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
8127
60b03859
VS
81282010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
8131
48a5a769
VS
81322010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
8135
3ab4bd77
VS
81362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
8139
d116e0d8
RM
81402010-03-04 Robert Millan <rmh.grub@aybabtu.com>
8141
8142 Support relative image path in theme file.
8143
8144 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
8145 (image_set_property): Handle theme_dir and relative path.
8146
c7ef54aa
VS
81472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * configure.ac: Alias amd64 to x86_64.
8150
fcee14ed
VS
81512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * NEWS: mention multiboot on EFI.
8154
d0780363
VS
81552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * kern/main.c (grub_load_modules): Handle errors from init functions of
8158 embeded modules.
8159
41168ea4
VS
81602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 * normal/autofs.c (autoload_fs_module): Handle errors.
8163
b54d93ac
VS
81642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 Disable linux.mod on qemu-mips since it's not functional and leads
8167 to compilation failure.
8168
8169 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
8170 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
8171 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
8172 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
8173 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
8174 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
8175 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
8176 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
8177 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
8178 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
8179 Reported by: BVK Chaitanya
8180
fc8345da
JU
81812010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
8182
8183 * INSTALL: Add gettext as a dependency and add qemu to a new section
8184 "Prerequisites for make-check".
8185
4760f979
CF
81862010-03-04 Christian Franke <franke@computer.org>
8187
8188 * util/grub-pe2elf.c: Add missing include "progname.h".
8189
f209b5b2
VS
81902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * normal/crypto.c (read_crypto_list): Fix a typo.
8193 Reported by: Seth Goldberg.
8194
b4b7be98
VS
81952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 8198 Reported by: Seth Goldberg.
b4b7be98 8199
c0ee0385
VS
82002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
8203 ascii.bitmaps.
8204
a8efbf64
VS
82052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 8208 Reported by: Seth Goldberg.
a8efbf64 8209
08dcd913
VS
82102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8211
8212 * util/i386/efi/grub-install.in: Copy gettext files.
8213
c4d0b332
VS
82142010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
8217
c6f2fe52
VS
82182010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 Wait for user entry basing on presence of output rather than on errors.
8221
8222 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
8223 (grub_install_newline_hook): Likewise.
8224 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
8225 * normal/menu.c (show_menu): Check line_counter to determine presence
8226 of output.
8227 * normal/term.c (grub_normal_line_counter): New variable.
8228 (grub_normal_get_line_counter): New function.
8229 (grub_install_newline_hook): Likewise.
8230
5382b1e4
VS
82312010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8232
8233 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
8234
5519963b
VS
82352010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * configure.ac: Update version to 1.98.
8238
72b28631
VS
82392010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * util/grub.d/10_linux.in (linux_entry): Don't default to
8242 gfxpayload=keep if Linux doesn't support video handover.
8243
c140a180
VS
82442010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 Don't compile video modules on yeeloong since video subsystem is part
8247 of kernel.
8248
8249 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
8250 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
8251 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
8252 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
8253 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
8254 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
8255 * include/grub/bitmap_scale.h: Likewise.
8256 * include/grub/bufio.h: Likewise.
8257 * include/grub/font.h: Likewise.
8258 * include/grub/gfxterm.h: Likewise.
8259 * include/grub/video.h: Likewise.
8260 * include/grub/vbe.h: Don't include video_fb.h.
8261 * video/i386/pc/vbe.c: Include video_fb.h.
8262 * commands/i386/pc/vbetest.c: Include video.h.
8263
a0ca21c2
CW
82642010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
8265
8266 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
8267 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
8268 default entry if GRUB_SAVEDEFAULT=true. This allows using
8269 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
8270 saving a new default on every boot.
8271
4a8a763c
VS
82722010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * normal/crypto.c (read_crypto_list): Fix a memory leak.
8275 * normal/term.c (read_terminal_list): Likewise.
8276 * normal/main.c (grub_normal_init_page): Likewise.
8277 (grub_normal_read_line_real): Likewise.
8278
607ffde2
VS
82792010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
8282 memory leak.
8283 Reported by: Seth Goldberg.
8284
2b8fa975
CW
82852010-02-24 Joey Korkames <joey+lists@kidfixit.com>
8286
8287 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
8288 duplicate declaration of `start'.
8289
618307dd
VS
82902010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
8293 filename.
8294 Reported by: Georgy Buranov
8295
7dd05b96 82962010-02-20 Carles Pina i Estany <carles@pina.cat>
8297
8298 * util/grub-mkrawimage.c (usage): Change string formatting to
8299 improve gettext.
8300
d1484a42
MRA
83012010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8302
8303 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
8304 backspace keys.
8305
42b1d186
VS
83062010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
8309 Reported by: Michael Suchanek.
8310
83112010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
8312
8313 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
8314 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
8315
d9f31a41
VS
83162010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 Remove any reference to non-free fonts.
8319
8320 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
8321 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
8322 uses non-free components.
8323 * font/font.c (grub_font_get_name): Remove example name.
8324 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
8325 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8326 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
8327 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
8328
2793c71e
GB
83292010-02-16 Georgy Buranov <gburanov@gmail.com>
8330
8331 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
8332
402e3779
VS
83332010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
8336 Double divisor.
8337 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
8338 features.
8339 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
8340
0dd1e0dd
VS
83412010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * gensymlist.sh.in: Use TARGET_CC instead of CC.
8344
6fa7cfce
ST
83452010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8346
8347 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
8348 * docs/grub.texi (Command-line and menu entry commands): Document play
8349 command.
8350
37c8483b
ST
83512010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8352
8353 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
8354 parse arguments as inline tempo and notes. Move code for playing notes
8355 to...
8356 (play): ... new function.
8357
14da0fb7
ST
83582010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8359
8360 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
8361 grub_uint16_t instead of short.
8362 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
8363 disk from little endian to cpu endianness.
8364
04459e70
ST
83652010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
8366
8367 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
8368 GRUB_TICKS_PER_SECOND instead of 120.
8369
a0876943
VS
83702010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
8373 escape sequence after \e.
8374
e29f95dc
VS
83752010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
8378 non-ASCII characters.
8379
d27859b2
VS
83802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
8383 set root in single quotes to prevent \, from being unescaped.
8384
bc028f2f
VS
83852010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 Prevent unknown commands from stopping menuentry execution.
8388
8389 * script/execute.c (grub_script_execute_cmdline): Print error after
8390 unknown command.
8391
095f5f82
VS
83922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8393
8394 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
8395 Reported by: Pavel Pisa.
8396
8c717950
VS
83972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
8400
904935c3
VS
84012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 Merge grub_ieee1275_map_physical into grub_map and rename to
8404 grub_ieee1275_map
8405
8406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
8407 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
8408 Remove.
8409 * kern/ieee1275/openfw.c (grub_map): Rename to ...
8410 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
8411 necessary.
8412 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
8413
5b59a4e3
VS
84142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
8417 opening and not after.
8418
69e137e8
VS
84192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
8422 constants.
8423
2c0fcc36
VS
84242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8425
8426 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
8427 (alloc_phys): Use ALIGN_UP instead of align_addr.
8428
8c6052ce
VS
84292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
8432
17cec782
VS
84332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
8436
e0128bbd
VS
84372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
8440 verbose dprintf.
8441
ca62070b
VS
84422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 Fix over-4GiB seek on sparc64.
8445
8446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
8447 Replace pos_i and pos_lo with pos. All users updated.
8448 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8449 New constant.
8450 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8451 Likewise.
8452 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
8453 and pos_lo.
8454
bdca2607
VS
84552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * util/grub-mkrawimage.c (main): Call set_program_name.
8458
da278c4d
VS
84592010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 Properly align 64-bit targets.
8462
8463 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8464 (generate_image): Use ALIGN_ADDR.
8465
b274d734
VS
84662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 Properly create cross-endian images.
8469
8470 * include/grub/types.h (grub_host_to_target_addr): New macro
8471 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8472
82da2062
VS
84732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
8476
7cae4377
VS
84772010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
8480
8481 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
8482 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
8483 (grub_linux_boot): Divide by 64K when on VESA.
8484
65a533e7
VS
84852010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 Support GRUB_GFXPAYLOAD_LINUX.
8488
8489 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
8490 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
8491
dd01d397
VS
84922010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
8495 to show messages instead of discarding them.
8496 Process errors after executing command and not before. Keep old method
8497 too as precaution.
8498
660960d6
VS
84992010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * configure.ac: Check for ft2build.h.
8502
62509f04
VS
85032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8506
473df63d
VS
85072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 * genkernsyms.sh.in: Use TARGET_CC.
8510
c98d2a13
CW
85112010-02-07 Colin Watson <cjwatson@ubuntu.com>
8512
8513 * NEWS: Update.
8514
6e14234c
VS
85152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
8518 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8519 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 8520
b255e9cf
YB
85212010-02-07 Yves Blusseau <blusseau@zetam.org>
8522
6e14234c 8523 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 8524
98e6959d
VS
85252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 Fix warnings in grub-emu when compiling with maximum warning options.
8528
8529 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8530 (grub_arch_modules_addr): Return 0 and not NULL.
8531 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 8532 (xstrdup): Use newstr instead of dup.
f88d801b
VS
8533 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8534 of disk to dsk to avoid shadowing.
74e4934e
VS
8535 (find_free_slot): Fix prototype.
8536 * util/getroot.c (grub_util_is_dmraid): Make static.
8537 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8538 Add missing prototype.
8539 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 8540
74e31b5c
VS
85412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8544 appropriately.
8545
6b2ad14b
VS
85462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8547
8548 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8549 code out.
8550
8f891adc
VS
85512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8554 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8555 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8556 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8557 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8558 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8559
74b45184
VS
85602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * include/grub/err.h (grub_err_printf): Don't export.
8563
a4bced77
VS
85642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8567
007d0695
VS
85682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8571 * kern/misc.c (grub_gettext_dummy): Make static.
8572
b6c0d9c2
VS
85732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8576 by non-valid ones.
8577 * kern/term.c (grub_putchar): Likewise.
8578
f51a90d0
VS
85792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8582 buggy hook call and memory leak.
8583
6846cec5
VS
85842010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8587
468d69fe
VS
85882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8591
51906b8c
VS
85922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8595 modevar.
8596 Return grub_errno on allocation error.
8597
09706ce5
VS
85982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8601
911df80c
YB
86022010-02-06 Yves Blusseau <blusseau@zetam.org>
8603
8604 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8605 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8606
3746a6bc
VS
86072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8610 non-pxe disk.
8611 (grub_pxefs_open): Likewise.
8612
09706ce5
VS
86132010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8614
8615 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8616 * util/grub.d/10_kfreebsd.in: Likewise.
8617 * util/grub.d/10_linux.in: Likewise.
8618
7cc192d9
VS
86192010-02-06 Colin D Bennett <colin@gibibit.com>
8620
8621 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8622 (gfxmenu_mod_SOURCES): New variable.
8623 (gfxmenu_mod_CFLAGS): Likewise.
8624 (gfxmenu_mod_LDFLAGS): Likewise.
8625 * include/grub/term.h (grub_term_set_current_output): Declare
8626 argument as const.
8627 * docs/gfxmenu-theme-example.txt: New file.
8628 * gfxmenu/gfxmenu.c: Likewise.
8629 * gfxmenu/gui_box.c: Likewise.
8630 * gfxmenu/gui_canvas.c: Likewise.
8631 * gfxmenu/gui_circular_progress.c: Likewise.
8632 * gfxmenu/gui_image.c: Likewise.
8633 * gfxmenu/gui_label.c: Likewise.
8634 * gfxmenu/gui_list.c: Likewise.
8635 * gfxmenu/gui_progress_bar.c: Likewise.
8636 * gfxmenu/gui_string_util.c: Likewise.
8637 * gfxmenu/gui_util.c: Likewise.
8638 * gfxmenu/icon_manager.c: Likewise.
8639 * gfxmenu/model.c: Likewise.
8640 * gfxmenu/named_colors.c: Likewise.
8641 * gfxmenu/theme_loader.c: Likewise.
8642 * gfxmenu/view.c: Likewise.
8643 * gfxmenu/widget-box.c: Likewise.
8644 * include/grub/gfxmenu_model.h: Likewise.
8645 * include/grub/gfxmenu_view.h: Likewise.
8646 * include/grub/gfxwidgets.h: Likewise.
8647 * include/grub/gui.h: Likewise.
8648 * include/grub/gui_string_util.h: Likewise.
8649 * include/grub/icon_manager.h: Likewise.
8650
86512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 Agglomerate scrolling in gfxterm.
8654
8655 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8656 (grub_virtual_screen_setup): Initialise 'total_screen'.
8657 (write_char): Split to ...
8658 (paint_char): ... this ...
8659 (write_char): ... and this.
8660 (paint_char): Handle delayed scrolling.
8661 (draw_cursor): Likewise.
8662 (scroll_up): Split to ...
8663 (real_scroll): ... this ...
8664 (scroll_up): ... and this.
8665 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8666 characters.
8667 (grub_gfxterm_refresh): Call real_scroll.
8668
86692010-02-06 Colin D Bennett <colin@gibibit.com>
8670
8671 * include/grub/misc.h (grub_iscntrl): New inline function.
8672 (grub_isalnum): Likewise.
8673 (grub_strtol): Likewise.
8674
86752010-02-06 Colin D Bennett <colin@gibibit.com>
8676
8677 * normal/menu_text.c (get_entry_number): Move from here ...
8678 * normal/menu.c (get_entry_number): ... moved here.
8679 * include/grub/menu.h (grub_menu_get_default_entry_index):
8680 New prototype.
8681 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8682 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8683 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8684 (grub_menu_viewer_should_return): Likewise.
8685 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8686 * normal/menu_text.c (run_menu): Enable menu switching.
8687 * normal/menu_viewer.c (should_return): New variable.
8688 (menu_viewer_changed): Likewise.
8689 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8690 (grub_menu_viewer_should_return): New function.
8691 (menuviewer_write_hook): Likewise.
8692 (grub_menu_viewer_init): Likewise.
8693
86942010-02-06 Colin D Bennet <colin@gibibit.com>
86952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 Support for gfxterm in a window.
8698
8699 * include/grub/gfxterm.h: New file.
8700 * include/grub/video.h (struct grub_video_rect): New declaration.
8701 (grub_video_rect_t): Likewise.
8702 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8703 (refcount): New variable.
8704 (render_target): Likewise.
8705 (window): Likewise.
8706 (repaint_callback): Likewise.
8707 (grub_virtual_screen_setup): Use 'render_target'.
8708 (init_window): New function.
8709 (grub_gfxterm_init_window): Likewise.
8710 (grub_gfxterm_init): Check reference counter.
8711 Use init_window.
8712 (destroy_window): New function.
8713 (grub_gfxterm_destroy_window): Likewise.
8714 (grub_gfxterm_fini): Check reference counter.
8715 Use destroy_window.
8716 (redraw_screen_rect): Restore viewport.
8717 Use 'render_target' and 'window'.
8718 Call 'repaint_callback'.
8719 (write_char): Use 'render_target'.
8720 (draw_cursor): Likewise.
8721 (scroll_up): Restore viewport.
8722 Use 'render_target' and 'window'.
8723 Call 'repaint_callback'.
8724 (grub_gfxterm_cls): Likewise.
8725 (grub_gfxterm_refresh): Use 'window'.
8726 (grub_gfxterm_set_repaint_callback): New function.
8727 (grub_gfxterm_background_image_cmd): Use 'window'.
8728 (grub_gfxterm_get_term): New function.
8729 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8730
87312010-02-06 Colin D Bennett <colin@gibibit.com>
8732
8733 Bitmap scaling support.
8734
8735 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8736 (bitmap_scale_mod_SOURCES): New variable.
8737 (bitmap_scale_mod_CFLAGS): Likewise.
8738 (bitmap_scale_mod_LDFLAGS): Likewise.
8739 * include/grub/bitmap_scale.h: New file.
8740 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8741 (background_image_cmd_options): New variable.
8742 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8743 (cmd): Rename and change type to ...
8744 (background_image_cmd_handle): ... this. All users updated.
8745 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8746 * video/bitmap_scale.c: New file.
8747
87482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 SDL support.
8751
8752 * Makefile.in (LIBSDL): New variable.
8753 (enable_grub_emu_sdl): Likewise.
8754 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8755 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8756 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8757 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8758 * util/sdl.c: New file.
8759
87602010-02-06 Colin D Bennett <colin@gibibit.com>
87612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8762
8763 Double buffering support.
8764
8765 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8766 * include/grub/video.h: Update comment.
8767 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8768 New type.
8769 (grub_video_fb_doublebuf_blit_init): New prototype.
8770 * term/gfxterm.c (scroll_up): Support double buffering.
8771 (grub_gfxterm_refresh): Likewise.
8772 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8773 (grub_video_fb_doublebuf_blit_init): Likewise.
8774 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8775 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8776 'displayed_page', 'render_page' and 'update_screen'.
8777 (grub_video_vbe_fini): Free offscreen buffer.
8778 (doublebuf_pageflipping_commit): New function.
8779 (doublebuf_pageflipping_update_screen): Likewise.
8780 (doublebuf_pageflipping_init): Likewise.
8781 (double_buffering_init): Likewise.
8782 (grub_video_vbe_setup): Enable doublebuffering.
8783 (grub_video_vbe_swap_buffers): Implement.
8784 (grub_video_vbe_set_active_render_target): Handle double buffering.
8785 (grub_video_vbe_get_active_render_target): Likewise.
8786 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8787 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8788 (grub_video_vbe_enable_double_buffering): Likewise.
8789 (grub_video_vbe_swap_buffers): Use update_screen.
8790 (grub_video_set_mode): Use double buffering.
8791
87922010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8793
8794 * maintainance/gentrigtables.py: Remove.
8795 * lib/trig.c: Likewise.
8796
8797 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8798
8799 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8800 `trigtables.c'.
8801 (trigtables.c): New rule.
8802 (gentrigtables): Likewise.
8803 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8804
88052010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8806
8807 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8808 integer constants.
8809
88102010-02-06 Colin D Bennet <colin@gibibit.com>
8811
8812 Trigonometry support.
8813
8814 * include/grub/trig.h: New file.
8815 * lib/trig.c: Likewise.
8816 * maintainance/gentrigtables.py: Likewise.
8817 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8818 (trig_mod_SOURCES): New variable.
8819 (trig_mod_CFLAGS): Likewise.
8820 (trig_mod_LDFLAGS): Likewise.
8821
5562834e
VS
88222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8825 disk devices.
8826
4f8528fc
VS
88272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8830 error.
8831
2b4068e9
VS
88322010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 * util/hostdisk.c (open_device): Don't use partition device when reading
8835 before the partition.
8836 (grub_util_biosdisk_read): Don't read from partition and before the
8837 partition in single operation.
8838 (grub_util_biosdisk_write): Don't write to partition and before the
8839 partition in single operation.
8840
399f6e4d
TL
88412010-02-03 Torsten Landschoff <torsten@debian.org>
8842
8843 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8844 last sectors.
8845
996649b0
VS
88462010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8849 CDROM reads.
8850 (grub_biosdisk_write): Refuse to write to CDROM.
8851
3b205d4d
VS
88522010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8853
8854 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8855
61e89d9d
VS
88562010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * font/font.c (find_glyph): Check that bmp_idx is available before
8859 using it.
8860 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8861 with (font == NULL).
8862
bf7fcba2
CS
88632010-01-28 Christian Schmitt <chris@ilovelinux.de>
8864
8865 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8866
f45d2663
BC
88672010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8868
8869 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8870 * util/grub-script-check.c (getline): Fix empty lines case.
8871
ec1444e6
RM
88722010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8873
8874 * Makefile.in (check): Exit with fail status when one of the tests
8875 fails.
8876 * tests/example_functional_test.c (example_test): Fix reversed assert.
8877 * tests/example_unit_test.c (example_test): Likewise.
8878
2e1cb9bb
CW
88792010-01-28 Colin Watson <cjwatson@ubuntu.com>
8880
8881 * util/grub.d/10_linux.in: This script does not use any of the
8882 contents of gettext.sh, only the external command `gettext', so stop
8883 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8884 the same prefix as GRUB.)
8885 * util/grub.d/10_kfreebsd.in: Likewise.
8886
63533ab0
VS
88872010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8890 of the line.
8891
989e1f93
VS
88922010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8895 last sectors.
8896
e709ebe2
VS
88972010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8900 having a 4KiB and not 32KiB buffer size.
8901
27dea7ed
RM
89022010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8903
8904 * util/hostfs.c: Include `<errno.h>'.
8905 (grub_hostfs_read): Handle errors from fseeko() and fread().
8906
67667b9c
RM
89072010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8908
8909 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8910 loop when using read hooks on files whose size isn't sector-aligned.
8911
c294d9d8
RM
89122010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8913
8914 Remove unused parameter.
8915
8916 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8917 (grub_iso9660_open): Remove initialization of `data->length'.
8918
af75a9f1
RM
89192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8920
8921 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
8922 memleak conditions.
8923
254e2ce5 89242010-01-27 Carles Pina i Estany <carles@pina.cat>
8925
8926 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
8927 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
8928
b510928c 89292010-01-26 Carles Pina i Estany <carles@pina.cat>
8930
8931 * util/bin2h.c (usage): Fix warning (space after backslash).
8932
aa2f9dd2 89332010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 8934
8935 * font/font.c: Include `grub/fontformat.h.
8936 Remove font file format constants.
8937 (grub_font_load): Use the new macros.
8938 * include/grub/fontformat.h: New file.
8939 * util/grub-mkfont.c: Include `grub/fontformat.c'.
8940 (write_font_pf2): Use the new macros.
8941
94e7e712
RM
89422010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8943
8944 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
8945 does.
8946
3973a59a
RM
89472010-01-26 Robert Millan <rmh.grub@aybabtu.com>
8948
8949 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
8950
8951 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
8952 (_start): Macroify `0x7F'.
8953
8954 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
8955 (make_install_device): Use "(pxe)" as fallback prefix when booting
8956 via PXE.
8957
42e0cba3
GS
89582010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * configure.ac: Reset LIBS after check for libgcc symbols.
8961
847effd8
CW
89622010-01-25 Colin Watson <cjwatson@ubuntu.com>
8963
8964 * util/hostdisk.c (open_device): Add trailing newline to debug
8965 message.
8966
ea4a7e35
GS
89672010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
8968
8969 * configure.ac: Check for `limits.h'.
8970 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
8971
67951a53
RM
89722010-01-24 Robert Millan <rmh.grub@aybabtu.com>
8973
8974 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
8975 capitalize error strings.
8976
c273d4ce
ST
89772010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
8978
8979 * util/grub.d/10_hurd.in: Add a recovery mode.
8980
69be5b74
VS
89812010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 * configure.ac: Check for libgcc symbols with -nostdlib.
8984
fc9e5810
BC
89852010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
8986
8987 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
8988
4b358c0a
VS
89892010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
8992 stack since heap may be unavailable at that point.
8993 (grub_ofconsole_gotoxy): Likewise.
8994
454fcd1c
VS
89952010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8996
8997 * configure.ac: Check for _restgpr_14_x.
8998 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
8999 and _savegpr_* prototypes.
9000
566863ca
RM
90012010-01-22 Robert Millan <rmh.grub@aybabtu.com>
9002
9003 Use generic grub_reboot() for i386-efi.
9004
9005 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
9006 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
9007 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
9008
bf86e59a
VS
90092010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9010
9011 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
9012 presence of "prefix" variable as it breaks when normal.mod is
9013 embedded.
9014
d645e0f8
VS
90152010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
9018 stack since heap is unavailable at that point.
9019
f9ab2e25
VS
90202010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
9023 (grub_freebsd_bootinfo): Rewritten.
9024 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
9025
01fc7054
VS
90262010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9027
9028 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
9029
caab4fd6
RM
90302010-01-21 Robert Millan <rmh.grub@aybabtu.com>
9031
9032 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
9033 domain now.
9034
67eb1427
FZ
90352010-01-20 Felix Zielcke <fzielcke@z-51.de>
9036
9037 * util/misc.c (make_system_path_relative_to_its_root): Change the work
9038 around for handling "/" to the correct fix. Fix a memory leak. Use
9039 xstrdup instead of strdup.
9040
a9ed4ff3
VS
90412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
9044
90452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
9046
9047 Optimise glyph lookup by Basic Multilingual Plane lookup array.
9048
9049 * font/font.c (struct grub_font): New member 'bmp_idx'.
9050 (font_init): Initialise 'bmp_idx'.
9051 (load_font_index): Fill 'bmp_idx'.
9052 (find_glyph): Make inline. Use bmp_idx for BMP characters.
9053
48209f4f
VS
90542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
9057 unnecessary calls.
9058
9f0a4bb7
VS
90592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9060
9061 Move context handling out of the kernel.
9062
9063 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
9064 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
9065 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
9066 * conf/i386-efi.rmk: Likewise.
9067 * conf/i386-ieee1275.rmk: Likewise.
9068 * conf/i386-pc.rmk: Likewise.
9069 * conf/powerpc-ieee1275.rmk: Likewise.
9070 * conf/sparc64-ieee1275.rmk: Likewise.
9071 * conf/x86_64-efi.rmk: Likewise.
9072 * include/grub/env.h: Include grub/menu.h.
9073 (grub_env_var_type): Removed.
9074 (grub_env_var): Replaced field 'type' with 'global'.
9075 (grub_env_find): New prototype.
9076 (grub_env_context_open): Remove EXPORT_FUNC.
9077 (grub_env_context_close): Likewise.
9078 (grub_env_export): Likewise.
9079 (grub_env_set_data_slot): Removed.
9080 (grub_env_get_data_slot): Likewise.
9081 (grub_env_unset_data_slot): Likewise.
9082 (grub_env_unset_menu): New prototype.
9083 (grub_env_set_menu): Likewise.
9084 (grub_env_get_menu): Likewise.
9085 * include/grub/env_private.h: New file.
9086 * include/grub/normal.h (grub_context_init): New prototype.
9087 (grub_context_fini): Likewise.
9088 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
9089 * normal/context.c (grub_cmd_export): ... to here.
9090 * kern/env.c: Include env_private.h.
9091 (HASHSZ): Moved to include/grub/env_private.h.
9092 (grub_env_context): Likewise.
9093 (grub_env_sorted_var): Likewise.
9094 (current_context): Renamed from this ...
9095 (grub_current_context): ...to this. 'static' removed. All users updated.
9096 (grub_env_find): Removed 'static'.
9097 (grub_env_context_open): Moved to normal/context.c.
9098 (grub_env_context_close): Likewise.
9099 (grub_env_export): Likewise.
9100 (mangle_data_slot_name): Removed.
9101 (grub_env_set_data_slot): Likewise.
9102 (grub_env_get_data_slot): Likewise.
9103 (grub_env_unset_data_slot): Likewise.
9104 * kern/main.c (grub_set_root_dev): Don't export root.
9105 It will be done later.
9106 (grub_main): Don't export prefix.
9107 It will be done later.
9108 * normal/context.c: New file.
9109 * normal/main.c (free_menu): Use grub_env_unset_menu.
9110 (grub_normal_add_menu_entry): Use grub_env_get_menu.
9111 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
9112 (GRUB_MOD_INIT(normal)): Call grub_context_init.
9113 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
9114
8dd35b8c
VS
91152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 setpci support.
9118
9119 * commands/setpci.c: New file.
9120 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
9121 (setpci_mod_SOURCES): New variable.
9122 (setpci_mod_CFLAGS): Likewise.
9123 (setpci_mod_LDFLAGS): Likewise.
9124
449193d5
VS
91252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 Byte-addressable PCI configuration space.
9128
9129 * bus/pci.c (grub_pci_make_address): Use byte address instead of
9130 dword address.
9131 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
9132 GRUB_PCI_REG_CACHELINE.
9133 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
9134 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
9135 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
9136 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
9137 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
9138 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
9139 grub_pci_make_address.
9140 (lock_rom_area): Likewise.
9141 * commands/lspci.c (grub_lspci_iter): Use macroses
9142 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
9143 of grub_pci_make_address.
9144 * disk/ata.c (grub_ata_pciinit): Likewise.
9145 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
9146 (GRUB_PCI_REG_VENDOR): Likewise.
9147 (GRUB_PCI_REG_DEVICE): Likewise.
9148 (GRUB_PCI_REG_COMMAND): Likewise.
9149 (GRUB_PCI_REG_STATUS): Likewise.
9150 (GRUB_PCI_REG_REVISION): Likewise.
9151 (GRUB_PCI_REG_CLASS): Likewise.
9152 (GRUB_PCI_REG_CACHELINE): Likewise.
9153 (GRUB_PCI_REG_LAT_TIMER): Likewise.
9154 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
9155 (GRUB_PCI_REG_BIST): Likewise.
9156 (GRUB_PCI_REG_ADDRESSES): Likewise.
9157 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9158 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9159 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9160 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9161 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9162 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9163 (GRUB_PCI_REG_CIS_POINTER): Likewise.
9164 (GRUB_PCI_REG_SUBVENDOR): Likewise.
9165 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
9166 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
9167 (GRUB_PCI_REG_CAP_POINTER): Likewise.
9168 (GRUB_PCI_REG_IRQ_LINE): Likewise.
9169 (GRUB_PCI_REG_IRQ_PIN): Likewise.
9170 (GRUB_PCI_REG_MIN_GNT): Likewise.
9171 (GRUB_PCI_REG_MAX_LAT): Likewise.
9172 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
9173 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
9174 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 9175 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
9176 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
9177 space.
9178
96d73208
RM
91792010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9180
9181 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
9182 can be reliably determined to be supported.
9183
d4484482
RM
91842010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9185
9186 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
9187 that VESA is supported.
9188 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
9189 supported.
9190
00308ecf
VS
91912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
9194
f66924a4
RM
91952010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9196
9197 * util/misc.c (make_system_path_relative_to_its_root): Work around
9198 special-casing of "/", as previous incarnation of this routine did.
9199
cbca0ada
VS
92002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 Fix any-emu compilation.
9203
9204 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
9205 * grub_bin2h_SOURCES: New variable.
9206
34a66d99
RM
92072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9208
9209 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
9210
94fabf58
RM
92112010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9212
9213 * util/grub.d/00_header.in: Fix handling of locale_dir.
9214
02cf98ca
VS
92152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
9218 as possible unifont location (Gentoo).
9219 Reported by: Alexander Brüning
9220
327dbcd7
VS
92212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 Don't try to generate lists for kernel.img.
9224
9225 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
9226 (pkglib_MODULES): Remove kernel.img.
9227 (kernel_img_EXPORTS): Removed.
9228 (kernel_img_RELOCATABLE): New variable.
9229 * conf/x86_64-efi.rmk: Likewise.
9230 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
9231
ca467290
VS
92322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
9235 grub_xasprintf or grub_snprintf.
9236 (grub_vsprintf): Likewise.
9237 (grub_snprintf): New proto.
9238 (grub_vsnprintf): Likewise.
9239 (grub_xasprintf): Likewise.
9240 (grub_xvasprintf): Likewise.
9241 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
9242 (grub_sprintf): Removed.
9243 (grub_vsnprintf): New function.
9244 (grub_snprintf): Likewise.
9245 (grub_xvasprintf): Likewise.
9246 (grub_xasprintf): Likewise.
9247 (grub_vsprintf): Renamed to ...
9248 (grub_vsnprintf_real): ...this. New argument max_len.
9249
aca655fd
BC
92502010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
9251
9252 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
9253 fix grub-script-check warning.
9254
7ee92c32
VS
92552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * include/grub/font.h (grub_font_load): Fix prototype.
9258
f80927ca
VS
92592010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
9262
119c50ea
VS
92632010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * include/grub/x86_64/at_keyboard.h: New file.
9266
47d5f3c1
VS
92672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * loader/mips/linux.c: Include missing grub/i18n.h.
9270
55ff5266
RM
92712009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9272
9273 * normal/menu.c (notify_execution_failure): Clarify error message.
9274
c893cc87
RM
92752009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9276
9277 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
9278 return value (and revert all return statements). Update users.
9279
917dd370
CW
92802010-01-20 Dan Merillat <debian@dan.merillat.org>
9281
9282 * kern/device.c (grub_device_iterate): Allocate new part_ent
9283 structure based on sizeof (*p) rather than sizeof (p->next), to
9284 account for structure padding.
9285
9286 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
9287 disk is NULL, which might happen for LVM physical volumes with no
9288 LVM signature.
9289
d4a4ee57
RM
92902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9291
9292 * loader/mips/linux.c (grub_cmd_initrd)
9293 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
9294
92952009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9296
9297 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
9298 (grub_video_video_init, grub_video_bitmap_init)
9299 (grub_font_manager_init, grub_term_gfxterm_init)
9300 (grub_at_keyboard_init): New extern declarations.
9301 (grub_machine_init): Initialize gfxterm and at_keyboard.
9302
9303 * kern/main.c (grub_main): Revert grub_printf delay kludge.
9304
9305 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
9306 `gfxterm.mod' into core image.
9307
9308 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9309 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9310 (kernel_img_FORMAT): Copy to ...
9311
9312 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9313 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9314 (kernel_img_FORMAT): ... here, and ...
9315
9316 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9317 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9318 (kernel_img_FORMAT): ... here.
9319
9320 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
9321 and input (at_keyboard) terminals in kernel.
9322 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
9323
9324 (pkglib_MODULES): Remove `pci.mod'.
9325 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
9326 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
9327 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9328 (at_keyboard_mod_LDFLAGS): Remove variables.
9329
93302010-01-11 Felix Zielcke <fzielcke@z-51.de>
9331
9332 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
9333
93342009-12-10 Robert Millan <rmh.grub@aybabtu.com>
9335
9336 * include/grub/mips/libgcc.h: Only export symbols for functions
9337 that libgcc provides.
9338
93392009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 MIPS support.
9342
9343 * bus/bonito.c: New file.
9344 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
9345 GRUB_PCI_NUM_DEVICES.
9346 * term/i386/pc/serial.c: Move to ...
9347 * term/serial.c: ... here. All users updated.
9348 * util/i386/pc/grub-mkimage.c: Move to ...
9349 * util/grub-mkrawimage.c: ... here. All users updated.
9350 * term/i386/pc/at_keyboard.c: Move to ...
9351 * term/at_keyboard.c: ... here. All users updated.
9352 * conf/mips-qemu-mips.rmk: New file.
9353 * conf/mips-yeeloong.rmk: Likewise.
9354 * conf/mips.rmk: Likewise.
9355 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
9356 mipsel-qemu-mips.
9357 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
9358 to port addresses.
9359 (grub_ata_pciinit): Support CS5536.
9360 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
9361 * font/font_cmd.c (loadfont_command): Open file before passing it to
9362 grub_font_load.
9363 (pseudo_file_read): New function.
9364 (pseudo_file_close): Likewise.
9365 (pseudo_fs): New structure.
9366 (load_font_module): New function.
9367 (GRUB_MOD_INIT(font_manager)): Load embedded font.
9368 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
9369 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
9370 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
9371 * include/grub/i386/at_keyboard.h: Split into ...
9372 * include/grub/at_keyboard.h: ... this ...
9373 * include/grub/i386/at_keyboard.h: ... and this.
9374 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
9375 New prototype.
9376 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
9377 updated.
9378 (grub_elf64_size): Likewise.
9379 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
9380 filename.
9381 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
9382 * include/grub/i386/coreboot/serial.h: Rewritten.
9383 * include/grub/i386/ieee1275/serial.h: Include
9384 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
9385 * include/grub/i386/pc/serial.h: Moved from here ...
9386 * include/grub/serial.h: ... to here. All users updated.
9387 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
9388 (GRUB_PCI_NUM_BUS): Likewise.
9389 (GRUB_PCI_NUM_DEVICES): Likewise.
9390 (grub_pci_device_map_range): Add missing volatile keyword.
9391 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
9392 * include/grub/mips/at_keyboard.h: New file.
9393 * include/grub/mips/cache.h: Likewise.
9394 * include/grub/mips/io.h: Likewise.
9395 * include/grub/mips/kernel.h: Likewise.
9396 * include/grub/mips/libgcc.h: Likewise.
9397 * include/grub/mips/pci.h: Likewise.
9398 * include/grub/mips/qemu-mips/boot.h: Likewise.
9399 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9400 * include/grub/mips/qemu-mips/loader.h: Likewise.
9401 * include/grub/mips/qemu-mips/memory.h: Likewise.
9402 * include/grub/mips/qemu-mips/serial.h: Likewise.
9403 * include/grub/mips/qemu-mips/time.h: Likewise.
9404 * include/grub/mips/relocator.h: Likewise.
9405 * include/grub/mips/time.h: Likewise.
9406 * include/grub/mips/types.h: Likewise.
9407 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
9408 * include/grub/mips/yeeloong/boot.h: Likewise.
9409 * include/grub/mips/yeeloong/kernel.h: Likewise.
9410 * include/grub/mips/yeeloong/loader.h: Likewise.
9411 * include/grub/mips/yeeloong/memory.h: Likewise.
9412 * include/grub/mips/yeeloong/pci.h: Likewise.
9413 * include/grub/mips/yeeloong/serial.h: Likewise.
9414 * include/grub/mips/yeeloong/time.h: Likewise.
9415 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
9416 * kern/elf.c (grub_elf32_size): New parameter. All users
9417 updated.
9418 (grub_elf64_size): Likewise.
9419 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
9420 Load modules before saying "Welcome to GRUB!".
9421 Call grub_refresh after saying "Welcome to GRUB!".
9422 * kern/mips/cache.S: New file.
9423 * kern/mips/cache_flush.S: Likewise.
9424 * kern/mips/dl.c: Likewise.
9425 * kern/mips/init.c: Likewise.
9426 * kern/mips/qemu-mips/init.c: Likewise.
9427 * kern/mips/startup.S: Likewise.
9428 * kern/mips/yeeloong/init.c: Likewise.
9429 * kern/term.c (grub_putcode): Handle NULL terminal.
9430 (grub_getcharwidth): Likewise.
9431 (grub_getkey): Likewise.
9432 (grub_checkkey): Likewise.
9433 (grub_getkeystatus): Likewise.
9434 (grub_getxy): Likewise.
9435 (grub_getwh): Likewise.
9436 (grub_gotoxy): Likewise.
9437 (grub_cls): Likewise.
9438 (grub_setcolorstate): Likewise.
9439 (grub_setcolor): Likewise.
9440 (grub_getcolor): Likewise.
9441 (grub_refresh): Likewise.
9442 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
9443 (write_jump): Add hatch nop.
9444 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
9445 * lib/mips/setjmp.S: New file.
9446 * loader/mips/linux.c: Likewise.
9447 * term/i386/pc/at_keyboard.c: Move from here ...
9448 * term/at_keyboard.c: ... to here.
9449 * term/i386/pc/serial.c: Moved from here ...
9450 * term/serial.c: ... to here. All users updated.
9451 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
9452 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
9453 (serial_translate_key_sequence): Avoid deadlock.
9454 (grub_serial_getkey): Handle backspace.
9455 (grub_serial_putchar): Fix newline handling.
9456 * util/i386/pc/grub-mkimage.c: Move from here ...
9457 * util/grub-mkrawimage.c: ... to here. All users updated.
9458 (generate_image): New parameters 'font_path' and 'format'.
9459 Support embedding font.
9460 Use grub_host_to_target* instead of grub_cpu_to_le*.
9461 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9462 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9463 (options): New option "--font".
9464 (usage): Likewise.
9465 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9466 (main): Handle "--font".
9467 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9468 (grub_virtual_screen_setup): Set bg_color_display.
9469 (redraw_screen_rect): Use bg_color_display instead of incorrect
9470 bg_color.
9471 (grub_gfxterm_cls): Likewise.
9472 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
9473 Support embedding config file.
9474 (add_segments): Likewise.
9475 (options): New option "--config".
9476 (main): Handle "--config".
9477 * video/sm712.c: New file.
9478
25c2b5b3
RM
94792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9480
9481 Fix parallel builds.
9482
9483 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
9484 font.c depend on ascii.h).
9485
94862010-01-12 Carles Pina i Estany <carles@pina.cat>
9487
9488 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
9489
94902010-01-11 Carles Pina i Estany <carles@pina.cat>
9491
9492 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
9493 By default: disabled.
9494 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
9495 parameter.
9496
94972010-01-10 Carles Pina i Estany <carles@pina.cat>
9498
9499 * font/font.c: Update copyright years.
9500 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
9501
95022010-01-10 Carles Pina i Estany <carles@pina.cat>
9503
9504 * font/font.c: Include `ascii.h'.
9505 (ASCII_BITMAP_SIZE): New macro.
9506 (ascii_font_glyph): Define.
9507 (ascii_glyph_lookup): New function.
9508 (grub_font_get_string_width): Change comment. If glyph not found, use
9509 ascii_glyph_lookup.
9510 (grub_font_get_glyph_with_fallback): If glyph not available returns
9511 ascii_glyph_lookup.
9512 * util/grub-mkfont.c (file_formats): New enum.
9513 (options): Add `ascii-bitmaps' new option.
9514 (usage): Add `asii-bitmaps' new option.
9515 (write_font_ascii_bitmap): New function.
9516 (write_font): Rename to ...
9517 (write_font_p2): ... this. Remove print_glyphs call.
9518 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9519 used. Call print_glyphs.
9520 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9521
95222010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9523
9524 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9525 (grub_bin2h_SOURCES): New variable.
9526 * util/bin2h.c: New file.
9527
915fc1b8
VS
95282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * include/multiboot.h: Resynced with spec.
9531 * include/multiboot2.h: Likewise.
9532 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9533 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9534
9444b678
RM
95352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9536
9537 * include/grub/term.h (grub_term_register_input,
9538 grub_term_register_output): Check return of terminal init()
9539 routines, and abort if errors are raised.
9540
9541 * commands/terminal.c: Update copyright year.
9542
cba98e8d
RM
95432010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9544
9545 * commands/terminal.c (grub_cmd_terminal_input)
9546 (grub_cmd_terminal_output): Check return of terminal init()
9547 routines, and abort if errors are raised.
9548
6f7db5d6
VS
95492010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * include/grub/i386/bsd.h: Fix include pathes.
9552
262bff8d
VS
95532010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 Add missing *BSD copyright headers.
9556
9557 * include/grub/aout.h: Add BSD licence.
9558 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9559 * include/grub/i386/freebsd_linker.h: ... here,
9560 * include/grub/i386/freebsd_reboot.h: ... here,
9561 * include/grub/i386/netbsd_bootinfo.h: ... here,
9562 * include/grub/i386/netbsd_reboot.h: ... here,
9563 * include/grub/i386/openbsd_bootarg.h: ... here,
9564 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9565 licence to each file.
9566
b2cab848
RM
95672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9568
9569 * acinclude.m4: Remove `nop' assembly instruction; it's not
9570 implemented by all architectures.
9571
2cb6be4b
RM
95722010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9573
9574 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9575 ELILO. This is no longer necessary.
9576
a2eaee15
BC
95772010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9578
9579 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9580
9581 * util/grub-script-check.c: grub-script-check tool.
9582 * conf/common.rmk: Make rules for grub-script-check.
9583
88d17012
RM
95842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9585
9586 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9587 spotting it back in 2008. Shame on me for forgetting he did.
9588
9589 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9590
8040619d
RM
95912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9592
9593 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9594 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9595 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9596 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9597 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9598 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9599
a0c2a0f6
RM
96002010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9601
9602 * include/grub/test.h: Add license header.
9603 * tests/example_functional_test.c: Likewise.
9604 * tests/example_unit_test.c: Likewise.
9605 * tests/lib/functional_test.c: Likewise.
9606 * tests/lib/test.c: Likewise.
9607 * tests/lib/unit_test.c: Likewise.
9608
b0b13907
VS
96092010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9610
9611 Use flag-based instead of hook-based video mode selection and "auto"
9612 keyword.
9613
9614 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9615 (grub_video_set_mode): Changed prototype. All users updated.
9616 (grub_video_check_mode_flag): New inline function.
9617 * video/video.c (parse_modespec): New function.
9618 (grub_video_set_mode): Parse flags and keywords.
9619
ea379330 96202010-01-17 Carles Pina i Estany <carles@pina.cat>
9621
9622 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9623 fprintf call.
9624
e15c215e
FZ
96252010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9626
9627 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9628
409ae1c9 96292010-01-16 Carles Pina i Estany <carles@pina.cat>
9630
9631 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9632 string.
9633 * util/grub-emu.c (usage): Likewise.
9634 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9635 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9636 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9637 * util/i386/pc/grub-setup.c (usage): Likewise.
9638
70a14d3d 96392010-01-16 Carles Pina i Estany <carles@pina.cat>
9640
9641 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9642 the message.
9643 (grub_util_info): Likewise.
9644 (grub_util_error): Likewise.
9645 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9646 and/or new lines in `grub_util_warna', `grub_util_info',
9647 `grub_util_error' calls.
9648 * util/getroot.c: Likewise.
9649 * util/grub-editenv.c: Likewise.
9650 * util/grub-emu.c: Likewise.
9651 * util/grub-fstest.c: Likewise.
9652 * util/grub-mkdevicemap.c: Likewise.
9653 * util/grub-mkfont.c: Likewise.
9654 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9655 * util/grub-mkrelpath.c: Likewise.
9656 * util/grub-pe2elf.c: Likewise.
9657 * util/grub-probe.c: Likewise.
9658 * util/hostdisk.c: Likewise.
9659 * util/i386/efi/grub-mkimage.c: Likewise.
9660 * util/i386/pc/grub-mkimage.c: Likewise.
9661 * util/i386/pc/grub-setup.c: Likewise.
9662 * util/ieee1275/ofpath.c: Likewise.
9663 * util/mkisofs/eltorito.c: Likewise.
9664 * util/mkisofs/rock.c: Likewise.
9665 * util/mkisofs/write.c: Likewise.
9666 * util/raid.c: Likewise.
9667 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9668 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9669
a0b766fc
VS
96702010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 Enable multiboot on non-pc.
9673
9674 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9675 multiboot.mod and multiboot2.mod to ...
9676 * conf/i386.rmk (pkglib_MODULES): ... here.
9677 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9678 Moved to ...
9679 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9680 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9681 Moved to ...
9682 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9683 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9684 Moved to ...
9685 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9686 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9687 Moved to ...
9688 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9689 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9690 relocator.mod.
9691 (ata_mod_SOURCES): Removed.
9692 (ata_mod_CFLAGS): Likewise.
9693 (ata_mod_LDFLAGS): Likewise.
9694 (relocator_mod_SOURCES): Removed.
9695 (relocator_mod_CFLAGS): Likewise.
9696 (relocator_mod_ASFLAGS): Likewise.
9697 (relocator_mod_LDFLAGS): Likewise.
9698 Include i386.mk.
9699 * include/grub/x86_64/multiboot.h: New file.
9700 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9701 Terminate EFI.
9702
884ade56
VS
97032010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 Video multiboot support.
9706
9707 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9708 New prototype.
9709 * include/multiboot.h: Resynced with multiboot specification.
9710 * include/multiboot2.h: Likewise.
9711 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9712 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9713 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9714 (HAS_VGA_TEXT): Likewise.
9715 (accepts_video): New variable.
9716 (grub_multiboot_set_accepts_video): New function.
9717 (grub_multiboot_get_mbi_size): Account for video structures.
9718 (set_video_mode): New function.
9719 (retrieve_video_parameters): Likewise.
9720 (grub_multiboot_make_mbi): Fill video fields.
9721
0d90e8a6
VS
97222010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 Video driver ids.
9725
9726 * include/grub/video.h (grub_video_driver_id): New type.
9727 (grub_video_adapter): New member 'id'. All users updated.
9728 (grub_video_get_driver_id): New proto.
9729 * video/video.c (grub_video_get_driver_id): New function.
9730
5c71db1b 97312010-01-14 Carles Pina i Estany <carles@pina.cat>
9732
9733 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9734 `var=val'.
9735
cca15b52 97362010-01-14 Carles Pina i Estany <carles@pina.cat>
9737
9738 * normal/cmdline.c (print_completion): Gettextizze.
9739
c586fbb2 97402001-01-14 Carles Pina i Estany <carles@pina.cat>
9741
9742 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9743
ba2f6848 97442010-01-14 Carles Pina i Estany <carles@pina.cat>
9745
9746 * gettext/gettext.c (grub_gettext_translate): Push and pop
9747 grub_errno.
9748 (grub_gettext_delete_list): Change comment style.
9749 * kern/err.c (grub_error): Gettextizze.
9750 (grub_fatal): Gettextizze.
9751
0a46429a
RM
97522010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9753
9754 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9755 (grub_linux16_real_boot): ... this.
9756 * kern/i386/loader.S: Likewise.
9757 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9758 (grub_linux16_boot): New function. Switches to text mode and calls
9759 grub_linux16_real_boot().
9760
9761 * loader/i386/bsd.c: Include `<grub/video.h>'.
9762 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9763 text mode before calling grub_unix_real_boot().
9764
9765 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9766 (grub_multiboot_boot): Switch to text mode before calling
9767 grub_relocator32_boot().
9768
9769 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9770 (grub_chainloader_boot): Switch to text mode before calling
9771 grub_chainloader_real_boot().
9772
d6f93a66
RM
97732010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
97742010-01-05 Colin Watson <cjwatson@ubuntu.com>
9775
9776 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9777 non-empty value.
9778
97792010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
97802010-01-05 Colin Watson <cjwatson@ubuntu.com>
9781
9782 * util/grub.d/00_header.in: Define a "savedefault" function for use
9783 in menu entries.
9784 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9785
97862010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
97872010-01-05 Colin Watson <cjwatson@ubuntu.com>
9788
9789 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9790 saved_entry if boot_once is unset.
9791 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9792 previous saved entry (i.e. grub-reboot).
9793
97942009-12-08 Colin Watson <cjwatson@ubuntu.com>
9795
9796 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9797
97982009-12-08 Colin Watson <cjwatson@ubuntu.com>
9799
9800 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9801 `var=val'.
9802 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9803
98042009-12-08 Colin Watson <cjwatson@ubuntu.com>
9805
9806 * util/grub-reboot.in: Fix --version output.
9807 * util/grub-set-default.in: Likewise.
9808
98092009-12-08 Colin Watson <cjwatson@ubuntu.com>
9810
9811 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9812 blocks.
9813
98142009-12-08 Colin Watson <cjwatson@ubuntu.com>
9815
9816 * util/grub.d/00_header.in: Quote the value assigned to `default',
9817 in case it contains spaces.
9818
98192009-12-08 Colin Watson <cjwatson@ubuntu.com>
9820
9821 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9822 `save_default_entry' call from the macosx case to the linux case.
9823
98242009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
98252009-10-25 Colin Watson <cjwatson@ubuntu.com>
9826
9827 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9828 in `chosen' environment variable.
9829 * normal/menu_text.c (get_entry_number): Check if the variable
9830 matches the title of a menu entry.
9831 (run_menu): Pass menu to get_entry_number.
9832
9833 * util/grub-reboot.in: New file.
9834 * util/grub-set-default.in: New file.
9835 * conf/common.rmk (grub-reboot): New utility.
9836 (grub-set-default): New utility.
9837
9838 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9839 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9840 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9841 move it to `saved_entry' for the next boot. Load environment on
9842 initialisation.
9843 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9844 * util/grub.d/10_hurd.in: Likewise.
9845 * util/grub.d/10_linux.in (linux_entry): Likewise.
9846 * util/grub.d/10_windows.in: Likewise.
9847 * util/grub.d/30_os-prober.in: Likewise.
9848
9849 * util/grub-install.in: Create environment block.
9850 * util/i386/efi/grub-install.in: Likewise.
9851 * util/ieee1275/grub-install.in: Likewise.
9852 * util/sparc64/ieee1275/grub-install.in: Likewise.
9853
0934d184
BC
98542010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9855
9856 Unit testing framework for GRUB.
9857
9858 * Makefile.in: Test framework build rules for 'make check'.
9859 * conf/tests.rmk: Build rules for individual tests and framework.
9860
9861 * include/grub/test.h: Header file for whitebox tests.
9862 * tests/lib/functional_test.c: Framework support for whitebox
9863 functional tests.
9864 * tests/lib/test.c: Common whitebox testing code for unit and
9865 functional tests.
9866 * tests/lib/unit_test.c: Framework support for whitebox unit
9867 tests.
9868
9869 * tests/util/grub-shell-tester.in: Support utility for grub-script
9870 tests.
9871 * tests/util/grub-shell.in: Utility to execute grub-script
9872 commands in a Qemu instance.
9873
9874 * tests/example_functional_test.c: Example whitebox functional
9875 test.
9876 * tests/example_grub_script_test.in: Example grub-script test.
9877 * tests/example_scripted_test.in: Example scripted test.
9878 * tests/example_unit_test.c: Example whitebox unit test.
9879
9c4ffeeb
VS
98802010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9883 Add loader/i386/multiboot_mbi.c.
9884 (multiboot2_mod_SOURCES): Likewise.
9885 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9886 (multiboot2_mod_SOURCES): Likewise.
9887 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9888 (grub_multiboot_make_mbi): Likewise.
9889 (grub_multiboot_free_mbi): Likewise.
9890 (grub_multiboot_init_mbi): Likewise.
9891 (grub_multiboot_add_module): Likewise.
9892 (grub_multiboot_set_bootdev): Likewise.
9893 * loader/i386/multiboot.c (mbi): Removed.
9894 (mbi_dest): Likewise.
9895 (alloc_mbi): New variable.
9896 (grub_multiboot_payload_size): Removed. All users updated.
9897 (grub_multiboot_pure_size): New variable.
9898 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9899 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9900 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9901 (grub_fill_multiboot_mmap): Likewise.
9902 (grub_multiboot_get_bootdev): Likewise.
9903 (grub_multiboot): Use multiboot_mbi functions.
9904 * loader/i386/multiboot_mbi.c: New file.
9905
17383dfe
VS
99062010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9909 it would result in module crash.
9910
c1f28820
VS
99112010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9914 (grub_ofconsole_getwh): Split to ...
9915 (grub_ofconsole_getwh): ... this.
9916 (grub_ofconsole_dimensions): ...and this.
9917 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9918
58655a16
RM
99192010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9920
9921 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
9922
10891398
VS
99232010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9924
9925 * loader/i386/pc/multiboot2.c: Removed stalled file.
9926
0b8a223c
VS
99272010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
9930 Reported by: Grégoire Sutre
9931
92ab12b0
RM
99322010-01-11 Robert Millan <rmh.grub@aybabtu.com>
9933
9934 * util/misc.c (canonicalize_file_name): New function.
9935 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
9936 instead of realpath().
9937
a788afb6
CW
99382010-01-11 Colin Watson <cjwatson@ubuntu.com>
9939
9940 * util/grub-install.in (usage): Clarify meaning of --root-directory,
9941 and make it clearer that it's optional. Based on confusion
9942 witnessed on IRC.
9943
ffa8e3d2
VS
99442010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
9947 in premature implicit newline.
9948
e9060a9d
VS
99492010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
9952 which resulted in garbled command line at the end of screen.
9953
f0d0c0b7
RM
99542010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9955
9956 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
9957 initialization with similar approach as with other Linux loaders.
9958
0e60bae7
RM
99592010-01-10 Robert Millan <rmh.grub@aybabtu.com>
9960
9961 Fix i386-ieee1275 build.
9962
9963 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
9964 and grub_term_height() for video_{width,height} initialization.
9965
99662010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
9967
9968 Fix grub-emu build.
9969
9970 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
9971
cdb3f378
RM
99722010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
99732010-01-09 Robert Millan <rmh.grub@aybabtu.com>
9974
9975 Support for multiple terminals.
9976
9977 * Makefile.in (pkglib_DATA): terminal.lst.
9978 (terminal.lst): New target.
9979 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
9980 (GRUB_MOD_INIT(handler)): Likewise.
9981 (GRUB_MOD_FINI(handler)): Likewise.
9982 * commands/help.c (grub_cmd_help): Handle multiple terminals.
9983 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
9984 * commands/sleep.c (do_print): Use grub_term_restore_pos.
9985 (grub_cmd_sleep): Use grub_term_save_pos.
9986 * commands/terminal.c: New file.
9987 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
9988 commands/terminal.c and lib/charset.c.
9989 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
9990 (pkglib_MODULES): Add terminal.mod.
9991 (terminal_mod_SOURCES): New variable.
9992 (terminal_mod_CFLAGS): Likewise.
9993 (terminal_mod_LDFLAGS): Likewise.
9994 * genhandlerlist.sh: Don't handle terminals.
9995 * genmk.rb: Generate terminal-*.lst.
9996 * genterminallist.sh: New file.
9997 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
9998 (grub_is_valid_utf8): Likewise.
9999 (grub_utf8_to_ucs4_alloc): Likewise.
10000 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
10001 (grub_menu_register_viewer): Changed argument.
10002 (grub_menu_try_text): New proto.
10003 (grub_gfxmenu_try_hook): New declaration.
10004 * include/grub/normal.h (grub_normal_exit_level): New declaration.
10005 (grub_menu_init_page): Additional argument term.
10006 (grub_normal_init_page): Likewise.
10007 (grub_cmdline_get): Arguments simplified.
10008 (grub_utf8_to_ucs4_alloc): Removed.
10009 (grub_print_ucs4): Additional argument term.
10010 (grub_getstringwidth): Likewise.
10011 (grub_print_message_indented): Likewise.
10012 (grub_menu_text_register_instances): New proto.
10013 (grub_show_menu): Likewise.
10014 (read_terminal_list): Likewise.
10015 (grub_set_more): Likewise.
10016 * include/grub/parser.h: Include handler.h.
10017 * include/grub/reader.h: Rewritten.
10018 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
10019 (GRUB_TERM_WIDTH): Changed to function.
10020 (GRUB_TERM_HEIGHT): Likewise.
10021 (GRUB_TERM_BORDER_WIDTH): Likewise.
10022 (GRUB_TERM_BORDER_HEIGHT): Likewise.
10023 (GRUB_TERM_NUM_ENTRIES): Likewise.
10024 (GRUB_TERM_ENTRY_WIDTH): Likewise.
10025 (GRUB_TERM_CURSOR_X): Likewise.
10026 (grub_term_input_class): Likewise.
10027 (grub_term_output_class): Likewise.
10028 (grub_term_outputs_disabled): New declaration.
10029 (grub_term_inputs_disabled): Likewise.
10030 (grub_term_outputs): Likewise.
10031 (grub_term_inputs): Likewise.
10032 (grub_term_register_input): Rewritten.
10033 (grub_term_register_output): Likewise.
10034 (grub_term_unregister_input): Likewise.
10035 (grub_term_unregister_output): Likewise.
10036 (FOR_ACTIVE_TERM_INPUTS): New macro.
10037 (FOR_DISABLED_TERM_INPUTS): Likewise.
10038 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10039 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10040 * include/grub/terminfo.h: Add oterm argument to all protypes.
10041 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
10042 Use grub_rescue_run.
10043 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
10044 All users updated.
10045 * kern/reader.c: Removed. All users updated.
10046 * kern/rescue_reader.c (grub_rescue_init): Removed.
10047 (grub_rescue_reader): Likewise.
10048 (grub_register_rescue_reader): Likewise.
10049 (grub_rescue_run): New function based on kern/reader.c.
10050 * kern/term.c: Adapted for multiterm.
10051 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
10052 (grub_is_valid_utf8): Likewise.
10053 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
10054 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
10055 right terminal.
10056 * loader/i386/linux.c (grub_linux_boot): Likewise.
10057 * normal/auth.c (grub_username_get): New function.
10058 (grub_auth_check_authentication): Use grub_username_get.
10059 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
10060 * normal/color.c: Adapt for multiterm.
10061 * normal/main.c (read_config_file): Don't use grub_reader_loop.
10062 (grub_normal_init_page): Additional argument term.
10063 (read_lists): Call read_terminal_lists.
10064 (grub_enter_normal_mode): Call grub_cmdline_run.
10065 Handle grub_normal_exit_level.
10066 (grub_cmd_normal): Make reentrant.
10067 (grub_cmd_normal_exit): New function.
10068 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
10069 * normal/menu.c: Adapt for multiterm.
10070 * normal/menu_entry.c: Likewise.
10071 * normal/menu_text.c: Likewise.
10072 * normal/menu_viewer.c: Removed. All users updated.
10073 * normal/term.c: New file.
10074 * util/console.c: Change order of includes to workaround a bug in
10075 ncurses headers.
10076 * term/terminfo.c: New argument oterm on all exported functions.
10077 All users updated.
10078 * util/grub-editenv.c (grub_term_input_class): Removed.
10079 (grub_term_output_class): Likewise.
10080
1a064917
RM
100812010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10082
10083 Make loader output a bit more user-friendly.
10084
10085 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
10086 is being loaded. Likewise for the Hurd.
10087
10088 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
10089 that kernel of FreeBSD ${version} is being loaded.
10090
10091 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
10092 grub_dprintf().
10093 (grub_cmd_initrd): Likewise.
10094 * util/grub.d/10_linux.in (linux_entry): Print message indicating
10095 that Linux ${version} is being loaded. Likewise for initrd.
10096
5ce0a83a 100972010-01-09 Carles Pina i Estany <carles@pina.cat>
10098
10099 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
10100
809bbfeb 101012010-01-08 Carles Pina i Estany <carles@pina.cat>
10102
10103 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
10104 (GRUB_MOD_INIT): Gettextizze.
10105 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
10106 (GRUB_MOD_INIT): Gettextizze.
10107 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
10108 (grub_cmd_linux): Capitalise Linux.
10109 (GRUB_MOD_INIT): Gettextizze.
10110 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
10111 (grub_cmd_linux): Capitalise Linux.
10112 (GRUB_MOD_INIT): Gettextizze.
10113 * loader/i386/linux.c: Include `<grub/i18n.h>'.
10114 (grub_cmd_linux): Capitalise Linux.
10115 (GRUB_MOD_INIT): Gettextizze.
10116 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
10117 (GRUB_MOD_INIT): Gettextizze.
10118 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
10119 (grub_cmd_linux): Capitalise Linux.
10120 (GRUB_MOD_INIT): Gettextizze.
10121 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
10122 (grub_cpu_xnu_init): Gettextizze.
10123 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
10124 (GRUB_MOD_INIT): Gettextizze.
10125 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
10126 (GRUB_MOD_INIT): Gettextizze.
10127 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
10128 (grub_linux_load64): Capitalise Linux.
10129 (GRUB_MOD_INIT): Gettextizze.
10130 * loader/xnu.c: Include `<grub/i18n.h>'.
10131 (GRUB_MOD_INIT): Gettextizze.
10132 * po/POTFILES: Add `loader/efi/appleloader.c',
10133 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
10134 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
10135 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
10136 `loader/i386/xnu.c', `loader/multiboot_loader.c',
10137 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
10138 and `loader/xnu.c'.
10139
b394b2ca
RM
101402010-01-08 Robert Millan <rmh.grub@aybabtu.com>
10141
10142 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
10143
101442010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
10145
10146 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
10147 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
10148 * util/mkisofs/mkisofs.c (main): Readjust --version output.
10149
bc8b32b3
RM
101502010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10151
10152 Reset Multiboot 2 support. New loader implements the draft in
10153 /branches/multiboot2 and shares as much code as possible with the
10154 production Multiboot 1 implementation.
10155
10156 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
10157 * loader/multiboot2.c: Likewise.
10158 * loader/i386/multiboot_helper.S: Likewise.
10159 * include/multiboot2.h: Replace with latest version from the draft
10160 in /branches/multiboot2.
10161
10162 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
10163 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
10164 and `loader/multiboot2.c'.
10165 (pkglib_MODULES): Add `multiboot2.mod'.
10166 (multiboot2_mod_SOURCES): New variable.
10167 (multiboot2_mod_LDFLAGS): Likewise.
10168 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
10169
10170 * conf/i386-pc.rmk: Likewise.
10171
10172 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10173 (multiboot_mod_SOURCES): Remove variable.
10174 (multiboot_mod_LDFLAGS): Likewise.
10175 (multiboot_mod_CFLAGS): Likewise.
10176
10177 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
10178 `<multiboot2.h>' instead of `<multiboot.h>'.
10179 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
10180 (MULTIBOOT_HEADER_MAGIC): New macros.
10181
10182 * loader/multiboot_loader.c (module_version_status): Remove variable.
10183 (find_multi_boot2_header): Remove function.
10184 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
10185 logic. Always check for the Multiboot version we're compiling for.
10186 (grub_cmd_module_loader): Likewise.
10187 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
10188 command instead of `multiboot'.
10189
5d2c52b8
RM
101902010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10191
10192 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
10193 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
10194 all users.
10195
53108d92
RM
101962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
101972010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 Fix breakage introduced with previous commit.
10200
10201 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
10202 commands.
10203 * normal/handler.c (read_handler_list): Revert part of previous commit
10204 affecting this file.
10205 * normal/main.c (read_lists): Move read_handler_list() call back to ...
10206 (grub_normal_execute): ... here.
10207
e2e936b2
RM
102082010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10209
10210 Merge prefix-redefinition-fix branch.
10211
10212 * normal/autofs.c (read_fs_list): Make function capable of being
10213 run multiple times, gracefuly replacing the previous data
10214 structures.
10215 * normal/dyncmd.c (read_command_list): Likewise.
10216 * normal/handler.c (read_handler_list): Likewise.
10217 * normal/main.c (read_lists): New function. Calls all the
10218 list reading functions.
10219 (grub_normal_execute): Use read_lists() instead of calling all
10220 list reading functions explicitly. Register read_lists() as a
10221 variable hook attached to ${prefix}.
10222
607a3701
VS
102232010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 Merge crypto branch.
10226
10227 * Makefile.in (pkglib_DATA): Add crypto.lst.
10228 (crypto.lst): New target.
10229 * commands/hashsum.c: New file.
10230 * commands/password.c (check_password): Use grub_crypto_memcmp.
10231 * commands/password_pbkdf2.c: New file.
10232 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
10233 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
10234 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
10235 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
10236 -I$(srcdir)/lib/libgcrypt_wrap.
10237 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
10238 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
10239 password_pbkdf2.mod.
10240 (crypto_mod_SOURCES): New variable.
10241 (crypto_mod_CFLAGS): Likewise.
10242 (crypto_mod_LDFLAGS): Likewise.
10243 (hashsum_mod_SOURCES): New variable.
10244 (hashsum_mod_CFLAGS): Likewise.
10245 (hashsum_mod_LDFLAGS): Likewise.
10246 (pbkdf2_mod_SOURCES): New variable.
10247 (pbkdf2_mod_CFLAGS): Likewise.
10248 (pbkdf2_mod_LDFLAGS): Likewise.
10249 (password_pbkdf2_mod_SOURCES): New variable.
10250 (password_pbkdf2_mod_CFLAGS): Likewise.
10251 (password_pbkdf2_mod_LDFLAGS): Likewise.
10252 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
10253 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
10254 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
10255 Include conf/gcry.rmk.
10256 * include/grub/auth.h: Rewritten.
10257 * include/grub/crypto.h: New file.
10258 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
10259 * include/grub/normal.h (read_crypto_list): New prototype.
10260 * lib/crypto.c: New file.
10261 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
10262 * lib/pbkdf2.c: Likewise.
10263 * normal/auth.c (grub_auth_strcmp): Removed.
10264 (grub_iswordseparator): Likewise.
10265 (grub_auth_strword): Likewise.
10266 (is_authenticated): Use grub_strword.
10267 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
10268 and grub_strword. Pass entered password to authentication callback.
10269 * normal/crypto.c: New file.
10270 * normal/main.c: Call read_crypto_list.
10271 * util/grub-mkpasswd-pbkdf2.c: New file.
10272 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
10273
42841caa
VS
102742010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
10275
10276 Fix descent and ascent calculation.
10277
10278 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
10279 (options): New option "asce".
10280 (usage): Likewise.
10281 (add_char): Ignore invalid glyphs for descent calculation.
10282 Calculate ascent from actual content.
10283 (print_glyphs): Use 'asce'.
10284 (write_font): Likewise. Allow ascent override.
10285 (main): Handle "asce" option.
10286
e7730de7 102872010-01-06 Carles Pina i Estany <carles@pina.cat>
10288
10289 * kern/err.c: Include `<grub/i18n.h>'.
10290 (grub_print_error): Add full stop. Gettextizze.
10291 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
10292 (grub_bsd_load_elf): Capitalise ELF.
10293 (grub_cmd_freebsd_loadenv): Add `s' in error string.
10294 (grub_cmd_freebsd_module): Likewise.
10295 (grub_cmd_freebsd_module_elf): Likewise.
10296 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
10297
40e3a41f 102982010-01-06 Carles Pina i Estany <carles@pina.cat>
10299
10300 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
10301 * commands/search_file.c (HELP_MESSAGE): New macro.
10302 * commands/search_label.c (HELP_MESSAGE): Likewise.
10303 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
10304 * po/POTFILES: Add `commands/search_file.c',
10305 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
10306 `commands/search.c'.
10307
83507e68
RM
103082010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10309
10310 * config.rpath: Update from Gnulib.
10311
465c787b
YB
103122010-01-05 Yves Blusseau <blusseau@zetam.org>
10313
10314 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
10315
6581dd3a
YB
103162010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
10317
10318 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
10319
3bff18c5
CW
103202010-01-05 Colin Watson <cjwatson@ubuntu.com>
10321
10322 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
10323 arguments to fread so that we get a return value in bytes, rather
10324 than something that will normally be rounded down to 0.
10325 Adjust error handling to avoid producing garbage when size_t is not
10326 the same size as long long.
10327
a1368118
CW
103282010-01-05 Colin Watson <cjwatson@ubuntu.com>
10329
10330 * util/mkisofs/write.c (padblock_write): Check return value of
10331 fread.
10332
7c302978
RM
103332010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10334
10335 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
10336 floppy images now.
10337
10338 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
10339
e33ace06
RM
103402010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10341
10342 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
10343 instead of manual alignment.
10344 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
10345 verbose). Avoid attempts to read past end of the device
10346 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
10347 but GRUB_DISK_CACHE_SIZE may exceed that).
10348
4b856776
RM
103492010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10350
10351 * commands/crc.c (grub_cmd_crc): Abort on read errors.
10352 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
10353 it to upper layer.
10354
52c2d97f
VS
103552010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
10358 New constant.
10359 (grub_efi_piwg_device_path): New structure
10360 (grub_efi_piwg_device_path_t): New type.
10361 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
10362 (devpath_1): Transform to a structure. All users updated.
10363 (devpath_2): Likewise.
10364 (devpath_3): Likewise.
10365 (devpath_4): Likewise.
10366 (devpath_5): Likewise.
10367
98ff6a54
VS
103682010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * loader/efi/appleloader.c: Restored. Update all users.
10371
3a73dcb6
RM
103722010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10373
10374 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
10375
10376 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
10377 (struct boot_blocklist): Move from here ...
10378 * include/grub/i386/pc/boot.h [ASM_FILE]
10379 (struct grub_boot_blocklist): ... to here. Update all users.
10380 (setup): Only initialize `start' member of `first_block'
10381 structure. Add assert() calls to verify the other members.
10382
10383 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
10384 (generate_image): Fix broken blocklist length initialization.
10385 Add assert() call to verify blocklist `segment' field.
10386
ab0eeb0c
RM
103872010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10388
10389 * loader/efi/appleloader.c: Remove. Update all users.
10390
58bc8bd5
RM
103912010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10392
10393 * boot/i386/pc/boot.S: Update copyright year.
10394 * boot/i386/pc/cdboot.S: Likewise.
10395 * boot/i386/pc/diskboot.S: Likewise.
10396 * boot/i386/pc/lnxboot.S: Likewise.
10397 * boot/i386/pc/pxeboot.S: Likewise.
10398 * bus/pci.c: Likewise.
10399 * commands/cmp.c: Likewise.
10400 * commands/help.c: Likewise.
10401 * commands/hexdump.c: Likewise.
10402 * commands/i386/pc/halt.c: Likewise.
10403 * commands/i386/pc/play.c: Likewise.
10404 * commands/i386/pc/vbeinfo.c: Likewise.
10405 * commands/ls.c: Likewise.
10406 * commands/test.c: Likewise.
10407 * disk/dmraid_nvidia.c: Likewise.
10408 * disk/i386/pc/biosdisk.c: Likewise.
10409 * disk/ieee1275/nand.c: Likewise.
10410 * disk/ieee1275/ofdisk.c: Likewise.
10411 * disk/lvm.c: Likewise.
10412 * disk/raid.c: Likewise.
10413 * disk/raid6_recover.c: Likewise.
10414 * disk/scsi.c: Likewise.
10415 * fs/affs.c: Likewise.
10416 * fs/cpio.c: Likewise.
10417 * fs/ext2.c: Likewise.
10418 * fs/hfs.c: Likewise.
10419 * fs/iso9660.c: Likewise.
10420 * fs/ntfs.c: Likewise.
10421 * fs/sfs.c: Likewise.
10422 * fs/udf.c: Likewise.
10423 * fs/ufs.c: Likewise.
10424 * fs/xfs.c: Likewise.
10425 * gencmdlist.sh: Likewise.
10426 * genmk.rb: Likewise.
10427 * include/grub/disk.h: Likewise.
10428 * include/grub/efi/api.h: Likewise.
10429 * include/grub/efi/efi.h: Likewise.
10430 * include/grub/efi/pe32.h: Likewise.
10431 * include/grub/elf.h: Likewise.
10432 * include/grub/fs.h: Likewise.
10433 * include/grub/i386/at_keyboard.h: Likewise.
10434 * include/grub/i386/pc/memory.h: Likewise.
10435 * include/grub/i386/pc/vbe.h: Likewise.
10436 * include/grub/i386/pci.h: Likewise.
10437 * include/grub/i386/tsc.h: Likewise.
10438 * include/grub/ieee1275/ieee1275.h: Likewise.
10439 * include/grub/ntfs.h: Likewise.
10440 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
10441 * include/grub/sparc64/libgcc.h: Likewise.
10442 * include/grub/symbol.h: Likewise.
10443 * include/grub/types.h: Likewise.
10444 * include/multiboot2.h: Likewise.
10445 * io/gzio.c: Likewise.
10446 * kern/device.c: Likewise.
10447 * kern/disk.c: Likewise.
10448 * kern/efi/efi.c: Likewise.
10449 * kern/efi/mm.c: Likewise.
10450 * kern/elf.c: Likewise.
10451 * kern/file.c: Likewise.
10452 * kern/i386/dl.c: Likewise.
10453 * kern/i386/pc/init.c: Likewise.
10454 * kern/i386/pc/startup.S: Likewise.
10455 * kern/ieee1275/ieee1275.c: Likewise.
10456 * kern/ieee1275/init.c: Likewise.
10457 * kern/main.c: Likewise.
10458 * kern/mm.c: Likewise.
10459 * kern/powerpc/dl.c: Likewise.
10460 * kern/sparc64/dl.c: Likewise.
10461 * kern/x86_64/dl.c: Likewise.
10462 * lib/hexdump.c: Likewise.
10463 * loader/efi/appleloader.c: Likewise.
10464 * loader/i386/ieee1275/linux.c: Likewise.
10465 * loader/i386/pc/chainloader.c: Likewise.
10466 * loader/i386/pc/linux.c: Likewise.
10467 * loader/i386/pc/multiboot2.c: Likewise.
10468 * loader/ieee1275/multiboot2.c: Likewise.
10469 * loader/multiboot2.c: Likewise.
10470 * loader/multiboot_loader.c: Likewise.
10471 * loader/powerpc/ieee1275/linux.c: Likewise.
10472 * normal/completion.c: Likewise.
10473 * normal/menu_entry.c: Likewise.
10474 * partmap/apple.c: Likewise.
10475 * util/grub.d/10_hurd.in: Likewise.
10476 * util/hostfs.c: Likewise.
10477 * video/readers/png.c: Likewise.
10478
e2d70b5c
CW
104792010-01-03 Colin Watson <cjwatson@ubuntu.com>
10480
10481 * include/grub/misc.h (GNUC_PREREQ): New macro.
10482 (ATTRIBUTE_ERROR): New macro.
10483 * include/grub/list.h (grub_bad_type_cast_real): Use
10484 ATTRIBUTE_ERROR.
10485
a173283f 104862010-01-03 Carles Pina i Estany <carles@pina.cat>
10487
10488 * normal/menu_text.c (print_message): Change messages.
10489
7fa7ff74 104902010-01-03 Carles Pina i Estany <carles@pina.cat>
10491
10492 * normal/menu_entry.c (store_completion): Gettextizze.
10493
136d24f6 104942010-01-03 Carles Pina i Estany <carles@pina.cat>
10495
10496 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
10497
f936862e 104982010-01-03 Carles Pina i Estany <carles@pina.cat>
10499
10500 * po/POTFILES: Sort correctly.
10501
29c44ad1 105022010-01-03 Carles Pina i Estany <carles@pina.cat>
10503
10504 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10505 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10506 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10507 full stop.
10508 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10509 summary. Gettextizze the strings.
10510 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10511 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10512 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10513 full stop.
10514 (GRUB_MOD_INIT): Remove command name from summary.
10515 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10516 summary.
10517 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10518 * term/i386/pc/serial.c (options): Add full stops.
10519 (GRUB_MOD_INIT): Remove command name from the summary.
10520
77a79592 105212010-01-03 Carles Pina i Estany <carles@pina.cat>
10522
10523 * commands/acpi.c: Gettextizze help strings and/or options. Include
10524 `grub/i18n.h' if needed.
10525 * commands/blocklist.c: Likewise.
10526 * commands/boot.c: Likewise.
10527 * commands/cat.c: Likewise.
10528 * commands/cmp.c: Likewise.
10529 * commands/configfile.c: Likewise.
10530 * commands/crc.c: Likewise.
10531 * commands/date.c: Likewise.
10532 * commands/echo.c: Likewise.
10533 * commands/efi/fixvideo.c: Likewise.
10534 * commands/efi/loadbios.c: Likewise.
10535 * commands/gptsync.c: Likewise.
10536 * commands/halt.c: Likewise.
10537 * commands/handler.c: Likewise.
10538 * commands/hdparm.c: Likewise.
10539 * commands/hexdump.c: Likewise.
10540 * commands/i386/cpuid.c: Likewise.
10541 * commands/i386/pc/drivemap.c: Likewise.
10542 * commands/i386/pc/halt.c: Likewise.
10543 * commands/i386/pc/pxecmd.c: Likewise.
10544 * commands/i386/pc/vbeinfo.c: Likewise.
10545 * commands/i386/pc/vbetest.c: Likewise.
10546 * commands/ieee1275/suspend.c: Likewise.
10547 * commands/keystatus.c: Likewise.
10548 * commands/loadenv.c: Likewise.
10549 * commands/ls.c: Likewise.
10550 * commands/lsmmap.c: Likewise.
10551 * commands/lspci.c: Likewise.
10552 * commands/memrw.c: Likewise.
10553 * commands/minicmd.c: Likewise.
10554 * commands/parttool.c: Likewise.
10555 * commands/password.c: Likewise.
10556 * commands/probe.c: Likewise.
10557 * commands/read.c: Likewise.
10558 * commands/reboot.c: Likewise.
10559 * commands/search.c: Likewise.
10560 * commands/sleep.c: Likewise.
10561 * commands/test.c: Likewise.
10562 * commands/true.c: Likewise.
10563 * commands/usbtest.c: Likewise.
10564 * commands/videotest.c: Likewise.
10565 * commands/xnu_uuid.c: Likewise.
10566 * disk/loopback.c: Likewise.
10567 * hello/hello.c: Likewise.
10568 * loader/i386/bsd.c: Likewise.
10569 * term/i386/pc/serial.c: Likewise.
10570 * po/POTFILES: Add new files.
10571
da8d5c53
CW
105722010-01-02 Colin Watson <cjwatson@ubuntu.com>
10573
10574 * term/i386/pc/at_keyboard.c
10575 (keyboard_controller_wait_untill_ready): Rename to ...
10576 (keyboard_controller_wait_until_ready): ... this. Update all users.
10577
33937904 105782010-01-01 Carles Pina i Estany <carles@pina.cat>
10579
10580 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10581 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10582 string using string width.
10583 * normal/menu_text.c (grub_print_message_indented): Use
10584 grub_print_spaces and not print_spaces.
10585 (print_timeout): Likewise.
10586 (print_spaces): Move to...
10587 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10588
3fd3b8d8
RM
105892010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10590
10591 Import from Gnulib.
10592
10593 * gnulib/getdelim.c: New file.
10594 * gnulib/getline.c: Likewise.
10595
33433555
VS
105962009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10597
10598 * include/grub/list.h (grub_assert_fail): Removed.
10599 (grub_bad_type_cast_real): New function.
10600 (grub_bad_type_cast): New macro.
10601 (GRUB_AS_LIST): Use grub_bad_type_cast.
10602 (GRUB_AS_LIST_P): Likewise.
e44721e8 10603 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10604 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10605 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10606 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10607 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10608
f5a51306
VS
106092009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10610
10611 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10612 Fix syntax error.
10613
90d1e879
RM
106142009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10615
10616 * configure.ac: Check for TARGET_CFLAGS initialization before we
10617 initialize it ourselves (sigh).
10618 Move a few modifications to TARGET_CFLAGS to be unconditional
10619 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10620 eh_frame)
10621
10622 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10623 * term/i386/pc/at_keyboard.c
10624 (keyboard_controller_wait_untill_ready): Likewise.
10625 (keyboard_controller_led): Rename `led_status' paramter to avoid
10626 name conflict.
10627
465b5a81 106282009-12-28 Carles Pina i Estany <carles@pina.cat>
10629
10630 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10631 quotes.
10632
c181849b
VS
106332009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10636
9c8739a4
VS
106372009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10638
10639 * normal/menu_text.c (grub_print_message_indented): Prevent
10640 past-the-end-of-array dereference.
10641
3e74249c
VS
106422009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10645 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10646
64fd18ed 106472009-12-27 Carles Pina i Estany <carles@pina.cat>
10648
10649 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10650 * normal/main.c (grub_normal_read_line): Remove a space from the
10651 default prompt.
10652
714af9b9 106532009-12-27 Carles Pina i Estany <carles@pina.cat>
10654
10655 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10656 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10657 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10658 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10659 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10660 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10661 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10662
82f3e412 106632009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 10664
10665 * video/readers/jpeg.c (cmd): Declare.
10666 (grub_cmd_jpegtest): Use `grub_command_t' type.
10667 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10668 Assign to `cmd'.
10669 (GRUB_MOD_FINI): Use `cmd' to unregister.
10670 * video/readers/png.c (cmd): Declare.
10671 (grub_cmd_pngtest): Use `grub_command_t' type.
10672 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10673 Assign to `cmd'.
10674 (GRUB_MOD_FINI): Use `cmd' to unregister.
10675 * video/readers/tga.c (cmd): Declare.
10676 (grub_cmd_tgatest): Use `grub_command_t' type.
10677 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10678 Assign to `cmd'.
10679 (GRUB_MOD_FINI): Use `cmd' to unregister.
10680
82f3e412 106812009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 10682
10683 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10684 stops.
10685 * kern/corecmd.c (grub_register_core_commands): Likewise.
10686 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10687 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10688 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10689 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10690 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10691 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10692 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10693 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10694 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10695 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10696 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10697 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10698 * normal/handler.c (insert_handler): Likewise.
10699 * normal/main.c (GRUB_MOD_INIT): Likewise.
10700 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10701
fdcdbb66 107022009-12-26 Carles Pina i Estany <carles@pina.cat>
10703
10704 * commands/help.c (grub_cmd_help): Print the command name before the
10705 summary.
10706 (GRUB_MOD_INIT): Remove command name from the summary.
10707 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 10708 string as summary.
fdcdbb66 10709 * lib/arg.c (find_long): Print the command name before the summary.
10710 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10711 summary.
10712 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10713 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10714 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10715 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10716 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10717 * commands/date.c (GRUB_MOD_INIT): Likewise.
10718 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10719 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10720 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10721 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10722 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10723 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10724 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10725 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10726 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10727 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10728 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10729 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10730 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10731 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10732 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10733 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10734 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10735 * commands/password.c (GRUB_MOD_INIT): Likewise.
10736 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10737 * commands/read.c (GRUB_MOD_INIT): Likewise.
10738 * commands/search.c (GRUB_MOD_INIT): Likewise.
10739 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10740 * commands/test.c (GRUB_MOD_INIT): Likewise.
10741 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10742 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10743 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10744 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10745 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10746 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10747 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10748 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10749 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10750 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10751 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10752 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10753 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10754 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10755
9c288be2
VS
107562009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10757
10758 Use search command for preliminar UUID search.
10759
10760 * commands/search.c: Split into ...
10761 * commands/search_wrap.c: ...this
10762 * commands/search.c: ...and this.
10763 * commands/search_file.c: New file.
10764 * commands/search_label.c: New file.
10765 * commands/search_uuid.c: New file.
10766 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10767 Add commands/search_wrap.c, commands/search_file.c,
10768 commands/search_label.c and commands/search_uuid.c.
10769 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10770 (search_mod_SOURCES): Set to commands/search_wrap.c.
10771 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10772 search_label.mod.
10773 (search_fs_file_mod_SOURCES): New variable.
10774 (search_fs_file_mod_CFLAGS): Likewise.
10775 (search_fs_file_mod_LDFLAGS): Likewise.
10776 (search_label_mod_SOURCES): Likewise.
10777 (search_label_mod_CFLAGS): Likewise.
10778 (search_label_mod_LDFLAGS): Likewise.
10779 (search_fs_uuid_mod_SOURCES): New variable.
10780 (search_fs_uuid_mod_CFLAGS): Likewise.
10781 (search_fs_uuid_mod_LDFLAGS): Likewise.
10782 (fs_file_mod_SOURCES): Removed.
10783 (fs_file_mod_CFLAGS): Likewise.
10784 (fs_file_mod_LDFLAGS): Likewise.
10785 (fs_uuid_mod_SOURCES): Removed.
10786 (fs_uuid_mod_CFLAGS): Likewise.
10787 (fs_uuid_mod_LDFLAGS): Likewise.
10788 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10789 Set to util/grub-install.in.
10790 * disk/fs_file.c: Removed.
10791 * disk/fs_uuid.c: Likewise.
10792 * include/grub/search.h: New file.
10793 * util/grub-install.in: Handle sparc64.
10794 Create and use load.cfg.
10795 * util/sparc64/ieee1275/grub-install.in: Removed.
10796
db943399
VS
107972009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10800 Ignore return status if CF is cleared.
10801 (grub_biosdisk_get_diskinfo_standard): Likewise.
10802
3fdae612
RM
108032009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10804
10805 * term/i386/pc/at_keyboard.c
10806 (keyboard_controller_wait_untill_ready): New function.
10807 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10808 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10809 for keyboard polling, rather than duplicate the same loop. This
10810 saves a few bytes in code size.
10811
7ebaa2b4
VS
108122009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10813
10814 Support for (pxe[:server[:gateway]]) syntax and
10815 use environment variable for PXE.
10816
10817 * commands/i386/pc/pxecmd.c (options): Removed.
10818 (print_ip): Removed.
10819 (grub_cmd_pxe): Removed
10820 (grub_cmd_pxe_unload): New function.
10821 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10822 (grub_pxe_your_ip): Made static.
10823 (grub_pxe_default_server_ip): Likewise.
10824 (grub_pxe_default_gateway_ip): Likewise.
10825 (grub_pxe_blksize): Likewise.
10826 (parse_ip): New function.
10827 (grub_pxe_open): Support server and gateway specification.
10828 (grub_pxe_close): Free disk->data.
10829 (grub_pxefs_open): Use disk->data.
10830 (grub_pxefs_read): Likewise.
10831 (grub_env_write_readonly): New function.
10832 (set_mac_env): Likewise.
10833 (set_env_limn_ro): Likewise.
10834 (parse_dhcp_vendor): Likewise.
10835 (grub_pxe_detect): Set the environment variables.
10836 (set_ip_env): New function.
10837 (write_ip_env): Likewise.
10838 (grub_env_write_pxe_default_server): Likewise.
10839 (grub_env_write_pxe_default_gateway): Likewise.
10840 (grub_env_write_pxe_blocksize): Likewise.
10841 (GRUB_MOD_INIT(pxe)): Set environment variables.
10842 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10843 (grub_pxe_mac_addr_t): ... this. All users updated.
10844 (grub_pxe_your_ip): Removed.
10845 (grub_pxe_server_ip): Likewise.
10846 (grub_pxe_gateway_ip): Likewise.
10847 (grub_pxe_blksize): Likewise.
10848
ec5f98ab 108492009-12-25 Carles Pina i Estany <carles@pina.cat>
10850
10851 * commands/help.c: Include `<grub/i18n.h>'.
10852 (grub_cmd_help): Gettextizze.
10853 (GRUB_MOD_INIT): Likewise.
10854 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10855 (GRUB_MOD_INIT): Gettextizze.
10856 * commands/search.c: Include `<grub/i18n.h>'.
10857 (options): Gettextizze.
10858 (GRUB_MOD_INIT): Gettextizze.
10859 * lib/arg.c: Include `<grub/i18n.h>'.
10860 (help_options): Gettextizze.
10861 (find_long): Likewise.
10862 (grub_arg_show_help): Likewise.
10863 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10864 (read_command_list): Gettextizze.
10865 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 10866 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 10867
22815526
RM
108682009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10869
10870 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10871 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10872 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10873 (led_status): New variable.
10874 (keyboard_controller_led): New function.
10875 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10876 update led status for caps lock, num lock and scroll lock.
10877
0ad46fd7
FZ
108782009-12-25 Felix Zielcke <fzielcke@z-51.de>
10879
10880 * util/hostdisk.c (open_device): Fix a comment.
10881
d0e158c2
RM
108822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10883
10884 * util/grub-install.in (host_os): New variable.
10885 * util/i386/efi/grub-install.in (host_os): Likewise.
10886
401c0ad6
RM
108872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10888
10889 * util/mkisofs/write.c (padblock_write): Abort when given an
10890 excedingly large embed image, instead of silently truncating it.
10891
d14d3370
RM
108922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10893
10894 * include/multiboot.h: Indentation fixes.
10895
eeed10b4
RM
108962009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10897
10898 * include/multiboot.h (struct multiboot_aout_symbol_table)
10899 (struct multiboot_elf_section_header_table): New structure
10900 declarations (stolen from GRUB Legacy).
10901 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10902 table information.
10903
10904 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10905 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10906 type aliases.
10907
681c70ab
RM
109082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10909
10910 * include/multiboot.h: Make comments src2texi-friendly.
10911
e4d47d8d
RM
109122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10913
10914 For consistency with [multiboot]/docs/boot.S.
10915
10916 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10917 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10918 (MULTIBOOT_MAGIC2): Rename from this ...
10919 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10920
a0b70bda
RM
109212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10922
10923 * include/multiboot.h: Remove `<grub/types.h>'.
10924 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
10925 types. Update all users.
10926
61ba42be 109272009-12-25 Carles Pina i Estany <carles@pina.cat>
10928
10929 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
10930 `couldn't' and `can not' by `cannot'.
10931 * commands/i386/pc/drivemap.c: Likewise.
10932 * disk/ata.c: Likewise.
10933 * disk/ieee1275/nand.c: Likewise.
10934 * fs/affs.c: Likewise.
10935 * fs/fat.c: Likewise.
10936 * fs/hfs.c: Likewise.
10937 * fs/hfsplus.c: Likewise.
10938 * fs/iso9660.c: Likewise.
10939 * fs/jfs.c: Likewise.
10940 * fs/minix.c: Likewise.
10941 * fs/reiserfs.c: Likewise.
10942 * fs/sfs.c: Likewise.
10943 * fs/udf.c: Likewise.
10944 * fs/ufs.c: Likewise.
10945 * fs/xfs.c: Likewise.
10946 * loader/powerpc/ieee1275/linux.c: Likewise.
10947 * loader/sparc64/ieee1275/linux.c: Likewise.
10948 * util/grub-probe.c: Likewise.
10949 * util/misc.c: Likewise.
10950
7fd0baee 109512009-12-24 Carles Pina i Estany <carles@pina.cat>
10952
10953 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
10954 grub_errno calls.
10955 * commands/acpi.c: Likewise.
10956 * commands/blocklist.c: Likewise.
10957 * commands/efi/loadbios.c: Likewise.
10958 * commands/i386/pc/drivemap.c: Likewise.
10959 * commands/loadenv.c: Likewise.
10960 * commands/memrw.c: Likewise.
10961 * commands/password.c: Likewise.
10962 * commands/videotest.c: Likewise.
10963 * disk/ata.c: Likewise.
10964 * disk/ata_pthru.c: Likewise.
10965 * disk/dmraid_nvidia.c: Likewise.
10966 * disk/ieee1275/nand.c: Likewise.
10967 * disk/ieee1275/ofdisk.c: Likewise.
10968 * disk/loopback.c: Likewise.
10969 * disk/lvm.c: Likewise.
10970 * disk/mdraid_linux.c: Likewise.
10971 * disk/raid.c: Likewise.
10972 * disk/raid6_recover.c: Likewise.
10973 * disk/scsi.c: Likewise.
10974 * efiemu/main.c: Likewise.
10975 * efiemu/mm.c: Likewise.
10976 * efiemu/pnvram.c: Likewise.
10977 * efiemu/symbols.c: Likewise.
10978 * font/font.c: Likewise.
10979 * fs/cpio.c: Likewise.
10980 * fs/hfsplus.c: Likewise.
10981 * fs/iso9660.c: Likewise.
10982 * fs/jfs.c: Likewise.
10983 * fs/minix.c: Likewise.
10984 * fs/ntfs.c: Likewise.
10985 * fs/ntfscomp.c: Likewise.
10986 * fs/reiserfs.c: Likewise.
10987 * fs/ufs.c: Likewise.
10988 * fs/xfs.c: Likewise.
10989 * gettext/gettext.c: Likewise.
10990 * include/grub/auth.h: Likewise.
10991 * kern/elf.c: Likewise.
10992 * kern/file.c: Likewise.
10993 * kern/ieee1275/init.c: Likewise.
10994 * kern/ieee1275/mmap.c: Likewise.
10995 * kern/ieee1275/openfw.c: Likewise.
10996 * kern/powerpc/dl.c: Likewise.
10997 * kern/sparc64/dl.c: Likewise.
10998 * lib/arg.c: Likewise.
10999 * loader/i386/bsd.c: Likewise.
11000 * loader/i386/bsdXX.c: Likewise.
11001 * loader/i386/efi/linux.c: Likewise.
11002 * loader/i386/efi/xnu.c: Likewise.
11003 * loader/i386/ieee1275/linux.c: Likewise.
11004 * loader/i386/linux.c: Likewise.
11005 * loader/i386/multiboot.c: Likewise.
11006 * loader/i386/pc/linux.c: Likewise.
11007 * loader/i386/pc/multiboot2.c: Likewise.
11008 * loader/i386/xnu.c: Likewise.
11009 * loader/ieee1275/multiboot2.c: Likewise.
11010 * loader/macho.c: Likewise.
11011 * loader/machoXX.c: Likewise.
11012 * loader/multiboot2.c: Likewise.
11013 * loader/multiboot_loader.c: Likewise.
11014 * loader/powerpc/ieee1275/linux.c: Likewise.
11015 * loader/sparc64/ieee1275/linux.c: Likewise.
11016 * loader/xnu.c: Likewise.
11017 * loader/xnu_resume.c: Likewise.
11018 * mmap/i386/pc/mmap.c: Likewise.
11019 * normal/menu_viewer.c: Likewise.
11020 * partmap/acorn.c: Likewise.
11021 * partmap/amiga.c: Likewise.
11022 * partmap/apple.c: Likewise.
11023 * script/lexer.c: Likewise.
11024 * term/gfxterm.c: Likewise.
11025 * term/i386/pc/serial.c: Likewise.
11026 * term/i386/pc/vga.c: Likewise.
11027 * term/ieee1275/ofconsole.c: Likewise.
11028 * term/terminfo.c: Likewise.
11029 * video/bitmap.c: Likewise.
11030 * video/efi_gop.c: Likewise.
11031 * video/efi_uga.c: Likewise.
11032 * video/fb/video_fb.c: Likewise.
11033 * video/i386/pc/vbe.c: Likewise.
11034 * video/readers/tga.c: Likewise.
11035 * video/video.c: Likewise.
11036
0ad46fd7 110372009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
11038
11039 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
11040 * commands/lspci.c: Likewise.
11041 * commands/probe.c: Likewise.
11042 * commands/xnu_uuid.c: Likewise.
11043 * conf/i386-coreboot.rmk: Likewise.
11044 * conf/i386-efi.rmk: Likewise.
11045 * conf/i386-ieee1275.rmk: Likewise.
11046 * conf/i386-pc.rmk: Likewise.
11047 * conf/powerpc-ieee1275.rmk: Likewise.
11048 * conf/sparc64-ieee1275.rmk: Likewise.
11049 * conf/x86_64-efi.rmk: Likewise.
11050 * fs/i386/pc/pxe.c: Likewise.
11051 * gettext/gettext.c: Likewise.
11052 * include/grub/efi/graphics_output.h: Likewise.
11053 * include/grub/i386/pc/memory.h: Likewise.
11054 * kern/env.c: Likewise.
11055 * kern/i386/qemu/startup.S: Likewise.
11056 * lib/i386/pc/biosnum.c: Likewise.
11057 * lib/i386/relocator.c: Likewise.
11058 * lib/i386/relocator_asm.S: Likewise.
11059 * lib/relocator.c: Likewise.
11060 * loader/i386/bsd.c: Likewise.
11061 * loader/i386/multiboot.c: Likewise.
11062 * loader/i386/pc/chainloader.c: Likewise.
11063 * loader/i386/xnu.c: Likewise.
11064 * loader/xnu.c: Likewise.
11065 * normal/main.c: Likewise.
11066 * normal/menu_text.c: Likewise.
11067 * util/getroot.c: Likewise.
11068 * util/grub-mkconfig_lib.in: Likewise.
11069 * util/grub.d/00_header.in: Likewise.
11070 * util/i386/pc/grub-mkimage.c: Likewise.
11071 * util/mkisofs/eltorito.c: Likewise.
11072 * util/mkisofs/exclude.h: Likewise.
11073 * util/mkisofs/hash.c: Likewise.
11074 * util/mkisofs/iso9660.h: Likewise.
11075 * util/mkisofs/joliet.c: Likewise.
11076 * util/mkisofs/mkisofs.c: Likewise.
11077 * util/mkisofs/mkisofs.h: Likewise.
11078 * util/mkisofs/multi.c: Likewise.
11079 * util/mkisofs/name.c: Likewise.
11080 * util/mkisofs/rock.c: Likewise.
11081 * util/mkisofs/tree.c: Likewise.
11082 * util/mkisofs/write.c: Likewise.
11083 * video/efi_gop.c: Likewise.
11084
009ec743
VS
110852009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
11088 size counting.
11089
0ad46fd7 110902009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
11091
11092 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
11093 * genmk.rb (class SCRIPT): Modify the target file instead of source.
11094
d3d30ea0
VS
110952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
11098 (GRUB_MOD_INIT(memrw)): Update help line.
11099
a34f5c70
VS
111002009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
11103 Use grub_extcmd_t. All users updated.
11104 (options): New variable.
11105 (grub_cmd_read): Restructure for readability. Support "-v" option.
11106 (grub_cmd_write): Restructure for readability.
11107
0ad46fd7 111082009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
11109
11110 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
11111
0ad46fd7 111122009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
11113
11114 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
11115 with the actual contents of the correspondending make variable.
11116 * util/grub-mkrescue.in (pkglib_DATA): New variable.
11117 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
11118 specifying `*.lst' and `efiemu??.o'
11119
0ad46fd7 111202009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
11121
11122 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
11123 after function name.
11124 Noticed by Rene Engelhard <rene@debian.org>.
11125
dc77a799
VS
111262009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
11129 (options): New variable.
11130 (iospace): Likewise.
11131 (grub_lspci_iter): List IO spaces if "-i" was given.
11132 (grub_cmd_lspci): Parse options.
11133 (GRUB_MOD_INIT(lspci)): Use extcmd.
11134 (GRUB_MOD_FINI(lspci)): Likewise.
11135
0ad46fd7 111362009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
11137
11138 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
11139 `function' keyword.
11140 Patch by Tony Mancill <tmancill@debian.org>.
11141
b5d5993b
VS
111422009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
11145 (grub_uhci_portstatus): Likewise.
11146 (grub_uhci_portstatus): Add necessary delay.
11d18281 11147 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 11148
941903f2 111492009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 11150
941903f2 11151 * commands/acpi.c (options): Fix capitalizations and/or full stops.
11152 (GRUB_MOD_INIT): Likewise.
11153 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 11154 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
11155 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 11156 * commands/efi/loadbios.c (enable_rom_area): Likewise.
11157 (enable_rom_area): Likewise.
11158 (GRUB_MOD_INIT): Likewise.
11159 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11160 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
11161 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11162 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
11163 * commands/hexdump.c (options): Likewise.
11164 * commands/i386/cpuid.c (options): Likewise.
11165 (GRUB_MOD_INIT): Likewise.
11166 * commands/i386/pc/drivemap.c (options): Likewise.
11167 (GRUB_MOD_INIT): Likewise.
11168 * commands/i386/pc/halt (options): Likewise.
11169 (GRUB_MOD_INIT): Likewise.
11170 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11171 * commands/i386/pc/pxecmd.c (options): Likewise.
11172 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
11173 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
11174 * commands/keystatus.c (options): Likewise.
11175 (GRUB_MOD_INIT): Likewise.
11176 * commands/loadenv.c (options): Likewise.
11177 * commands/ls.c (options): Likewise.
11178 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11179 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11180 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11181 * commands/parttool.c (helpmsg): Likewise.
11182 * commands/probe.c (options): Likewise.
11183 * commands/read.c (GRUB_MOD_INIT): Likewise.
11184 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
11185 * commands/search.c (options): Likewise.
11186 * commands/sleep.c (options): Likewise.
11187 * commands/test.c (GRUB_MOD_INIT): Likewise.
11188 * commands/true.c (GRUB_MOD_INIT): Likewise.
11189 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
11190 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
11191 * lib/arg.c (help_options): Likewise.
e9bbb4e7 11192 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
11193 `$(XGETTEXT)'.
98a50553 11194 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 11195
0ad46fd7 111962009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 11197
ef3c2c3a 11198 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
11199 instead of specifying them explicit.
11200
7922f68b
RM
112012009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11202
11203 * NEWS: Add grub-probe support for GNU/Hurd.
11204
537ce47f
RM
112052009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11206
11207 * NEWS: gettext was added after 1.97.
11208
9b214e3a
RM
112092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11210
11211 * util/mkisofs/msdos_partition.h: New file (based on
11212 include/grub/msdos_partition.h).
11213 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
11214 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
11215 (ld_options, main): Recognize --protective-msdos-label.
11216 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
11217 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
11218 (padblock_write): If `use_protective_msdos_label' is set, patch a
11219 protective DOS-style label in the output image.
11220
11221 * util/grub-mkrescue.in: Use --protective-msdos-label.
11222
e9309813
RM
112232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11224
11225 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
11226 boot.
11227
0ae56929
RM
112282009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11229
11230 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
11231 variables.
11232 (ld_options, main): Recognize `--embedded-boot'.
11233 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
11234 declarations.
11235 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
11236 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
11237 (padblock_write): Likewise. Rewrite to support embedded boot image.
11238
11239 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
11240 for BIOS-based disk boot instead of only ElTorito.
11241
b15937b1
RM
112422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11243
11244 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
11245 build (not needed for bootstrap).
11246
52cc3ce0
RM
112472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11248
11249 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
11250 from i386-pc build (not needed for bootstrap).
11251 Rewrite a pair of strings.
11252
36f5ff04
RM
112532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11254
11255 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
11256
973c6c85 112572009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
11258
11259 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
11260
05d21547
AB
112612009-12-21 Andreas Born <futur.andy@googlemail.com>
11262
11263 * kern/env.c (grub_env_context_open): Mark exported variable for
11264 reexport.
11265
0175d51f
AB
112662009-12-21 Andreas Born <futur.andy@googlemail.com>
11267
11268 * kern/env.c (grub_env_export): Create nonexistent variables before
11269 exporting.
11270
7f39d92f 112712009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 11272
7f39d92f 11273 * include/grub/auth.h: Include `<grub/i18n.h>'.
11274 (GRUB_GET_PASSWORD): Gettextizze string.
11275 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
11276 menu_text.c.
11277 (grub_utf8_to_ucs4_alloc): Fix indentation.
11278 (grub_print_ucs4): Likewise.
11279 (grub_getstringwidth): Likewise.
11280 (print_message_indented): New declaration.
11281 * normal/auth.c: Include `<grub/i18n.h>'.
11282 (grub_auth_check_authentication): Gettexttize string.
11283 * normal/cmdline.c: Include `<grub/i18n.h>'.
11284 (grub_cmdline_get): Gettextizze.
11285 * normal/color.c: Include `<grub/i18n.h>'.
11286 (grub_parse_color_name_pair): Gettexttize strings.
11287 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
11288 string (use `print_message_indented').
11289 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
11290 `include/grub/normal.h'.
11291 (print_message_indented): Renamed to ...
11292 (grub_print_message_indented): ... this. Remove `static' qualifer (now
11293 used in normal/main.c).
11294 (print_message): Use `grub_print_message_indented' instead of
11295 `print_message_indented'.
11296 (print_timeout): Likewise.
11297 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
11298 (grub_normal_print_device_info): Gettexttize strings.
11299 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
11300
3041d898
VS
113012009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11302
11303 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
11304 of arguments. Return number of tokens and not arguments. All users
11305 updated.
11306
de15bf8e
VS
113072009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
11310 non-MSDOS paritions.
11311
e0a6ca52
VS
113122009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * include/grub/types.h (UNUSED): Removed since it conflicts with
11315 NetBSD headers. All users changed to direct __attribute__ ((unused)).
11316 Reported by Grégoire Sutre.
11317
b99518d1 113182009-12-19 Carles Pina i Estany <carles@pina.cat>
11319
11320 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
11321 (grub_print_ucs4_alloc): Likewise.
11322 (grub_getstringwidth): Likewise.
11323 * normal/main.c (grub_normal_init_page): Gettextize version string.
11324 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
11325 (getstringwidth): Renamed to ...
11326 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
11327 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
11328 (grub_print_ucs4): Remove `static' qualifer (now used in
11329 normal/main.c).
11330 * po/POTFILES: Add normal/main.c.
11331
bfd5e52b 113322009-12-19 Carles Pina i Estany <carles@pina.cat>
11333
11334 * normal/menu_text.c (STANDARD_MARGIN): New macro.
11335 (print_message_indented): Add `margin_left' and `margin_right'
11336 parameters.
11337 (print_message): Update `print_message_indented' calls. Adds '\n' to the
11338 strings.
11339 (print_timeout): Use `print_message_indented' to print the message.
11340 Deletes `second_stage' parameter.
11341 (run_menu): Update `print_timeout' calls.
11342
5a1ad2b9
VS
113432009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 Fix console palette on OpenFirmware.
11346
11347 * term/ieee1275/ofconsole.c (MAX): Removed.
11348 (colors): Redone based on VGA palette.
11349 (grub_ofconsole_setcolor): Discard brightness bit since only 8
11350 colors are supported.
11351 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
11352
b045f00a
VS
113532009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11354
11355 Fix potential EfiEmu double prepare.
11356
11357 * efiemu/main.c (prepared): New variable
11358 (grub_efiemu_unload): Set prepare to '0'.
11359 (grub_efiemu_prepare): Return if already prepared. Set prepared.
11360
11361 set_virtual_address_map support.
11362
11363 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
11364 prototype.
11365 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
11366 prototype.
11367 (grub_efiemu_crc32): Likewise.
11368 (grub_efiemu_crc64): Likewise.
11369 (grub_efiemu_set_virtual_address_map): Likewise.
11370 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
11371 New definition.
11372 (grub_autoefi_set_virtual_address_map): Likewise.
11373 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
11374 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
11375 Restructure flow to accomodate it.
11376 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
11377 (grub_efiemu_crc): Recompute CRC32.
11378 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
11379 (efiemu_ptv_relocated): ... this. Made global. All users updated.
11380 * efiemu/symbols.c (relocated_handle): New variable.
11381 (grub_efiemu_free_syms): Free relocated_handle.
11382 (grub_efiemu_alloc_syms): Allocate relocated_handle.
11383 (grub_efiemu_write_sym_markers): New function.
11384 (grub_efiemu_set_virtual_address_map): Likewise.
11385
11386 Newer XNU parameters.
11387
11388 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
11389 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
11390 (grub_xnu_fill_devicetree): New prototype.
11391 (grub_xnu_heap_real_start): New variable.
11392 * loader/xnu.c (get_name_ptr): New function.
11393 (grub_xnu_load_driver): Fill namelen and name.
11394
11395 64-bit xnu support.
11396
11397 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
11398 and 'loader/macho64.c'.
11399 * conf/i386-pc.rmk: Likewise.
11400 * conf/x86_64-efi.rmk: Likewise.
11401 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
11402 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
11403 * include/grub/macho.h (grub_macho_segment64): New structure.
11404 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
11405 (grub_macho_size32): ... to this.
11406 (grub_macho32_get_entry_point): Renamed from ...
11407 (grub_macho_get_entry_point32): ... to this.
11408 (grub_macho_contains_macho64): New prototype.
11409 (grub_macho_size64): Likewise.
11410 (grub_macho_get_entry_point64): Likewise.
11411 (grub_macho32_load): Renamed from ...
11412 (grub_macho_load32): ... to this.
11413 (grub_macho32_filesize): Renamed from ...
11414 (grub_macho_filesize32): ... to this.
11415 (grub_macho32_readfile): Renamed from ...
11416 (grub_macho_readfile32): ... to this.
11417 (grub_macho_filesize64): New prototype.
11418 (grub_macho_readfile64): Likewise.
11419 (grub_macho_parse32): Likewise.
11420 (grub_macho_parse64): Likewise.
11421 * loader/macho.c: Split into ...
11422 * loader/machoXX.c: ... and this. Replace 32 with XX.
11423 * loader/macho32.c: New file.
11424 * loader/macho64.c: Likewise.
11425 * loader/xnu.c (grub_xnu_is_64bit): New variable.
11426 (grub_cmd_xnu_kernel): Make 32-bit only.
11427 (grub_cmd_xnu_kernel64): New function.
11428 (grub_xnu_load_driver): Support Mach-O 64.
11429 (grub_cmd_xnu_mkext): Likewise.
11430 * util/grub.d/30_os-prober.in (osx_entry): New function.
11431 Generate entries for 64-bit boot too.
11432
11433 Eliminate ad-hoc tree format in XNU and EfiEmu.
11434
11435 * efiemu/main.c (grub_efiemu_prepare): Update comment.
11436 * efiemu/pnvram.c: Rewritten to use environment variables.
11437 All users updated.
11438
11439 Inline utf16_to_utf8.
11440
11441 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
11442 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
11443 All users updated.
11444 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
11445
11446 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
11447 * commands/usbtest.c (grub_usb_get_string): ... move here.
11448 (usb_print_str): Fix error handling.
11449 * include/grub/usb.h (grub_usb_get_string): Remove.
11450
11451 UTF-8 to UTF-16 transformation.
11452
11453 * conf/common.rmk (pkglib_MODULES): Add charset.mod
11454 (charset_mod_SOURCES): New variable.
11455 (charset_mod_CFLAGS): Likewise.
11456 (charset_mod_LDFLAGS): Likewise.
11457 * include/grub/utf.h: New file.
11458 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
11459
11460 Support for device properties.
11461
11462 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11463 (grub_xnu_devprop_device_header): Likewise.
11464 (grub_xnu_devprop_device_descriptor): Likewise.
11465 (grub_xnu_devprop_add_device): New prototype.
11466 (grub_xnu_devprop_remove_device): Likewise.
11467 (grub_xnu_devprop_remove_property): Likewise.
11468 (grub_xnu_devprop_add_property_utf8): Likewise.
11469 (grub_xnu_devprop_add_property_utf16): Likewise.
11470 (grub_cpu_xnu_init): Likewise.
11471 (grub_cpu_xnu_fini): Likewise.
11472 (grub_cpu_xnu_unload): Likewise.
11473 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
11474 (property_descriptor): Likewise.
11475 (devices): New variable.
11476 (grub_xnu_devprop_remove_property): New function.
11477 (grub_xnu_devprop_add_device): Likewise.
11478 (grub_xnu_devprop_remove_device): Likewise.
11479 (grub_xnu_devprop_add_property): Likewise.
11480 (grub_xnu_devprop_add_property_utf8): Likewise.
11481 (grub_xnu_devprop_add_property_utf16): Likewise.
11482 (hextoval): Likewise.
11483 (grub_cpu_xnu_fill_devprop): Likewise.
11484 (grub_cmd_devprop_load): Likewise.
11485 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
11486 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
11487 (cmd_devprop_load): New variable.
11488 (grub_cpu_xnu_init): New function.
11489 (grub_cpu_xnu_fini): Likewise.
11490 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
11491 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
11492 (grub_cmd_xnu_devtree): Likewise.
11493 (hextoval): New function.
11494 (unescape): Likewise.
11495 (grub_xnu_fill_devicetree): Likewise.
11496
11497 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
11498 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
11499
0945f181
VS
115002009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 Workaround for broken ATI VBE.
11503
11504 * video/i386/pc/vbe.c (last_set_mode): New variable.
11505 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11506 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11507 (grub_video_vbe_setup): Don't check for reserved flag.
11508
0ad46fd7 115092009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
11510
11511 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11512 the `find' command.
11513
c179ebe4
VS
115142009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 UUID support for HFS.
11517
11518 * fs/hfs.c (grub_hfs_uuid): New function.
11519 (grub_hfs_fs): New value .uuid.
11520 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11521
0ad46fd7 115222009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
11523
11524 Fix a segfault with parsing unknown long options.
11525
11526 * util/grub-mkrelpath.c (options): Zero terminate it.
11527
c4a3e41a
CPE
115282009-12-13 Carles Pina i Estany <carles@pina.cat>
11529
11530 * include/grub/misc.h (grub_puts): New declaration.
11531 (grub_puts_): Likewise.
a22008a6 11532 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
11533 (grub_puts_): Likewise.
11534
2e8a7602
RM
115352009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11536
11537 * util/grub-probe.c (probe): Improve error message.
11538
b50b77b9
RM
115392009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11540
11541 * loader/i386/multiboot_elfxx.c
11542 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11543 initialization.
11544
115452009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 Relocator framework
11548
11549 * loader/i386/xnu_helper.S: Removed. All users updated.
11550 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11551 (relocator_mod_SOURCES): New variable.
11552 (relocator_mod_CFLAGS): Likewise.
11553 (relocator_mod_LDFLAGS): Likewise.
11554 (relocator_mod_ASFLAGS): Likewise.
11555 * conf/x86_64.rmk: Likewise.
11556 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11557 (grub_multiboot_payload_entry_offset): Likewise.
11558 (grub_multiboot_forward_relocator): Likewise.
11559 (grub_multiboot_forward_relocator_end): Likewise.
11560 (grub_multiboot_backward_relocator): Likewise.
11561 (grub_multiboot_backward_relocator_end): Likewise.
11562 (grub_multiboot_payload_eip): New variable.
11563 (grub_multiboot_payload_orig): Likewise.
11564 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11565 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11566 * include/grub/i386/memory.h
11567 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11568 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11569 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11570 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11571 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11572 * include/grub/i386/relocator.h: New file.
11573 * include/grub/x86_64/relocator.h: Likewise.
11574 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11575 (XNU_RELOCATOR): New macro.
11576 (grub_xnu_launcher_start): Remove.
11577 (grub_xnu_launcher_end): Likewise.
11578 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11579 (grub_xnu_heap_real_start): Remove.
11580 (grub_xnu_heap_start): Change to void *. All users updated.
11581 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11582 * lib/i386/relocator.c: New file.
11583 * lib/i386/relocator_asm.S: Likewise.
11584 * lib/i386/relocator_backward.S: Likewise.
11585 * lib/mips/relocator.c: Likewise.
11586 * lib/mips/relocator_asm.S: Likewise.
11587 * lib/relocator.c: Likewise.
11588 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11589 (entry): Removed.
11590 (playground): Likewise.
11591 (grub_multiboot_payload_orig): New variable.
11592 (grub_multiboot_payload_dest): Likewise.
11593 (grub_multiboot_payload_size): Likewise.
11594 (grub_multiboot_payload_eip): Likewise.
11595 (grub_multiboot_payload_esp): Likewise.
11596 (grub_multiboot_boot): Use grub_relocator32_boot.
11597 (grub_multiboot_unload): Free relocators.
11598 (grub_multiboot): Setup stack. Use relocators.
11599 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11600 (grub_multiboot_load_elfXX): Use relocators.
11601 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11602 (grub_multiboot_payload_size): Likewise.
11603 (grub_multiboot_payload_dest): Likewise.
11604 (grub_multiboot_payload_entry_offset): Likewise.
11605 (grub_multiboot_forward_relocator): Likewise.
11606 (grub_multiboot_backward_relocator): Likewise.
11607 (grub_multiboot_real_boot): Likewise.
11608 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11609 (grub_xnu_entry_point): Likewise.
11610 (grub_xnu_arg1): Likewise.
11611 (grub_xnu_stack): Likewise.
11612 (grub_xnu_launch): Removed.
11613 (grub_xnu_boot_resume): New function.
11614 (grub_xnu_boot): Use relocators.
11615 * loader/i386/xnu_helper.S: Removed.
11616 * loader/xnu.c (grub_xnu_heap_start): New variable.
11617 (grub_xnu_heap_size): Likewise.
11618 (grub_xnu_heap_malloc): Use relocators.
11619 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11620
29eb90c6
VS
116212009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11624 anything.
11625
31027430
CPE
116262009-12-13 Carles Pina i Estany <carles@pina.cat>
11627
11628 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11629 GRUB_ERR_NONE before calling grub_env_set.
11630
dc0c71d9
RM
116312009-12-12 Robert Millan <rmh@aybabtu.com>
11632
11633 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11634 * genmk.rb (video): New variable.
11635 (CLEANFILES, VIDEOFILES): Add #{video}.
11636 (#{video}): New target rule.
11637 * genvideolist.sh: New file.
11638 * Makefile.in (pkglib_DATA): Add video.lst.
11639 (video.lst): New target rule.
11640 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11641 `video.lst'.
11642 * util/grub.d/30_os-prober.in: Replace `vbe' with
11643 ${GRUB_VIDEO_BACKEND}.
11644
2a4bfcf0
RM
116452009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11646
11647 * THANKS: Add David Miller.
11648
2a3aa4d5
RM
116492009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 libpciaccess support.
11652
11653 * Makefile.in (LIBPCIACCESS): New variable.
11654 (enable_grub_emu_pci): Likewise.
11655 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11656 util/pci.c and commands/lspci.c.
11657 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11658 * configure.ac (grub-emu-pci): New option.
11659 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11660 (grub_pci_device_unmap_range): Likewise.
11661 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11662 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11663 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11664 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11665 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11666 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11667 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11668 * include/grub/pciutils.h: New file.
11669 * util/pci.c: Likewise.
11670
0ad46fd7 116712009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
11672
11673 * util/misc.c: Don't include <errno.h> twice.
11674
0ad46fd7 116752009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
11676
11677 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11678 name in an error message.
11679 (grub_biosdisk_rw): Likewise.
11680
2e59983c
VS
116812009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 Eliminate NTFS 4Gib barrier.
11684
11685 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11686 (read_run_data): Likewise.
11687 (grub_ntfs_read_run_list): Likewise.
11688 (grub_ntfs_read_block): Likewise.
11689 (grub_ntfs_iterate_dir): Likewise.
11690 (read_mft): Likewise.
11691 (read_data): Likewise.
11692 Use COM_LOG_LEN.
11693 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11694 to avoid 64-bit division
11695 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11696 (grub_ntfs_rlst): Use grub_disk_addr_t.
11697
71ee178a
VS
116982009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 Eliminate grub-fstest 4Gib barrier.
11701
11702 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11703 (read_file): Fix error reporting.
11704
2520d4b8
VS
117052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 Eliminate hexdump 4Gib barrier.
11708
11709 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11710 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11711
e1f27065
VS
117122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11715 Fixes amarsh bug.
11716
1a0f7f45
RM
117172009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11718
11719 Remove miscellaneous files in distclean target.
11720
11721 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11722
c631d9fb
CW
117232009-12-09 Colin Watson <cjwatson@ubuntu.com>
11724
11725 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11726 if they're already set. This resolves the conflict between my
11727 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11728 fixing the --grub-probe option again.
11729 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11730 change on 2009-10-06, so that we now once again source
11731 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11732
7c7b6106
RM
117332009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11734
11735 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11736 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11737 `util/devicemap.c'.
11738
e3069ec1
CPE
117392009-12-08 Carles Pina i Estany <carles@pina.cat>
11740
11741 * include/grub/misc.h (grub_printf_): New declaration.
11742 * kern/misc.c (grub_printf_): New definition.
11743 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11744 instead of `grub_printf' and `_'.
11745 * normal/menu_entry.c (store_completion): Likewise.
11746 (run): Likewise.
11747 (grub_menu_entry_run): Likewise.
11748 * normal/menu_text.c (grub_wait_after_message): Likewise.
11749 (notify_booting): Likewise.
11750 (notify_fallback): Likewise.
11751 (notify_execution_failure): Likewise.
11752
d6ceebf1
CW
117532009-12-07 Colin Watson <cjwatson@ubuntu.com>
11754
11755 * configure.ac: Check for vasprintf.
11756 * util/misc.c (asprintf): Move allocation from here ...
11757 (vasprintf): ... to here. New function.
11758 (xasprintf): New function.
11759 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11760 prototypes.
11761 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11762 * util/grub-mkfont.c (write_font): Likewise.
11763 * util/grub-probe.c (probe): Likewise.
11764 * util/hostdisk.c (make_device_name): Likewise.
11765
de6daa8b
DM
117662009-12-06 David S. Miller <davem@sunset.davemloft.net>
11767
11768 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11769 anything even prefixed with 'cdrom' as a cdrom.
11770
0ad46fd7 117712009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
11772
11773 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11774 mount points.
11775
98d3dc02
CPE
117762009-12-05 Carles Pina i Estany <carles@pina.cat>
11777
11778 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11779 grub_gettext_msg_list.
11780 (grub_gettext_gettranslation_from_position): Return const char *
11781 and not char *.
a2c1332b 11782 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
11783 returns from the list if existing there.
11784 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11785 (grub_gettext_delete_list): Delete the list.
11786 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11787 lang environment variable is changed.
11788 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11789
b283f108
VS
117902009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 Rename kernel.mod to kernel.img.
11793
11794 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11795 (kernel_mod_EXPORTS): Rename to ...
11796 (kernel_img_EXPORTS): ... this.
11797 (kernel_mod_SOURCES): Rename to ...
11798 (kernel_img_SOURCES): ... this.
11799 (kernel_mod_HEADERS): Rename to ...
11800 (kernel_img_HEADERS): ... this. All users updated.
11801 (kernel_mod_CFLAGS): Rename to ...
11802 (kernel_img_CFLAGS): ... this.
11803 (kernel_mod_ASFLAGS): Rename to ...
11804 (kernel_img_ASFLAGS): ... this.
11805 (kernel_mod_LDFLAGS): Rename to ...
11806 (kernel_img_LDFLAGS): ... this.
11807 * conf/x86_64-efi.rmk: Likewise.
11808 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11809 (read_kernel_image): ... this. All users updated.
11810 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11811
69055f8a
CPE
118122009-12-05 Carles Pina i Estany <carles@pina.cat>
11813
11814 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11815 (print_spaces): New function.
11816 (grub_print_ucs4): New function.
11817 (getstringwidth): New function.
11818 (print_message_indented): New function.
11819 (print_message): Gettexttize strings using print_message_indented.
11820 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11821 width.
11822 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11823 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11824 Gettextize.
11825 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11826 string.
11827 (run): Likewise.
11828 (grub_menu_entry_run): Likewise.
11829 * PO/POTFILES: Add normal/menu_entry.c.
11830
f616f51c
VS
118312009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11834
57bbe3be
CPE
118352009-12-05 Carles Pina i Estany <carles@pina.cat>
11836
11837 * util/grub-install.in: Install gettext .mo files.
11838 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11839
013d67a1
CPE
118402009-12-05 Carles Pina i Estany <carles@pina.cat>
11841
11842 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11843 grub_dprintf.
11844
fb954db0
RM
118452009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11846
11847 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11848 non-firmware-dependant one in realmode.S takes precedence.
11849
6b8474f8
RM
118502009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11851
11852 * commands/halt.c: Replace misc arch-specific headers with
11853 `<grub/misc.h>'.
11854 * commands/reboot.c: Likewise.
11855 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11856 `<grub/misc.h>'.
11857 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11858 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11859 (kernel_img_SOURCES): ... to here.
11860
11861 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11862 * include/grub/i386/pc/init.h: Likewise.
11863 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11864 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11865
11866 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11867
11868 * include/grub/i386/halt.h: Remove.
11869 * include/grub/i386/reboot.h: Likewise.
11870
11871 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11872
4b2e6ca2
DM
118732009-12-03 David S. Miller <davem@sunset.davemloft.net>
11874
11875 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11876 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11877 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11878 "progname.h"
11879 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11880 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11881 (usage): Add missing comma in printf.
11882
5239348f
RM
118832009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11884
11885 Use the same reboot approach on i386 coreboot and qemu as we do on
11886 BIOS.
11887
11888 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11889 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11890 * kern/i386/reboot.c: Remove.
11891 * include/grub/i386/reboot.h (grub_reboot): Export function.
11892 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11893 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11894 0xf000:0xfff0 instead of 0xffff:0x0000.
11895 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11896 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11897
ef34cbd4
RM
118982009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11899
11900 Fix $srcdir != $objdir build.
11901
11902 * Makefile.in (po/%.po): Rewrite as ...
11903 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11904
dc9837ea
ST
119052009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11906
11907 Fix GNU/Hurd grub-install crash.
11908 * util/grub-probe.c (probe): Try to access `path' only when it is not
11909 NULL.
11910
2f857f98
VS
119112009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11912
11913 Correct module naming.
11914
11915 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11916 (GRUB_MOD_INIT(efi_uga)): ... to this
11917 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11918 (GRUB_MOD_FINI(efi_uga)): ... to this
11919 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11920 (GRUB_MOD_INIT(efi_gop)): ... to this
11921 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11922 (GRUB_MOD_FINI(efi_gop)): ... to this
11923
c5448046
RM
119242009-11-28 Robert Millan <rmh.grub@aybabtu.com>
11925
11926 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
11927 translatable.
11928 (usage): Translate `arg' strings using gettext().
11929 Thanks to Jordi Mallach for the suggestion.
11930
c85184ad
VS
119312009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 GOP support. Based on patch from Bean
11934 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
11935
11936 * video/efi_gop.c: New file.
11937 * include/grub/efi/graphics_output.h: Likewise.
11938 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
11939 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
11940 variables.
11941 * conf/x86_64-efi.rmk: Likewise.
11942
8a4c48d8
VS
119432009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11944
11945 Rename efi_fb to efi_uga.
11946
11947 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11948 'efi_uga.mod'.
11949 (efi_fb_mod_SOURCES): Rename this ...
11950 (efi_uga_mod_SOURCES): ... to this.
11951 (efi_fb_mod_CFLAGS): Rename this ...
11952 (efi_uga_mod_CFLAGS): ... to this.
11953 (efi_fb_mod_LDFLAGS): Rename this ...
11954 (efi_uga_mod_LDFLAGS): ... to this.
11955 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
11956 'efi_uga.mod'.
11957 (efi_fb_mod_SOURCES): Rename this ...
11958 (efi_uga_mod_SOURCES): ... to this.
11959 (efi_fb_mod_CFLAGS): Rename this ...
11960 (efi_uga_mod_CFLAGS): ... to this.
11961 (efi_fb_mod_LDFLAGS): Rename this ...
11962 (efi_uga_mod_LDFLAGS): ... to this.
11963 * video/efi_fb.c: Move this ...
11964 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
11965
fb6c1a7b
RM
119662009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11967
11968 * po/README: New file. Explain our PO file workflow.
11969
3bc7896c
RM
119702009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11971
11972 * po/ChangeLog: Remove. Move relevant entries back to ...
11973 * ChangeLog: ... here.
11974 * po/ca.po: Remove (now handled by TLP).
11975 * po/id.po: Likewise.
11976 * po/zh_CN.po: Likewise.
11977 * Makefile.in (LINGUAS): Initialize in a way that supports
11978 empty set.
11979
9ed4841d
RM
119802009-11-27 Robert Millan <rmh.grub@aybabtu.com>
11981
11982 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
11983 reliing on po/LINGUAS.
11984 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
11985 (po/%.po): ... this.
11986
0ad46fd7 119872009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
11988
11989 * util/i386/efi/grub-mkimage.c: Include "progname.h".
11990 (main): Use `program_name' instead of nonexistent `progname'.
11991
e30dd392
FZ
119922009-11-26 Felix Zielcke <fzielcke@z-51.de>
11993
11994 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
11995 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
11996
7656de4f
RM
119972009-11-26 Robert Millan <rmh.grub@aybabtu.com>
11998
11999 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
12000 commit.
12001 * conf/i386-efi.rmk: Likewise.
12002 * conf/i386-ieee1275.rmk: Likewise.
12003 * conf/powerpc-ieee1275.rmk: Likewise.
12004 * conf/sparc64-ieee1275.rmk: Likewise.
12005 * conf/x86_64-efi.rmk: Likewise.
12006
db77c4d4
FZ
120072009-11-26 Felix Zielcke <fzielcke@z-51.de>
12008
12009 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
12010
a755bb04
FZ
120112009-11-26 Felix Zielcke <fzielcke@z-51.de>
12012
12013 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
12014
8a4c07fd
RM
120152009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12016
12017 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
12018 (grub_mkdevicemap_SOURCES): New variable.
12019 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
12020 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
12021 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
12022 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
12023 (grub_mkdevicemap_SOURCES): Remove.
12024 * conf/i386-efi.rmk: Likewise.
12025 * conf/i386-ieee1275.rmk: Likewise.
12026 * conf/i386-pc.rmk: Likewise.
12027 * conf/powerpc-ieee1275.rmk: Likewise.
12028 * conf/sparc64-ieee1275.rmk: Likewise.
12029 * conf/x86_64-efi.rmk: Likewise.
12030 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
12031 (usage): Fix strings to use `program_name'.
12032 (main): Initialize gettext.
12033 * util/grub-editenv.c: Likewise.
12034 * util/grub-emu.c: Likewise.
12035 * util/grub-fstest.c: Likewise.
12036 * util/grub-mkdevicemap.c: Likewise.
12037 * util/grub-mkfont.c: Likewise.
12038 * util/grub-mkrelpath.c: Likewise.
12039 * util/grub-pe2elf.c: Likewise.
12040 * util/grub-probe.c: Likewise.
12041 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12042 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12043 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12044
12045 * util/misc.c: Include `"progname.h"'.
12046 (progname): Remove variable.
12047 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
12048
6f61ed55
FZ
120492009-11-25 Felix Zielcke <fzielcke@z-51.de>
12050
12051 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
12052 printf and print a newline after the menuentry header line.
12053 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12054
f022876b
FZ
120552009-11-25 Felix Zielcke <fzielcke@z-51.de>
12056
12057 autoconf >= 2.60 support $(localedir).
12058
12059 * INSTALL: Note that autoconf 2.60 is required.
12060 * configure.ac (AC_PREREQ): Bump to 2.60.
12061 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
12062 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12063
6717926e
YB
120642009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
12065
12066 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
12067 aclocal is run.
12068
08806a54
RM
120692009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12070
12071 * normal/main.c (grub_normal_read_line): Fix off-by-one
12072 buffer overflow.
12073
13b33fba
RM
120742009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12075
12076 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
12077 "parser.grub" in grub_command_execute() call.
12078
4a8572e9
CPE
120792009-11-24 Carles Pina i Estany <carles@pina.cat>
12080
12081 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
12082 * conf/i386-efi.rmk: Likewise.
12083 * conf/i386-ieee1275.rmk: Likewise.
12084 * conf/i386-pc.rmk: Likewise.
12085 * conf/powerpc-ieee1275.rmk: Likewise.
12086 * conf/sparc64-ieee1275.rmk: Likewise.
12087 * conf/x86_64-efi.rmk: Likewise.
12088 * gettext/gettex.c: Include <grub/i18n.h>.
12089 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
12090 here ...
12091 * include/grub/i18n.h: ... to here
12092 * include/grub/i18n.h: ... to here.
12093 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 12094 (grub_gettext_dummy): Move above user.
4a8572e9 12095
bee48093
FZ
120962009-11-24 Felix Zielcke <fzielcke@z-51.de>
12097
12098 * util/Makefile.in (install-local): Convert a `for' into a normal
12099 shell expansion.
12100
a031e91c
RM
121012009-11-24 Robert Millan <rmh.grub@aybabtu.com>
12102
12103 * autogen.sh: Add automake call.
12104 * config.guess: Remove.
12105 * config.sub: Likewise.
12106 * install-sh: Likewise.
12107
26bec39d
FZ
121082009-11-24 Felix Zielcke <fzielcke@z-51.de>
12109
12110 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
12111
8e2532fd
FZ
121122009-11-24 Felix Zielcke <fzielcke@z-51.de>
12113
12114 * util/Makefile.in (install-local): Convert a make `$(foreach)'
12115 function to a normal shell `for'.
12116
fefa1b7d
FZ
121172009-11-24 Felix Zielcke <fzielcke@z-51.de>
12118
12119 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12120
4501250b
FZ
121212009-11-24 Felix Zielcke <fzielcke@z-51.de>
12122
12123 * util/grub-mkrelpath.c: New file.
12124 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
12125 (grub_mkrelpath_SOURCES): New variable.
12126 * include/grub/util/misc.h: New function prototype.
12127 * util/misc.c (make_system_path_relative_to_its_root): New function.
12128
12129 * util/grub-mkconfig_lib.in (bindir): New variable.
12130 (grub_mkrelpath): Likewise.
12131 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
12132
12133 * util/probe.c (probe): Make the file path relative to its root.
12134 Change a info message to use the GRUB path. Enable again the
12135 check if we can read the file with GRUB facilities.
12136
12137 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
12138 to its root.
12139
11d9778b
FZ
121402009-11-24 Felix Zielcke <fzielcke@z-51.de>
12141
12142 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
12143 platform.
12144
4465287d
FZ
121452009-11-24 Felix Zielcke <fzielcke@z-51.de>
12146
12147 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
12148 strncmp().
12149
62b47f22
FZ
121502009-11-24 Felix Zielcke <fzielcke@z-51.de>
12151
12152 * util/getroot.c (grub_util_is_dmraid): New function.
12153 (grub_util_get_dev_abstraction): Treat dmraid and multipath
12154 devices as normal ones, not as LVM.
12155
1eafb9b9 121562009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
12157
12158 * conf/common.rmk: Add grub-gettext_lib target and updates
12159 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
12160 LDFLAGS.
12161 * gettext/gettext.c: New file. (Reads mo files).
12162 * include/grub/file.h (grub_file_pread): New prototype.
12163 * include/grub/i18n.h (_): New prototype.
12164 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
12165 prototypes.
12166 * kern/misc.c (grub_gettext_dummy): New function.
12167 * normal/menu_text.c: Include <grub/i18n.h>.
12168 * normal/menu_text.c (print_timeout): Gettexttize string.
12169 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
12170 * po/POTFILES: Add `normal/menu_text.c'.
12171 * po/ca.po: Add new translations.
c3ea6bd4
CPE
12172 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
12173 gettext module and defines locale_dir and lang in grub.cfg.
12174 * NEWS: Add gettext support.
12175
0fdb2568
RM
121762009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12177
12178 * util/hostdisk.c: Include `<grub/i18n.h>'.
12179 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
12180 (make_device_name): Rewrite using asprintf.
12181 (convert_system_partition_to_system_disk): Replace 0 with NULL.
12182 (find_system_device): If a device is not found, generate one just
12183 by reusing the OS path name.
12184 (read_device_map): Make it permissible for device.map not to exist.
12185
f515aa62
RM
121862009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12187
12188 * script/sh/execute.c: Move from here ...
12189 * script/execute.c: ... to here. Update all users.
12190 * script/sh/function.c: Move from here ...
12191 * script/function.c: ... to here. Update all users.
12192 * script/sh/lexer.c: Move from here ...
12193 * script/lexer.c: ... to here. Update all users.
12194 * script/sh/main.c: Move from here ...
12195 * script/main.c: ... to here. Update all users.
12196 * script/sh/parser.y: Move from here ...
12197 * script/parser.y: ... to here. Update all users.
12198 * script/sh/script.c: Move from here ...
12199 * script/script.c: ... to here. Update all users.
12200
f84b481b
RM
122012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12202
12203 * configure.ac: Detect all `emu' platforms. Define
12204 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
12205 --enable-grub-emu logic. Disable include/grub/machine
12206 symlink on `emu' platforms.
12207
12208 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
12209 * gensymlist.sh.in: Likewise.
12210
12211 * include/grub/i386/coreboot/machine.h: Remove file.
12212 * include/grub/i386/efi/machine.h: Likewise.
12213 * include/grub/i386/ieee1275/machine.h: Likewise.
12214 * include/grub/i386/pc/machine.h: Likewise.
12215 * include/grub/i386/qemu/machine.h: Likewise.
12216 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12217 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12218 * include/grub/x86_64/efi/machine.h: Likewise.
12219
12220 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
12221 * commands/halt.c: Likewise.
12222 * commands/reboot.c: Likewise.
12223 * include/grub/autoefi.h: Likewise.
12224 * include/grub/i386/at_keyboard.h: Likewise.
12225 * include/grub/i386/kernel.h: Likewise.
12226 * include/grub/i386/loader.h: Likewise.
12227 * include/grub/i386/pc/memory.h: Likewise.
12228 * kern/dl.c: Likewise.
12229 * kern/i386/coreboot/init.c: Likewise.
12230 * loader/i386/bsd.c: Likewise.
12231 * loader/i386/linux.c: Likewise.
12232 * loader/multiboot_loader.c: Likewise.
12233 * term/i386/pc/serial.c: Likewise.
12234 * term/usb_keyboard.c: Likewise.
12235
12236 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
12237 `<grub/machine/machine.h>'
12238 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
12239 * util/misc.c: Remove `<grub/machine/machine.h>' and
12240 `<grub/machine/time.h>'.
12241
12242 * Makefile.in (enable_grub_emu): Remove variable.
12243 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
12244
12245 * conf/any-emu.rmk: New file.
12246 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
12247 (grub_emu_init.c): Move from here ...
12248 * conf/any-emu.rmk: ... to here.
12249
12250 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
12251 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
12252 * conf/any-emu.rmk: ... to here.
12253
4efeab03
RM
122542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12255
12256 * include/grub/parser.h (grub_parser_register): Document need
12257 of `name' parameter.
12258 * normal/main.c (grub_normal_read_line): Simplify prompt string.
12259 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
12260 "sh" to "grub".
12261
ea1dd8bf
RM
122622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12263
12264 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
12265 `$(XGETTEXT)'.
12266 * include/grub/i18n.h (N_): New macro.
12267 * util/mkisofs/mkisofs.h: Likewise.
12268 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
12269 around N_().
12270 (usage): Use gettext() to translate help strings when printing them.
12271
0c140626
RM
122722009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12273
12274 Based on patch from Bean
12275 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12276
12277 * video/efi_fb.c: New file.
12278 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
12279 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12280 variables.
12281 * conf/x86_64-efi.rmk: Likewise.
12282
87d58298
RM
122832009-11-22 Robert Millan <rmh.grub@aybabtu.com>
12284
12285 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
12286 * util/i386/pc/grub-setup.c: Likewise.
12287
994cc3a3
ST
122882009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12289
12290 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
12291 <hurd/fs.h>
12292 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
12293 file_get_storage_info to implement grub_guess_root_device.
12294
26a61d6a
FZ
122952009-11-21 Felix Zielcke <fzielcke@z-51.de>
12296
12297 * Makefile.in (target): Use make's builtin $(shell) function
12298 instead of calling directly $(SHELL) to create the locale directories,
12299 inside the $(foreach) function.
12300
74ff1dd5
FZ
123012009-11-21 Felix Zielcke <fzielcke@z-51.de>
12302
12303 * util/grub-mkrescue.in: Print an error and usage if output option
12304 has not been given.
12305
0b787d0e
FZ
123062009-11-21 Felix Zielcke <fzielcke@z-51.de>
12307
12308 Patch from Loïc Minier <loic.minier@ubuntu.com>.
12309 * util/grub.d/30_os-prober.in: Cope with Linux entries where
12310 root and /boot are on different devices.
12311
1164b270
RM
123122009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12313
12314 Fix build for srcdir != objdir.
12315
12316 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
12317 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
12318 $(srcdir).
12319 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
12320 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
12321 reference for input.
12322
13774a2f
RM
123232009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12324
12325 * util/grub-mkrescue.in: Use source directory direcly (without copiing
12326 or hardlinking it). Remove -J option, Joliet is not compatible with
12327 multiple source directories.
12328
efda854e
RM
123292009-11-21 Carles Pina i Estany <carles@pina.cat>
123302009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12331
12332 * util/grub-mkrescue.in: Recognize `--override-directory' option.
12333 (process_input_dir): New function. Process an arbitrary input
12334 directory.
12335 Misc adjustments to support both "override mode" and system-wide mode.
12336
6c09890c
FZ
123372009-11-20 Felix Zielcke <fzielcke@z-51.de>
12338
12339 * configure.ac (UNIFONT_BDF): Rename to ...
12340 (FONT_SOURCE): ... this. Update all users.
12341
a797824f
FZ
123422009-11-20 Felix Zielcke <fzielcke@z-51.de>
12343
12344 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
12345 to the list of unifont files to look for.
12346
cd4f42b0
RM
123472009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12348
12349 Patch from Joe Auricchio <jauricchio@gmail.com>
12350 * commands/minicmd.c (grub_mini_cmd_clear): New function.
12351 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
12352 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
12353
393c783d
FZ
123542009-11-19 Felix Zielcke <fzielcke@z-51.de>
12355
12356 * Makefile.in (install-local): Add a missing backslash.
12357
b2f1e327
FZ
123582009-11-19 Felix Zielcke <fzielcke@z-51.de>
12359
12360 * include/grub/x86_64/io.h: New file.
12361
f577f7a0
RM
123622009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12363
12364 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
12365 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
12366 Include `"progname.h"'.
12367 (main): Initialize gettext.
12368 * util/i386/pc/grub-setup.c: Gettexttize.
12369 * util/i386/pc/grub-mkimage.c: Likewise.
12370
12371 * Makefile.in (po/*.po): Redefine as ...
12372 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
12373
3bc7896c
RM
12374 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
12375
c37943b6
RM
123762009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12377
12378 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
12379 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
12380 (program_name): Remove.
12381 (main): Initialize gettext support.
6323f705
RM
12382 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
12383 Include `<libintl.h>'.
12384 (_): New macro.
c37943b6
RM
12385
12386 * util/mkisofs/eltorito.c: Gettexttize.
12387 * util/mkisofs/joliet.c: Likewise.
12388 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
12389 * util/mkisofs/multi.c: Likewise.
12390 * util/mkisofs/rock.c: Likewise.
12391 * util/mkisofs/tree.c: Likewise.
12392 * util/mkisofs/write.c: Likewise.
12393
3bc7896c
RM
12394 * po/POTFILES: Update with new files.
12395
5ce77c6e
RM
123962009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12397
12398 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
12399 * util/mkisofs/iso9660.h: Likewise.
12400 * util/mkisofs/joliet.c: Likewise.
12401 * util/mkisofs/mkisofs.c: Likewise.
12402 * util/mkisofs/mkisofs.h: Likewise.
12403 * util/mkisofs/rock.c: Likewise.
12404 * util/mkisofs/tree.c: Likewise.
12405 * util/mkisofs/write.c: Likewise.
12406
12407 * util/mkisofs/eltorito.c (rcsid): Remove.
12408 * util/mkisofs/hash.c: Likewise.
12409 * util/mkisofs/joliet.c: Likewise.
12410 * util/mkisofs/name.c: Likewise.
12411 * util/mkisofs/rock.c: Likewise.
12412 * util/mkisofs/tree.c: Likewise.
12413 * util/mkisofs/write.c: Likewise.
12414
1dabbc77
RM
124152009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12416
12417 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
12418 instead of static allocation.
12419 * util/mkisofs/match.h: Likewise.
12420
633877cb
RM
124212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12422
3bc7896c
RM
12423 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
12424 and `util/grub.d/10_linux.in'.
633877cb
RM
12425 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
12426 translatable Shell files.
12427
af1c0c85
RM
124282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12429
12430 * Makefile.in ($(srcdir)/aclocal.m4): New target.
12431
769ae37b
RM
124322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12433
12434 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 12435 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
12436 * util/grub.d/10_kfreebsd.in (bindir): New variable.
12437 Add gettext initialization.
12438 (kfreebsd_entry): Make menuentry output translatable.
12439
124402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12441
12442 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
12443 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
12444 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
12445 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
12446 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 12447 * po/LINGUAS: New file.
769ae37b
RM
12448
124492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12450
12451 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
12452 other things).
12453 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
12454 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
12455 bindtextdomain() calls for gettext initialization.
12456
124572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12458
12459 * gnulib/progname.c: New file (imported from Gnulib).
12460 * gnulib/progname.h: Likewise.
12461 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12462 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12463 (usage): Replace `progname' with `program_name'.
12464 (main): Use set_program_name() for program name initialization.
12465
124662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12467
12468 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12469 from here ...
12470 * Makefile.in (CPPFLAGS): ... to here.
12471
124722009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12473
12474 * aclocal.m4: Move from here ...
12475 * acinclude.m4: ... to here.
12476 * autogen.sh: Add call to `aclocal'.
12477 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
12478
124792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12480
12481 * Makefile.in (CLEANFILES): Add `po/*.mo'.
12482 (LINGUAS): New variable.
12483 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
12484 (install-local): Install MO files.
12485 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
12486 * include/grub/i18n.h: New file.
3bc7896c
RM
12487 * po/POTFILES: New file.
12488 * po/ca.po: New file.
769ae37b
RM
12489 * util/grub.d/10_linux.in (bindir): New variable.
12490 Add gettext initialization.
12491 (linux_entry): Make menuentry output translatable.
12492 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
12493 (usage): Make --help output translatable.
12494 (main): Initialize gettext.
12495
02c0a6ad
RM
124962009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12497
12498 * import_gcry.py: New file (written by Vladimir with minor
12499 adjustments).
12500 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
12501 ciphers.
12502 * INSTALL: Document that Python is required for bootstrap.
12503
125042009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12505
12506 Import ciphers from libgcrypt 1.4.4.
12507
12508 * lib/libgcrypt/cipher/ChangeLog
12509 * lib/libgcrypt/cipher/ac.c
12510 * lib/libgcrypt/cipher/arcfour.c
12511 * lib/libgcrypt/cipher/bithelp.h
12512 * lib/libgcrypt/cipher/blowfish.c
12513 * lib/libgcrypt/cipher/camellia-glue.c
12514 * lib/libgcrypt/cipher/camellia.c
12515 * lib/libgcrypt/cipher/camellia.h
12516 * lib/libgcrypt/cipher/cast5.c
12517 * lib/libgcrypt/cipher/cipher.c
12518 * lib/libgcrypt/cipher/crc.c
12519 * lib/libgcrypt/cipher/des.c
12520 * lib/libgcrypt/cipher/dsa.c
12521 * lib/libgcrypt/cipher/ecc.c
12522 * lib/libgcrypt/cipher/elgamal.c
12523 * lib/libgcrypt/cipher/hash-common.c
12524 * lib/libgcrypt/cipher/hash-common.h
12525 * lib/libgcrypt/cipher/hmac-tests.c
12526 * lib/libgcrypt/cipher/md.c
12527 * lib/libgcrypt/cipher/md4.c
12528 * lib/libgcrypt/cipher/md5.c
12529 * lib/libgcrypt/cipher/primegen.c
12530 * lib/libgcrypt/cipher/pubkey.c
12531 * lib/libgcrypt/cipher/rfc2268.c
12532 * lib/libgcrypt/cipher/rijndael-tables.h
12533 * lib/libgcrypt/cipher/rijndael.c
12534 * lib/libgcrypt/cipher/rmd.h
12535 * lib/libgcrypt/cipher/rmd160.c
12536 * lib/libgcrypt/cipher/rsa.c
12537 * lib/libgcrypt/cipher/seed.c
12538 * lib/libgcrypt/cipher/serpent.c
12539 * lib/libgcrypt/cipher/sha1.c
12540 * lib/libgcrypt/cipher/sha256.c
12541 * lib/libgcrypt/cipher/sha512.c
12542 * lib/libgcrypt/cipher/tiger.c
12543 * lib/libgcrypt/cipher/twofish.c
12544 * lib/libgcrypt/cipher/whirlpool.c
12545
af2f93ac
RM
125462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12547
12548 Fix build for systems without error().
12549
12550 * gnulib/error.c: New file (imported from Gnulib).
12551 * gnulib/error.h: Likewise.
12552 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12553 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12554 (this variable is now used by error()).
12555
73fb3dd5
FZ
125562009-11-16 Felix Zielcke <fzielcke@z-51.de>
12557
814f5e96
FZ
12558 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12559 instead of relying that char is signed.
73fb3dd5 12560
a691ca33
VS
125612009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12562
12563 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12564 blocksize different from specified.
12565 (grub_pxefs_read): Likewise.
12566
2af8f0f4
FZ
125672009-11-16 Felix Zielcke <fzielcke@z-51.de>
12568
12569 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12570
12571 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12572 (grub_ata_readwrite): Likewise. Update 2 format strings.
12573 (grub_atapi_read): Likewise.
12574
12575 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12576 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12577 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12578 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12579 (ata_mod_LDFLAGS): Move from here ...
12580 * conf/i386.rmk: ... to here ...
12581 * conf/x86_64-efi.rmk: ... and here.
12582 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12583 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12584
83bdecaf
RM
125852009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12586
12587 Relicense multiboot.h, with RMS' blessing.
12588
12589 * include/multiboot.h: Change to X11 license.
12590
fd6fd3d7
RM
125912009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12592
12593 Support --version in grub-mkisofs.
12594
12595 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12596 (OPTION_VERSION): New macro.
12597 (ld_options): Recognize --version.
12598 (usage): Move `program_name' from here ...
12599 (program_name): ... to here. Add `static' qualifier.
12600 (main): Recognize `OPTION_VERSION'.
12601
16a88c49
FZ
126022009-11-15 Felix Zielcke <fzielcke@z-51.de>
12603
12604 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12605 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12606
a4158476
RM
126072009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12608
12609 Fix help2man generation for mkisofs.
12610
12611 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12612 (usage): Send output to stdout (rather than stderr).
12613
fc2208b0
RM
126142009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12615
12616 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12617 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12618 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12619 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12620 (bin_SCRIPTS): Add `grub-mkfloppy'.
12621 (grub_mkfloppy_SOURCES): New variable.
12622
12623 * util/grub-mkrescue.in: New file.
12624 * util/i386/pc/grub-mkfloppy.in: New file.
12625
12626 * util/i386/coreboot/grub-mkrescue.in: Remove.
12627 * util/i386/pc/grub-mkrescue.in: Remove.
12628
8d0edf4a
RM
126292009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12630
12631 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12632 from here ...
12633 * include/multiboot.h (struct multiboot_header): ... to here. Update
12634 all users.
12635 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12636 from here ...
12637 * include/multiboot.h (struct multiboot_info): ... to here. Update
12638 all users.
12639 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12640 from here ...
12641 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12642 Update all users.
12643 * include/grub/multiboot.h (struct grub_mod_list): Move
12644 from here ...
12645 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12646 Update all users.
12647
a73f5969
RM
126482009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12649
12650 * include/multiboot2.h (multiboot_word): Rename from this ...
12651 (multiboot2_word): ... to this. Update all users.
12652 (multiboot_header): Rename from this ...
12653 (multiboot2_header): ... to this. Update all users.
12654 (multiboot_tag_header): Rename from this ...
12655 (multiboot2_tag_header): ... to this. Update all users.
12656 (multiboot_tag_start): Rename from this ...
12657 (multiboot2_tag_start): ... to this. Update all users.
12658 (multiboot_tag_name): Rename from this ...
12659 (multiboot2_tag_name): ... to this. Update all users.
12660 (multiboot_tag_module): Rename from this ...
12661 (multiboot2_tag_module): ... to this. Update all users.
12662 (multiboot_tag_memory): Rename from this ...
12663 (multiboot2_tag_memory): ... to this. Update all users.
12664 (multiboot_tag_unused): Rename from this ...
12665 (multiboot2_tag_unused): ... to this. Update all users.
12666 (multiboot_tag_end): Rename from this ...
12667 (multiboot2_tag_end): ... to this. Update all users.
12668
1c8927f0
RM
126692009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12670
12671 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12672 this platform we should support Multiboot1 first.
12673
12674 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12675 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12676 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12677
6e1e0d89
RM
126782009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12679
12680 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12681 of write calls (converting them to fwrite() if they aren't already).
12682 (get_torito_desc): Likewise.
12683 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12684
7f2b34d8
RM
126852009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12686
12687 * util/i386/pc/grub-install.in: Move from here ...
12688 * util/grub-install.in: ... to here. Update all users.
12689
c0ef3311
CW
126902009-11-11 Colin Watson <cjwatson@ubuntu.com>
12691
12692 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12693
e1f240ff
RM
126942009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12695
12696 Support for El Torito without floppy emulation.
12697
12698 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12699 (init_boot_catalog): Improve error handling.
12700 (get_torito_desc): Don't use floppy emulation unless requested by
12701 user. Patch boot information table when requested via
12702 `-boot-info-table'.
12703 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12704 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12705 (use_boot_info_table): New variables.
12706 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12707 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12708 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12709 `--eltorito-emul-floppy'.
12710 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12711 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12712 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12713 (use_boot_info_table, get_731): New prototypes.
12714 * util/mkisofs/write.c (get_731): New function.
12715
af7d4de5
FZ
127162009-11-11 Felix Zielcke <fzielcke@z-51.de>
12717
12718 Fix the generation of the man page.
12719
12720 * util/pc/i386/grub-install.in: Source
12721 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12722
2c55dbc0
RM
127232009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12724
12725 Large file support for grub-mkisofs.
12726
12727 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12728 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12729 (session_start): Upgrade type to `uint64_t'. Update all users.
12730 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12731 (struct directory_entry): Upgrade type of `starting_block' and
12732 `size' to `uint64_t'. Update all users.
12733 (struct deferred): Remove unused structure.
12734 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12735 Update all users.
12736 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12737 file is larger than `UINT32_MAX'.
12738 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12739 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12740 return value.
12741 (struct deferred_write): Upgrade type of `extent' and `size' to
12742 `uint64_t'. Update all users.
12743 (last_extent_written): Upgrade type to `uint64_t'. Update all
12744 users.
12745 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12746 Update all users. Upgrade type of `remain' to `int64_t' and
12747 `use' to `size_t'. Use error() to handle fread() errors.
12748 (write_files): Rely on write_one_file() rather than calling
12749 xfwrite() directly.
12750
6a9cead5
FZ
127512009-11-09 Felix Zielcke <fzielcke@z-51.de>
12752
12753 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12754
4825d790
RM
127552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12756
12757 * util/mkisofs/fnmatch.c: Remove.
12758 * util/mkisofs/getopt1.c: Likewise.
12759 * util/mkisofs/getopt.c: Likewise.
12760 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12761 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12762 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12763 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12764 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12765
12766 * configure.ac: Detect `mingw32msvc' host_os.
12767 Check for lstat(), getuid() and getgid().
12768
12769 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12770 instances of `u_char' with `uint8_t'.
12771
12772 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12773 [!HAVE_GETUID] (getuid): New function (stub).
12774 [!HAVE_GETGID] (getgid): Likewise.
12775 [!HAVE_LSTAT] (lstat): Likewise.
12776 [!S_IROTH] (S_IROTH): New macro (dummy).
12777 [!S_IRGRP] (S_IRGRP): Likewise.
12778
84b860d8
RM
127792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12780
12781 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12782 conditional expression).
12783
66e9b712
RM
127842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12785
12786 Import from Gnulib.
12787
12788 * gnulib/fnmatch.c: New file.
12789 * gnulib/fnmatch.h: Likewise.
12790 * gnulib/fnmatch_loop.c: Likewise.
12791 * gnulib/getopt.c: Likewise.
12792 * gnulib/getopt.h: Likewise.
12793 * gnulib/getopt1.c: Likewise.
12794 * gnulib/getopt_int.h: Likewise.
12795 * gnulib/gettext.h: Likewise.
12796
34f4a5b0
RM
127972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12798
12799 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12800 * normal/handler.c (read_handler_list): Likewise.
12801
ac451143
RM
128022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12803
12804 Misc cleanup.
12805
12806 * kern/command.c (grub_register_command_prio): Use
12807 grub_zalloc() instead of explicitly zeroing data.
12808 * kern/list.c: Include `<grub/mm.h>'.
12809 (grub_named_list_find): Replace `0' with `NULL'.
12810 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12811 (fs_module_list): Change type to `grub_named_list_t'. Update all
12812 users.
12813 * normal/dyncmd.c (read_command_list): Add space between function
12814 call and parenthesis.
12815 * normal/handler.c (read_handler_list): Likewise.
12816
4089b167
RM
128172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12818
12819 * normal/auth.c (punishment_delay): Moved from here ...
12820 (grub_auth_strcmp): ... to here (inside function).
12821
325f5037
RM
128222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12823
12824 * include/grub/list.h (struct grub_named_list): Remove `const'
12825 qualifier from `name'.
12826 (struct grub_prio_list): Likewise.
12827
7aea29a3
RM
128282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12829
12830 * normal/auth.c: Include `<grub/time.h>'.
12831 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12832
3fd6f044
RM
128332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12834
12835 * normal/auth.c (punishment_delay): New variable.
12836 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12837 (grub_auth_check_authentication): Punish failed login attempts with
12838 an incremental (2^N) delay.
12839
a4cd68e4
RM
128402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12841
12842 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12843 path with $(srcdir).
12844
7ad12f43
VS
128452009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12846
12847 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12848
c1129f03
RM
128492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12850
12851 * util/i386/coreboot/grub-mkrescue.in: New file.
12852 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12853 variables.
12854
12855 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12856 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12857 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12858 requirements.
12859 * util/mkisofs/defaults.h: New file.
12860 * util/mkisofs/eltorito.c: Likewise.
12861 * util/mkisofs/exclude.h: Likewise.
12862 * util/mkisofs/fnmatch.c: Likewise.
12863 * util/mkisofs/getopt.c: Likewise.
12864 * util/mkisofs/getopt1.c: Likewise.
12865 * util/mkisofs/hash.c: Likewise.
12866 * util/mkisofs/include/fctldefs.h: Likewise.
12867 * util/mkisofs/include/mconfig.h: Likewise.
12868 * util/mkisofs/include/prototyp.h: Likewise.
12869 * util/mkisofs/include/statdefs.h: Likewise.
12870 * util/mkisofs/iso9660.h: Likewise.
12871 * util/mkisofs/joliet.c: Likewise.
12872 * util/mkisofs/match.c: Likewise.
12873 * util/mkisofs/match.h: Likewise.
12874 * util/mkisofs/mkisofs.c: Likewise.
12875 * util/mkisofs/mkisofs.h: Likewise.
12876 * util/mkisofs/multi.c: Likewise.
12877 * util/mkisofs/name.c: Likewise.
12878 * util/mkisofs/rock.c: Likewise.
12879 * util/mkisofs/tree.c: Likewise.
12880 * util/mkisofs/write.c: Likewise.
12881
ec8bb77d
VS
128822009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12885 being insecure.
12886
3716b12c
RM
128872009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12888
12889 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12890 `grub-mkimage' (and use $0 when possible).
12891
b97b7b91
RM
128922009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12893
12894 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12895 error message for excessively large memory map.
12896
04114812
RM
128972009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12898
12899 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12900 executable bit.
12901
e4eb2373
RM
129022009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12903
12904 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12905 message for coreboot users.
12906
c926e1d5 129072009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12908
12909 Fix build with GNU gold.
12910
12911 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12912 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12913 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12914 link addresses.
12915 * aclocal.m4: Likewise.
12916
86e5b1db 129172009-11-04 Felix Zielcke <fzielcke@z-51.de>
12918
12919 * configure.ac (AC_PREREQ): Bump to 2.59d.
12920 * INSTALL: Make it more clear when Autoconf and Ruby are
12921 needed and when to run `./autogen.sh'.
12922
246cd78f 129232009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
12924
12925 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
12926 OSes.
12927
4f9dfb37 129282009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12929
12930 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
12931
b82bd5e1 129322009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12933
12934 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
12935 giving it to GNU Mach.
12936
ff1a9bca 129372009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12938
12939 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
12940 GNU partition number to get internal GRUB partition number.
12941
61697d9c 129422009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
12943
12944 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
12945 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
12946
a50569e1 129472009-11-01 Robert Millan <rmh.grub@aybabtu.com>
12948
12949 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
12950 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
12951 case.
12952
5b153867 129532009-11-01 Felix Zielcke <fzielcke@z-51.de>
12954
12955 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
12956
d9e2cd70 129572009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12958
12959 Fix build problem.
12960
12961 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
12962 `-isystem=$(srcdir)/include'.
12963
805111a4 129642009-10-30 Robert Millan <rmh.grub@aybabtu.com>
12965
12966 * util/i386/pc/grub-install.in: Remove hint that device.map should be
12967 checked (grub-install doesn't currently rely on it).
12968
fa6e945f 129692009-10-29 Robert Millan <rmh.grub@aybabtu.com>
12970
12971 Revert SVN r2660.
12972
12973 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
12974 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
12975 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
12976 * conf/i386-ieee1275.rmk: Likewise.
12977 * conf/i386-pc.rmk: Likewise.
12978 * conf/powerpc-ieee1275.rmk: Likewise.
12979 * conf/sparc64-ieee1275.rmk: Likewise.
12980 * conf/x86_64-efi.rmk: Likewise.
12981
cee15086 129822009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12983
12984 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
12985
95b9239e 129862009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12987
12988 * include/grub/misc.h: Stop checking for APPLE_CC.
12989
2ed19dfd 129902009-10-28 Robert Millan <rmh.grub@aybabtu.com>
12991
12992 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
12993 doesn't cause an infinite call loop.
12994
fdcdde19 129952009-10-28 Felix Zielcke <fzielcke@z-51.de>
12996
12997 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
12998 strings.
12999
cefabfe1 130002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13001
13002 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
13003 variable.
13004 * Makefile.in: Likewise.
13005
ed96ab6d 130062009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13007
13008 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
13009
0579b753 130102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13011
13012 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
13013
478df409 130142009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13015
13016 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
13017
083d1679 130182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13019
13020 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
13021 from here ...
13022 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
13023
5947ae32 130242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13025
13026 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
13027 in $(MAKEINFO) invocation. This makes it clear in output that
13028 errors are being ignored.
13029
94180ff6 130302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13031
13032 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
13033 from here ...
13034 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13035 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
13036 * conf/i386-ieee1275.rmk: Likewise.
13037 * conf/i386-pc.rmk: Likewise.
13038 * conf/powerpc-ieee1275.rmk: Likewise.
13039 * conf/sparc64-ieee1275.rmk: Likewise.
13040 * conf/x86_64-efi.rmk: Likewise.
13041
9031b03a 130422009-10-26 Colin Watson <cjwatson@ubuntu.com>
13043
13044 * util/grub-editenv.c (main): If only a command is given, use
13045 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
13046 (usage): FILENAME is now optional and has a default.
13047
e4f6809b 130482009-10-26 Colin Watson <cjwatson@ubuntu.com>
13049
13050 Improve grub-mkconfig performance when there are several menu
13051 entries on a single filesystem.
13052
13053 * util/grub.d/10_linux.in (linux_entry): Cache the output of
13054 prepare_grub_to_access_device.
13055 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13056 * util/grub.d/30_os-prober.in: Likewise.
13057
67937d4d 130582009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13059
13060 * util/grub.d/10_freebsd.in: Remove.
13061 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
13062 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
13063
ee3756cc 130642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13065
5c35048e 13066 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 13067
4dea1c6f 130682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13069
13070 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
13071 grub_util_error() call.
13072
042484d7 130732009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13074
13075 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
13076 `reserved_first_sector' member.
13077 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
13078 `reserved_first_sector' to 1.
13079 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
13080 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
13081 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
13082 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
13083 filesystems which begin at first sector.
13084 (options): New option --skip-fs-probe.
13085 (main): Handle --skip-fs-probe and pass it to setup().
13086
d64448a7 130872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13088
13089 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
13090 (memset): Fix function prototype.
13091
508d42ec 130922009-10-25 Robert Millan <rmh.grub@aybabtu.com>
130932009-10-25 Vasily Averin <vvs@parallels.com>
13094
13095 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
13096 `dirent.direntlen == 0'.
13097
b240e30c 130982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13099
13100 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
13101 `cpio'.
13102 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
13103
346e7fbe 131042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13105
13106 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
13107 `__trampoline_setup' and `__ucmpdi2'.
13108 * include/grub/powerpc/libgcc.h: Only export symbols for functions
13109 that libgcc provides.
13110
cdb308b0 131112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13112
13113 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
13114 * include/grub/sparc64/libgcc.h (memset): Likewise.
13115 * include/grub/misc.h (memset, memcmp): New function prototypes.
13116
fb26abc2 131172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13118
13119 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
13120 `cpio'.
13121 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
13122
f6693890 131232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13124
13125 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
13126 * docs/grub.cfg: Compensate for recent change in multiboot
13127 loader (since 2009-08-14 it won't pass filename to payload).
13128 * util/grub.d/10_hurd.in: Likewise.
13129
0933cdc0 131302009-10-21 Felix Zielcke <fzielcke@z-51.de>
13131
13132 * config.guess: Update to latest version from config git
13133 repository.
13134 * config.sub: Likewise.
13135
3b2fe8c2 131362009-10-20 Robert Millan <rmh.grub@aybabtu.com>
13137
13138 Fix build on sparc64.
13139
13140 * configure.ac: Perform checks for libgcc symbols before
13141 adding `-nostdlib' to LDFLAGS.
13142
46695a62 131432009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 Let user specify OpenBSD root device.
13146
13147 * loader/i386/bsd.c (openbsd_root): New variable.
13148 (openbsd_opts): New option 'root'.
13149 (OPENBSD_ROOT_ARG): New macro.
13150 (grub_openbsd_boot): Use 'openbsd_root'.
13151 (grub_cmd_openbsd): Fill 'openbsd_root'.
13152
d2b6b7fc 131532009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13154
13155 * NEWS: Misc adjustments.
13156
421bd7ac 131572009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
13160
f1d29d87 131612009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13162
13163 * configure.ac: Bump version to 1.97.
13164
6f3cd880 131652009-10-16 Colin Watson <cjwatson@ubuntu.com>
13166
13167 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
13168 -mno-3dnow on x86 architectures. Some toolchains enable these
13169 features by default, but they rely on registers that aren't enabled
13170 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
13171
035f7122 131722009-10-15 Robert Millan <rmh.grub@aybabtu.com>
13173
13174 Make entry text a bit more readable.
13175
13176 * util/grub.d/10_linux.in: Add `with' before `Linux'.
13177
44998e58 131782009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13179
13180 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
13181
cd2851b3 131822009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
13185 operations.
13186
c6f3b249 131872009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * configure.ac: Add missing dollar.
13190
6b5886ba 131912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13192
13193 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
13194
13195 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
13196 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
13197 exports.
13198 * include/grub/sparc64/libgcc.h: Likewise. Use
13199 preprocessor conditionals.
13200
e9d66f6d 132012009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13202
13203 * conf/common.rmk (grub-dumpbios): Remove rule.
13204 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
13205 * util/grub-dumpbios.in: Remove file.
13206
9155bc17 132072009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13208
13209 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
13210 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
13211
13212 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
13213 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
13214 users.
13215
13216 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
13217 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
13218 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
13219 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
13220 users.
13221
bf7f7a18 132222009-10-12 Robert Millan <rmh.grub@aybabtu.com>
13223
13224 * term/tparm.c: Switch to GPLv3.
13225
86564c26 132262009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13227
13228 * include/grub/i386/cpuid.h: Add header protection.
13229
5c936493 132302009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13231
13232 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
13233
13234 * include/grub/i386/cpuid.h: New file.
13235 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
13236 (has_longmode): Rename to ...
13237 (grub_cpuid_has_longmode): ... this. Update all users. Remove
13238 `static' attribute.
13239 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
13240 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
13241 on a CPU that doesn't implement AMD64 instruction set.
13242
186e7cf2 132432009-10-06 Colin Watson <cjwatson@ubuntu.com>
13244
13245 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
13246 that version.texi is rebuilt on version number changes.
13247
83b65c4a 132482009-10-06 Colin Watson <cjwatson@ubuntu.com>
13249
13250 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
13251 Fixes bug #27602.
13252
d244281c 132532009-10-06 Colin Watson <cjwatson@ubuntu.com>
13254
13255 * util/i386/pc/grub-install.in: Source
13256 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
13257 that the --grub-probe option will work.
13258 * util/sparc64/ieee1275/grub-install.in: Likewise.
13259
da25306d 132602009-10-05 Robert Millan <rmh.grub@aybabtu.com>
13261
13262 * configure.ac: Bump version to 1.97~beta4.
13263
e8ee83c0 132642009-10-03 Robert Millan <rmh.grub@aybabtu.com>
13265
13266 Resync grub-mkdevicemap in x86_64-efi.
13267
13268 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
13269 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
13270 `util/devicemap.c'.
13271
50dcabcf 132722009-10-01 Colin Watson <cjwatson@ubuntu.com>
13273
13274 * util/grub-editenv.c (create_envblk_file): Write new block with a
13275 .new suffix and then rename it into place, to ensure atomic
13276 creation.
13277
0e51c3a7 132782009-09-28 Robert Millan <rmh.grub@aybabtu.com>
13279
13280 Do not automatically install headers.
13281
13282 * Makefile.in (include_DATA): Remove. Update all users.
13283
31299a95 132842009-09-26 Robert Millan <rmh.grub@aybabtu.com>
13285
13286 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
13287 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
13288
13289 * util/osdetect.lua: Remove.
13290 * script/lua/lauxlib.c: Likewise.
13291 * script/lua/ldebug.c: Likewise.
13292 * script/lua/grub_main.c: Likewise.
13293 * script/lua/lauxlib.h: Likewise.
13294 * script/lua/ldebug.h: Likewise.
13295 * script/lua/ltablib.c: Likewise.
13296 * script/lua/liolib.c: Likewise.
13297 * script/lua/lstrlib.c: Likewise.
13298 * script/lua/lualib.h: Likewise.
13299 * script/lua/ldo.c: Likewise.
13300 * script/lua/ldump.c: Likewise.
13301 * script/lua/ldo.h: Likewise.
13302 * script/lua/loslib.c: Likewise.
13303 * script/lua/lundump.c: Likewise.
13304 * script/lua/grub_lib.c: Likewise.
13305 * script/lua/ldblib.c: Likewise.
13306 * script/lua/lundump.h: Likewise.
13307 * script/lua/lmem.c: Likewise.
13308 * script/lua/grub_lib.h: Likewise.
13309 * script/lua/lmathlib.c: Likewise.
13310 * script/lua/lstate.c: Likewise.
13311 * script/lua/ltm.c: Likewise.
13312 * script/lua/lvm.c: Likewise.
13313 * script/lua/lmem.h: Likewise.
13314 * script/lua/lstate.h: Likewise.
13315 * script/lua/ltm.h: Likewise.
13316 * script/lua/ltable.c: Likewise.
13317 * script/lua/lvm.h: Likewise.
13318 * script/lua/llex.c: Likewise.
13319 * script/lua/lgc.c: Likewise.
13320 * script/lua/grub_lua.h: Likewise.
13321 * script/lua/loadlib.c: Likewise.
13322 * script/lua/lfunc.c: Likewise.
13323 * script/lua/lopcodes.c: Likewise.
13324 * script/lua/lparser.c: Likewise.
13325 * script/lua/ltable.h: Likewise.
13326 * script/lua/llex.h: Likewise.
13327 * script/lua/lgc.h: Likewise.
13328 * script/lua/lfunc.h: Likewise.
13329 * script/lua/lbaselib.c: Likewise.
13330 * script/lua/lopcodes.h: Likewise.
13331 * script/lua/lparser.h: Likewise.
13332 * script/lua/lzio.c: Likewise.
13333 * script/lua/linit.c: Likewise.
13334 * script/lua/lobject.c: Likewise.
13335 * script/lua/llimits.h: Likewise.
13336 * script/lua/lstring.c: Likewise.
13337 * script/lua/lzio.h: Likewise.
13338 * script/lua/lapi.c: Likewise.
13339 * script/lua/lcode.c: Likewise.
13340 * script/lua/lua.h: Likewise.
13341 * script/lua/lobject.h: Likewise.
13342 * script/lua/lstring.h: Likewise.
13343 * script/lua/lapi.h: Likewise.
13344 * script/lua/lcode.h: Likewise.
13345 * script/lua/luaconf.h: Likewise.
13346
cb8a2c38 133472009-09-26 Colin Watson <cjwatson@ubuntu.com>
13348
13349 * docs/grub.texi (Command-line and menu entry commands): Document
13350 date and echo commands.
13351
6b9b6276 133522009-09-24 Pavel Roskin <proski@gnu.org>
13353
13354 * include/grub/kernel.h (struct grub_module_header): Remove
13355 `grub_module_header_types'. Make `type' unsigned. Make `size'
13356 32-bit on all platforms.
13357 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
13358 8-bit field. Use grub_host_to_target32() for `size'.
13359 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
13360 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
13361 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
13362
4e5a02a7 133632009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13364
13365 Fix "lost keypress" bug in at_keyboard.
13366
13367 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
13368 Checks for readyness of input buffer (without flushing it).
13369 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
13370 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
13371
c6dcedf6 133722009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13373
13374 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
13375 size check within GRUB_MACHINE_PCBIOS section.
13376
74c958b1 133772009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13378
13379 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
13380 return value.
13381 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
13382 KEYBOARD_ISREADY check.
13383 (grub_at_keyboard_checkkey): Rename to ...
13384 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
13385 Remove gratuitous cast.
13386
ff420223 133872009-09-23 Colin Watson <cjwatson@ubuntu.com>
13388
13389 * configure.ac: Call AC_PROG_MKDIR_P.
13390 * Makefile.in (docs/stamp-vti): Create docs directory. Create
13391 version.texi in $(builddir) rather than $(srcdir).
13392 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
13393 to makeinfo's @include search path.
13394
d96875df 133952009-09-23 Felix Zielcke <fzielcke@z-51.de>
13396
13397 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
13398
9b3f8365 133992009-09-23 Felix Zielcke <fzielcke@z-51.de>
13400
13401 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
13402 for `*.dpkg-new'.
13403
c44c90db 134042009-09-21 Colin Watson <cjwatson@ubuntu.com>
13405
13406 Build info documentation. Some code borrowed from Automake.
13407
13408 * configure.ac: Check for makeinfo.
13409 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
13410 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
13411 docs/version.texi.
13412 (MOSTLYCLEANFILES): Add vti.tmp.
13413 (docs/version.texi, docs/stamp-vti): Update automatically.
13414 (docs/grub.info): Build info documentation. Use --force and ignore
13415 errors for now.
13416 (all-local): Add $(INFOS).
13417 (install-local): Install info files.
13418 (uninstall): Uninstall info files.
13419 * docs/version.texi: Remove from revision control. This file is
13420 automatically generated on build now.
13421 * gendistlist.sh: Add `*.info'.
13422
e0b37bb5 134232009-09-21 Felix Zielcke <fzielcke@z-51.de>
13424
13425 * kern/term.c: Fix indentation.
13426
5a78865b 134272009-09-21 Felix Zielcke <fzielcke@z-51.de>
13428
13429 * util/hostdisk.c: Fix a comment.
13430
dace7e8a 134312009-09-20 Robert Millan <rmh.grub@aybabtu.com>
13432
13433 Fix regression introduced in r2539.
13434
13435 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
13436 to 0xA1.
13437
a83d079b 134382009-09-19 Colin Watson <cjwatson@ubuntu.com>
13439
13440 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 13441 os-prober. Under normal operation, it does not print anything to
13442 stderr; if it does, we need to debug it, and throwing away stderr
13443 makes that excessively difficult.
a83d079b 13444
be94a509 134452009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
13448
63f745e8 134492009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13450
13451 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
13452 AC_LANG_PROGRAM from autoconf.
13453 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
13454 prototypes (fixes warning).
13455
13456 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
13457 `--disable-werror' was used.
13458
bbb2a70f 134592009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13460
13461 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13462 uninitialized `lastaddr'.
13463
77c24f1d 134642009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13465
0f0b8c87 13466 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13467
07197f23 134682009-09-14 Colin Watson <cjwatson@ubuntu.com>
13469
13470 * commands/test.c (get_fileinfo): Return immediately if
13471 grub_fs_probe fails.
13472
dabf1798 134732009-09-14 José Martínez <xosemp@gmail.com>
13474
13475 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
13476
d52109a7 134772009-09-14 Colin Watson <cjwatson@ubuntu.com>
13478
13479 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
13480 output.
13481
56532179 134822009-09-13 Robert Millan <rmh.grub@aybabtu.com>
13483
13484 * configure.ac: Remove --enable-grub-pe2elf. Only build
13485 grub-pe2elf when needed by the build system itself.
13486 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
13487
8ef070f5 134882009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13489
13490 * configure.ac: Bump version to 1.97~beta3.
13491 * docs/version.texi: Likewise.
13492
61229557 134932009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13494
13495 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
13496 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
13497 from here ...
13498 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
13499 (grub_linux_setup_video): ... to here (with some adjustments).
13500
5c9f8d84 135012009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13502
13503 Fix memory corruption issue (spotted by Colin Watson).
13504
13505 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13506 causing returned size to be stored in an incorrect memory location.
13507 Fix use of uninitialized value when storing the returned size.
13508
e8f5d6e9 135092009-09-12 Yves Blusseau <blusseau@zetam.org>
13510
13511 Change clean rules to properly remove files
13512
13513 * genmk.rb: add new clean rules
13514 * Makefile.in (clean): add the new targets
13515 (mostlyclean): likewise
13516
cda2a409 135172009-09-11 Colin Watson <cjwatson@ubuntu.com>
13518
13519 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13520 to grub_uint64_t.
13521 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13522 non-resident files.
13523
86695375 135242009-09-11 Colin Watson <cjwatson@ubuntu.com>
13525
13526 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13527 part of bug #27349.
13528
8aa1541a 135292009-09-10 Felix Zielcke <fzielcke@z-51.de>
13530
13531 * util/grub-mkconfig.in: Make the created config mode 400 and
13532 print a warning if it fails.
13533
48d9bb0a 135342009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13535
13536 * util/grub.d/40_custom.in: Ask user to type custom entries below
13537 comment, rather than below 'exec tail' line.
13538
3b0521be 135392009-09-10 Colin Watson <cjwatson@ubuntu.com>
13540
13541 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13542 visible in grub.cfg.
13543
50051d55 135442009-09-10 Colin Watson <cjwatson@ubuntu.com>
13545
13546 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13547 file.
13548
c0d34387 135492009-09-10 Felix Zielcke <fzielcke@z-51.de>
13550
13551 * docs/grub.cfg: Add an example menu entry for memtest86+.
13552
80a608f3 135532009-09-09 Felix Zielcke <fzielcke@z-51.de>
13554
a2094832 13555 * config.guess: Update to latest version from config git.
80a608f3 13556 * config.sub: Likewise.
13557
99423078 135582009-09-08 Colin Watson <cjwatson@ubuntu.com>
13559
13560 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13561 unknown-command case. Fixes bug #27320.
13562
44454e4c 135632009-09-08 Felix Zielcke <fzielcke@z-51.de>
13564
13565 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13566 `help' if the command exists.
13567
e30d87ad 135682009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13569
13570 * INSTALL: Require GCC 4.1.3 or later.
13571
9a86f1ec 135722009-09-06 Yves Blusseau <blusseau@zetam.org>
13573
13574 * Makefile.in (RMKFILES): add i386-qemu.rmk
13575 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13576 $(srcdir)/stamp-h.in
13577
7f26d466 135782009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13579
13580 * util/grub-probe.c (probe): Comment out buggy codepath, which
13581 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13582 should be re-enabled after 1.97.
13583
3a613259 135842009-09-05 Felix Zielcke <fzielcke@z-51.de>
13585
13586 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13587 find searches for.
13588
197f76c7 135892009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13590
13591 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13592 unnecessary calls to grub_error.
13593
70ba68ce 135942009-09-04 Colin Watson <cjwatson@ubuntu.com>
13595
13596 * NEWS: Mention `keystatus' and Unicode fonts.
13597
4ff0d7a4 135982009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13599
13600 * configure.ac: Bump version to 1.97~beta2.
13601 * docs/version.texi: Likewise.
13602
77c55a87 136032009-09-03 Colin Watson <cjwatson@ubuntu.com>
13604
13605 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13606 containing unwind information in some cases where it previously did
13607 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13608 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13609 discussion.
13610
f79572cd 136112009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13612
13613 Embedding loadenv module into grub-emu
13614
13615 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13616 commands/loadenv.c
13617 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13618 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13619 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13622 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13623
93a81088 136242009-09-03 Magnus Granberg <zorry@ume.nu>
13625
13626 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13627 include -fPIE in the default specs.
13628 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13629 to TARGET_CFLAGS.
13630
160034b2 136312009-09-03 Felix Zielcke <fzielcke@z-51.de>
13632
13633 * INSTALL: Note that GNU Bison 2.3 or later is required.
13634
087c07c4 136352009-09-03 Colin Watson <cjwatson@ubuntu.com>
13636
13637 * kern/i386/pc/startup.S: Fix typo.
13638
cbf978c0 136392009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13642 according to GCS.
13643
136442009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 13645
13646 * docs/grub.texi (Naming convention): Describe one-based partition
13647 numbering.
13648 (Device syntax): Likewise.
13649 (File name syntax): Likewise.
13650 (Block list syntax): Likewise.
13651 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13652 menu.lst.
13653 (File name syntax): Likewise.
13654 (Command-line and menu entry commands): Document acpi, blocklist,
13655 crc, export, insmod, keystatus, ls, set, and unset commands.
13656
f3e8cdfd 136572009-09-02 Colin Watson <cjwatson@ubuntu.com>
13658
13659 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13660 to avoid implying that only one of --shift, --ctrl, or --alt may be
13661 used.
13662
c0bc232b 136632009-09-02 Colin Watson <cjwatson@ubuntu.com>
13664
13665 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13666 rather than comparing against S_IFREG, which will almost never work.
13667
aa0f752d 136682009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13671 (write_blocklists): Likewise.
13672
ecb3166a 136732009-09-01 Colin Watson <cjwatson@ubuntu.com>
13674
13675 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13676 argument to grub_printf.
13677
c403a125 136782009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 13679
13680 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 13681 non GNU test.
31aba781 13682
b5e7312c 136832009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13684
13685 * kern/file.c (grub_file_read): Spelling fix
13686
fe00f472 136872009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13688
13689 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13690 loading of headers in some cases.
13691
cc55302e 136922009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13693
13694 * configure.ac: Bump version to 1.97~beta1.
13695 * docs/version.texi: Likewise.
13696
5c90cdd2 136972009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 13698
13699 * include/grub/i386/xnu.h: Add license header.
13700 include grub/err.h explicitly.
13701
c90edae4 137022009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13703
13704 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13705 to `ufs' in the vfs.root.mountfrom kernel parameter.
13706
d8888b5c 137072009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13708
13709 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13710
13711 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13712 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13713
13714 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13715 `ARRAY_SIZE' macro.
13716
6f07b921 137172009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * kern/file.c (grub_file_read): Check offset.
13720 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13721 * fs/jfs.c (grub_jfs_read_file): Likewise.
13722 * fs/ntfs.c (grub_ntfs_read): Likewise.
13723 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13724 * fs/minix.c (grub_minix_read_file): Correct offset check.
13725 * fs/ufs.c (grub_ufs_read_file): Likewise.
13726
b4f34077 137272009-08-28 Colin Watson <cjwatson@ubuntu.com>
13728
13729 * term/i386/pc/console.c (bios_data_area): Cast
13730 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13731
e7c69859 137322009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 1-bit optimised blitters.
13735
13736 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13737 prototype.
13738 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13739 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13740 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13741 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13742 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13743 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13744 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13745 function.
13746 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13747 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13748 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13749 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13750 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13751 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13752 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13753 when possible.
13754 * video/video.c (grub_video_get_blit_format): Return
13755 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13756
a57da43f 137572009-08-28 Colin Watson <cjwatson@ubuntu.com>
13758
13759 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13760 the first argument to grub_printf.
13761
4cbe67e5 137622009-08-28 Colin Watson <cjwatson@ubuntu.com>
137632009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13764
13765 Add `getkeystatus' terminal method. Add a new `keystatus' command
13766 to query it.
13767
13768 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13769 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13770 modifier key bitmasks.
13771 (struct grub_term_input): Add `getkeystatus' member.
13772 (grub_getkeystatus): Add prototype.
13773 * kern/term.c (grub_getkeystatus): New function.
13774
13775 * include/grub/i386/pc/memory.h
13776 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13777 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13778 Data Area layout.
13779 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13780 (grub_console_term_input): Set `getkeystatus' member.
13781 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13782 constants.
13783 (grub_usb_keyboard_getreport): Likewise.
13784 (grub_usb_keyboard_checkkey): Likewise.
13785 (grub_usb_keyboard_getkeystatus): New function.
13786 (grub_usb_keyboard_term): Set `getkeystatus' member.
13787
13788 * commands/keystatus.c: New file.
13789 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13790 (keystatus_mod_SOURCES): New variable.
13791 (keystatus_mod_CFLAGS): Likewise.
13792 (keystatus_mod_LDFLAGS): Likewise.
13793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13794 commands/keystatus.c.
13795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13796 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13797 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13799 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13800 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13801
6e2a9085 138022009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 Split befs.mod and afs.mod into *_be.mod and *.mod
13805
13806 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13807 (grub_fstest_SOURCES): Likewise.
13808 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13809 (afs_be_mod_SOURCES): New variable.
13810 (afs_be_mod_CFLAGS): Likewise.
13811 (afs_be_mod_LDFLAGS): Likewise.
13812 (befs_be_mod_SOURCES): Likewise.
13813 (befs_be_mod_CFLAGS): Likewise.
13814 (befs_be_mod_LDFLAGS): Likewise.
13815 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13816 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13818 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13819 (grub_emu_SOURCES): Likewise.
13820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13822 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13823 * fs/afs_be.c: New file.
13824 * fs/befs_be.c: New file.
13825 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13826 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13827 (U16): Replaced with ...
13828 (grub_afs_to_cpu16): ...this. All users updated.
13829 (U32): Replaced with ...
13830 (grub_afs_to_cpu32): ...this. All users updated.
13831 (U64): Replaced with ...
13832 (grub_afs_to_cpu64): ...this. All users updated.
13833 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13834 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13835 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13836 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13837 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13838 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13839 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13840 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13841 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13842 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13843 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13844
32a71655 138452009-08-26 Bean <bean123ch@gmail.com>
13846
13847 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13848 64-bit number.
13849 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13850 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13851 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13852
552bf6c5 138532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 NetBSD memory map support.
13856
13857 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13858 (grub_netbsd_btinfo_mmap_header): New structure.
13859 (grub_netbsd_btinfo_mmap_entry): Likewise.
13860 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13861
1ae2078c 138622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 Enable bsd.mod on coreboot.
13865
13866 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13867 (bsd_mod_SOURCES): New variable.
13868 (bsd_mod_CFLAGS): Likewise.
13869 (bsd_mod_LDFLAGS): Likewise.
13870 (bsd_mod_ASFLAGS): Likewise.
13871 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13872 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13873
beefc598 138742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13875
13876 Cleanup NetBSD root support.
13877
13878 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13879 grub_bsd_get_device.
13880 Fix typo.
13881
3b76e68b 138822009-08-25 Felix Zielcke <fzielcke@z-51.de>
13883
13884 * util/grub.d/00_header.in: Move check for the video backend of
13885 gfxterm from here ...
13886 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13887 a suitable video backend.
13888
aea664ea 138892009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 Fix breakage in grub-setup.
13892
13893 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13894 "msdos_partition_map".
13895
ff747d50 138962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 Fix breakage in normal/auth.c.
13899
13900 * normal/auth.c (grub_iswordseparator): New function.
13901
e7e1f93f 139022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 Authentication support.
13905
13906 * commands/password.c: New file.
13907 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13908 (password_mod_SOURCES): New variable.
13909 (password_mod_CFLAGS): Likewise.
13910 (password_mod_LDFLAGS): Likewise.
13911 (normal_mod_SOURCES): Add normal/auth.c.
13912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13913 normal/auth.c.
13914 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13916 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13918 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13919 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13920 * include/grub/auth.h: New file.
13921 * include/grub/err.h (grub_err_t): New enum value
13922 GRUB_ERR_ACCESS_DENIED.
13923 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
13924 'users'.
13925 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
13926 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
13927 users updated.
13928 * normal/auth.c: New file.
13929 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
13930 (grub_cmdline_run): Don't allow to go to command line without
13931 authentication.
13932 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
13933 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
13934 menuentry without superuser rights.
13935 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
13936 user isn't a superuser.
13937
70f1161d 139382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13939
13940 Save space by inlining misc.c functions.
13941
13942 * kern/misc.c (grub_iswordseparator): Made static.
13943 * kern/misc.c (grub_strcat): Moved from here ...
13944 * include/grub/misc.h (grub_strcat): ... here. Inlined.
13945 * kern/misc.c (grub_strncat): Moved from here ...
13946 * include/grub/misc.h (grub_strncat): ... here. Inlined.
13947 * kern/misc.c (grub_strcasecmp): Moved from here ...
13948 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
13949 * kern/misc.c (grub_strncasecmp): Moved from here ...
13950 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
13951 * kern/misc.c (grub_isalpha): Moved from here ...
13952 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
13953 * kern/misc.c (grub_isdigit): Moved from here ...
13954 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
13955 * kern/misc.c (grub_isgraph): Moved from here ...
13956 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
13957 * kern/misc.c (grub_tolower): Moved from here ...
13958 * include/grub/misc.h (grub_tolower): ... here. Inlined.
13959
48e40bff 139602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * script/sh/function.c (grub_script_function_find): Cut error message
13963 not to flood terminal.
13964 * script/sh/lexer.c (grub_script_yylex): Remove command line length
13965 limit.
13966 * script/sh/script.c (grub_script_arg_add): Duplicate string.
13967
c385bfc3 139682009-08-24 Colin Watson <cjwatson@ubuntu.com>
13969
13970 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
13971 `report' grub_uint8_t *.
13972 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
13973 Use a 50-millisecond timeout rather than just repeating
13974 grub_usb_keyboard_getreport 50 times.
13975 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
13976
2d21e3e8 139772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 Rename *_partition_map to part_*
13980
13981 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
13982 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
13983 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
13984 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
13985 All users updated.
13986 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
13987 All users updated.
13988 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
13989 * util/grub-probe.c (probe_partmap): Don't transform partition name
13990 to get module name.
13991
dd103c4e 139922009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 Fix OpenBSD and NetBSD support.
13995
13996 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
13997 memory address conflict.
13998 (OPENBSD_MMAP_ACPI): New definition.
13999 (OPENBSD_MMAP_NVS): Likewise.
14000 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
14001 and OPENBSD_MMAP_NVS.
14002 Add memory map terminator
14003 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 14004 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 14005
16c84d74 140062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 Let user specify NetBSD root device.
14009
14010 * loader/i386/bsd.c (netbsd_root): New variable.
14011 (netbsd_opts): New option 'root'.
14012 (NETBSD_ROOT_ARG): New macro.
14013 (grub_netbsd_boot): Use 'netbsd_root'.
14014 (grub_bsd_unload): Free 'netbsd_root'.
14015 (grub_cmd_netbsd): Fill 'netbsd_root'.
14016
adb29902 140172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 Support for 64-bit NetBSD.
14020
14021 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
14022 point when booting non-FreeBSD.
14023
f5ae9f74 140242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 Support --no-smp and --no-acpi for NetBSD.
14027
14028 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
14029 (NETBSD_AB_NOACPI): Likewise.
14030 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
14031 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
14032
de74f136 140332009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14034
14035 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
14036 errors.
14037 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
14038 errors. Call grub_error when needed.
14039
e9a925da 140402009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 * commands/search.c (search_fs): Try searching without autoload first.
14043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14044 filesystem module explicitly for faster booting.
14045
5174302b 140462009-08-23 Colin Watson <cjwatson@ubuntu.com>
14047
14048 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
14049
c8c80635 140502009-08-23 Colin Watson <cjwatson@ubuntu.com>
14051
14052 * util/grub.d/30_os-prober.in: Disable os-prober if
14053 `GRUB_DISABLE_OS_PROBER' was set to true.
14054
71acf5e5 140552009-08-23 Robert Millan <rmh.grub@aybabtu.com>
14056
14057 * partmap/pc.c: Rename to ...
14058 * partmap/msdos.c: ... this. Update all users.
14059 (grub_pc_partition_map): Rename to ...
14060 (grub_msdos_partition_map): ... this. Update all users.
14061
14062 * parttool/pcpart.c: Rename to ...
14063 * parttool/msdospart.c: ... this. Update all users.
14064
14065 * include/grub/pc_partition.h: Rename to ...
14066 * include/grub/msdos_partition.h: ... this. Update all users.
14067 (grub_pc_partition_bsd_entry): Rename to ...
14068 (grub_msdos_partition_bsd_entry): ... this. Update all users.
14069 (grub_pc_partition_disk_label): Rename to ...
14070 (grub_msdos_partition_disk_label): ... this. Update all users.
14071 (grub_pc_partition_entry): Rename to ...
14072 (grub_msdos_partition_entry): ... this. Update all users.
14073 (grub_pc_partition_mbr): Rename to ...
14074 (grub_msdos_partition_mbr): ... this. Update all users.
14075 (grub_pc_partition): Rename to ...
14076 (grub_msdos_partition): ... this. Update all users.
14077 (grub_pc_partition_is_empty): Rename to ...
14078 (grub_msdos_partition_is_empty): ... this. Update all users.
14079 (grub_pc_partition_is_extended): Rename to ...
14080 (grub_msdos_partition_is_extended): ... this. Update all users.
14081 (grub_pc_partition_is_bsd): Rename to ...
14082 (grub_msdos_partition_is_bsd): ... this. Update all users.
14083
14084 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
14085 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
14086 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
14087 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
14088 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
14089 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
14090 (gpt_mod_LDFLAGS): Rename to ...
14091 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
14092 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
14093 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
14094 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
14095 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
14096 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
14097 (part_gpt_mod_LDFLAGS): ... this.
14098 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
14099 `pcpart.mod' to `msdospart.mod'.
14100 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
14101 to ...
14102 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
14103 (msdospart_mod_LDFLAGS): ... this.
14104
c11fded5 141052009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
14108 (openbsd_opts): Likewise.
14109 (netbsd_opts): Likewise.
14110 (freebsd_flags): Added 0 terminator.
14111 (openbsd_flags): Likewise.
14112 (netbsd_flags): Likewise.
14113 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
14114 (grub_cmd_freebsd): Transformed into extended command.
14115 (grub_cmd_openbsd): Likewise.
14116 (grub_cmd_netbsd): Likewise.
14117 (cmd_freebsd): Changed type to grub_extcmd_t.
14118 (cmd_openbsd): Likewise.
14119 (cmd_netbsd): Likewise.
14120 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
14121 grub_cmd_openbsd as extended commands.
14122 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
14123 cmd_netbsd and cmd_openbsd
14124
11d1c769 141252009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
14128
7a9094e5 141292009-08-21 Pavel Roskin <proski@gnu.org>
14130
5496c37e 14131 * Makefile.in (install-local): When checking if a file is in the
14132 build directory, use "test -e" to detect symlinks.
14133
7a9094e5 14134 * Makefile.in (install-local): Remove all files in
14135 $(DESTDIR)$(pkglibdir) before installing new files there.
14136
e53cea11 141372009-08-18 Felix Zielcke <fzielcke@z-51.de>
14138
14139 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
14140 grub-mkelfimage.
14141
9aced544 141422009-08-18 Felix Zielcke <fzielcke@z-51.de>
14143
14144 * util/grub-mkconfig.in: Don't use gfxterm by default if not
14145 explicitly specified by the user.
14146
b7da6bab 141472009-08-18 Pavel Roskin <proski@gnu.org>
14148
14149 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
14150 grub_uint8_t pointer for data.
14151 * include/grub/fbutil.h (struct grub_video_fbblit_info):
14152 Likewise.
14153 * video/fb/fbutil.c: Remove unnecessary casts.
14154
19f1b335 141552009-08-17 Michal Suchanek <hramrach@centrum.cz>
14156
14157 VBE cleanup.
14158
14159 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
14160 (grub_vbe_set_video_mode): Save active mode info
14161 only after setting the mode.
14162 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
14163 second argument.
14164
2f467aa9 141652009-08-17 Michal Suchanek <hramrach@centrum.cz>
14166
14167 Rename variables for clarity.
14168
14169 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
14170 (active_vbe_mode_info): ... this. All users updated.
14171 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
14172 All users updated.
14173 (initial_mode): Rename to ...
14174 (initial_vbe_mode): ... this. All users updated.
14175 (mode_in_use): Rename to ..
14176 (vbe_mode_in_use): ... this. All users updated.
14177 (mode_list): Rename to ..
14178 (vbe_mode_list): ... this. All users updated.
14179 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
14180 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
14181 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
14182 'mode_list_size' to 'vbe_mode_list_size'.
14183 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
14184 'best_mode_info' to 'best_vbe_mode_info' and
14185 'best_mode' to 'best_vbe_mode'
14186
6025fcd7 141872009-08-17 Michal Suchanek <hramrach@centrum.cz>
14188
14189 Remove duplicate grub_video_fb_get_video_ptr.
14190
14191 * include/grub/fbutil.h (get_data_ptr): Rename to ...
14192 (grub_video_fb_get_video_ptr): ... this.
14193 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
14194 * video/fb/fbutil.c: Add comment about addressing.
14195 (get_data_ptr): Rename to ...
14196 (grub_video_fb_get_video_ptr): ... this. All users updated.
14197 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
14198
cc8c6faf 141992009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14200
14201 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
14202 grub_dprintf() that was just added.
14203
08aa61f0 142042009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14205
14206 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
14207 (DEFAULT_VIDEO_MODE): Remove macros.
14208 (grub_linux_boot): Remove assumption that Linux has FB support,
14209 and use "text" as default video mode.
14210
7cef4f75 142112009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
14212
14213 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
14214 grub_dprintf.
14215 * fs/fat.c (grub_fat_read_data): Likewise.
14216
e1f39873 142172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
14220 payload.
14221 (grub_module): Likewise.
14222
c166d79e 142232009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
14226 mbi->cmdline but free playground.
14227
c60cee8e 142282009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 Handle group offset on UFS1.
14231
14232 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
14233 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
14234
c0d8b5d4 142352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 Split ufs.mod into ufs1.mod and ufs2.mod.
14238
14239 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
14240 (grub_fstest_SOURCES): Likewise.
14241 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
14242 (ufs_mod_SOURCES): Remove.
14243 (ufs_mod_CFLAGS): Likewise.
14244 (ufs_mod_LDFLAGS): Likewise.
14245 (ufs1_mod_SOURCES): New variable.
14246 (ufs1_mod_CFLAGS): Likewise.
14247 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 14248 (ufs2_mod_SOURCES): New variable.
14249 (ufs2_mod_CFLAGS): Likewise.
14250 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 14251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
14252 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14253 Likewise.
14254 (grub_emu_SOURCES): Likewise.
14255 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14256 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14257 (grub_setup_SOURCES): Likewise.
14258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14259 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
14260 (grub_setup_SOURCES): Likewise.
14261 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14262 Likewise.
14263 * fs/ufs2.c: New file.
14264 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
14265
d3539132 142662009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 Framebuffer split.
14269
14270 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
14271 subsystem at the end.
14272 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
14273 (video_fb_mod_SOURCES): New variable.
14274 (video_fb_mod_CFLAGS): Likewise.
14275 (video_fb_mod_LDFLAGS): Likewise.
14276 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
14277 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
14278 * video/i386/pc/vbeblit.c: Moved from here ...
14279 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
14280 * video/i386/pc/vbefill.c: Moved from here ...
14281 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
14282 * video/i386/pc/vbeutil.c: Moved from here ...
14283 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
14284 * include/grub/i386/pc/vbeblit.h: Moved from here ...
14285 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
14286 * include/grub/i386/pc/vbefill.h: Moved from here ...
14287 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
14288 * include/grub/i386/pc/vbeutil.h: Moved from here ...
14289 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
14290 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
14291 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
14292 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
14293 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
14294 (grub_video_adapter): Added 'get_info_and_fini'.
14295 (grub_video_get_info_and_fini): New prototype.
14296 (grub_video_set_mode): make modestring const char *.
14297 * loader/i386/linux.c (grub_linux_setup_video): Use
14298 grub_video_get_info_and_fini.
14299 (grub_linux_boot): Move modesetting just before booting.
14300 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
14301 grub_video_get_info_and_fini.
14302 * video/i386/pc/vbe.c: Moved framebuffer part ...
14303 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
14304 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
14305 grub_video_fbstd_colors and grub_video_fb_set_palette.
14306 (grub_video_vbe_init): Clear 'framebuffer' variable and use
14307 grub_video_fb_init.
14308 (grub_video_vbe_fini): Use grub_video_fb_fini.
14309 (grub_video_vbe_setup): Use framebuffer.render_target instead of
14310 render_target and use grub_video_fb_set_active_render_target and
14311 grub_video_fb_set_palette.
14312 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
14313 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
14314 (grub_video_vbe_adapter): Use framebuffer.
14315 * video/video.c (grub_video_get_info_and_fini): New function.
14316 (grub_video_set_mode): Make modestring const char *.
14317 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
14318 values are already initialised.
14319
d404ee56 143202009-08-14 Pavel Roskin <proski@gnu.org>
14321
14322 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
14323 ABS and APPLE_CC.
14324 * boot/i386/pc/diskboot.S: Likewise.
14325 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
14326 sectors allow compilation on MacOSX.
14327 * conf/i386-pc.rmk: Enable unconditional compilation of
14328 lnxboot.img.
14329
9a10df16 143302009-08-13 Colin Watson <cjwatson@ubuntu.com>
14331
14332 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
14333 * util/grub.d/00_header.in: Enter interruptible sleep if
14334 GRUB_HIDDEN_TIMEOUT is set.
14335
be3c9ca7 143362009-08-13 Yves Blusseau <blusseau@zetam.org>
14337
14338 * include/grub/symbol.h: Add the LOCAL macro.
14339 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
14340 starting with "L_".
14341
1f9e557e 143422009-08-13 Pavel Roskin <proski@gnu.org>
14343
9ca62843 14344 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
14345 any modern compilers we support.
14346
1f9e557e 14347 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
14348 Use local labels starting with "L_" so that Apple assembler
14349 knows they are local.
14350
81623db6 143512009-08-10 Robert Millan <rmh.grub@aybabtu.com>
14352
14353 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
14354 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
14355 (bsd_kernel_types): ... this enum.
14356
14357 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
14358 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
14359 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
14360
14361 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
14362 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
14363 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
14364 messages.
14365
f5d35e7a 143662009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14367
14368 * util/grub-dumpdevtree: Moved from here ...
14369 * util/i386/efi/grub-dumpdevtree: ... to here.
14370 (hexify): New function. Converts a string to its hex version.
14371 Generate hex versions of "efi" and "device-properties" by calling
14372 hexify() on the ASCII strings rather than by hardcoding numbers.
14373
d1e1d527 143742009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14375
14376 * fs/jfs.c: Update copyright year.
14377
1ebbe064 143782009-08-08 Felix Zielcke <fzielcke@z-51.de>
14379
14380 * util/grub.d/00_header.in: Fix a comment.
14381 * util/grub.d/10_linux.in: Likewise.
14382 * util/grub.d/10_windows.in: Likewise.
14383 * util/grub.d/10_hurd.in: Likewise.
14384
a78c8d24 143852009-08-08 Felix Zielcke <fzielcke@z-51.de>
14386
14387 * util/grub-mkconfig.in: Allow the user to specify the used font
14388 with GRUB_FONT.
14389
29a6b9e8 143902009-08-08 Pavel Roskin <proski@gnu.org>
14391
b5f16cc4 14392 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
14393 available, xfs.mod needs it now.
14394
2f5cb827 14395 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
14396 the "g" modifier in sed when the intention is to strip something
14397 once. This fixes comparison of kernels with multiple dashes.
14398
29a6b9e8 14399 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
14400 on it. Add missing space before closing bracket. Fix
14401 misleading formatting.
14402
892a3d98 144032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14404
14405 * docs/grub.texi: Major overhaul. Remove all sections that are
14406 specific to GRUB Legacy, or mostly composed of Legacy-specific
14407 information.
14408
ed94253f 144092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14410
14411 * docs/version.texi: New file. Provides version information for
14412 grub.texi.
14413
126d6628 144142009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14415
14416 * docs/grub.texi: Update CVS information to SVN.
14417 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
14418
998b5aa9 144192009-08-07 Felix Zielcke <fzielcke@z-51.de>
14420
14421 * util/grub-mkconfig.in: Remove a wrong `fi'.
14422
818e094a 144232009-08-07 Felix Zielcke <fzielcke@z-51.de>
14424
14425 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
14426 (grub_jfs_uuid): New function.
14427 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
14428
b969c52f 144292009-08-07 Felix Zielcke <fzielcke@z-51.de>
14430
14431 * util/grub-mkconfig_lib.in (font_path): Move the functionality
14432 of it to ...
14433 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
14434 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
14435
7a4894cc 144362009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14437
14438 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
14439 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
14440 Update all users.
14441
14442 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
14443 not just "vmlinu[zx]".
14444 Moved from here ...
14445 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
14446 all users.
14447
14448 * util/grub.d/10_linux.in (find_latest): Moved from here ...
14449 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
14450 all users.
14451
4e2171f8 144522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14453
14454 * util/grub.d/10_freebsd.in: Use an absolute device path for
14455 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
14456
6dcfcb32 144572009-08-06 Felix Zielcke <fzielcke@z-51.de>
14458
14459 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
14460 handling of multiple abstraction modules.
14461
f56a8756 144622009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14463
14464 Fix a bug resulting in black screen when loading Linux using a
14465 packed video mode.
14466
14467 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14468 function.
14469
14470 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14471 (grub_vbe_bios_getset_dac_palette_width): New function.
14472 (grub_vbe_bios_get_dac_palette_width)
14473 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
14474 grub_vbe_bios_getset_dac_palette_width()).
14475
14476 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
14477 check for return status.
14478 (grub_vbe_get_video_mode_info): When getting information for a packed
14479 mode (<= 8 bpp), obtain DAC palette width using
14480 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
14481 {red,green,blue}_mark_size.
14482
222671b2 144832009-08-04 Felix Zielcke <fzielcke@z-51.de>
14484
ecb1a6d9 14485 * commands/search.c (options): Fix help output to match actual code.
222671b2 14486
f84114f5 144872009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
14488
14489 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
14490 of homegrown code.
14491
bd288a20 144922009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 14493
14494 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
14495 on XFS or ReiserFS.
14496
8aab5e25 144972009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 Support Apple partition map with sector size different from 512 bytes.
14500
14501 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
14502 (apple_partition_map_iterate): Respect 'aheader.blocksize'
14503 and 'apart.partmap_size'.
14504
6ad6258a 145052009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
145062009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14507
14508 Fix cpuid command.
14509
14510 * commands/i386/cpuid.c (options): New variable.
14511 (grub_cmd_cpuid): Return real error.
14512 (GRUB_MOD_INIT(cpuid)): Declare options.
14513
67459bc6 145142009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14517 valid.
14518
fbc6ab54 145192009-07-31 Bean <bean123ch@gmail.com>
14520
14521 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14522 log2_inode.
14523 (grub_fshelp_node): Move inode field to the end.
14524 (grub_xfs_data): Remove inode field.
14525 (grub_xfs_inode_block): Calculate inode size using sblock.
14526 (grub_xfs_inode_offset): Likewise.
14527 (grub_xfs_read_inode): Calculate inode size using sblock.
14528 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14529 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14530 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14531 to match inode size.
14532 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14533 not accessible when data is null.
14534 (grub_xfs_open): Likewise.
14535
f45d6cfc 145362009-07-31 Bean <bean123ch@gmail.com>
14537
14538 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14539 Don't change pv->disk if it's already set.
14540
14541 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14542 (grub_raid_register): ... here.
14543 (grub_raid_rescan): Removed.
14544
14545 * include/grub/raid.h (grub_raid_rescan): Removed.
14546
14547 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14548 (fstest): Replace grub_raid_rescan with module fini function followed
14549 by init function.
14550
14551 * util/grub-probe.c: Add include file <grub/raid.h>.
14552 (probe_raid_level): New function.
14553 (probe): Detect abstraction by walking the disk device, support two
14554 level of abstraction (LVM on RAID) when detecting partition map.
14555
24443b5a 145562009-07-31 Pavel Roskin <proski@gnu.org>
14557
14558 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14559 to grub_zalloc(), it was erroneous.
14560 Reported by Bean <bean123ch@gmail.com>
14561
a275d9e7 145622009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 14565 embedding zone, not only the first one.
a275d9e7 14566
56c5a47f 145672009-07-29 Joe Auricchio <jauricchio@gmail.com>
14568
14569 * term/gfxterm.c (clear_char): New function.
14570 (grub_virtual_screen_setup): Use clear_char.
14571 (scroll_up): Likewise.
14572 (grub_virtual_screen_cls): Likewise.
14573
67bb323a 145742009-07-29 Felix Zielcke <fzielcke@z-51.de>
14575
14576 * util/deviceiter.c (get_acceleraid_disk_name): New static
14577 function.
14578 (grub_util_iterate_devices): Handle Accelraid devices.
14579 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14580
388a7c75 145812009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14582
14583 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14584 separator for the suggested gfxpayload string (';' collides with the
14585 parser and needs escaping).
14586
3bb7abcf 145872009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14590 Clear direction flag before jumping to OS.
14591 (grub_multiboot2_real_boot): Likewise.
14592
2ddd36d7 145932009-07-28 Felix Zielcke <fzielcke@z-51.de>
14594
14595 * util/i386/pc/grub-install: Fix parsing of --disk-module
14596 option.
14597
c521b62b 145982009-07-28 Felix Zielcke <fzielcke@z-51.de>
14599
14600 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14601 when embedding.
14602
880e0a0c 146032009-07-26 Felix Zielcke <fzielcke@z-51.de>
14604
14605 * util/grub-mkconfig.in (package_version): New variable.
14606 Use it do display the version.
14607
2366e356 146082009-07-25 Felix Zielcke <fzielcke@z-51.de>
14609
14610 * kern/file.c (grub_file_open): Revert to previous check with
14611 grub_errno.
14612
7ad8c80e 146132009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14616 from help line. It's out of sync with code.
14617
72b9658b 146182009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14621 entries on failed boot.
14622
77435277 146232009-07-25 Felix Zielcke <fzielcke@z-51.de>
14624
14625 * kern/file.c (grub_file_open): Fix an error check.
14626
fcaa8b21 146272009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14628
35d16c74 14629 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14630 partition map couldn't be identified.
fcaa8b21 14631
48904cd1 146322009-07-23 Pavel Roskin <proski@gnu.org>
14633
ef3c317f 14634 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14635 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14636 case of little endian words becomes just an optimization.
14637 Respect const modifier.
ad8ea1f4 14638 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 14639
48904cd1 14640 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14641 to avoid loss of upper bits if align is unsigned and shorter
14642 than addr.
14643
260c9a89 146442009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14645
14646 UUID support for UFS
14647
14648 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14649 (grub_ufs_uuid): New function.
14650 (grub_ufs_fs): add .uuid
14651
f76ce889 146522009-07-21 Pavel Roskin <proski@gnu.org>
14653
14654 * kern/dl.c (grub_dl_check_header): Make static.
14655
6a6cbcaf 146562009-07-21 Felix Zielcke <fzielcke@z-51.de>
14657
14658 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14659 add drivemap for Vista. It breaks Windows 7.
14660
cffcddb2 146612009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14662
14663 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14664 128 bytes
14665
1ef44b80 146662009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14667
14668 Add BFS support
14669
14670 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14671 (grub_fstest_SOURCES): Likewise.
14672 (pkglib_MODULES): Add befs.mod.
14673 (befs_mod_SOURCES): New variable.
14674 (befs_mod_CFLAGS): Likewise.
14675 (befs_mod_LDFLAGS): Likewise.
14676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14677 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14678 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14679 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14680 (grub_setup_SOURCES): Likewise.
14681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14682 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14683 (grub_setup_SOURCES): Likewise.
14684 * fs/befs.c: New file.
14685 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14686 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14687 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14688 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14689 (B_KEY_INDEX_ALIGN): New declaration.
14690 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14691 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14692 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14693 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14694 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14695 (grub_afs_mount) [MODE_BFS]: Likewise.
14696 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14697 (grub_afs_fs): Use GRUB_AFS_FSNAME
14698 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14699 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14700 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14701 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14702
4f253044 147032009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14704
14705 * util/getroot.c (find_root_device): Add support for MacOSX.
14706 * util/hostdisk.c: Likewise.
14707
57a55913 147082009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14709
14710 * font/font.c (find_glyph): Check whether a font is present to avoid
14711 segmentation fault.
75421ca9 14712
147132009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 14714
14715 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14716
e98cd0c2 147172009-07-20 Pavel Roskin <proski@gnu.org>
14718
14719 * configure.ac: Trim excessively wordy excuses.
14720
1d2d169a 147212009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14722
14723 Add symlink, mtime and label support to AtheFS.
14724
14725 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14726 (grub_afs_iterate_dir): Handle symlinks.
14727 (grub_afs_open): Use grub_afs_read_symlink.
14728 (grub_afs_dir): Likewise.
14729 Pass mtime.
14730 (grub_afs_label): New function.
14731 (grub_afs_fs): Add grub_afs_label.
14732 (grub_afs_read_symlink): New function.
14733
186f3189 147342009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 Fix AtheFS support.
14737
14738 * fs/afs.c: Fix comments style.
14739 (grub_afs_blockrun): Declare as packed.
14740 (grub_afs_datastream): Likewise.
14741 (grub_afs_bnode): Likewise.
14742 (grub_afs_btree): Likewise.
14743 (grub_afs_sblock): Likewise.
14744 Declare `name' as char.
14745 (grub_afs_inode): Declare as packed.
14746 Change void *vnode to grub_uint32_t unused.
14747 (grub_afs_iterate_dir): Check that key_size is positive.
14748 (grub_afs_mount): Don't read superblock twice.
75421ca9 14749 (grub_afs_dir): Don't free node in case of error,
186f3189 14750 grub_fshelp_find_file already handles this.
14751 (grub_afs_open): Likewise.
14752
5680109e 147532009-07-19 Pavel Roskin <proski@gnu.org>
14754
14755 * Makefile.in: Remove LIBLZO and enable_lzo.
14756 * conf/i386-pc.rmk: Remove lzo support.
14757 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14758 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14759 support.
14760 * kern/i386/pc/lzo1x.S: Remove.
14761 * kern/i386/pc/startup.S: Remove lzo support.
14762 * util/i386/pc/grub-mkimage.c: Likewise.
14763
ac70fa32 147642009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14767 * fs/xfs.c (grub_xfs_dir): Likewise.
14768 * fs/afs.c (grub_afs_dir): Likewise.
14769 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14770 (grub_iso9660_open): Likewise.
14771 * fs/jfs.c (grub_jfs_open): Likewise.
14772 * fs/ext2.c (grub_ext2_dir): Likewise.
14773 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14774 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 14775
eab58da2 147762009-07-16 Pavel Roskin <proski@gnu.org>
14777
d2838156 14778 * configure.ac: Never add "-c" to CFLAGS.
14779
55c70904 14780 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14781
43e6200c 14782 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14783 grub_cv_cc_efiemu should be used.
14784
ce7a733d 14785 * configure.ac: Typo fixes.
14786
eab58da2 14787 * kern/mm.c (grub_zalloc): New function.
14788 (grub_debug_zalloc): Likewise.
14789 * include/grub/mm.h: Declare grub_zalloc() and
14790 grub_debug_zalloc().
14791 * util/misc.c (grub_zalloc): New function.
14792 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14793 instead of grub_malloc(), remove unneeded initializations.
14794 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14795 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14796 * commands/parttool.c (grub_cmd_parttool): Likewise.
14797 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14798 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14799 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14800 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14801 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14802 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14803 (grub_cmd_efiemu_pnvram): Likewise.
14804 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14805 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14806 (grub_iso9660_iterate_dir): Likewise.
14807 * fs/jfs.c (grub_jfs_opendir): Likewise.
14808 * fs/ntfs.c (list_file): Likewise.
14809 (grub_ntfs_mount): Likewise.
14810 * kern/disk.c (grub_disk_open): Likewise.
14811 * kern/dl.c (grub_dl_load_core): Likewise.
14812 * kern/elf.c (grub_elf_file): Likewise.
14813 * kern/env.c (grub_env_context_open): Likewise.
14814 (grub_env_set): Likewise.
14815 (grub_env_set_data_slot): Likewise.
14816 * kern/file.c (grub_file_open): Likewise.
14817 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14818 * loader/i386/multiboot.c (grub_module): Likewise.
14819 * loader/xnu.c (grub_xnu_create_key): Likewise.
14820 (grub_xnu_create_value): Likewise.
14821 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14822 (read_config_file): Likewise.
14823 * normal/menu_entry.c (make_screen): Likewise.
14824 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14825 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14826 * script/sh/script.c (grub_script_parse): Likewise.
14827 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14828 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14829 * video/readers/png.c (grub_png_output_byte): Likewise.
14830 (grub_video_reader_png): Likewise.
14831
830afef7 148322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14833
14834 Enable all targets that can be built by default
14835
830afef7 14836 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14837 grub-mkfont and grub-fstest if they can be built
14838
ee293aee 148392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 Fix hang and segmentation fault in grub-emu-usb
14842
14843 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14844 * util/usb.c (grub_libusb_devices): likewise
14845 (grub_libusb_init): rename to ...
14846 (GRUB_MOD_INIT (libusb)):...this
14847 (grub_libusb_fini): rename to ..
14848 (GRUB_MOD_FINI (libusb)):...this
14849 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14850 * include/grub/disk.h (grub_raid_init): removed, it's useless
14851 (grub_raid_fini): likewise
14852 (grub_lvm_init): likewise
14853 (grub_lvm_fini): likewise
14854 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14855 by grub_init_all
14856
94414221 148572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14858
14859 Fix libusb
14860
14861 * Makefile.in (LIBUSB): new macro
14862 * genmk.rb (Utility/print_tail): new method
14863 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14864 (top level): call util.print_tail at the end.
14865
59ade63d 148662009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14867
14868 Make FreeBSD accept zpool.cache
14869
14870 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14871 type is /boot/zfs/zpool.cache
14872
a58da8c7 148732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 Fix 64-bit efiemu
14876
14877 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14878 correct wrong typedef
14879 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14880
20591577 148812009-07-15 Pavel Roskin <proski@gnu.org>
14882
560ca572 14883 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14884 * kern/disk.c (struct grub_disk_cache): Likewise.
14885
e8e8e4fd 14886 * commands/probe.c (options): Typo fix.
14887
fde24e10 14888 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14889 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14890 accordingly.
14891 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14892
379c54c1 14893 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14894 the end of "Error" to make the message more readable.
14895
7bd8f5bf 14896 * boot/i386/pc/boot.S (kernel_segment): Remove.
14897 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14898 for destination.
14899
40b132c5 14900 * boot/i386/pc/boot.S (boot_version): Remove.
14901 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14902 Remove.
14903
20591577 14904 * include/grub/i386/pc/boot.h: Sort all offsets.
14905 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14906 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14907 * boot/i386/pc/boot.S: Assert location of every offset listed in
14908 include/grub/i386/pc/boot.h.
14909
2df32b2c 149102009-07-13 Pavel Roskin <proski@gnu.org>
14911
44b5d879 14912 * include/grub/i386/coreboot/machine.h: Rename
14913 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14914 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14915 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14916
17dc3751 14917 * kern/dl.c: Force native word size to suppress warnings when
14918 compiling grub-emu.
14919
2df32b2c 14920 * kern/device.c (grub_device_iterate): Change struct part_ent to
14921 hold the name, not a pointer to it. Use one grub_malloc() per
14922 partition, not two. Free partition_name if grub_malloc() fails.
14923 Set ents to NULL only before grub_partition_iterate() is called.
14924
75c59f59 149252009-07-11 Bean <bean123ch@gmail.com>
14926
14927 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
14928 childname.
14929
0ae1bf88 149302009-07-10 Bean <bean123ch@gmail.com>
149312009-07-10 Robert Millan <rmh.grub@aybabtu.com>
14932
14933 * kern/ieee1275/openfw.c (grub_children_iterate)
14934 (grub_devalias_iterate): Fix size evaluation for property or path
14935 strings, which was broken since r2132.
14936
8279cade 149372009-07-07 Pavel Roskin <proski@gnu.org>
14938
7d8a52d3 14939 * commands/search.c (search_file): Merge into ...
14940 (search_fs): ... this. Accept search type as argument.
14941 (grub_cmd_search): Pass search type to search_fs().
14942
25f9a05a 14943 * include/grub/util/console.h: New file.
14944 * util/console.c: Use it instead of grub/machine/console.h.
14945 * util/grub-emu.c: Likewise.
14946
8279cade 14947 * lib/arg.c (find_long_option): Remove.
14948 (find_long): Add `len' argument, make `s' const char *.
14949 (grub_arg_parse): Parse long options in place, not in a
14950 temporary buffer.
14951
4a11b60f 149522009-07-06 Pavel Roskin <proski@gnu.org>
14953
99f68041 14954 * commands/search.c (search_fs): Fix potential NULL pointer
14955 dereference.
14956
4a11b60f 14957 * commands/search.c (search_fs): Replace QUID macro with quid_fn
14958 function pointer.
14959
e110f4de 149602009-07-06 Daniel Mierswa <impulze@impulze.org>
14961
14962 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
14963 comparison.
14964
46eeb6a2 149652009-07-05 Pavel Roskin <proski@gnu.org>
14966
bab74958 14967 * include/grub/i386/linux.h (struct linux_kernel_params):
14968 Restore padding3, it's still needed.
14969
46eeb6a2 14970 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
14971 FreeBSD.
14972 * util/osdetect.lua: Likewise.
14973
b4a1dc79 149742009-07-05 Bean <bean123ch@gmail.com>
14975
14976 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
14977
14978 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
14979 (grub_lua_getenv): Likewise.
14980 (grub_lua_setenv): Likewise.
14981 (save_errno): New function.
14982 (push_result): Likewise.
14983 (grub_lua_enum_device): Likewise.
14984 (grub_lua_enum_file): Likewise.
14985 (grub_lua_file_open): Likewise.
14986 (grub_lua_file_close): Likewise.
14987 (grub_lua_file_seek): Likewise.
14988 (grub_lua_file_read): Likewise.
14989 (grub_lua_file_getline): Likewise.
14990 (grub_lua_file_getsize): Likewise.
14991 (grub_lua_file_getpos): Likewise.
14992 (grub_lua_file_eof): Likewise.
14993 (grub_lua_file_exist): Likewise.
14994 (grub_lua_add_menu): Likewise.
14995
14996 * script/lua/grub_lua.h (isupper): New inline function.
14997 (islower): Likewise.
14998 (ispunct): Likewise.
14999 (isxdigit): Likewise.
15000 (strcspn): Change to normal function.
15001 (strpbkr): New function declaration.
15002 (memchr): Likewise.
15003
15004 * script/lua/grub_main.c (scan_str): New function.
15005 (strcspn): Likewise.
15006 (strpbrk): Likewise.
15007 (memchr): Likewise.
15008
15009 * script/lua/linit.c (lualibs): Enable the string library.
15010
15011 * util/osdetect.lua: New file.
15012
2da92295 150132009-07-04 Robert Millan <rmh.grub@aybabtu.com>
15014
15015 * include/grub/i386/linux.h (struct linux_kernel_params): Add
15016 `capabilities' member.
15017
b2582ec9 150182009-07-02 Pavel Roskin <proski@gnu.org>
15019
15020 * genparttoollist.sh: Add missing newline at the end.
15021
32622956 150222009-07-01 Pavel Roskin <proski@gnu.org>
15023
87a7339e 15024 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
15025
d23af54e 15026 * util/hostdisk.c (open_device): Remove `const' from
15027 `sysctl_size', as sysctlbyname() can change it (in this case it
15028 doesn't actually happen).
15029
c94b18a9 15030 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
15031 using signed long int constants.
15032
c6cd3ef0 15033 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
15034 constant to avoid a warning on FreeBSD.
15035
0df63420 15036 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
15037 where it's needed.
15038
999577f1 15039 * Makefile.in: Install include/grub/machine symlink.
15040
6f41557f 15041 * Makefile.in: When installing symlinks, use "cp -fR", which
15042 works on FreeBSD and MacOSX.
15043 From Yves Blusseau <cl7m42e02@sneakemail.com>
15044
c8d22988 15045 * kern/dl.c (grub_dl_resolve_symbol): Make static.
15046 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
15047
1b96e952 15048 * util/misc.c: Move grub_reboot() and grub_halt() ...
15049 * util/grub-emu.c: ... here. Make main_env static.
15050 * include/grub/util/misc.h: Remove main_env.
15051
2ef0084d 15052 * kern/mm.c: Use correct format to print size_t.
15053
32622956 15054 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
15055 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
15056 * kern/powerpc/dl.c: Likewise.
15057 * kern/sparc64/dl.c: Likewise.
15058 * kern/x86_64/dl.c: Likewise.
15059
3f7f0cd0 150602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15061
15062 Fix grub-emu build on sparc64-ieee1275.
15063
75421ca9 15064 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 15065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
15066
211d06b5 150672009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15068
15069 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
15070 (grub_reboot, grub_halt): New functions.
15071
15072 * util/i386/pc/misc.c: Delete. Update all users.
15073 * util/sparc64/ieee1275/misc.c: Likewise.
15074 * util/powerpc/ieee1275/misc.c: Likewise.
15075
aaf53e3c 150762009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15077
15078 * conf/i386.rmk (setjmp_mod_SOURCES)
15079 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
15080 * conf/common.rmk (setjmp_mod_SOURCES)
15081 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
15082 to use $(target_cpu).
15083 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
15084 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
15085 * conf/powerpc-ieee1275.rmk: Likewise.
15086 * conf/sparc64-ieee1275.rmk: Likewise.
15087
15088 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
15089 $(target_cpu) for kern/$(target_cpu)/dl.c.
15090 * conf/i386-efi.rmk: Likewise.
15091 * conf/i386-ieee1275.rmk: Likewise.
15092 * conf/x86_64-efi.rmk: Likewise.
15093 * conf/i386-coreboot.rmk: Likewise.
15094 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
15095 $(target_cpu) for kern/$(target_cpu)/dl.c and for
15096 kern/$(target_cpu)/cache.S.
15097 * conf/sparc64-ieee1275.rmk: Likewise.
15098
a337130b 150992009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15100
15101 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
15102 type to `grub_uint8_t', and adjust `padding9' accordingly.
15103
c6fe4d53 151042009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15105
b09db61d 15106 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
15107
c6fe4d53 15108 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
15109 assembly in final jump, using register constraints.
15110
b09db61d 15111 (grub_linux_boot): For text mode, initialize `have_vga' using
15112 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
15113
15114 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
15115 right before the final jump.
15116
15117 Set `video_mode' to 0x3.
15118
15119 Document initialization of `video_page', `video_mode' and
15120 `video_ega_bx'.
15121
28333ad0 151222009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15123
15124 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
15125 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 15126 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 15127
02164e1b 151282009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15129
15130 Fix build on Debian / sparc.
15131
15132 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
15133
18b6c557 151342009-06-28 Pavel Roskin <proski@gnu.org>
15135
85f2aab6 15136 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
15137 fix a warning.
15138
18b6c557 15139 * util/grub.d/10_linux.in: Match SUSE style initrd names.
15140
ad760f81 151412009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15142
15143 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
15144 `err'.
15145
87a4623b 151462009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15147
15148 Revert r2338.
15149
15150 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
15151 file can't be opened. grub_file_open() is already supposed to set
75421ca9 15152 grub_errno / grub_errmsg appropriately.
87a4623b 15153 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15154
8231fb77 151552009-06-27 Pavel Roskin <proski@gnu.org>
151562009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15157
15158 * include/grub/dl.h: Include grub/elf.h.
15159 (struct grub_dl): Add symtab field.
15160 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
15161 GRUB_MODULES_MACHINE_READONLY.
15162 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
15163 of the header for read-only modules.
15164 (grub_dl_unload): Free mod->symtab for read-only modules.
15165 * kern/i386/dl.c: Use mod->symtab.
15166 * kern/powerpc/dl.c: Likewise.
15167 * kern/sparc64/dl.c: Likewise.
15168 * kern/x86_64/dl.c: Likewise.
15169
15170 * conf/i386-qemu.rmk: New file.
15171 * kern/i386/qemu/startup.S: Likewise.
15172 * kern/i386/qemu/mmap.c: Likewise.
15173 * boot/i386/qemu/boot.S: Likewise.
15174 * include/grub/i386/qemu/time.h: Likewise.
15175 * include/grub/i386/qemu/serial.h: Likewise.
15176 * include/grub/i386/qemu/kernel.h: Likewise.
15177 * include/grub/i386/qemu/console.h: Likewise.
15178 * include/grub/i386/qemu/boot.h: Likewise.
15179 * include/grub/i386/qemu/init.h: Likewise.
15180 * include/grub/i386/qemu/machine.h: Likewise.
15181 * include/grub/i386/qemu/loader.h: Likewise.
15182 * include/grub/i386/qemu/memory.h: Likewise.
15183
15184 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
15185 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
15186 [qemu] (pkglib_IMAGES): Add `boot.img'.
15187 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
15188 [qemu] (boot_img_FORMAT): New variables.
15189 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
15190 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
15191 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
15192 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15193 [qemu] (kernel_img_FORMAT): New variables.
15194
15195 * configure.ac: Recognise `i386-qemu'.
15196
15197 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
15198 (for no compression).
15199 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
15200 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
15201 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
15202 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
15203 ifdefs).
15204
97fe384e 152052009-06-27 Pavel Roskin <proski@gnu.org>
15206
15207 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
15208 read.
15209 * efiemu/prepare32.c: Likewise.
15210 * efiemu/prepare64.c: Likewise.
15211
c402ab17 152122009-06-26 Pavel Roskin <proski@gnu.org>
15213
15214 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
15215 * include/grub/elf.h: Define symbols without "32" or "64" based
15216 on GRUB_TARGET_WORDSIZE.
15217 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
15218 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
15219 ELF definitions.
15220 * efiemu/loadcore64.c: Likewise.
15221 * loader/i386/bsd32.c: Likewise.
15222 * loader/i386/bsd64.c: Likewise.
15223 * kern/dl.c: Remove own ELF definitions.
15224 * util/i386/efi/grub-mkimage.c: Likewise.
15225
9bbdfd4d 152262009-06-23 Robert Millan <rmh.grub@aybabtu.com>
15227
15228 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
15229 segment 0x0 unconditionally, because the reference generated by
15230 GAS is an absolute address.
15231
a42ce6e9 152322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15233
15234 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
15235 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
15236
c952cf92 152372009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15238
15239 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
15240 indexes. Check for -f explicitly.
cc3752ad 15241 (search_file): Improve error message.
15242 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 15243
132a0a59 152442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15245
15246 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
15247 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
15248
387a140c 152492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15250
15251 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
15252 * conf/i386-ieee1275.rmk: Likewise.
15253 * conf/i386-coreboot.rmk: Likewise.
15254
15255 * kern/i386/pc/startup.S (grub_stop): Remove function.
15256 * kern/i386/ieee1275/startup.S: Likewise.
15257 * kern/i386/coreboot/startup.S: Likewise.
15258 * kern/i386/misc.S (grub_stop): New function.
15259
41da9665 152602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15261
15262 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
15263 * kern/i386/realmode.S (real_to_prot): ... to here.
15264
bf337234 152652009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15266
15267 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
15268 with `kernel.img'.
15269 (kernel_elf_SOURCES): Rename to ...
15270 (kernel_img_SOURCES): ... this.
15271 (kernel_elf_HEADERS): Rename to ...
15272 (kernel_img_HEADERS): ... this. Update all users.
15273 (kernel_elf_ASFLAGS): Rename to ...
15274 (kernel_img_ASFLAGS): ... this.
15275 (kernel_elf_CFLAGS): Rename to ...
15276 (kernel_img_CFLAGS): ... this.
15277 (kernel_elf_LDFLAGS): Rename to ...
15278 (kernel_img_LDFLAGS): ... this.
15279 * conf/i386-coreboot.rmk: Likewise.
15280 * conf/powerpc-ieee1275.rmk: Likewise.
15281
15282 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
15283 with "kernel.img".
15284
f52196ff 152852009-06-21 Pavel Roskin <proski@gnu.org>
15286
c3cee413 15287 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
15288 to match nested functions.
15289 * loader/sparc64/ieee1275/linux.c: Likewise.
15290
f52196ff 15291 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
15292
58750afc 152932009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15294
15295 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
15296 all i386 platforms.
15297
15355c7d 152982009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15299
15300 Fix asm file handling on ELF, and remove workarounds.
15301
15302 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 15303 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 15304 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
15305 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
15306
3f3ec72b 153072009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 Load BSD ELF modules
15310
15311 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
15312 and loader/i386/bsd64.c
15313 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
15314 (FREEBSD_MODTYPE_ELF_MODULE): New definition
15315 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
15316 (grub_freebsd_load_elfmodule32): New declaration
15317 (grub_freebsd_load_elfmoduleobj64): Likewise
15318 (grub_freebsd_load_elf_meta32): Likewise
15319 (grub_freebsd_load_elf_meta64): Likewise
15320 (grub_freebsd_add_meta): Likewise
15321 (grub_freebsd_add_meta_module): Likewise
15322 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
15323 (grub_freebsd_add_meta_module): Likewise and move module-specific
15324 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
15325 (grub_cmd_freebsd): Add elf-kernel specific parts
15326 based on grub_freebsd_add_meta_module
15327 (grub_cmd_freebsd_module): Add type parsing moved from
15328 grub_freebsd_add_meta_module
15329 (grub_cmd_freebsd_module_elf): New function
15330 (cmd_freebsd_module_elf): New variable
15331 (GRUB_MOD_INIT): Register freebsd_module_elf
15332 * loader/i386/bsd32.c: New file
15333 * loader/i386/bsd64.c: Likewise
15334 * loader/i386/bsdXX.c: Likewise
15335 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
15336 (grub_elf64_load): Likewise
15337 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
15338 All users updated
15339 (grub_elf64_load_hook_t): Likewise
15340
0db15301 153412009-06-21 Colin Watson <cjwatson@ubuntu.com>
15342
15343 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
15344 variable.
15345 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
15346 don't write a menu entry for recovery mode.
15347
546796c1 153482009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15349
15350 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
15351 after it's no longer needed.
15352
cd7310d5 153532009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15354
15355 * include/grub/i386/loader.h (grub_linux_prot_size)
15356 (grub_linux_tmp_addr, grub_linux_real_addr)
15357 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
15358 GRUB_MACHINE_PCBIOS.
15359 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
15360 common grub_util_info() call to ...
15361 (generate_image): ... here.
15362 Fix use of uninitialized memory, comparison of signed with
15363 unsigned integers and memory leak.
15364 Remove bogus module address message.
15365
ab32d3b5 153662009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
15369 grub_raid_register
15370 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
15371
024ef597 153722009-06-19 Pavel Roskin <proski@gnu.org>
15373
15374 * configure.ac: Remove stray AC_MSG_CHECKING.
15375
3ac72b51 153762009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 15379
e14cd814 153802009-06-18 Pavel Roskin <proski@gnu.org>
15381
15382 * conf/common.rmk: Add fs_file.mod.
15383 * disk/fs_file.c: New file.
15384 * include/grub/disk.h (enum grub_disk_dev_id): Add
15385 GRUB_DISK_DEVICE_FILE_ID.
15386
26586d98 153872009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15388
15389 Fix build with Apple's toolchain. Part 2
15390
15391 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
15392 a fake start
15393
26de2bcd 153942009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 Fix build with Apple's toolchain. Part 1
15397
15398 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
15399 for long calls
15400 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 15401 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 15402 Apple's toolchain
15403
09b3490b 154042009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 Fix warnings
15407
15408 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
15409 (decomp_block): initialize ch
15410 use grub_memcpy instead of memcpy
15411
c22a006a 154122009-06-17 Pavel Roskin <proski@gnu.org>
15413
d3638678 15414 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
15415 version, use declarations needed to use vga_text as the startup
15416 console.
15417
c22a006a 15418 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
15419 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
15420 the kernel.
15421 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
15422 and grub_at_keyboard_fini(), it's done on module load and
15423 unload.
15424
05b129e0 154252009-06-17 Felix Zielcke <fzielcke@z-51.de>
15426
15427 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
15428 file can't be found.
15429 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15430
cf24ed9e 154312009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15432
15433 Fix newline handling
15434
15435 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 15436 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 15437 (grub_script_yylex): don't segfault on unterminated script
15438 newline terminates command and variable
15439
74aa8e4b 154402009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 avoid double grub_adjust_range call. Bug reported by David Simner
15443
15444 * kern/disk.c (grub_disk_write): change to raw disk access before
15445 calling disk_read
15446
1bd265f3 154472009-06-17 Colin Watson <cjwatson@ubuntu.com>
15448
15449 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
15450 spaces, for the benefit of help2man.
15451 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15452
a2d08c06 154532009-06-16 Pavel Roskin <proski@gnu.org>
15454
15455 * kern/i386/halt.c: Include grub/machine/init.h.
15456 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
15457
b97bcb19 154582009-06-16 Felix Zielcke <fzielcke@z-51.de>
15459
15460 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15461 drivemap menuentry.
15462
0644f96c 154632009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15464
15465 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15466 `echo' command.
15467
3ef17a2e 154682009-06-16 Pavel Roskin <proski@gnu.org>
15469
15470 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15471 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15472 save %dx, we only need %dl and we never change it.
15473 * boot/i386/pc/cdboot.S: Don't set the root drive.
15474 * boot/i386/pc/pxeboot.S: Likewise.
15475 * include/grub/i386/pc/boot.h: Remove
15476 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
15477 GRUB_BOOT_MACHINE_DRIVE_CHECK.
15478 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
15479 * kern/i386/pc/init.c (make_install_device): Remove references
15480 to grub_root_drive.
15481 * kern/i386/pc/startup.S: Likewise.
15482 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
15483
693fe637 154842009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15485
15486 xnu_uuid command
15487
15488 * commands/xnu_uuid.c: new file
15489 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
15490 (xnu_uuid_mod_SOURCES): new variable
15491 (xnu_uuid_mod_CFLAGS): likewise
15492 (xnu_uuid_mod_LDFLAGS): likewise
15493 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15494 * conf/i386-ieee1275.rmk: likewise
15495 * conf/i386-pc.rmk: likewise
15496 * conf/powerpc-ieee1275.rmk: likewise
15497 * conf/sparc64-ieee1275.rmk: likewise
15498 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
15499
c9da87d0 155002009-06-16 Pavel Roskin <proski@gnu.org>
15501
15502 * configure.ac: Avoid '==' in test command, it's not portable.
15503
9c6f4596 155042009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 Probe command
15507
15508 * commands/probe.c: new file
15509 * conf/common.rmk (pkglib_MODULES): add probe.mod
15510 (probe_mod_SOURCES): new variable
15511 (probe_mod_CFLAGS): likewise
15512 (probe_mod_LDFLAGS): likewise
15513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15514 * conf/i386-ieee1275.rmk: likewise
15515 * conf/i386-pc.rmk: likewise
15516 * conf/powerpc-ieee1275.rmk: likewise
15517 * conf/sparc64-ieee1275.rmk: likewise
15518
70b7f9fd 155192009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 Fix handling of string like \"hello\" and "a
15522 b"
15523
15524 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15525 (grub_script_yylex): fix parsing of quoting, escaping and newline
15526
71c79a6b 155272009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15528
dd74360c 15529 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 15530 handling
dd74360c 15531
0644f96c 155322009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 15533
15534 * util/grub-mkconfig.in: Fix parsing of --output option.
15535
e40893c3 155362009-06-12 Pavel Roskin <proski@gnu.org>
15537
15538 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15539 genmk.rb don't need to be generated or installed.
15540
3a1acfe2 155412009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 * commands/i386/pc/drivemap_int13h.S: add more comments
15544
3a4575d4 155452009-06-11 Pavel Roskin <proski@gnu.org>
15546
0658e928 15547 * Makefile.in (uninstall): Uninstall manuals.
15548
ca0388f0 15549 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15550 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15551 and update-grub_lib in two places.
15552 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15553
e3b27c39 15554 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15555 a compiler warning.
15556
3a4575d4 15557 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15558 `entry_lo' to fix variable shadowing.
15559
af1f4f55 155602009-06-11 Christian Franke <franke@computer.org>
15561
15562 * kern/misc.c (__enable_execute_stack): Add missing return type
15563 to prevent gcc warning.
15564
5225e649 155652009-06-11 Felix Zielcke <fzielcke@z-51.de>
15566
15567 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15568
7d83bd47 155692009-06-11 Pavel Roskin <proski@gnu.org>
15570
c1cb63ba 15571 * Makefile.in: Don't rely on any scripts being executable.
15572 Always use $(SHELL) to run shell scripts.
15573
7d83bd47 15574 * configure.ac: Always define ___main if using -nostdlib. This
15575 fixes tests on Cygwin.
15576
948f48e7 155772009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15578
15579 UDF fix
15580
7d83bd47 15581 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15582 is in bytes and not in blocks
7d83bd47 15583
8ada9bc1 155842009-06-11 Pavel Roskin <proski@gnu.org>
15585
15586 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15587 warning.
15588
25ad2323 155892009-06-11 Felix Zielcke <fzielcke@z-51.de>
15590
15591 * util/grub.d/30_os-prober.in: Fix a comment. Source
15592 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15593 to set the root device. Place drivemap command in the generated
15594 chain entry.
15595
e65acb0c 155962009-06-11 Pavel Roskin <proski@gnu.org>
15597
15598 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15599 have long been resolved.
15600
f285fe2d 156012009-06-11 Colin Watson <cjwatson@ubuntu.com>
15602
bd47b0b5 15603 * util/grub.d/10_linux.in: Capitalise "Linux".
15604
f285fe2d 15605 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15606
a0c62e4e 156072009-06-11 Pavel Roskin <proski@gnu.org>
15608
b6783cb2 15609 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15610 fix a gcc warning and ensure that the function won't ever exit.
15611
dde032e8 15612 * kern/i386/ieee1275/init.c: Add missing prototype for
15613 grub_stop_floppy().
15614
22cd079d 15615 * loader/ieee1275/multiboot2.c [__i386__]: Include
15616 grub/cpu/multiboot.h.
15617
a0c62e4e 15618 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15619 casts to short - they are not portable and cause warnings. Fix
15620 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15621
63963d17 156222009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 Drivemap fixes
15625
15626 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15627 new function
15628 (grub_get_root_biosnumber_saved): new variable
15629 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15630 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 15631 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 15632 %dx after the call if necessary
15633 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15634 (boot_mod_SOURCES): remove
15635 (boot_mod_CFLAGS): remove
15636 (boot_mod_LDFLAGS): remove
15637 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15638 (boot_mod_SOURCES): new variable
15639 (boot_mod_CFLAGS): likewise
15640 (boot_mod_LDFLAGS): likewise
15641 * conf/i386-efi.rmk: likewise
15642 * conf/i386-ieee1275.rmk: likewise
15643 * conf/i386-pc.rmk: likewise
15644 * conf/powerpc-ieee1275.rmk: likewise
15645 * conf/sparc64-ieee1275.rmk: likewise
15646 * conf/x86_64-efi.rmk: likewise
15647 * include/grub/i386/pc/biosnum.h: new file
15648 * lib/i386/pc/biosnum.c: likewise
15649 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15650 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15651 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 15652
33abf7ae 156532009-06-10 Pavel Roskin <proski@gnu.org>
15654
5ac35b35 15655 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15656 Use separate variables. Read only the file size at the end, but
15657 not the checksum that we don't use.
15658
5c5215d5 15659 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15660 Adjust all callers.
15661
27d5fef7 15662 * kern/ieee1275/openfw.c: Remove libc includes.
15663 * kern/ieee1275/cmain.c: Likewise.
15664 * include/grub/ieee1275/ieee1275.h: Likewise.
15665
33abf7ae 15666 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15667 compiler warnings.
15668
19d50c2b 156692009-06-10 Felix Zielcke <fzielcke@z-51.de>
15670
15671 * Makefile.in: Remove all trailing whitespace.
15672 * conf/i386-pc.rmk: Likewise.
15673 * conf/powerpc-ieee1275.rmk: Likewise.
15674 * conf/sparc64-ieee1275.rmk: Likewise.
15675 * docs/grub.texi: Likewise.
15676 * docs/texinfo.tex: Likewise.
15677 * disk/fs_uuid.c: Likewise.
15678 * disk/lvm.c: Likewise.
15679 * disk/scsi.c: Likewise.
15680 * disk/ata.c: Likewise.
15681 * disk/ieee1275/ofdisk.c: Likewise.
15682 * disk/i386/pc/biosdisk.c: Likewise.
15683 * disk/host.c: Likewise.
15684 * disk/raid.c: Likewise.
15685 * disk/efi/efidisk.c: Likewise.
15686 * disk/usbms.c: Likewise.
15687 * disk/memdisk.c: Likewise.
15688 * disk/loopback.c: Likewise.
15689 * kern/powerpc/dl.c: Likewise.
15690 * kern/device.c: Likewise.
15691 * kern/dl.c: Likewise.
15692 * kern/sparc64/dl.c: Likewise.
15693 * kern/ieee1275/ieee1275.c: Likewise.
15694 * kern/term.c: Likewise.
15695 * kern/fs.c: Likewise.
15696 * kern/i386/dl.c: Likewise.
15697 * kern/i386/pc/startup.S: Likewise.
15698 * kern/i386/pc/init.c: Likewise.
15699 * kern/i386/pc/mmap.c: Likewise.
15700 * kern/i386/pc/lzo1x.S: Likewise.
15701 * kern/i386/ieee1275/init.c: Likewise.
15702 * kern/i386/realmode.S: Likewise.
15703 * kern/i386/tsc.c: Likewise.
15704 * kern/partition.c: Likewise.
15705 * kern/corecmd.c: Likewise.
15706 * kern/file.c: Likewise.
15707 * kern/efi/efi.c: Likewise.
15708 * kern/efi/init.c: Likewise.
15709 * kern/efi/mm.c: Likewise.
15710 * kern/main.c: Likewise.
15711 * kern/err.c: Likewise.
15712 * kern/env.c: Likewise.
15713 * kern/disk.c: Likewise.
15714 * kern/generic/millisleep.c: Likewise.
15715 * kern/generic/rtc_get_time_ms.c: Likewise.
15716 * kern/misc.c: Likewise.
15717 * kern/parser.c: Likewise.
15718 * genmk.rb: Likewise.
15719 * configure.ac: Likewise.
15720 * boot/i386/pc/diskboot.S: Likewise.
15721 * boot/i386/pc/pxeboot.S: Likewise.
15722 * boot/i386/pc/boot.S: Likewise.
15723 * boot/i386/pc/lnxboot.S: Likewise.
15724 * boot/i386/pc/cdboot.S: Likewise.
15725 * parttool/pcpart.c: Likewise.
15726 * video/readers/tga.c: Likewise.
15727 * video/video.c: Likewise.
15728 * video/bitmap.c: Likewise.
15729 * lib/envblk.c: Likewise.
15730 * lib/i386/setjmp.S: Likewise.
15731 * fs/xfs.c: Likewise.
15732 * fs/afs.c: Likewise.
15733 * fs/fat.c: Likewise.
15734 * fs/ntfs.c: Likewise.
15735 * fs/udf.c: Likewise.
15736 * fs/affs.c: Likewise.
15737 * fs/iso9660.c: Likewise.
15738 * fs/hfs.c: Likewise.
15739 * fs/fshelp.c: Likewise.
15740 * fs/ext2.c: Likewise.
15741 * fs/jfs.c: Likewise.
15742 * fs/reiserfs.c: Likewise.
15743 * fs/hfsplus.c: Likewise.
15744 * fs/minix.c: Likewise.
15745 * fs/cpio.c: Likewise.
15746 * fs/sfs.c: Likewise.
15747 * fs/ufs.c: Likewise.
15748 * efiemu/prepare.c: Likewise.
15749 * efiemu/loadcore_common.c: Likewise.
15750 * efiemu/runtime/efiemu.sh: Likewise.
15751 * efiemu/runtime/efiemu.S: Likewise.
15752 * efiemu/runtime/efiemu.c: Likewise.
15753 * efiemu/pnvram.c: Likewise.
15754 * efiemu/main.c: Likewise.
15755 * efiemu/i386/pc/cfgtables.c: Likewise.
15756 * efiemu/i386/loadcore64.c: Likewise.
15757 * efiemu/i386/loadcore32.c: Likewise.
15758 * efiemu/loadcore.c: Likewise.
15759 * efiemu/symbols.c: Likewise.
15760 * efiemu/mm.c: Likewise.
15761 * include/grub/autoefi.h: Likewise.
15762 * include/grub/datetime.h: Likewise.
15763 * include/grub/term.h: Likewise.
15764 * include/grub/hfs.h: Likewise.
15765 * include/grub/lvm.h: Likewise.
15766 * include/grub/i386/tsc.h: Likewise.
15767 * include/grub/i386/linux.h: Likewise.
15768 * include/grub/i386/xnu.h: Likewise.
15769 * include/grub/i386/efiemu.h: Likewise.
15770 * include/grub/i386/pc/biosdisk.h: Likewise.
15771 * include/grub/i386/pc/memory.h: Likewise.
15772 * include/grub/i386/pc/vbe.h: Likewise.
15773 * include/grub/parttool.h: Likewise.
15774 * include/grub/video.h: Likewise.
15775 * include/grub/memory.h: Likewise.
15776 * include/grub/fs.h: Likewise.
15777 * include/grub/partition.h: Likewise.
15778 * include/grub/xnu.h: Likewise.
15779 * include/grub/efi/api.h: Likewise.
15780 * include/grub/efi/pe32.h: Likewise.
15781 * include/grub/efi/memory.h: Likewise.
15782 * include/grub/multiboot.h: Likewise.
15783 * include/grub/usbdesc.h: Likewise.
15784 * include/grub/multiboot2.h: Likewise.
15785 * include/grub/acpi.h: Likewise.
15786 * include/grub/efiemu/efiemu.h: Likewise.
15787 * include/grub/disk.h: Likewise.
15788 * include/grub/ieee1275/ieee1275.h: Likewise.
15789 * include/grub/net.h: Likewise.
15790 * include/grub/machoload.h: Likewise.
15791 * include/grub/macho.h: Likewise.
15792 * include/multiboot.h: Likewise.
15793 * genmoddep.awk: Likewise.
15794 * normal/main.c: Likewise.
15795 * normal/menu_entry.c: Likewise.
15796 * normal/menu_viewer.c: Likewise.
15797 * normal/completion.c: Likewise.
15798 * normal/cmdline.c: Likewise.
15799 * normal/misc.c: Likewise.
15800 * normal/datetime.c: Likewise.
15801 * bus/usb/usbtrans.c: Likewise.
15802 * bus/usb/ohci.c: Likewise.
15803 * bus/usb/uhci.c: Likewise.
15804 * bus/usb/usb.c: Likewise.
15805 * mmap/efi/mmap.c: Likewise.
15806 * mmap/i386/pc/mmap_helper.S: Likewise.
15807 * mmap/i386/pc/mmap.c: Likewise.
15808 * mmap/i386/mmap.c: Likewise.
15809 * mmap/i386/uppermem.c: Likewise.
15810 * mmap/mmap.c: Likewise.
15811 * commands/acpi.c: Likewise.
15812 * commands/echo.c: Likewise.
15813 * commands/blocklist.c: Likewise.
15814 * commands/loadenv.c: Likewise.
15815 * commands/usbtest.c: Likewise.
15816 * commands/boot.c: Likewise.
15817 * commands/parttool.c: Likewise.
15818 * commands/search.c: Likewise.
15819 * commands/cat.c: Likewise.
15820 * commands/i386/pc/play.c: Likewise.
15821 * commands/i386/pc/drivemap.c: Likewise.
15822 * commands/i386/pc/vbeinfo.c: Likewise.
15823 * commands/i386/pc/acpi.c: Likewise.
15824 * commands/i386/pc/vbetest.c: Likewise.
15825 * commands/ls.c: Likewise.
15826 * commands/cmp.c: Likewise.
15827 * commands/test.c: Likewise.
15828 * commands/efi/acpi.c: Likewise.
15829 * commands/gptsync.c: Likewise.
15830 * commands/help.c: Likewise.
15831 * partmap/amiga.c: Likewise.
15832 * partmap/apple.c: Likewise.
15833 * partmap/acorn.c: Likewise.
15834 * partmap/pc.c: Likewise.
15835 * partmap/sun.c: Likewise.
15836 * partmap/gpt.c: Likewise.
15837 * script/sh/lexer.c: Likewise.
15838 * script/sh/function.c: Likewise.
15839 * font/font.c: Likewise.
15840 * font/font_cmd.c: Likewise.
15841 * loader/powerpc/ieee1275/linux.c: Likewise.
15842 * loader/efi/chainloader.c: Likewise.
15843 * loader/multiboot_loader.c: Likewise.
15844 * loader/macho.c: Likewise.
15845 * loader/i386/multiboot.c: Likewise.
15846 * loader/i386/linux.c: Likewise.
15847 * loader/i386/pc/linux.c: Likewise.
15848 * loader/i386/pc/multiboot2.c: Likewise.
15849 * loader/i386/pc/chainloader.c: Likewise.
15850 * loader/i386/pc/xnu.c: Likewise.
15851 * loader/i386/bsd_trampoline.S: Likewise.
15852 * loader/i386/efi/linux.c: Likewise.
15853 * loader/i386/multiboot_elfxx.c: Likewise.
15854 * loader/i386/bsd_helper.S: Likewise.
15855 * loader/i386/bsd.c: Likewise.
15856 * loader/i386/linux_trampoline.S: Likewise.
15857 * loader/i386/xnu_helper.S: Likewise.
15858 * loader/i386/xnu.c: Likewise.
15859 * loader/i386/bsd_pagetable.c: Likewise.
15860 * loader/i386/multiboot_helper.S: Likewise.
15861 * loader/xnu.c: Likewise.
15862 * loader/xnu_resume.c: Likewise.
15863 * io/gzio.c: Likewise.
15864 * term/efi/console.c: Likewise.
15865 * term/terminfo.c: Likewise.
15866 * term/ieee1275/ofconsole.c: Likewise.
15867 * term/i386/pc/serial.c: Likewise.
15868 * term/i386/pc/vesafb.c: Likewise.
15869 * term/i386/pc/vga.c: Likewise.
15870 * term/usb_keyboard.c: Likewise.
15871 * term/gfxterm.c: Likewise.
15872 * aclocal.m4: Likewise.
15873 * util/lvm.c: Likewise.
15874 * util/grub.d/30_os-prober.in: Likewise.
15875 * util/grub.d/10_hurd.in: Likewise.
15876 * util/console.c: Likewise.
15877 * util/grub-macho2img.c: Likewise.
15878 * util/grub-probe.c: Likewise.
15879 * util/hostfs.c: Likewise.
15880 * util/i386/pc/grub-mkimage.c: Likewise.
15881 * util/i386/pc/grub-setup.c: Likewise.
15882 * util/i386/efi/grub-mkimage.c: Likewise.
15883 * util/grub-mkconfig.in: Likewise.
15884 * util/raid.c: Likewise.
15885 * util/resolve.c: Likewise.
15886 * util/grub-mkdevicemap.c: Likewise.
15887 * util/grub-emu.c: Likewise.
15888 * util/getroot.c: Likewise.
15889 * util/hostdisk.c: Likewise.
15890 * util/usb.c: Likewise.
15891 * util/grub-editenv.c: Likewise.
15892 * util/misc.c: Likewise.
15893
d2d49665 158942009-06-10 Felix Zielcke <fzielcke@z-51.de>
15895
15896 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15897 `genparttoollist.sh'.
15898 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15899 Add `*.sh' to the list find searches for and change `mdate.sh'
15900 to `mdate-sh'.
15901
fe052e37 159022009-06-10 Pavel Roskin <proski@gnu.org>
15903
2763ac18 15904 * include/grub/multiboot2.h: Provide compatibility defines for
15905 multiboot2.h.
15906 * include/multiboot2.h: Include stdint.h only if needed, using
15907 angle brackets.
15908 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15909 grub/multiboot2.h.
15910 * loader/ieee1275/multiboot2.c: Likewise.
15911 * loader/multiboot2.c: Likewise.
15912 * loader/multiboot_loader.c: Likewise.
15913
437e6adc 15914 * configure.ac: Use -nostdlib when probing for the target. It
15915 should not be required to have libc for the target.
15916
06a6836c 15917 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15918 they fail without libc headers for the target.
15919 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15920 exports.
15921 * include/grub/sparc64/libgcc.h: Likewise. Don't use
15922 preprocessor conditionals.
15923
fe052e37 15924 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
15925 build system doesn't need to be aware of the tar.c internals.
15926
afd22553 159272009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 15928
afd22553 15929 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 15930
6b787c4f 159312009-06-09 Robert Millan <rmh.grub@aybabtu.com>
15932
15933 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
15934 disk limit to 26 for IDE, Virtio, Xen and SCSI.
15935
159362009-06-09 Felix Zielcke <fzielcke@z-51.de>
15937
15938 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 15939 aren't available if ata.mod gets used.
6b787c4f 15940
473d1e45 159412009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 15942
473d1e45 15943 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 15944 initialising controller.
473d1e45 15945 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 15946
255a27d4 159472009-06-08 Felix Zielcke <fzielcke@z-51.de>
15948
15949 * util/i386/pc/grub-install.in: Add a parameter --disk-module
15950 to choose between ata and biosdisk module on i386-pc.
15951
473d1e45 159522009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 15953
d55842d8 15954 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
15955 Subclass and Programming Interface fields in terms of the 3 byte
15956 Class Code register.
15957 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
15958
fa5db0b1 15959 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
15960 interface is OHCI. Add grub_dprintf for symmetry with
15961 bus/usb/uhci.c.
15962 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
15963 interface is UHCI. Add interf variable for programming
15964 interface. Print interface with class/subclass.
15965
c0947beb 15966 * bus/usb/ohci.c: Set interf with correct field.
15967
69da8877 15968 * bus/usb/uhci.c: Remove unneeded doubled lines.
15969 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
15970 Remove whitespace inside comment.
15971
9e172e30 159722009-06-08 Robert Millan <rmh.grub@aybabtu.com>
15973
15974 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
15975 as fallback an equivalent option without depth.
15976
de65ee2b 159772009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 Not fail if unable to retrieve C/H/S on LBA disks
15980
473d1e45 15981 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 15982 if unable to retrieve C/H/S on LBA disks
15983
b57ea2c9 159842009-06-08 Pavel Roskin <proski@gnu.org>
15985
15986 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
15987 about aliasing.
15988
af361263 159892009-06-08 Felix Zielcke <fzielcke@z-51.de>
15990
15991 * Makefile.in (uninstall): Remove all $lib_DATA files.
15992
4c9ec6b3 159932009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 Bugfix: install on partitionless device
15996
15997 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
15998 is a whole disk
15999
e76fc924 160002009-06-08 Felix Zielcke <fzielcke@z-51.de>
16001
16002 * Makefile.in (uninstall): Remove all $include_DATA files.
16003
ba5a0d05 160042009-06-08 Felix Zielcke <fzielcke@z-51.de>
16005
16006 * commands/true.c: New file. Implement the true and false commands.
16007 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
16008 (true_mod_SOURCES): New variable.
16009 (true_mod_CFLAGS): Likewise.
16010 (true_mod_LDFLAGS): Likewise.
16011
c8048e32 160122009-06-05 Colin D Bennett <colin@gibibit.com>
16013
16014 Optimized font character lookup using binary search instead of linear
16015 search. Fonts now are required to have the character index ordered by
16016 code point.
16017
16018 * font/font.c (load_font_index): Verify that fonts have ordered
16019 character indices.
16020 (find_glyph): Use binary search instead of linear search to find a
16021 character in a font.
16022
408305be 160232009-06-05 Michael Scherer <misc@mandriva.org>
16024
16025 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
16026 uses case sensitive btree.
16027 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
16028 only for case insensitive filesystems.
16029
8ee1e0d9 160302009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
16033 * conf/common.rmk (search_mod_CFLAGS): likewise
16034
a9966eb1 160352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16036
473d1e45 16037 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 16038 compensate a compiler bug
16039
9e7100fb 160402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16041
473d1e45 16042 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 16043 instead of '\b'
473d1e45 16044
ede21d71 160452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16046
16047 Definitions for creating asm symbols with Apple's CC
16048
16049 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
16050 [APPLE_CC] (VARIABLE): likewise
16051
9dbf7653 160522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 Disable lnxboot.img when compiled
16055 with Apple's CC
16056
16057 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
16058 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
16059 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
16060 [! APPLE_CC] (CODE_LENG): skip
16061 [! APPLE_CC] (setup_sects): likewise
16062 [! APPLE_CC]: skip filling
473d1e45 16063
e93cdc3d 160642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 Address in trampolines based on 32-bit registers when compiled
16067 with Apple's CC
16068
473d1e45 16069 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 16070 for addresses
16071 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
16072
6c688477 160732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16074
16075 Avoid aliases when compiling with Apple's CC for PCBIOS machine
16076
16077 * kern/misc.c [APPLE_CC] (memcpy): new function
16078 [APPLE_CC] (memmove): likewise
16079 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 16080 (memcpy): define alias conditionally on !APPLE_CC
6c688477 16081 (memset): likewise
16082 (abort): likewise
16083 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
16084 APPLE_CC are defined
16085 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
16086 (grub_assert_fail): make prototype conditional
16087
e37ffc5c 160882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
16091
473d1e45 16092 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
16093 grub-macho2img
e37ffc5c 16094 (CLEANFILES): add grub-macho2img
16095 (grub_macho2img_SOURCES): new variable
16096 * kern/i386/pc/startup.S (bss_start): new variable
16097 (bss_end): likewise
16098 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
16099 * util/grub-macho2img.c: new file
16100
cf00df31 161012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 Use objconv when compiling with Apple's CC
16104
16105 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
16106 (efiemu64.o): likewise
16107 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
16108 when compiling with Apple's CC
16109 (efiemu64_s.o): likewise
16110 * configure.ac: check for objconv when compiling with Apple's CC
16111 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 16112
d119a20c 161132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 Define segment as well as section when compiling with
16116 Apple's CC
16117
16118 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
16119 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
16120 (efiemu_convert_pointer): likewise
16121 (efiemu_set_virtual_address_map): likewise
16122 (efiemu_convert_pointer): likewise
16123 (efiemu_getcrc32): likewise
16124 (init_crc32_table): likewise
16125 (reflect): likewise
16126 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
16127 (GRUB_MOD_DEP): likewise
473d1e45 16128
c8600122 161292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 Allow a compilation without -mcmodel=large
16132
16133 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
16134 when compiled without -mcmodel=large
473d1e45 16135 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 16136 without -mcmodel=large
473d1e45 16137 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 16138 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 16139
e8df1d4e 161402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 Remove nested functions in efiemu core
16143
16144 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 16145
cc6c3ac1 161462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
16149
16150 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
16151 temporary storage
473d1e45 16152 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
16153 using Apple's CC
cc6c3ac1 16154 (grub_cpu_is_tsc_supported): likewise
16155 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 16156
3e325901 161572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 Absolute addressing through constant with Apple's cc
16160
16161 * kern/i386/pc/startup.S: Define necessary constants
16162 and address through it when using ABS with Apple's CC
16163 * boot/i386/pc/diskboot.S: likewise
16164 * boot/i386/pc/boot.S: likewise
16165 * boot/i386/pc/lnxboot.S: likewise
16166 * boot/i386/pc/cdboot.S: likewise
16167 * mmap/i386/pc/mmap_helper.S: likewise
16168 * commands/i386/pc/drivemap_int13h.S: likewise
16169
2b167a72 161702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 Check if compiler is apple cc
16173
16174 * Makefile.in (ASFLAGS): new variable
16175 (TARGET_ASFLAGS): likewise
16176 (TARGET_MODULE_FORMAT): likewise
16177 (TARGET_APPLE_CC): likewise
16178 (OBJCONV): likewise
16179 (TARGET_IMG_CFLAGS): likewise
16180 (TARGET_CPPFLAGS): add includedir
16181 * configure.ac: call grub_apple_cc and grub_apple_target_cc
16182 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
16183 Check for linker script only if compiler isn't Apple's CC
16184 (TARGET_MODULE_FORMAT): set
16185 (TARGET_APPLE_CC): likewise
16186 (TARGET_ASFLAGS): likewise
16187 (ASFLAGS): likewise
16188 Check for objcopy only if compiler isn't Apple's CC
16189 Check for BSS symbol only if compiler isn't Apple's CC
16190 * genmk.rb: adapt nm options if we use Apple's utils
16191 * aclocal.m4 (grub_apple_cc): new test
16192 (grub_apple_target_cc): likewise
473d1e45 16193
fb14123e 161942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 Simplify sed expressions and improve awk
16197
16198 * Makefile.in (install-local): simplify sed expression
16199 * gencmdlist.sh: likewise
16200 * genmoddep.awk: avoid adding module as a dependency of itself
16201
5b889789 162022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16203
16204 Add missing start symbols
16205
16206 * boot/i386/pc/boot.S: add start
fb14123e 16207 * boot/i386/pc/pxeboot.S: likewise
473d1e45 16208
fd2bf2e3 162092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 16212
16213 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 16214 (relocate_addresses): consider both r_addend and value at offset
16215 (make_mods_section): zerofill modinfo and header
16216 (convert_elf): write prefix here
473d1e45 16217
5389763d 162182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16219
16220 Use .asciz instead of .string
16221
16222 * i386/pc/diskboot.S: use .asciz instead of .string
16223 * i386/pc/boot.S: likewise
16224 * include/grub/dl.h (GRUB_MOD_DEP): likewise
16225 (GRUB_MOD_NAME): likewise
473d1e45 16226
3eb5ed4e 162272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 gfxpayload support
16230
16231 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
16232 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
16233 (grub_video_setup): remove
16234 (grub_video_set_mode): new prototype
16235 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
16236 (vid_mode): remove
16237 (linux_vesafb_res): compile only on PCBIOS
16238 (grub_linux_boot): support gfxpayload
16239 * loader/i386/pc/xnu.c (video_hook): new function
16240 (grub_xnu_set_video): support gfxpayload
16241 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
16242 (DEFAULT_VIDEO_HEIGHT): likewise
16243 (DEFAULT_VIDEO_FLAGS): likewise
16244 (DEFAULT_VIDEO_MODE): new definition
16245 (video_hook): new function
16246 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 16247 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 16248 loading xnu
16249 * video/video.c (grub_video_setup): removed
473d1e45 16250 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 16251 grub_video_setup
16252
4b0e1143 162532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 Avoid calling biosdisk in drivemap
16256
16257 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
16258 (revparse_biosdisk): likewise
16259 (list_mappings): derive name from id directly
16260 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 16261
fda6cb98 162622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 Script fixes
16265
16266 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
16267 (grub_lexer_param): add tokenonhold
16268 (grub_script_create_cmdline): remove cmdline. All callers updated
16269 (grub_script_function_create): make functionname
16270 grub_script_arg. All callers updated
16271 (grub_script_execute_argument_to_string): new prototype
16272 * kern/parser.c (state_transitions): reorder
16273 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 16274 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 16275 make global
16276 (grub_script_execute_cmdline): use new format
16277 * script/sh/function.c (grub_script_function_create): make functionname
16278 grub_script_arg. All callers updated
473d1e45 16279 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 16280 (grub_script_yylex): remove
16281 (grub_script_yylex2): renamed to ...
16282 (grub_script_yylex): ...renamed
16283 parse the expressions like a${b}c
16284 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
16285 (GRUB_PARSER_TOKEN_VAR): remove
16286 (GRUB_PARSER_TOKEN_NAME): likewise
16287 ("if"): declare as typeless
16288 ("while"): likewise
16289 ("function"): likewise
16290 ("else"): likewise
16291 ("then"): likewise
16292 ("fi"): likewise
16293 (text): remove
16294 (argument): likewise
16295 (script): accept empty scripts and make exit on error
16296 (arguments): use GRUB_PARSER_TOKEN_ARG
16297 (function): likewise
16298 (command): move error handling to script
16299 (menuentry): move grub_script_lexer_ref before
473d1e45 16300 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 16301 argument. All callers updated
16302
f4448a07 163032009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16304
16305 Prevent GRUB from probing floppies during boot.
16306
16307 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
16308 * commands/search.c (options): Add --no-floppy.
16309 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
16310 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
16311 --no-floppy when searching for UUIDs.
16312
2bf5885a 163132009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16314
16315 Simplify the code duplication in commands/search.c.
16316
16317 * commands/search.c (search_label, search_fs_uuid): Merge into ...
16318 (search_fs): ... this. Update all users.
16319
f6fd460a 163202009-06-03 Felix Zielcke <fzielcke@z-51.de>
16321
16322 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
16323
cbb3c83e 163242009-05-28 Pavel Roskin <proski@gnu.org>
16325
57788cfd 16326 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
16327 Remove the original symlink explicitly.
16328
cbb3c83e 16329 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
16330 just one slash. That's how grub_fshelp_find_file() does it.
16331
cd0d5e30 163322009-05-26 Pavel Roskin <proski@gnu.org>
16333
f0f8bbe2 16334 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
16335 to `str'.
16336
cd0d5e30 16337 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
16338 possibly unused.
16339
8c2cab51 163402009-05-25 Christian Franke <franke@computer.org>
16341
16342 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
16343 register.
16344 (grub_atapi_identify): Add wait after drive select.
16345 (grub_ata_identify): Do more strict status register check before
16346 calling grub_atapi_identify (). Suppress error message if status
16347 register is 0x00 after command failure. Add status register
16348 check after PIO read to avoid bogus identify due to stuck DRQ.
16349 Thanks to Pavel Roskin for testing.
16350 (grub_device_initialize): Remove unsafe status register check.
16351 Thanks to 'phcoder' for problem report and patch.
16352 Prevent sign extension in debug message.
16353
230c0ad6 163542009-05-23 Colin D Bennett <colin@gibibit.com>
16355
16356 Cleaned up `include/grub/normal.h'. Grouped prototypes by
16357 definition file, and functions defined in `normal/menu.c' have had
16358 their prototypes moved to `include/grub/menu.h' for consistency.
16359
16360 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
16361 from normal.h.
16362 (grub_menu_get_entry): Likewise.
16363 (grub_menu_get_timeout): Likewise.
16364 (grub_menu_set_timeout): Likewise.
16365 (grub_menu_execute_entry): Likewise.
16366 (grub_menu_execute_with_fallback): Likewise.
16367 (grub_menu_entry_run): Likewise.
16368
16369 * include/grub/normal.h: Re-ordered and grouped function
16370 prototypes by file that the function is defined in.
16371 (grub_menu_execute_callback): Removed; moved to menu.h.
16372 (grub_menu_get_entry): Likewise.
16373 (grub_menu_get_timeout): Likewise.
16374 (grub_menu_set_timeout): Likewise.
16375 (grub_menu_execute_entry): Likewise.
16376 (grub_menu_execute_with_fallback): Likewise.
16377 (grub_menu_entry_run): Likewise.
16378 (grub_menu_addentry): Renamed from this ...
16379 (grub_normal_add_menu_entry): ... to this.
16380
16381 * normal/main.c (grub_menu_addentry): Renamed from this ...
16382 (grub_normal_add_menu_entry): ... to this.
16383
16384 * script/sh/execute.c (grub_script_execute_menuentry): Update
16385 reference to renamed grub_menu_addentry function.
16386
861f03a5 163872009-05-23 Felix Zielcke <fzielcke@z-51.de>
16388
16389 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
16390
96b1619a 163912009-05-22 Pavel Roskin <proski@gnu.org>
16392
bf6a5fb2 16393 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
16394 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
16395 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
16396 compiling for the i386 targets, but not for the utilities.
16397
96b1619a 16398 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
16399 to grub_uint8_t.
16400 (grub_root_drive): Likewise.
16401 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
16402 remove alignment.
16403 (grub_root_drive): Change size to byte.
16404 (grub_start_addr): Remove.
16405 (grub_end_addr): Likewise.
16406 (grub_apm_bios_info): Likewise.
16407
b729776b 164082009-05-21 Felix Zielcke <fzielcke@z-51.de>
16409
16410 * normal/i386: Remove.
16411 * normal/powerpc: Likewise.
16412 * normal/sparc64: Likewise.
16413 * normal/x86_64: Likewise.
16414
0a15ce80 164152009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16416
16417 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 16418 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 16419 * loader/i386/xnu_helper.S: Likewise
d6da58e6 16420
33db9015 164212009-05-18 Colin D Bennett <colin@gibibit.com>
16422
d6da58e6 16423 Display error messages when parsing a Lua statement fails.
16424 Previously, executing a syntactically invalid statement like
16425 ")foo" or "bar;" would silently fail.
33db9015 16426
16427 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 16428 (grub_lua_parse_line): Improved reporting of Lua parser and
16429 execution errors.
33db9015 16430
46422c89 164312009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 Remove -Werror which causes build to fail on some systems
16434
16435 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
16436 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
16437 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 16438
22f53a96 164392009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16440
16441 trampoline for linux on 64-bit platform
16442
18f547ad 16443 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
16444 loader/i386/efi/linux_trampoline.S
16445 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 16446 declaration
d6da58e6 16447 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
16448 here
22f53a96 16449 * loader/i386/linux_trampoline.S: moved here
d6da58e6 16450 * loader/i386/efi/linux.c (allocate_pages): reserve space for
16451 trampoline
22f53a96 16452 (jumpvector): removed
16453 (grub_linux_trampoline_start): new declaration
16454 (grub_linux_trampoline_end): likewise
16455 (grub_linux_boot): use trampoline when on 64-bit platform
16456 * loader/i386/linux.c: likewise
16457
cb5a0f40 164582009-05-16 Pavel Roskin <proski@gnu.org>
16459
16460 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16461 const to avoid a warning.
16462 (grub_lua_setenv): Likewise.
16463 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16464 lmsg to fix a warning.
16465
334f2c28 164662009-05-16 Felix Zielcke <fzielcke@z-51.de>
16467
16468 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16469 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16470 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16471 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16472 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16473 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16474 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16475 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 16476
59e5d3ec 164772009-05-16 Felix Zielcke <fzielcke@z-51.de>
16478
16479 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
16480
9d87a1ba 164812009-05-16 Bean <bean123ch@gmail.com>
16482
16483 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
16484 (lua_mod_SOURCES): New variable.
16485 (lua_mod_CFLAGS): Likewise.
16486 (lua_mod_LDFLAGS): Likewise.
16487
16488 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
16489 (setjmp_mod_SOURCES): New variable.
16490 (setjmp_mod_CFLAGS): Likewise.
16491 (setjmp_LDFLAGS): Likewise.
16492
16493 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
16494 (setjmp_mod_SOURCES): New variable.
16495 (setjmp_mod_CFLAGS): Likewise.
16496 (setjmp_LDFLAGS): Likewise.
16497
16498 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16499 (setjmp_mod_SOURCES): New variable.
16500 (setjmp_mod_CFLAGS): Likewise.
16501 (setjmp_LDFLAGS): Likewise.
16502
16503 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16504 (setjmp_mod_SOURCES): New variable.
16505 (setjmp_mod_CFLAGS): Likewise.
16506 (setjmp_LDFLAGS): Likewise.
16507
16508 * normal/i386/setjmp.S: Moved from here ...
16509 * lib/i386/setjmp.S: ... Moved here
16510 * normal/x86_64/setjmp.S: Moved from here ...
16511 * lib/x86_64/setjmp.S: ... Moved here
16512 * normal/powerpc/setjmp.S: Moved from here ...
16513 * lib/powerpc/setjmp.S: ... Moved here
16514 * normal/sparc64/setjmp.S: Moved from here ...
16515 * lib/sparc64/setjmp.S: ... Moved here
16516
16517 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16518 returns_twice in mingw.
16519
16520 * script/lua/grub_lib.c: New file.
16521 * script/lua/grub_lib.h: Likewise.
16522 * script/lua/grub_lua.h: Likewise.
16523 * script/lua/grub_main.c: Likewise.
16524 * script/lua/lapi.c: Likewise.
16525 * script/lua/lapi.h: Likewise.
16526 * script/lua/lauxlib.c: Likewise.
16527 * script/lua/lauxlib.h: Likewise.
16528 * script/lua/lbaselib.c: Likewise.
16529 * script/lua/lcode.c: Likewise.
16530 * script/lua/lcode.h: Likewise.
16531 * script/lua/ldblib.c: Likewise.
16532 * script/lua/ldebug.c: Likewise.
16533 * script/lua/ldebug.h: Likewise.
16534 * script/lua/ldo.c: Likewise.
16535 * script/lua/ldo.h: Likewise.
16536 * script/lua/ldump.c: Likewise.
16537 * script/lua/lfunc.c: Likewise.
16538 * script/lua/lfunc.h: Likewise.
16539 * script/lua/lgc.c: Likewise.
16540 * script/lua/lgc.h: Likewise.
16541 * script/lua/linit.c: Likewise.
16542 * script/lua/liolib.c: Likewise.
16543 * script/lua/llex.c: Likewise.
16544 * script/lua/llex.h: Likewise.
16545 * script/lua/llimits.h: Likewise.
16546 * script/lua/lmathlib.c: Likewise.
16547 * script/lua/lmem.c: Likewise.
16548 * script/lua/lmem.h: Likewise.
16549 * script/lua/loadlib.c: Likewise.
16550 * script/lua/lobject.c: Likewise.
16551 * script/lua/lobject.h: Likewise.
16552 * script/lua/lopcodes.c: Likewise.
16553 * script/lua/lopcodes.h: Likewise.
16554 * script/lua/loslib.c: Likewise.
16555 * script/lua/lparser.c: Likewise.
16556 * script/lua/lparser.h: Likewise.
16557 * script/lua/lstate.c: Likewise.
16558 * script/lua/lstate.h: Likewise.
16559 * script/lua/lstring.c: Likewise.
16560 * script/lua/lstring.h: Likewise.
16561 * script/lua/lstrlib.c: Likewise.
16562 * script/lua/ltable.c: Likewise.
16563 * script/lua/ltable.h: Likewise.
16564 * script/lua/ltablib.c: Likewise.
16565 * script/lua/ltm.c: Likewise.
16566 * script/lua/ltm.h: Likewise.
16567 * script/lua/lua.h: Likewise.
16568 * script/lua/luaconf.h: Likewise.
16569 * script/lua/lualib.h: Likewise.
16570 * script/lua/lundump.c: Likewise.
16571 * script/lua/lundump.h: Likewise.
16572 * script/lua/lvm.c: Likewise.
16573 * script/lua/lvm.h: Likewise.
16574 * script/lua/lzio.c: Likewise.
16575 * script/lua/lzio.h: Likewise.
16576
5e898c9d 165772009-05-16 Bean <bean123ch@gmail.com>
16578
16579 * include/grub/kernel.h (grub_module_header_types): Add type
16580 OBJ_TYPE_CONFIG.
16581
16582 * kern/main.c (grub_load_config): New function.
16583 (grub_main): Call grub_load_config to read boot config.
16584
16585 * grub-mkimage (generate_image): New parameter config_path.
16586 (options): New option --config.
16587 (main): Parse --config option, and pass it to generate_image.
16588
cf353a47 165892009-05-14 Christian Franke <franke@computer.org>
16590
16591 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16592 This fixes build on Cygwin.
16593
3834887f 165942009-05-14 Pavel Roskin <proski@gnu.org>
16595
16596 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16597 jump. This saves two bytes, so the typical case of 2 swapped
16598 drives would fit 32 bytes.
16599
8090fc01 166002009-05-13 Pavel Roskin <proski@gnu.org>
16601
ac963883 16602 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16603 grub_uint32_t to avoid a warning.
16604
8090fc01 16605 * loader/i386/linux.c (allocate_pages): When assigning
16606 real_mode_mem, cast through grub_size_t to fix a warning. The
16607 code already makes sure that the value would fit a pointer.
16608 (grub_linux_setup_video): Cast render_target->data to
16609 grub_size_t to fix a warning.
16610
18f547ad 166112009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16612
16613 * commands/i386/pc/drivemap.c: New file - implement drivemap
16614 command.
16615 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16616 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16617
6f6a8b28 166182009-05-13 Pavel Roskin <proski@gnu.org>
16619
16620 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16621 embedding_area_exists.
16622
15fbf4c4 166232009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16624
16625 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16626 it easier to understand / work with.
59978c8a 16627 Improve warning messages for cases where there's no embedding area,
16628 or when it is too small (or core.img too large).
15fbf4c4 16629
238e871f 166302009-05-13 Pavel Roskin <proski@gnu.org>
16631
0ab3a9a4 16632 * loader/i386/pc/multiboot2.c: Add necessary includes for
16633 grub_multiboot2_real_boot().
16634
a2c8c5f8 16635 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16636 PX record is always little-endian. We only need the lower 2
16637 bytes of the mode.
16638
faec96af 16639 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16640 facilitate code reuse.
16641 (grub_cpio_mount): Use "struct head", not a char buffer. This
16642 fixes a warning reported by gcc 4.4.
16643
238e871f 16644 * kernel/disk.c (grub_disk_read): Use void pointer for the
16645 buffer.
16646 (grub_disk_write): Use const void pointer for the buffer.
16647 Adjust all callers. Remove unnecessary casts.
16648
901d2f0c 166492009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16650
16651 * util/i386/pc/grub-install.in: Update copyright year.
16652
18f547ad 166532009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 16654
16655 gptsync
16656
16657 * commands/gptsync.c: new file
16658 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16659 (gptsync_mod_SOURCES): new variable
16660 (gptsync_mod_CFLAGS): likewise
16661 (gptsync_mod_LDFLAGS): likewise
18f547ad 16662 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 16663 new definition
16664 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16665 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16666 * conf/i386-ieee1275.rmk: likewise
16667 * conf/i386-pc.rmk: likewise
16668 * conf/powerpc-ieee1275.rmk: likewise
16669
b4ba690a 166702009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16671
16672 Fixed grub-emu
16673
16674 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16675 (grub_dl_ref): likewise
16676
317e1a44 166772009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16678
16679 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16680 split in two functions (one for msdos and one for gpt).
16681
041b8094 166822009-05-08 Pavel Roskin <proski@gnu.org>
16683
752473c2 16684 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16685 not modified.
16686
041b8094 16687 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16688 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16689 Initialize them with -1. Add sanity check for bad1. Eliminate
16690 nerr variable.
16691
172800ce 166922009-05-08 David S. Miller <davem@davemloft.net>
16693
16694 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16695
29aa5e81 166962009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16697
16698 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 16699 existence.
29aa5e81 16700
96613b62 167012009-05-05 Felix Zielcke <fzielcke@z-51.de>
16702
16703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 16704 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 16705
eef73c8a 167062009-05-05 David S. Miller <davem@davemloft.net>
16707
16708 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16709
119494b5 167102009-05-05 Pavel Roskin <proski@gnu.org>
16711
16712 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16713 of grub_dl_ref() and grub_dl_unref().
16714 * commands/parttool.c: Remove preprocessor conditionals around
16715 grub_dl_ref() and grub_dl_unref().
16716 * fs/affs.c: Likewise.
16717 * fs/afs.c: Likewise.
16718 * fs/cpio.c: Likewise.
16719 * fs/ext2.c: Likewise.
16720 * fs/fat.c: Likewise.
16721 * fs/hfs.c: Likewise.
16722 * fs/hfsplus.c: Likewise.
16723 * fs/iso9660.c: Likewise.
16724 * fs/jfs.c: Likewise.
16725 * fs/minix.c: Likewise.
16726 * fs/ntfs.c: Likewise.
16727 * fs/reiserfs.c: Likewise.
16728 * fs/sfs.c: Likewise.
16729 * fs/udf.c: Likewise.
16730 * fs/ufs.c: Likewise.
16731 * fs/xfs.c: Likewise.
16732 * include/grub/dl.h: Likewise.
16733 * loader/xnu.c: Likewise.
16734
de5fd76e 167352009-05-04 Pavel Roskin <proski@gnu.org>
16736
16737 * commands/acpi.c: Remove unused variable my_mod.
16738 * partmap/amiga.c: Likewise.
16739 * partmap/apple.c: Likewise.
16740 * partmap/gpt.c: Likewise.
16741 * partmap/pc.c: Likewise.
16742 * partmap/sun.c: Likewise.
16743 * term/gfxterm.c: Likewise.
16744 * term/i386/pc/vesafb.c: Likewise.
16745 * term/i386/pc/vga.c: Likewise.
16746
983598ad 167472009-05-04 David S. Miller <davem@davemloft.net>
16748
16749 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16750 pointer args to grub_ieee1275_get_property().
16751
8aadec43 16752 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16753
9554b15e 16754 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16755 devices, and do not traverse down under controller nodes.
16756
67e23c90 16757 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16758 (grub_ofdisk_open): Use it to un-escape "," characters.
16759 * kern/disk.c (find_part_sep): New.
16760 (grub_disk_open): Use it to find the first non-escaped ','
16761 character in the disk name.
16762 * util/ieee1275/devicemap.c (escape_of_path): New.
16763 (grub_util_emit_devicemap_entry): Use it.
16764 * util/sparc64/ieee1275/grub-install.in: Update script to
16765 strip partition specifiers properly by not triggering on
16766 '\' escaped ',' characters.
16767
74bfdd2f 167682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16769
16770 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16771 to 0x300.
16772 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16773 resolutions.
16774 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16775 on documentation from Wikipedia).
16776
4241d2b1 167772009-05-04 Pavel Roskin <proski@gnu.org>
16778
16779 * disk/ata.c: Spelling fixes.
16780 * disk/raid.c: Likewise.
16781 * disk/usbms.c: Likewise.
16782 * disk/dmraid_nvidia.c: Likewise.
16783 * kern/ieee1275/openfw.c: Likewise.
16784 * kern/ieee1275/init.c: Likewise.
16785 * kern/ieee1275/cmain.c: Likewise.
16786 * boot/i386/pc/cdboot.S: Likewise.
16787 * video/readers/png.c: Likewise.
16788 * video/i386/pc/vbe.c: Likewise.
16789 * fs/udf.c: Likewise.
16790 * fs/hfs.c: Likewise.
16791 * fs/reiserfs.c: Likewise.
16792 * efiemu/runtime/efiemu.c: Likewise.
16793 * efiemu/main.c: Likewise.
16794 * efiemu/mm.c: Likewise.
16795 * include/grub/elf.h: Likewise.
16796 * include/grub/xnu.h: Likewise.
16797 * include/grub/usbdesc.h: Likewise.
16798 * include/grub/usb.h: Likewise.
16799 * include/grub/script_sh.h: Likewise.
16800 * include/grub/lib/LzmaEnc.h: Likewise.
16801 * include/grub/efiemu/efiemu.h: Likewise.
16802 * include/grub/command.h: Likewise.
16803 * normal/menu.c: Likewise.
16804 * normal/main.c: Likewise.
16805 * normal/datetime.c: Likewise.
16806 * bus/usb/uhci.c: Likewise.
16807 * mmap/i386/uppermem.c: Likewise.
16808 * mmap/mmap.c: Likewise.
16809 * commands/acpi.c: Likewise.
16810 * commands/test.c: Likewise.
16811 * partmap/apple.c: Likewise.
16812 * font/font.c: Likewise.
16813 * loader/sparc64/ieee1275/linux.c: Likewise.
16814 * loader/macho.c: Likewise.
16815 * loader/i386/bsd_trampoline.S: Likewise.
16816 * loader/i386/bsd.c: Likewise.
16817 * loader/xnu.c: Likewise.
16818 * term/i386/pc/vesafb.c: Likewise.
16819 * term/usb_keyboard.c: Likewise.
16820 * util/resolve.c: Likewise.
16821 * util/getroot.c: Likewise.
16822
0cfc0083 168232009-05-04 Felix Zielcke <fzielcke@z-51.de>
16824
16825 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16826
7c1d00cd 168272009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16828
16829 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16830 build error.
16831
b01f0548 168322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16833
16834 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16835 parameter only available on BIOS.
16836
ecc3eb22 168372009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16838
16839 Removed wrong semicolon in declaration
16840
16841 * grub/misc.h (grub_dprintf): remove semicolon
16842
112972a9 168432009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16844
16845 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16846 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16847 is done by grub_cmd_linux() now).
16848 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16849 restore video to text mode.
16850 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16851 indicates lack of "vga=" parameter. "vga=0" is mapped to
16852 `GRUB_LINUX_VID_MODE_NORMAL'.
16853
afd5c115 168542009-05-04 Felix Zielcke <fzielcke@z-51.de>
16855
16856 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16857 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16858 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 16859 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 16860 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16861 `grub_script.tab.c'.
16862
16863 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16864 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16866 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16867 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16868
faa517ce 16869 * Makefile.in: Remove duplicated 2008 in Copyright line.
16870
ae0c0bdc 168712009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16872
473d1e45 16873 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 16874 unconditionally.
16875 * include/grub/util/misc.h (grub_util_warn): New declaration.
16876
16877 * util/i386/pc/grub-install.in: Understand --force and pass it down
16878 to grub-setup.
16879
16880 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16881 down to setup().
16882 (setup): Improve error messages and add warnings when requested to
16883 install in odd layouts. Refuse to install using blocklists unless
16884 --force was set.
16885
18f547ad 168862009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 16887
16888 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16889
6d260daa 168902009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16891
16892 Updated copyright year
16893
16894 * fs/hfsplus.c: updated copyright year
18f547ad 16895
69f853f8 168962009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 HFS+ UUID
16899
18f547ad 16900 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16901 in the space previously used by unused3
16902 (grub_hfsplus_uuid): new function
16903 (grub_hfsplus_fs): added uuid field
16904
4c402e73 169052009-05-03 Pavel Roskin <proski@gnu.org>
16906
16907 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16908 suppress warnings. It's no longer needed.
16909 * disk/host.c: Likewise.
16910 * disk/ata_pthru.c: Likewise.
16911 * disk/loopback.c: Likewise.
16912 * hook/datehook.c: Likewise.
16913 * parttool/pcpart.c: Likewise.
16914 * fs/i386/pc/pxe.c: Likewise.
16915 * fs/ntfscomp.c: Likewise.
16916 * efiemu/main.c: Likewise.
16917 * mmap/mmap.c: Likewise.
16918 * commands/crc.c: Likewise.
16919 * commands/hexdump.c: Likewise.
16920 * commands/hdparm.c: Likewise.
16921 * commands/acpi.c: Likewise.
16922 * commands/echo.c: Likewise.
16923 * commands/minicmd.c: Likewise.
16924 * commands/blocklist.c: Likewise.
16925 * commands/memrw.c: Likewise.
16926 * commands/loadenv.c: Likewise.
16927 * commands/usbtest.c: Likewise.
16928 * commands/lsmmap.c: Likewise.
16929 * commands/boot.c: Likewise.
16930 * commands/parttool.c: Likewise.
16931 * commands/configfile.c: Likewise.
16932 * commands/search.c: Likewise.
16933 * commands/ieee1275/suspend.c: Likewise.
16934 * commands/cat.c: Likewise.
16935 * commands/i386/pc/pxecmd.c: Likewise.
16936 * commands/i386/pc/play.c: Likewise.
16937 * commands/i386/pc/halt.c: Likewise.
16938 * commands/i386/pc/vbeinfo.c: Likewise.
16939 * commands/i386/pc/vbetest.c: Likewise.
16940 * commands/lspci.c: Likewise.
16941 * commands/date.c: Likewise.
16942 * commands/handler.c: Likewise.
16943 * commands/ls.c: Likewise.
16944 * commands/test.c: Likewise.
16945 * commands/cmp.c: Likewise.
16946 * commands/efi/loadbios.c: Likewise.
16947 * commands/efi/fixvideo.c: Likewise.
16948 * commands/halt.c: Likewise.
16949 * commands/help.c: Likewise.
16950 * commands/reboot.c: Likewise.
16951 * hello/hello.c: Likewise.
16952 * script/sh/main.c: Likewise.
16953 * loader/xnu.c: Likewise.
16954 * term/terminfo.c: Likewise.
16955 * term/i386/pc/serial.c: Likewise.
16956 * term/usb_keyboard.c: Likewise.
16957
515b5079 169582009-05-03 David S. Miller <davem@davemloft.net>
16959
16960 * normal/menu.c: Include grub/parser.h
16961
dfc31a22 169622009-05-03 Pavel Roskin <proski@gnu.org>
16963
2fee74f1 16964 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
16965 not char*.
16966 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
16967 Suggested by Javier Martín <lordhabbit@gmail.com>
16968
dfc31a22 16969 * util/i386/pc/grub-mkrescue.in: Allow for the case when
16970 efiemu??.o doesn't exist.
16971 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
16972 copying.
16973
18f547ad 169742009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 16975
16976 FreeBSD 64-bit support
16977
18f547ad 16978 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 16979 and loader/i386/bsd_trampoline.S
16980 (bsd_mod_ASFLAGS): new variable
16981 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
16982 (FREEBSD_MODTYPE_KERNEL64): likewise
16983 (grub_bsd64_trampoline_start): likewise
16984 (grub_bsd64_trampoline_end): likewise
16985 (grub_bsd64_trampoline_selfjump): likewise
16986 (grub_bsd64_trampoline_gdt): likewise
16987 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
16988 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
16989 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
16990 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 16991 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 16992 of "attrib" member
16993 * loader/i386/bsd_pagetable.c: new file
16994 * loader/i386/bsd_trampoline.S: likewise
16995 * loader/i386/bsd.c (ALIGN_QWORD): new macro
16996 (ALIGN_VAR): likewise
16997 (entry_hi): new variable
16998 (kern_end_mdofs): likewise
16999 (is_64bit): likewise
17000 (grub_freebsd_add_meta): use ALIGN_VAR
17001 (grub_e820_mmap): new declaration
17002 (grub_freebsd_add_mmap): new function
17003 (grub_freebsd_add_meta_module): support 64 bit kernels
17004 (grub_freebsd_list_modules): use ALIGN_VAR
17005 (gdt_descriptor): new declaration
17006 (grub_freebsd_boot): support 64 bit kernels
17007 (grub_bsd_elf64_hook): new function
17008 (grub_bsd_load_elf): support elf64
17009
038c5720 170102009-05-03 Bean <bean123ch@gmail.com>
17011
17012 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
17013 after we get the result of if statement.
17014
fc45fb58 170152009-05-03 Bean <bean123ch@gmail.com>
17016
17017 * Makefile.in (enable_efiemu): New variable.
17018
17019 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
17020 set.
17021 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
17022 path.
17023 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
17024 path, add -mno-red-zone option.
17025 (efiemu64_s.o): Likewise.
17026 (efiemu64.o): Use macro $^ for source file.
17027
17028 * configure.ac (--enable-efiemu): New option.
17029
bbee0f2b 170302009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 xnu support
17033
17034 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
17035 (pkglib_MODULES): add xnu.mod
17036 (xnu_mod_SOURCES): new variable
17037 (xnu_mod_CFLAGS): likewise
17038 (xnu_mod_LDFLAGS): likewise
17039 (xnu_mod_ASFLAGS): likewise
17040 * conf/i386-pc.rmk: likewise
17041 * conf/x86_64-efi.rmk: likewise
7dd4a573 17042 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 17043 new declaration
17044 * include/grub/i386/macho.h: new file
17045 * include/grub/i386/xnu.h: likewise
17046 * include/grub/macho.h: likewise
17047 * include/grub/machoload.h: likewise
17048 * include/grub/x86_64/macho.h: likewise
17049 * include/grub/x86_64/xnu.h: likewise
17050 * include/grub/xnu.h: likewise
17051 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
17052 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
17053 * loader/i386/efi/xnu.c: new file
17054 * loader/i386/pc/xnu.c: likewise
17055 * loader/i386/xnu.c: likewise
17056 * loader/i386/xnu_helper.S: likewise
17057 * loader/macho.c: likewise
17058 * loader/xnu.c: likewise
17059 * loader/xnu_resume.c: likewise
17060 * util/grub-dumpdevtree: likewise
17061 * include/grub/i386/pit.h: include grub/err.h
17062 (grub_pit_wait): export
17063 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 17064
5caf964d 170652009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17066
17067 Efiemu
7dd4a573 17068
5caf964d 17069 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 17070 _linux_efi, linux_efi.
17071 new files in grub-emu
5caf964d 17072 new targets efiemu32.o and efiemu64.o
17073 * loader/linux_normal_efiemu.c: likewise
17074 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 17075 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 17076 files to copy
17077 * include/grub/autoefi.h: new file
7dd4a573 17078 * include/grub/i386/efiemu.h: likewise
5caf964d 17079 * include/grub/i386/pc/efiemu.h: likewise
17080 * include/grub/efi/api.h: add LL suffix when necessary
17081 new definitions relating to tables
17082 * include/grub/efiemu/efiemu.h: new file
17083 * include/grub/efiemu/runtime.h: likewise
17084 * efiemu/prepare.c: likewise
17085 * efiemu/loadcore_common.c: likewise
17086 * efiemu/loadcore64.c: likewise
17087 * efiemu/runtime/efiemu.sh: likewise
17088 * efiemu/runtime/efiemu.S: likewise
17089 * efiemu/runtime/efiemu.c: likewise
17090 * efiemu/runtime/config.h: likewise
17091 * efiemu/prepare32.c: likewise
17092 * efiemu/main.c: likewise
17093 * efiemu/modules/pnvram.c: likewise
17094 * efiemu/modules/i386: likewise
17095 * efiemu/modules/i386/pc: likewise
17096 * efiemu/modules/acpi.c: likewise
17097 * efiemu/i386/pc/cfgtables.c: likewise
17098 * efiemu/i386/loadcore64.c: likewise
17099 * efiemu/i386/loadcore32.c: likewise
17100 * efiemu/prepare64.c: likewise
17101 * efiemu/loadcore.c: likewise
17102 * efiemu/symbols.c: likewise
17103 * efiemu/mm.c: likewise
17104 * efiemu/loadcore32.c: likewise
7dd4a573 17105
171062009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 17107
17108 ACPI spoofing
17109
17110 * commands/acpi.c: new file
17111 * commands/i386/pc/acpi.c: likewise
17112 * commands/efi/acpi.c: likewise
17113 * include/grub/acpi.h: likewise
17114 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
17115 (acpi_mod_SOURCES): new variable
17116 (acpi_mod_CFLAGS): likewise
17117 (acpi_mod_LDFLAGS): likewise
17118 * conf/i386-efi.rmk: likewise
17119 * conf/x86_64-efi.rmk: likewise
17120
7dd4a573 171212009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 17122
17123 Missing part from mmap patch
17124
17125 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
17126 (grub_mmap_unregister)
17127 (grub_mmap_free_and_unregister): use grub_mmap_register
17128
7dd4a573 171292009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 17130
17131 Mmap services
17132
17133 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
17134 * loader/i386/linux.c (find_mmap_size): likewise
17135 (allocate_pages): likewise
17136 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
17137 (grub_fill_multiboot_mmap): likewise
17138 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
17139 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
17140 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
17141 (OPENBSD_MMAP_RESERVED): likewise
17142 * include/grub/i386/pc/memory.h: include grub/memory.h
17143 (grub_lower_mem): removed
17144 (grub_upper_mem): likewise
17145 (GRUB_MACHINE_MEMORY_ACPI): new definition
17146 (GRUB_MACHINE_MEMORY_NVS): likewise
17147 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
17148 (GRUB_MACHINE_MEMORY_HOLE): likewise
17149 (grub_machine_mmap_register): likewise
17150 (grub_machine_mmap_unregister): likewise
17151 (grub_machine_get_upper): likewise
17152 (grub_machine_get_lower): likewise
17153 (grub_machine_get_post64): likewise
17154 * include/grub/i386/efi/memory.h: new file
17155 * include/grub/x86_64/efi/memory.h: likewise
17156 * include/grub/efi/memory.h: likewise
17157 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
17158 (mmap_mod_SOURCES): new variable
17159 (mmap_mod_LDFLAGS): likewise
17160 (mmap_mod_ASFLAGS): likewise
17161 * conf/i386-coreboot.rmk: likewise
17162 * conf/i386-ieee1275.rmk: likewise
17163 * conf/i386-efi.rmk: likewise
17164 * conf/x86_64-efi.rmk: likewise
17165 * include/grub/types.h (UINT_TO_PTR): new macro
17166 (PTR_TO_UINT32): likewise
17167 (PTR_TO_UINT64): likewise
17168 * include/grub/memory.h: new file
17169 * mmap/i386/pc/mmap.c: likewise
17170 * mmap/i386/pc/mmap_helper.S: likewise
17171 * mmap/i386/uppermem.c: likewise
17172 * mmap/mmap.c: likewise
17173 * mmap/efi/mmap.c: likewise
7dd4a573 17174 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 17175 grub_upper_mem
17176 * kern/i386/pc/init.c (grub_lower_mem): removed variable
17177 (grub_upper_mem): likewise
17178 (grub_machine_init): don't use grub_upper_mem,
17179 make grub_lower_mem local
17180 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
17181 grub_mmap_iterate and grub_mmap_get_upper
17182 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
17183
d558e6b5 171842009-05-02 Bean <bean123ch@gmail.com>
17185
17186 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
17187 script/sh/parser.y.
17188 (pkglib_MODULES): Add normal.mod and sh.mod.
17189 (normal_SOURCES): New variable.
17190 (normal_mod_CFLAGS): Likewise.
17191 (normal_mod_LDFLAGS): Likewise.
17192 (sh_mod_SOURCES): Likewise.
17193 (sh_mod_CFLAGS): Likewise.
17194 (sh_mod_LDFLAGS): Likewise.
17195
17196 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
17197 script/sh/lexer.c_DEPENDENCIES.
17198 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
17199 kern/rescue_reader.c and kern/rescue_parser.c.
17200 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
17201 (grub_emu_SOURCES): Change source files.
17202 (pkglib_MODULES): Remove normal.mod.
17203 (normal_SOURCES): Removed.
17204 (normal_mod_CFLAGS): Likewise.
17205 (normal_mod_LDFLAGS): Likewise.
17206 * conf/i386-coreboot.rmk: Likewise.
17207 * conf/i386-efi.rmk: Likewise.
17208 * conf/i386-ieee1276.rmk: Likewise.
17209 * conf/powerpc-ieee1275.rmk: Likewise.
17210 * conf/sparc64-ieee1275.rmk: Likewise.
17211 * conf/x86_64-efi.rmk: Likewise.
17212
17213 * include/grub/command.h (grub_command_execute): New inline function.
17214
17215 * include/grub/menu.h (grub_menu_entry): Removed commands field.
17216
17217 * include/grub/normal.h: Remove <grub/setjmp.h>.
17218 (grub_fs_module_list): Moved to normal/autofs.c.
17219 (grub_exit_env): Removed.
17220 (grub_command_execute): Likewise.
17221 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
17222 parameter script.
17223 (read_command_list): New function declaration.
17224 (read_fs_list): Likewise.
17225
17226 * include/parser.h: Include <grub/reader.h>.
17227 (grub_parser_split_cmdline): Change type of getline parameter.
17228 (grub_parser): New structure.
17229 (grub_parser_class): New variable.
17230 (grub_parser_execute): New function declaration.
17231 (grub_register_rescue_parser): Likewise.
17232 (grub_parser_register): New inline function.
17233 (grub_parser_unregister): Likewise.
17234 (grub_parser_get_current): Likewise.
17235 (grub_parser_set_current): Likewise.
17236
17237 * include/grub/reader.h: New file.
17238 * kern/reader.c: Likewise.
17239 * kern/rescue_parser.c: Likewise.
17240 * kern/rescue_reader.c: Likewise.
17241 * normal/autofs.c: Likewise.
17242 * normal/dyncmd.c: Likewise.
17243
17244 * include/grub/rescue.h: Removed.
17245 * normal/command.h: Likewise.
17246
17247 * include/grub/script.h: Moved to ...
17248 * include/grub/script_sh.h: ... Moved here.
17249 * normal/execute.c: Moved to ...
17250 * script/sh/execute.c: ... Moved here.
17251 * normal/function.c: Moved to ...
17252 * script/sh/function.c: ... Moved here.
17253 * normal/lexer.c: Moved to ...
17254 * script/sh/lexer.c: ... Moved here.
17255 * normal/parser.y: Moved to ...
17256 * script/sh/parser.y: ... Moved here.
17257 * normal/script.c: Moved to ...
17258 * script/sh/script.c: ... Moved here.
17259
17260 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
17261 <grub/reader.h>.
17262 (grub_exit_env): Removed.
17263 (fs_module_list): Moved to normal/autofs.c.
17264 (grub_file_getline): Don't handle comment here.
17265 (free_menu): Skip removed field entry->commands.
17266 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
17267 script parameter.
17268 (read_config_file): Removed nested parameter, change getline function.
17269 (grub_enter_normal_mode): Removed.
17270 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
17271 (read_command_list): Likewise.
17272 (autoload_fs_module): Moved to normal/autofs.c.
17273 (read_fs_list): Likewise.
17274 (reader_nested): New variable.
17275 (grub_normal_execute): Run parser.sh to switch to sh parser.
17276 (grub_cmd_rescue): Removed.
17277 (cmd_normal): Removed.
17278 (grub_cmd_normal): Unregister itself at the beginning. Don't register
17279 rescue command.
17280 (grub_cmdline_run): New function.
17281 (grub_normal_reader_init): Likewise.
17282 (grub_normal_read_line): Likewise.
17283 (grub_env_write_pager): Likewise.
17284 (cmdline): New variable.
17285 (grub_normal_reader): Likewise.
17286 (GRUB_MOD_INIT): Register normal reader and set as current, register
17287 pager hook, register normal command with grub_register_command_prio,
17288 so that it won't show up in command.lst.
17289 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
17290 grub_fs_autoload_hook.
17291
17292 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
17293 (grub_menu_execute_entry): Replace grub_script_execute with
17294 grub_parser_execute, change parameter to grub_command_execute.
17295
17296 * normal/menu_text.c: Remove <grub/script.h>.
17297
17298 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
17299 and <grub/parser.h>.
17300 (run): Change editor_getline to use new parser interface. Change
17301 parameter to grub_command_execute.
17302
17303 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
17304 <grub/reader.h> and <grub/parser.h>.
17305 (grub_load_normal_mode): Execute normal command.
17306 (grub_main): Call grub_register_core_commands,
17307 grub_register_rescue_parser and grub_register_rescue_reader, use
17308 grub_reader_loop to enter input loop.
17309
7dd4a573 17310 * kern/parser.c (grub_parser_split_cmdline): Change type of
17311 getline parameter.
d558e6b5 17312 (grub_parser_class): New variable.
17313 (grub_parser_execute): New function.
17314
17315 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
17316 * loader/multiboot2.c: Likewise.
17317 * loader/sparc64/ieee1275/linux.c: Likewise.
17318
17319 * util/grub-emu.c (read_command_list): New dummy function.
17320
18db813d 173212009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17322
17323 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
17324 count to 16 for CCISS and IDA.
17325
6c67de15 173262009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17327
17328 * normal/menu_text.c (grub_wait_after_message): Print a newline
17329 after waiting for user input.
17330
17331 * loader/i386/linux.c: Include `<grub/normal.h>'.
17332 (grub_cmd_linux): Improve the error message about `ask' mode, by
17333 waiting for user input so it's not missed (we can do this, since
17334 user requested interaction).
17335
d9dc87b0 173362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 Added missing lst to grub-mkrescue
17339
17340 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
17341 and ${input_dir}/parttool.lst
17342
ac8a2baa 173432009-04-30 David S. Miller <davem@davemloft.net>
17344
ad22a610 17345 * util/hostdisk.c (device_is_wholedisk): New function.
17346 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
17347 zero only if device_is_wholedisk() returns true.
17348
6966215d 17349 * util/hostdisk.c (convert_system_partition_to_system_disk):
17350 Handle virtual disk devices named /dev/vdiskX as found on sparc
17351 and powerpc.
17352
ac8a2baa 17353 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
17354 lettered partition specifier is found, convert to numbered.
17355
979b4fb4 173562009-04-29 David S. Miller <davem@davemloft.net>
17357
e2bf39b2 17358 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
17359 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17360
3c64e104 17361 * normal/command.c: Add missing newline at end of file.
17362
979b4fb4 17363 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
17364 warnings.
17365 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
17366 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
17367 grub_ofdisk_read): Likewise, and deal similarly with the fact that
17368 ihandles have a 32-bit type but need to be stored in a "void *".
17369
136d9f82 173702009-04-28 Pavel Roskin <proski@gnu.org>
17371
9459c306 17372 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
17373 not disk. Adjust all dependencies.
2e08a26a 17374 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 17375 grub_disk_close().
17376
136d9f82 17377 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
17378 parent's partition, don't copy it by reference, as it gets freed
17379 on close.
17380
7dd4a573 173812009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 17382
17383 Preboot hooks support
17384
17385 * commands/boot.c (struct grub_preboot_t): new declaration
17386 (preboots_head): new variable
17387 (preboots_tail): likewise
17388 (grub_loader_register_preboot_hook): new function
17389 (grub_loader_unregister_preboot_hook): likewise
17390 (grub_loader_set): launch preboot hooks
17391 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
17392 (grub_loader_register_preboot_hook): new declaration
17393 (grub_loader_unregister_preboot_hook): likewise
17394
5af922b5 173952009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17396
17397 Warning fix
17398
7dd4a573 17399 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 17400 calling grub_dprintf
17401
a5562c30 174022009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Bug and warning fixes
17405
7dd4a573 17406 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 17407 declaration
17408 * commands/test.c (test_parse): fixed bug with file tests and corrected
17409 declaration of find_file
17410
4006f85c 174112009-04-26 Pavel Roskin <proski@gnu.org>
17412
17413 * Makefile.in: Don't install empty manual pages if help2man is
17414 missing. Use help2man option for output, not shell redirection.
17415
5c77c3de 174162009-04-26 David S. Miller <davem@davemloft.net>
17417
17418 * util/grub-mkdevicemap.c (make_device_map): Add missing
17419 NESTED_FUNC_ATTR to process_device().
17420
033b10a8 174212009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17422
17423 Test command
17424
17425 * commands/test.c: rewritten to use bash-like test
17426
e4343593 174272009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17428
17429 Parttool autoloading and improvements
17430
7dd4a573 17431 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 17432 (parttool.lst): new target
17433 * genmk.rb: generate parttool-*
17434 (CLEANFILES): add #{parttool}
17435 (PARTTOOLFILES): new variable
17436 * genparttoollist.sh: new file
7dd4a573 17437 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 17438 (grub_pcpart_type): likewise
17439 * commands/parttool.c (helpmsg): new variable
17440 (grub_cmd_parttool): output help if not enough arguments are supplied
17441 autoload modules
17442 (GRUB_MOD_INIT(parttool)): use helpmsg
17443
0d312500 174442009-04-24 David S. Miller <davem@davemloft.net>
17445
7dd4a573 17446 Avoiding opening same device multiple times in device iterator.
0d312500 17447
17448 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 17449 and use it to build a list of partitions in iterate_disk() and
0d312500 17450 iterate_partition().
17451
ac20caff 17452 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
17453 on disk->data.
17454
0dcf7495 17455 * disk/ieee1275/nand.c (grub_nand_iterate): Return
17456 grub_devalias_iterate() result instead of unconditional 0.
17457 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
17458 Also, capture hook return value, either directly or via
17459 grub_children_iterate(), and propagate to caller.
17460 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17461 grub_children_iterate): Return value is now 'int' instead of
17462 'grub_err_t'.
17463 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17464 like a proper iterator, stopping when hooks return non-zero.
17465 (grub_devalias_iterate): Likewise.
17466
c8c08833 174672009-04-23 David S. Miller <davem@davemloft.net>
17468
17469 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17470
f01005a8 174712009-04-22 David S. Miller <davem@davemloft.net>
17472
17473 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
17474 is larger than address_cells, use that value for address_cells too.
17475
4e8269da 17476 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
17477 IEEE1275_MAX_PATH_LEN): Define.
17478 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
17479 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
17480 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
17481 'devtype'. Explicitly NULL terminate devalias expansion.
17482
a1447506 17483 * util/sparc64/ieee1275/misc.c: New file.
17484 * util/sparc64/ieee1275/grub-setup.c: New file.
17485 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
17486 * util/sparc64/ieee1275/grub-mkimage.c: New file.
17487 * util/sparc64/ieee1275/grub-install.in: New file.
17488 * util/ieee1275/ofpath.c: New file.
17489 * util/ieee1275/devicemap.c: New file.
17490 * util/devicemap.c: New file.
17491 * util/deviceiter.c: New file.
17492 * kern/sparc64/ieee1275/init.c: New file.
17493 * include/grub/util/ofpath.h: New file.
17494 * include/grub/util/deviceiter.h: New file.
17495 * util/grub-mkdevicemap.c: Include deviceiter.h.
17496 Implement using grub_util_emit_devicemap_entry and
17497 grub_util_iterate_devices.
17498 * conf/i386-corebook.rmk: Build util/deviceiter.c and
17499 util/devicemap.c into grub-mkdevicemap
17500 * conf/i386-efi.rmk: Likewise.
17501 * conf/i386-ieee1275.rmk: Likewise.
17502 * conf/i386-pc.rmk: Likewise.
17503 * conf/powerpc-ieee1275.rmk: Likewise.
17504 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17505 images and installation utilities. Build kernel as image
17506 instead of as elf binary. Use common rules as much as possible.
17507
7dd4a573 175082009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 17509
17510 Correct GPT definition
17511
7dd4a573 17512 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 17513 of "attrib" member
17514
c6c5219f 175152009-04-19 Felix Zielcke <fzielcke@z-51.de>
17516
17517 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17518
0552ff9f 175192009-04-19 David S. Miller <davem@davemloft.net>
17520
17521 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17522 (grub_rescue_cmd_linux): Rename to...
17523 (grub_cmd_linux): and fix prototype.
17524 (grub_rescue_cmd_initrd): Rename to...
17525 (grub_cmd_initrd): and fix prototype.
17526 (cmd_linux, cmd_initrd): New.
17527 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17528 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17529
d1a282fc 175302009-04-17 Pavel Roskin <proski@gnu.org>
17531
07c5039f 17532 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17533 format.
17534 (grub_ohci_transfer): Likewise.
17535
b012002d 17536 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17537
1bc09c35 17538 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17539 return without a value. Fix inconsistent indentation.
17540
e0ff9126 17541 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17542 match struct grub_fs.
17543
d1a282fc 17544 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17545 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17546 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17547 * commands/lspci.c (grub_lspci_iter): Likewise.
17548
a96df3f2 175492009-04-16 Bean <bean123ch@gmail.com>
17550
17551 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17552 value.
17553
41bb0fe9 175542009-04-15 Pavel Roskin <proski@gnu.org>
17555
17556 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17557 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17558 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17559 definitions.
17560
596c6970 175612009-04-15 Felix Zielcke <fzielcke@z-51.de>
17562
17563 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 17564 that no multiple data or metadata areas are supported and `Unknown
596c6970 17565 metadata header'.
17566
7dd4a573 175672009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 17568
17569 Move loader out of the kernel
17570
17571 * kern/loader.c: moved to ...
17572 * commands/boot.c: ... moved here
17573 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17574 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17575 * include/grub/kernel.h (grub_machine_fini): export
17576 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17577 (grub_loader_set): likewise
17578 (grub_loader_unset): likewise
17579 (grub_loader_boot): likewise
17580 * conf/common.rmk: new module boot.mod
17581 (pkglib_MODULES): add boot.mod
17582 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17583 (grub_emu_SOURCES): likewise
17584 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17585 (grub_emu_SOURCES): likewise
17586 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17587 (grub_emu_SOURCES): likewise
17588 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17589 (grub_emu_SOURCES): likewise
17590 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17591 (grub_emu_SOURCES): likewise
7dd4a573 17592 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17593 (grub_emu_SOURCES): likewise
0d5d5653 17594 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17595 (grub_emu_SOURCES): likewise
0d5d5653 17596
7dd4a573 175972009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17598
17599 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17600
5999d619 17601 * kern/misc.c (grub_itoa): Removed function
17602 (grub_ltoa): likewise
17603 (grub_vsprintf): use grub_lltoa
17604
7dd4a573 176052009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17606
17607 Restore grub-emu
17608
17609 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17610 * conf/i386-coreboot.rmk: likewise
17611 * conf/i386-ieee1275.rmk: likewise
17612 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17613
20318222 176142009-04-15 Felix Zielcke <fzielcke@z-51.de>
17615
17616 * INSTALL: Add that `./autogen.sh' needs to be run before
17617 `./configure.'.
17618
d05f0df3 176192009-04-14 Bean <bean123ch@gmail.com>
17620
17621 * Makefile.in (pkglib_DATA): Add handler.lst.
17622 (handler.lst): New rule.
17623
17624 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17625 * conf/i386-coreboot.rmk: Likewise.
17626 * conf/i386-ieee1275.rmk: Likewise.
17627 * conf/i386-efi.rmk: Likewise.
17628 * conf/x86_64-efi.rmk: Likewise.
17629 * conf/powerpc-ieee1275.rmk: Likewise.
17630 * conf/sparc64-ieee1275.rmk: Likewise.
17631
17632 * genhandlerlist.sh: New file.
17633
17634 * genmk.rb: Add rules to generate handler.lst.
17635
17636 * include/grub/normal.h (grub_file_getline): New function definition.
17637 (read_handler_list): Likewise.
17638 (free_handler_list): Likewise.
17639
17640 * include/grub/term.h (grub_term_register_input): Add name parameter
17641 for auto generation of handler.lst.
17642 (grub_term_register_output): Likewise.
17643
17644 * normal/handler.c: New file.
17645
17646 * normal/main.c (get_line): Renamed to grub_file_getline.
17647 (read_config_file): Use the newly renamed grub_file_getline.
17648 (read_command_list): Likewise.
17649 (read_fs_list): Likewise.
17650 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17651 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17652
17653 * term/efi/console.c (grub_console_init): Add name parameter for auto
17654 generation of handler.lst.
17655 * term/gfxterm.c: Likewise.
17656 * term/i386/pc/at_keyboard.c: Likewise.
17657 * term/i386/pc/console.c: Likewise.
17658 * term/i386/pc/serial.c: Likewise.
17659 * term/i386/pc/vesafb.c: Likewise.
17660 * term/i386/pc/vga.c: Likewise.
17661 * term/i386/pc/vga_text.c: Likewise.
17662 * term/ieee1275/ofconsole.c: Likewise.
17663 * term/usb_keyboard.c: Likewise.
17664
33c846be 176652009-04-14 Bean <bean123ch@gmail.com>
17666
17667 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17668 properly with null character.
17669
4484e01e 176702009-04-14 Felix Zielcke <fzielcke@z-51.de>
17671
17672 * configure: Remove.
17673 * config.h.in: Likewise.
f93d668e 17674 * stamp-h.in: Likewise.
4484e01e 17675 * DISTLIST: Likewise.
17676 * conf/common.mk: Likewise.
17677 * conf/i386-coreboot.mk: Likewise.
17678 * conf/i386-efi.mk: Likewise.
17679 * conf/i386-ieee1275.mk: Likewise.
17680 * conf/i386.mk: Likewise.
17681 * conf/i386-pc.mk: Likewise.
17682 * conf/powerpc-ieee1275.mk: Likewise.
17683 * conf/sparc64-ieee1275.mk: Likewise.
17684 * conf/x86_64-efi.mk: Likewise.
17685
17686 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17687 develop on GRUB.
17688
7dd4a573 176892009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 17690 David S. Miller <davem@davemloft.net>
17691
17692 * util/hostdisk.c (make_device_name): Fix buffer length
17693 calculations.
17694
e25b5a8c 176952009-04-14 Felix Zielcke <fzielcke@z-51.de>
17696
17697 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17698 <sys/param.h> and <sys/sysctl.h>.
17699 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17700 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17701 opening the device and reset them afterwards.
17702
1f1f580c 177032009-04-13 Pavel Roskin <proski@gnu.org>
17704
17705 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17706 Reported by John Stanley <jpsinthemix@verizon.net>
17707
7ebc2d6b 177082009-04-13 Robert Millan <rmh@aybabtu.com>
17709
17710 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 17711 that name for menuentries when appropriate.
7ebc2d6b 17712
d8ba3667 177132009-04-13 Felix Zielcke <fzielcke@z-51.de>
17714
17715 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17716
cba416eb 177172009-04-13 Robert Millan <rmh@aybabtu.com>
17718
17719 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17720 to Linux, simply abort telling the user it's no longer supported.
17721
a547a745 177222009-04-13 Felix Zielcke <fzielcke@z-51.de>
17723
17724 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 17725 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 17726 `freebsd_loadenv' only when devices.hints exist.
17727
232a769c 177282009-04-13 Pavel Roskin <proski@gnu.org>
17729
17730 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17731
c3012039 177322009-04-13 Felix Zielcke <fzielcke@z-51.de>
17733
17734 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17735 partition number.
17736 (grub_drive): Likewise.
17737
234022fe 177382009-04-13 David S. Miller <davem@davemloft.net>
17739
17740 * kern/sparc64/ieee1275/ieee1275.c: New file.
17741 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17742 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17743 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17744 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17745 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17746 grub_ieee1275_alloc_physmem): Declare new exported functions.
17747
d8e1836c 17748 * include/grub/sparc64/ieee1275/loader.h: New file.
17749 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17750 * include/grub/sparc64/kernel.h: Likewise.
17751 * loader/sparc64/ieee1275/linux.c: Likewise.
17752
96bd81ec 17753 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17754 (grub_fstest_SOURCES): Likewise.
17755
6a4737e5 17756 * util/hostdisk.c (make_device_name): Do not make any assumptions
17757 about the length of drive names.
17758
1d7a72fd 17759 * kern/dl.c (grub_dl_load_file): Close file immediately when
17760 we are done using it.
17761
56bc2471 177622009-04-12 David S. Miller <davem@davemloft.net>
17763
17764 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17765 values. Noticed by Pavel Roskin.
17766
df38d0bb 17767 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17768 target compiler.
7dd4a573 17769
e382e93a 17770 * genmk.rb: Add more flexible image type specification, also
17771 pass --strip-unneeded to objcopy.
17772 * conf/i386-pc.rmk: Use *_FORMAT.
17773 * conf/i386-pc.mk: Rebuilt.
17774
f5dbbca9 17775 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17776 (OFDISK_HASH_SZ): Define.
17777 (ofdisk_hash): New hash table.
17778 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17779 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17780 instead of device phandle which is not unique.
17781
91c88b12 17782 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17783 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17784 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17785 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17786 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17787 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17788 GRUB_KERNEL_MACHINE_DATA_END): Define.
17789 (grub_kernel_image_size, grub_total_module_size): Declare.
17790
5b5d4aa5 177912009-04-12 Pavel Roskin <proski@gnu.org>
17792
7dd4a573 17793 * configure.ac: Change the logic when we check for target tools.
17794 Do it when the target is specified and it's different from the
17795 specified value of the host.
5b5d4aa5 17796
c91e1793 177972009-04-11 Felix Zielcke <fzielcke@z-51.de>
17798
17799 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17800 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17801 GNU/kFreeBSD. Check if a device is a character device. Use
17802 DIOCGMEDIASIZE to get the size.
17803 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17804 support for GNU/kFreeBSD.
17805 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17806 is a character device instead of a block device. Add support for
17807 FreeBSD device names.
17808
17809 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17810 is a character device instead of a block device.
17811
17812 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17813 is a character device instead of a block device.
17814
b1ac8644 178152009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17816
17817 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17818 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17819 FreeBSD. Check if a device is a character device. Use
17820 DIOCGMEDIASIZE to get the size.
17821 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17822 support for FreeBSD.
17823 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17824 is a character device instead of a block device. Add support for
17825 FreeBSD device names.
17826
17827 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17828 a character device instead of a block device.
17829 (grub_util_check_char_device): New function.
17830
17831 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17832 a character device instead of a block device.
17833
17834 * include/grub/util/getroot.h (grub_util_check_char_device): New
17835 prototype.
17836
a3f7515a 178372009-04-11 David S. Miller <davem@davemloft.net>
17838
17839 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17840 static libgcc.
17841 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17842 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17843 function, if present.
17844 (__bswapdi2): Likewise.
17845
0d44993d 17846 * include/grub/sparc64/ieee1275/boot.h: New file.
17847 * boot/sparc64/ieee1275/boot.S: Likewise.
17848 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17849
ed3d2bc2 17850 * kern/misc.c (grub_ltoa): New function.
17851 (grub_vsprintf): Use it to format 'long' integers.
17852
d3bfb59c 178532009-04-10 David S. Miller <davem@davemloft.net>
17854
17855 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17856 slots are of type grub_ieee1275_cell_t.
17857 (grub_nand_read): Likewise.
17858 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17859 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17860 macros are used to compare values in arg/ret block of the call.
17861 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17862 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17863 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17864 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17865 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17866 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17867 grub_ieee1275_close, grub_ieee1275_set_property,
17868 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17869 grub_ieee1275_cell_t.
17870 * kern/ieee1275/openfw.c (grub_map): Likewise.
17871 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17872 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17873
450e2238 17874 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17875 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17876 (grub_devalias_iterate): Likewise.
17877
7dd4a573 178782009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 17879
17880 UFS improvements
17881
17882 * fs/ufs.c (INODE_NBLOCKS): new definition
17883 (struct grub_ufs_dirent): added fields for non-BSD dirents
17884 (grub_ufs_get_file_block): fixed double indirect handling
17885 (grub_ufs_lookup_symlink): use more robust way to determine whether
17886 symlink is inline
17887 (grub_ufs_find_file): support for non-BSD dirents
17888 (grub_ufs_dir): support for non-BSD dirents
17889
e7e6862a 178902009-04-10 Bean <bean123ch@gnail.com>
17891
17892 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17893 attribute, otherwise the size would be wrong for i386 platform.
17894
17895 * include/grub/pci.h (grub_pci_read_word): New inline function.
17896 (grub_pci_read_byte): Likewise.
17897 (grub_pci_write): Likewise.
17898 (grub_pci_write_word): Likewise.
17899 (grub_pci_write_byte): Likewise.
17900
17901 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17902
17903 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17904 (find_framebuf): Scan pci to locate the frame buffer address.
17905
17906 * commands/efi/fixvideo.c: New file.
17907
17908 * commands/efi/loadbios.c: Likewise.
17909
17910 * commands/memrw.c: Likewise.
17911
17912 * util/grub-dumpbios.in: Likewise.
17913
17914 * conf/common.rmk (grub-dumpbios): New utility.
17915 (pkglib_MODULES): New module memrw.mod.
17916 (memrw_mod_SOURCE): New macro.
17917 (memrw_mod_CFLAGS): Likewise.
17918 (memrw_mod_LDFLAGS): Likewise.
17919
7dd4a573 17920 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17921 fixvideo.mod.
17922 (loadbios_mod_SOURCE): New macro.
17923 (loadbios_mod_CFLAGS): Likewise.
17924 (loadbios_mod_LDFLAGS): Likewise.
17925 (fixvideo_mod_SOURCE): Likewise.
17926 (fixvideo_mod_CFLAGS): Likewise.
17927 (fixvideo_mod_LDFLAGS): Likewise.
17928
7dd4a573 17929 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 17930 fixvideo.mod.
17931 (loadbios_mod_SOURCE): New macro.
17932 (loadbios_mod_CFLAGS): Likewise.
17933 (loadbios_mod_LDFLAGS): Likewise.
17934 (fixvideo_mod_SOURCE): Likewise.
17935 (fixvideo_mod_CFLAGS): Likewise.
17936 (fixvideo_mod_LDFLAGS): Likewise.
17937
af63ada2 179382009-04-08 Felix Zielcke <fzielcke@z-51.de>
17939
17940 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
17941
c2cdde70 179422009-04-07 David S. Miller <davem@davemloft.net>
17943
17944 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
17945 support for R_SPARC_OLO10 relocations. Fix compile warning for
17946 R_SPARC_WDISP30 case.
ea3f72cf 17947 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 17948
761319cf 179492009-04-06 Pavel Roskin <proski@gnu.org>
17950
1007d1f5 17951 * include/grub/misc.h (ARRAY_SIZE): New macro.
17952 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
17953 New macro.
17954 * loader/i386/linux.c (allocate_pages): Use free_pages().
17955 (grub_linux_unload): Don't use free_pages().
17956 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
17957 wrong index. Treat all other modes as text modes.
17958 (grub_cmd_linux): Initialize vid_mode unconditionally to
17959 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
17960
761319cf 17961 * commands/help.c (print_command_help): Use cmd->prio, not
17962 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
17963
ea761d40 179642009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 17965
ea761d40 17966 Parttool
17967
17968 * parttool/pcpart.c: new file
17969 * commands/parttool.c: likewise
17970 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
17971 (parttool_mod_SOURCES): new variable
17972 (parttool_mod_CFLAGS): likewise
17973 (parttool_mod_LDFLAGS): likewise
17974 (pcpart_mod_SOURCES): likewise
17975 (pcpart_mod_CFLAGS): likewise
17976 (pcpart_mod_LDFLAGS): likewise
7dd4a573 17977 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 17978 and parttool/pcpart.c
17979 * conf/i386-efi.rmk: likewise
17980 * conf/i386-ieee1275.rmk: likewise
17981 * conf/i386-pc.rmk: likewise
17982 * conf/powerpc-ieee1275.rmk: likewise
17983 * conf/sparc64-ieee1275.rmk: likewise
17984 * conf/x86_64-ieee1275.rmk: likewise
17985
05aaebfb 179862009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 Support for mtime and further expandability of dir command
17989
17990 * include/grub/lib/datetime.h: moved to ...
7dd4a573 17991 * include/grub/datetime.h: ... moved here and added
05aaebfb 17992 declaration of grub_unixtime2datetime. All users updated
7dd4a573 17993 * include/grub/fs.h: new syntax for dir and mtime functions in
17994 struct grub_fs
05aaebfb 17995 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
17996 and GRUB_FSHELP_FLAGS_MASK
17997 * commands/ls.c (grub_ls_list_files): Write mtime in long format
17998 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
17999 (grub_ext2_mtime): new function
18000 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
18001 (grub_hfsplus_mtime): new function
18002 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
18003 (GRUB_UFS_ATTR_FILE): likewise
18004 (GRUB_UFS_ATTR_LNK): likewise
18005 (struct grub_ufs_sblock): new fields mtime
18006 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
18007 all users updated
18008 (grub_ufs_dir): mtime support
18009 (grub_ufs_mtime): new function
18010 * fs/affs.c (grub_affs_dir): use new dir syntax
18011 * fs/afs.c (grub_afs_dir): likewise
18012 * fs/cpio.c (grub_cpio_dir): likewise
18013 * fs/fat.c (grub_fat_find_dir): likewise
18014 * fs/hfs.c (grub_hfs_dir): likewise
18015 * fs/iso9660.c (grub_iso9660_dir): likewise
18016 * fs/jfs.c (grub_jfs_dir): likewise
18017 * fs/minix.c (grub_minix_dir): likewise
18018 * fs/ntfs.c (grub_ntfs_dir): likewise
18019 * fs/reiserfs.c (grub_reiserfs_dir): likewise
18020 * fs/sfs.c (grub_sfs_dir): likewise
18021 * fs/xfs.c (grub_xfs_dir): likewise
18022 * util/hostfs.c (grub_hostfs_dir): likewise
18023 * lib/datetime.c: moved to ...
18024 * normal/datetime.c: ... moved here
18025 (grub_unixtime2datetime): new function
18026 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 18027 * normal/completion.c (iterate_dir): use new dir syntax
18028 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 18029 last modification time of a volume
7dd4a573 18030 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 18031 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 18032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 18033 (normal_mod_SOURCES): likewise
18034 (datetime_mod_SOURCES): Removed lib/datetime.c
18035 * conf/i386-efi.rmk: likewise
7dd4a573 18036 * conf/i386-ieee1275.rmk: likewise
05aaebfb 18037 * conf/i386-pc.rmk: likewise
18038 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18039 * conf/sparc64-ieee1275.rmk: likewise
18040 * conf/x86_64-efi.rmk: likewise
05aaebfb 18041
8a7e1a14 180422009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 18045
18046 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 18047 on grub_fat_find_dir
18048 (grub_fat_find_dir): use grub_fat_iterate_dir
18049 (grub_fat_label): likewise
18050
04186a9c 180512009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18052
7dd4a573 18053 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 18054 and command.h
18055 remove extraneous kernel_elf_HEADERS
18056
da4c0bb6 180572009-04-04 Bean <bean123ch@gnail.com>
18058
18059 * include/grub/util/misc.h: Add dummy function fsync for mingw.
18060
18061 * util/misc.c: Likewise.
18062
54ad9555 180632009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
18064
18065 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
18066 instead of grub_printf.
18067
7a6bf9f2 180682009-04-03 Robert Millan <rmh@aybabtu.com>
18069
18070 * loader/i386/linux.c (grub_linux_setup_video): Fill
18071 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
18072 values from `mode info' structure instead of hardcoded
18073 values.
18074
3fcc2083 180752009-04-01 Pavel Roskin <proski@gnu.org>
18076
18077 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
18078 unused now.
18079 * genmk.rb: Likewise.
18080 * configure.ac: Likewise.
18081
5ec9740b 180822009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
18083
18084 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
18085 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
18086
5270cec8 180872009-04-01 David S. Miller <davem@davemloft.net>
18088
18089 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 18090 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 18091 (grub_setjmp): Mark with 'returns_twice' attribute.
18092 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
18093 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
18094 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
18095
9c3dd854 180962009-04-01 Robert Millan <rmh@aybabtu.com>
18097
18098 Reapply fix from 2008-07-28 which was accidentally reverted; also
18099 perform the same fix to a similar check in same function.
18100
18101 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
18102 with the same number are found, just use issue a warning with
18103 grub_dprintf(), as this error has been reported to be non-fatal.
18104
0d818b7e 181052009-03-31 Pavel Roskin <proski@gnu.org>
18106
18107 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
18108 for cross-compilation.
18109
95646d92 181102009-03-30 Robert Millan <rmh@aybabtu.com>
18111
18112 Fix i386-ieee1275 build.
18113
18114 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
18115 Remove declaration.
18116
6a003ed1 181172009-03-30 Pavel Roskin <proski@gnu.org>
18118
18119 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
18120 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
18121 zero-terminated, rely only on the strlen value. Fix comparison
18122 of strings differing in length.
18123
92f33540 181242009-03-30 Robert Millan <rmh@aybabtu.com>
18125
18126 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
18127 checking for abi version. Improve error messages on BIOS to notify
18128 user about `linux16' command.
18129
a8c48fd5 181302009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18131
f968172e 18132 Leak fixes
a8c48fd5 18133
f968172e 18134 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
18135 in case of collision
18136 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 18137
9c323f09 181382009-03-29 Robert Millan <rmh@aybabtu.com>
18139
18140 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
18141 set `vid_mode' accordingly.
18142 (grub_linux_boot): Process `vid_mode' and set video mode.
18143
ae68f423 181442009-03-29 Robert Millan <rmh@aybabtu.com>
18145
18146 * util/grub.d/10_linux.in (linux_entry): New function.
18147 Factorize generation of Linux boot entries.
18148
5709cfc4 181492009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
18150
18151 Make the format of Environment Block plain text. The boot loader
18152 part is not tested well yet.
7dd4a573 18153
5709cfc4 18154 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
18155 (buffer): Removed.
18156 (envblk): Likewise.
18157 (usage): Remove "info" and "clear". Add "unset". Update the
18158 description of "set", as this does not delete variables any
18159 longer.
18160 (create_envblk_file): Complete rewrite.
18161 (open_envblk_file): Likewise.
18162 (cmd_info): Removed.
18163 (cmd_list): Likewise.
18164 (cmd_set): Likewise.
18165 (cmd_clear): Likewise.
18166 (list_variables): New function.
18167 (write_envblk): Likewise.
18168 (set_variables): Likewise.
18169 (unset_variables): Likewise.
18170 (main): Complete rewrite.
18171
18172 * commands/loadenv.c (buffer): Removed.
18173 (envblk): Likewise.
18174 (open_envblk_file): New function.
18175 (read_envblk_file): Complete rewrite.
18176 (grub_cmd_load_env): Likewise.
18177 (grub_cmd_list_env): Likewise.
18178 (struct blocklist): New struct.
18179 (free_blocklists): New function.
18180 (check_blocklists): Likewise.
18181 (write_blocklists): Likewise.
18182 (grub_cmd_save_env): Complete rewrite.
18183
18184 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
18185 a plain text signature.
18186 (GRUB_ENVBLK_MAXLEN): Removed.
18187 (struct grub_envblk): Complete rewrite.
18188 (grub_envblk_find): Removed.
18189 (grub_envblk_insert): Likewise.
18190 (grub_envblk_open): New prototype.
18191 (grub_envblk_set): Likewise.
18192 (grub_envblk_delete): Put const to VALUE.
18193 (grub_envblk_iterate): Put const to NAME and VALUE.
18194 (grub_envblk_close): New prototype.
18195 (grub_envblk_buffer): New inline function.
18196 (grub_envblk_size): Likewise.
18197
18198 * lib/envblk.c: Include grub/mm.h.
18199 (grub_env_find): Removed.
18200 (grub_envblk_open): New function.
18201 (grub_envblk_close): Likewise.
18202 (escaped_value_len): Likewise.
18203 (find_next_line): Likewise.
18204 (grub_envblk_insert): Removed.
18205 (grub_envblk_set): New function.
18206 (grub_envblk_delete): Complete rewrite.
18207 (grub_envblk_iterate): Likewise.
18208
a9368fd3 182092009-03-28 Robert Millan <rmh@aybabtu.com>
18210
18211 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
18212 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
18213 variables. Use 16-bit loader.
18214 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
18215 loader.
18216 * kern/i386/loader.S (grub_linux_boot): Rename to ...
18217 (grub_linux16_boot): ... this. Update all users.
18218 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
18219 (grub_linux_boot): ... this. Update all users.
18220
18221 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
18222 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
18223 commands to `linux16' and `initrd16'.
18224 (GRUB_MOD_FINI(linux)): Rename to ...
18225 (GRUB_MOD_FINI(linux16)): ... this.
18226
e4dd5a7e 182272009-03-24 Pavel Roskin <proski@gnu.org>
18228
18229 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
18230 not just for compilation.
18231
c04d6e05 182322009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
18233
18234 Move multiboot helper out of kernel
18235
18236 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
18237 `loader/i386/multiboot_helper.S'.
18238 * conf/i386-coreboot.rmk: Likewise
18239 * conf/i386-ieee1275.rmk: Likewise
18240
18241 * kern/i386/loader.S: Move multiboot helpers from here...
18242 * loader/i386/multiboot_helper.S: ...moved here
18243 * include/grub/i386/loader.h: Move declarations of multiboot
18244 helpers from here...
18245 * include/grub/i386/multiboot.h: ...moved here
18246 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
18247
42a5b3fc 182482009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18249
18250 * kern/env.c (grub_env_context_open): Added an argument to specify
18251 whether a new context inherits exported variables from current
18252 one. This is useful when making a sandbox to interpret a config
18253 file.
18254 All callers updated.
18255
18256 * include/grub/env.h (grub_env_context_open): Updated the prototype.
18257
b28bbc4e 182582009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18259
18260 * kern/env.c (grub_env_context_close): Fix memory leaks.
18261
f04f02e4 182622009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18263
18264 * normal/main.c (grub_normal_execute): Added an argument
18265 BATCH to specify if an interactive interface should be provided
18266 after reading a config file.
18267 All callers updated.
18268 (read_command_list): Prevent being executed twice.
18269 (read_fs_list): Likewise.
18270
42a5b3fc 18271 * include/grub/normal.h (grub_normal_execute): Updated the
18272 prototype.
f04f02e4 18273
41473ac2 182742009-03-22 Pavel Roskin <proski@gno.org>
18275
fbc00b0c 18276 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
18277 _start.
18278 * kern/i386/pc/startup.S: Likewise.
18279 * kern/i386/efi/startup.S: Likewise.
18280 * kern/i386/ieee1275/startup.S: Likewise.
18281 * kern/i386/coreboot/startup.S: Likewise.
18282 * kern/x86_64/efi/startup.S: Likewise.
18283
41473ac2 18284 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
18285 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
18286 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
18287
2274cc8f 182882009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
18289
18290 Bugfixes in multiboot for bugs uncovered by solaris kernel.
18291
18292 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
18293 limit detection.
18294 Use vaddr of correct segment for entry_point.
18295
b1b797cb 182962009-03-21 Bean <bean123ch@gmail.com>
18297
18298 * commands/blocklist.c: Add include file <grub/command.h>, remove
18299 <grub/normal.h> and <grub/arg.h>.
18300 (grub_cmd_blocklist): Use the new command interface.
18301 (GRUB_MOD_INIT): Likewise.
18302 (GRUB_MOD_FINI): Likewise.
18303 * commands/boot.c: Likewise.
18304 * commands/cat.c: Likewise.
18305 * commands/cmp.c: Likewise.
18306 * commands/configfile.c: Likewise.
18307 * commands/crc.c: Likewise.
18308 * commands/echo.c: Likewise.
18309 * commands/halt.c: Likewise.
18310 * commands/handler.c: Likewise.
18311 * commands/hdparm.c: Likewise.
18312 * commands/help.c: Likewise.
18313 * commands/hexdump.c: Likewise.
18314 * commands/loadenv.c: Likewise.
18315 * commands/ls.c: Likewise.
18316 * commands/lsmmap.c: Likewise.
18317 * commands/lspci.c: Likewise.
18318 * commands/loadenv.c: Likewise.
18319 * commands/read.c: Likewise.
18320 * commands/reboot.c: Likewise.
18321 * commands/search.c: Likewise.
18322 * commands/sleep.c: Likewise.
18323 * commands/test.c: Likewise.
18324 * commands/usbtest.c: Likewise.
18325 * commands/videotest.c: Likewise.
18326 * commands/i386/cpuid.c: Likewise.
18327 * commands/i386/pc/halt.c: Likewise.
18328 * commands/i386/pc/play.c: Likewise.
18329 * commands/i386/pc/pxecmd.c: Likewise.
18330 * commands/i386/pc/vbeinfo.c: Likewise.
18331 * commands/i386/pc/vbetest.c: Likewise.
18332 * commands/ieee1275/suspend.c: Likewise.
18333 * disk/loopback.c: Likewise.
18334 * font/font_cmd.c: Likewise.
18335 * hello/hello.c: Likewise.
18336 * loader/efi/appleloader.c: Likewise.
18337 * loader/efi/chainloader.c: Likewise.
18338 * loader/i386/bsd.c: Likewise.
18339 * loader/i386/efi/linux.c: Likewise.
18340 * loader/i386/ieee1275/linux.c: Likewise.
18341 * loader/i386/linux.c: Likewise.
18342 * loader/i386/pc/chainloader.c: Likewise.
18343 * loader/i386/pc/linux.c: Likewise.
18344 * loader/powerpc/ieee1275/linux.c: Likewise.
18345 * loader/multiboot_loader.c: Likewise.
18346 * term/gfxterm.c: Likewise.
18347 * term/i386/pc/serial.c: Likewise.
18348 * term/terminfo.c: Likewise.
18349
18350 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
18351 * term/i386/pc/vga.c: Likewise.
18352 * video/readers/jpeg.c: Likewise.
18353 * video/readers/png.c: Likewise.
18354 * video/readers/tga.c: Likewise.
18355
18356 * util/grub-fstest (cmd_loopback): Removed.
18357 (cmd_blocklist): Likewise.
18358 (cmd_ls): Likewise.
18359 (grub_register_command): Likewise.
18360 (grub_unregister_command): Likewise.
18361 (execute_command): Use grub_command_find to locate command and execute
18362 it.
18363
18364 * include/grub/efi/chainloader.h: Removed.
18365 * loader/efi/chainloader_normal.c: Likewise.
18366 * loader/i386/bsd_normal.c: Likewise.
18367 * loader/i386/pc/chainloader_normal.c: Likewise.
18368 * loader/i386/pc/multiboot_normal.c: Likewise.
18369 * loader/linux_normal.c: Likewise.
18370 * loader/multiboot_loader_normal.c: Likewise.
18371 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18372
18373 * gencmdlist.sh: Scan new registration command grub_register_extcmd
18374 and grub_register_command_p1.
18375
18376 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
18377 kern/command.c, lib/arg.c and commands/extcmd.c.
18378 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
18379 (minicmd_mod_SOURCES): New variable.
18380 (minicmd_mod_CFLAGS): Likewise.
18381 (minicmd_mod_LDFLAGS): Likewise.
18382 (extcmd_mod_SOURCES): Likewise.
18383 (extcmd_mod_CFLAGS): Likewise.
18384 (extcmd_mod_LDFLAGS): Likewise.
18385 (boot_mod_SOURCES): Removed.
18386 (boot_mod_CFLAGS): Likewise.
18387 (boot_mod_LDFLAGS): Likewise.
18388
18389 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
18390 kern/corecmd.c.
18391 (kernel_img_HEADERS): Add command.h.
18392 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
18393 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
18394 and lib/arg.c.
18395 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
18396 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
18397 remove the corresponding normal mode command.
18398 (normal_mod_SOURCES): Remove normal/arg.c.
18399 * conf/i386-coreboot.rmk: Likewise.
18400 * conf/i386-efi.rmk: Likewise.
18401 * conf/i386-ieee1275.rmk: Likewise.
18402 * conf/powerpc-ieee1275.rmk: Likewise.
18403 * conf/x86_64-efi.rmk: Likewise.
18404
18405 * include/grub/arg.h: Move from here ...
18406 * include/grub/lib/arg.h: ... to here.
18407
18408 * normal/arg.c: Move from here ...
18409 * lib/arg.c: ... to here.
18410
18411 * commands/extcmd.c: New file.
18412 * commands/minicmd.c: Likewise.
18413 * include/grub/command.h: Likewise.
18414 * include/grub/extcmd.h: Likewise.
18415 * kern/command.c: Likewise.
18416 * kern/corecmd.c: Likewise.
18417
18418 * kern/list.c (grub_list_iterate): Return int instead of void.
18419 (grub_list_insert): New function.
18420 (grub_prio_list_insert): Likewise.
18421
18422 * kern/rescue.c (grub_rescue_command): Removed.
18423 (grub_rescue_command_list): Likewise.
18424 (grub_rescue_register_command): Likewise.
18425 (grub_rescue_unregister_command): Likewise.
18426 (grub_rescue_cmd_boot): Move to minicmd.c
18427 (grub_rescue_cmd_help): Likewise.
18428 (grub_rescue_cmd_info): Likewise.
18429 (grub_rescue_cmd_boot): Likewise.
18430 (grub_rescue_cmd_testload): Likewise.
18431 (grub_rescue_cmd_dump): Likewise.
18432 (grub_rescue_cmd_rmmod): Likewise.
18433 (grub_rescue_cmd_lsmod): Likewise.
18434 (grub_rescue_cmd_exit): Likewise.
18435 (grub_rescue_print_devices): Moved to corecmd.c.
18436 (grub_rescue_print_files): Likewise.
18437 (grub_rescue_cmd_ls): Likewise.
18438 (grub_rescue_cmd_insmod): Likewise.
18439 (grub_rescue_cmd_set): Likewise.
18440 (grub_rescue_cmd_unset): Likewise.
7d074e3c 18441 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 18442 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 18443 commands, remove grub_rescue_register_command calls.
b1b797cb 18444
7d074e3c 18445 * normal/command.c (grub_register_command): Removed.
b1b797cb 18446 (grub_unregister_command): Likewise.
18447 (grub_command_find): Likewise.
18448 (grub_iterate_commands): Likewise.
18449 (rescue_command): Likewise.
18450 (export_command): Moved to corecmd.c.
18451 (set_command): Removed.
18452 (unset_command): Likewise.
18453 (insmod_command): Likewise.
18454 (rmmod_command): Likewise.
18455 (lsmod_command): Likewise.
18456 (grub_command_init): Likewise.
18457
18458 * normal/completion.c (iterate_command): Use cmd->prio to check for
18459 active command.
18460 (complete_arguments): Use grub_extcmd_t structure to find options.
18461 (grub_normal_do_completion): Change function grub_iterate_commands to
18462 grub_command_iterate.
18463
18464 * normal/execute.c (grub_script_execute_cmd): No need to parse
18465 argument here.
18466
18467 * normal/main.c (grub_dyncmd_dispatcher): New function.
18468 (read_command_list): Register unload commands as dyncmd.
18469 (grub_cmd_normal): Use new command interface, register rescue,
18470 unregister normal at entry, register normal, unregister rescue at exit.
18471
18472 * include/grub/list.h (grub_list_test_t): New type.
18473 (grub_list_iterate): Return int instead of void.
18474 (grub_list_insert): New function.
18475 (GRUB_AS_NAMED_LIST_P): New macro.
18476 (GRUB_AS_PRIO_LIST): Likewise.
18477 (GRUB_AS_PRIO_LIST_P): Likewise.
18478 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
18479 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
18480 (grub_prio_list): New structure.
18481 (grub_prio_list_insert): New function.
18482 (grub_prio_list_remove): New inline function.
18483
18484 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
18485 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
18486 (GRUB_COMMAND_FLAG_MENU): Likewise.
18487 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18488 (GRUB_COMMAND_FLAG_TITLE): Likewise.
18489 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18490 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
18491 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
18492 (grub_command): Likewise.
18493 (grub_register_command): Likewise.
18494 (grub_command_find): Likewise.
18495 (grub_iterate_commands): Likewise.
18496 (grub_command_init): Likewise.
18497 (grub_arg_parse): Likewise.
18498 (grub_arg_show_help): Likewise.
18499
18500 * include/grub/rescue.h (grub_rescue_register_command): Removed.
18501 (grub_rescue_unregister_command): Likewise.
18502
18503 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18504 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18505 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18506
18507 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18508 grub_rescue_cmd_initrd.
18509 * include/grub/i386/loader.h: Likewise.
18510 * include/grub/x86_64/loader.h: Likewise.
18511
18512 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18513
1f4147aa 185142009-03-21 Bean <bean123ch@gmail.com>
18515
18516 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18517 instead of stat in mingw environment.
18518
18519 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18520
18521 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18522
18523 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18524 AC_CONFIG_LINKS.
18525
2156d5ba 185262009-03-21 Bean <bean123ch@gmail.com>
18527
18528 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18529 out of range error.
18530
177b82ca 185312009-03-18 Michel Dänzer <michel@daenzer.net>
18532
18533 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18534 checking inode flags for EXT4_EXTENTS_FLAG.
18535
14aad807 185362009-03-18 Robert Millan <rmh@aybabtu.com>
18537
18538 * loader/i386/linux.c: Include `<grub/video.h>' and
18539 `<grub/i386/pc/vbe.h>'..
18540 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18541 (grub_linux32_boot): Attempt to configure video settings with
18542 grub_linux_setup_video().
18543 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18544 to avoid grub_console_fini() which would step out of graphical mode
18545 unconditionally.
18546
8cf83a27 185472009-03-14 Robert Millan <rmh@aybabtu.com>
18548
18549 Fix build on powerpc.
18550 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18551
40164e75 185522009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18555 background image command.
18556
c58bc32a 185572009-03-12 Colin D Bennett <colin@gibibit.com>
18558
18559 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18560 (grub_gfxterm_putchar): Extract pairs of identical calls to
18561 draw_cursor out of conditional blocks.
18562
5415144a 185632009-03-11 Pavel Roskin <proski@gnu.org>
18564
18565 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18566 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18567
6394042e 185682009-03-11 Robert Millan <rmh@aybabtu.com>
18569
18570 * loader/i386/multiboot_elfxx.c
18571 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18572
b7b50e5f 185732009-03-11 Felix Zielcke <fzielcke@z-51.de>
18574
18575 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18576 `kern/handler.c'.
18577
1ca7fc96 185782009-03-11 Robert Millan <rmh@aybabtu.com>
18579
18580 * loader/i386/multiboot.c (code_size): New variable.
18581 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18582 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18583 4-byte alignment to MBI and others by increasing
7d074e3c 18584 `boot_loader_name_length' appropriately.
1ca7fc96 18585
18586 * loader/i386/multiboot_elfxx.c
18587 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18588
a83ea1d2 185892009-03-09 Felix Zielcke <fzielcke@z-51.de>
18590
18591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18592 `fs/ext2.c'.
18593
aa9f3bff 185942009-03-08 Robert Millan <rmh@aybabtu.com>
18595
18596 Make loader/i386/linux.c usable on i386-pc again.
18597
18598 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18599 memory to heap.
18600 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18601 `#error' stanza.
18602
d8b3b60e 186032009-03-07 Bean <bean123ch@gmail.com>
18604
18605 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18606 allocation.
18607
b362c9e9 186082009-03-06 Robert Millan <rmh@aybabtu.com>
18609
18610 Fix display issue on terminals with screen size other than 80x25
18611 (e.g. gfxterm with resolution higher than 640x480).
18612
18613 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18614 position relative to the center of the terminal instead of relying
b362c9e9 18615 on a hardcoded offset.
18616
9304eef1 186172009-03-04 Robert Millan <rmh@aybabtu.com>
18618
18619 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18620 installed.
18621
18622 * Makefile.in (host_kernel): New variable.
18623 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18624 scripts instead of just the windows one.
18625 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18626
eabc95fb 186272009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18628
18629 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18630 `kern/handler.c'.
18631 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18632 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18633 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18635 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18636 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18637
ceb1223c 186382009-03-04 Felix Zielcke <fzielcke@z-51.de>
18639
18640 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18641 or if there's no space for the disk label and print the partition number on a
18642 invalid magic.
18643
4910684a 186442009-03-04 Felix Zielcke <fzielcke@z-51.de>
18645
18646 * util/misc.c: Include <time.h>.
18647 (grub_millisleep): New function.
18648
7e9ca17a 186492009-03-04 Bean <bean123ch@gmail.com>
18650
18651 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18652 another option -mno-red-zone.
18653
18654 * commands/handler.c: Change module description.
18655
18656 * kern/handler.c: Add missing space at the end of description line.
18657
18658 * kern/list.c: Likewise.
18659
f501677c 186602009-03-03 Robert Millan <rmh@aybabtu.com>
18661
18662 Move more components to the relocation area, and fix mbi pointer
18663 handling to use the destination rather than the origin (thanks to
18664 Vladimir Serbinenko for spotting).
18665
18666 * loader/i386/multiboot.c (mbi_dest): New variable.
18667 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18668 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18669 relocation area.
18670
9902d047 186712009-03-01 Bean <bean123ch@gmail.com>
18672
50fb7002 18673 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 18674 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18675 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18676 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18677
18678 * loader/i386/efi/linux.c (acpi_guid): New variable.
18679 (acpi_guid): Likewise.
18680 (EBDA_SEG_ADDR): New constant.
18681 (LOW_MEM_ADDR): Likewise.
18682 (FAKE_EBDA_SEG): Likewise.
18683 (fake_bios_data): New function.
18684 (grub_linux_boot): Call fake_bios_data.
18685
71b9f361 186862009-03-01 Bean <bean123ch@gmail.com>
18687
18688 * commands/terminal.c: Removed.
18689
18690 * commands/handler.c: New file.
18691
18692 * include/grub/list.h: Likewise.
18693
18694 * include/grub/handler.h: Likewise.
18695
18696 * kern/list.c: Likewise.
18697
18698 * kern/handler.c: Likewise.
18699
18700 * kern/term.h: Include header file <grub/handler.h>.
18701 (grub_term_input): Move next field to the beginning.
18702 (grub_term_output): Likewise.
18703 (grub_term_input_class): New variable.
18704 (grub_term_output_class): Likewise.
18705 (grub_term_register_input): Changed to inline function.
18706 (grub_term_register_output): Likewise.
18707 (grub_term_unregister_input): Likewise.
18708 (grub_term_unregister_output): Likewise.
18709 (grub_term_set_current_input): Likewise.
18710 (grub_term_set_current_output): Likewise.
18711 (grub_term_get_current_input): Likewise.
18712 (grub_term_get_current_output): Likewise.
18713 (grub_term_iterate_input): Removed.
18714 (grub_term_iterate_output): Likewise.
18715
18716 * kern/term.c (grub_term_list_input): Removed.
18717 (grub_term_list_output): Likewise.
18718 (grub_term_input_class): New variable.
18719 (grub_term_output_class): Likewise.
50fb7002 18720 (grub_cur_term_input): Change variable as macro.
71b9f361 18721 (grub_cur_term_output): Likewise.
18722 (grub_term_register_input): Removed.
18723 (grub_term_register_output): Likewise.
18724 (grub_term_unregister_input): Likewise.
18725 (grub_term_unregister_output): Likewise.
18726 (grub_term_set_current_input): Likewise.
18727 (grub_term_set_current_output): Likewise.
18728 (grub_term_iterate_input): Likewise.
18729 (grub_term_iterate_output): Likewise.
18730 (grub_term_get_current_input): Likewise.
18731 (grub_term_get_current_output): Likewise.
18732
18733 * util/grub-editenv.c: Include header file <grub/handler.h>.
18734 (grub_term_get_current_input): Removed.
18735 (grub_term_get_current_output): Likewise.
18736 (grub_term_input_class): New variable.
50fb7002 18737 (grub_term_output_class): Likewise.
71b9f361 18738
18739 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18740 (grub_term_get_current_output): Likewise.
18741 (grub_term_input_class): New variable.
50fb7002 18742 (grub_term_output_class): Likewise.
71b9f361 18743
18744 * util/grub-probe.c (grub_term_get_current_input): Removed.
18745 (grub_term_get_current_output): Likewise.
18746 (grub_term_input_class): New variable.
50fb7002 18747 (grub_term_output_class): Likewise.
71b9f361 18748
18749 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18750 (grub_term_get_current_output): Likewise.
18751 (grub_term_input_class): New variable.
50fb7002 18752 (grub_term_output_class): Likewise.
71b9f361 18753
18754 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18755 (terminal_mod_SOURCES): Likewise.
18756 (terminal_mod_CFLAGS): Likewise.
18757 (terminal_mod_LDFLAGS): Likewise.
18758
18759 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18760 handler.c.
18761 (kernel_img_SOURCES): Add list.c and handler.c.
18762 (kernel_img_HEADERS): Add list.h and handler.h.
18763
18764 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18765 handler.c.
18766 (kernel_mod_SOURCES): Add list.c and handler.c.
18767 (kernel_mod_HEADERS): Add list.h and handler.h.
18768
18769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18770 handler.c.
18771 (kernel_elf_SOURCES): Add list.c and handler.c.
18772 (kernel_elf_HEADERS): Add list.h and handler.h.
18773
18774 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18775 handler.c.
18776 (kernel_elf_SOURCES): Add list.c and handler.c.
18777 (kernel_elf_HEADERS): Add list.h and handler.h.
18778
18779 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18780 handler.c.
18781 (kernel_mod_SOURCES): Add list.c and handler.c.
18782 (kernel_mod_HEADERS): Add list.h and handler.h.
18783
18784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18785 handler.c.
18786 (kernel_elf_SOURCES): Add list.c and handler.c.
18787 (kernel_elf_HEADERS): Add list.h and handler.h.
18788
8a31787f 187892009-02-27 Robert Millan <rmh@aybabtu.com>
18790
18791 Factorize elf32 / elf64 code in Multiboot loader. This will
18792 prevent it from getting out of sync again.
18793
18794 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18795 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18796 grub_multiboot_load_elf64): Move from here ...
18797 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18798 grub_multiboot_load_elf): ... to here (new file).
18799
51cd3dfc 188002009-02-27 Robert Millan <rmh@aybabtu.com>
18801
18802 * util/grub.d/10_linux.in: Rename "single-user mode" to
18803 "recovery mode".
18804
6e8c9c3a 188052009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 Don't leak in SCSI code.
18808 * disk/scsi.c (grub_scsi_close): free `scsi'.
18809
4b6bf4f9 188102009-02-27 Robert Millan <rmh@aybabtu.com>
18811
18812 * loader/i386/pc/multiboot.c: Move from here ...
18813 * loader/i386/multiboot.c: ... to here. Update all users.
18814
b9413424 188152009-02-27 Robert Millan <rmh@aybabtu.com>
18816
18817 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18818 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18819
50fb7002 188202009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18821
18822 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18823 b-tree.
18824
8cc50345 188252009-02-27 Robert Millan <rmh@aybabtu.com>
18826
18827 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18828 `0x' qualifier as 0 when base is specified as parameter).
18829
6e09b8b7 188302009-02-24 Bean <bean123ch@gmail.com>
18831
18832 * configure.ac: Check for -mcmodel=large in x86_64 target.
18833
18834 * include/grub/efi/api.h (efi_call_10): New macro.
18835 (efi_wrap_10): New function.
18836
18837 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18838 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18839 (GRUB_PE32_REL_BASED_LOW): Likewise.
18840 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18841 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18842 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18843 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18844 (GRUB_PE32_REL_BASED_REL): Likewise.
18845 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18846 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18847 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18848
18849 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18850 issue.
18851
18852 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18853 (efi_wrap_10): New function.
18854
18855 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18856
18857 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18858 MB/MBP model (NV chipset).
18859 (devdata_devs): Add devpath_5 to the list.
18860
18861 * load/i386/efi/linux.c (video_base): Remove variable.
18862 (RGB_MASK): New macro.
18863 (RGB_MAGIC): Likewise.
18864 (LINE_MIN): Likewise.
18865 (LINE_MAX): Likewise.
18866 (FBTEST_STEP): Likewise.
18867 (FBTEST_COUNT): Likewise.
18868 (fb_list): New variable.
18869 (grub_find_video_card): Remove function.
18870 (find_framebuf): New function.
18871 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18872 line length.
18873
18874 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18875 problem for x86_64.
18876
74b21bee 188772009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18878
18879 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18880
18881 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18882 coding tool name.
18883
a455f472 188842009-02-22 Robert Millan <rmh@aybabtu.com>
18885
18886 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18887 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18888 in our relocation, instead of using it directly from heap. Also
18889 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18890
6374daf3 188912009-02-21 Robert Millan <rmh@aybabtu.com>
18892
18893 Implement USB keyboard support (based on patch by Marco Gerards)
18894
18895 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18896 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18897 (usb_keyboard_mod_LDFLAGS): New variables.
18898
18899 * term/usb_keyboard.c: New file.
18900
8fa4ea70 189012009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 Corrected wrong declaration
18904
18905 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18906
353976ac 189072009-02-14 Christian Franke <franke@computer.org>
18908
18909 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18910 (grub_lspci_iter): Print class code and programming interface byte.
18911
6aa1169b 189122009-02-14 Christian Franke <franke@computer.org>
18913
18914 * gendistlist.sh: Ignore `.svn' directories.
18915
265372ca 189162009-02-14 Felix Zielcke <fzielcke@z-51.de>
18917
18918 * fs/fat.c: Add 2009 to Copyright line.
18919
9ff516f3 189202009-02-14 Christian Franke <franke@computer.org>
18921
18922 * commands/hdparm.c: New file. Provides `hdparm' command
18923 which sends ATA commands via grub_disk_ata_pass_through ().
18924
18925 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
18926
18927 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
18928 and <grub/cpu/io.h> to include/grub/ata.h.
18929 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
18930 (GRUB_CDROM_SECTOR_SIZE): Remove.
18931 (GRUB_ATA_*): Move to include/grub/ata.h.
18932 (GRUB_ATAPI_*): Likewise.
18933 (enum grub_ata_commands): Likewise.
18934 (enum grub_ata_timeout_milliseconds): Likewise.
18935 (struct grub_ata_device): Likewise.
18936 (grub_ata_regset): Likewise.
18937 (grub_ata_regget): Likewise.
18938 (grub_ata_regset2): Likewise.
18939 (grub_ata_regget2): Likewise.
18940 (grub_ata_check_ready): Likewise.
18941 (grub_ata_wait_not_busy): Remove static, exported in
18942 include/grub/ata.h.
18943 (grub_ata_wait_drq): Likewise.
18944 (grub_ata_pio_read): Likewise.
18945
18946 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
18947 function for hdparm.mod.
18948
18949 * include/grub/ata.h: New file, contains declarations from
18950 disk/ata.c.
18951 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
18952
18953 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
18954 (grub_disk_ata_pass_through): New exported variable.
18955
18956 * kern/disk.c (grub_disk_ata_pass_through): New variable.
18957
772e23da 189582009-02-13 Colin D Bennett <colin@gibibit.com>
18959
18960 Support multiple fallback entries, and provide an API to support
18961 executing default+fallback menu entries. Renamed the `terminal' menu
18962 viewer to `text'.
18963
18964 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
18965 variable declaration.
18966 (grub_menu_execute_callback): New structure declaration.
18967 (grub_menu_execute_callback_t): New typedef.
18968 (grub_menu_execute_with_fallback): New function declaration.
18969 (grub_menu_get_entry): Likewise.
18970 (grub_menu_get_timeout): Likewise.
18971 (grub_menu_set_timeout): Likewise.
18972
18973 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
18974
18975 * normal/menu.c (grub_wait_after_message): Moved to
18976 `normal/menu_text.c'.
18977 (draw_border): Likewise.
18978 (print_message): Likewise.
18979 (print_entry): Likewise.
18980 (print_entries): Likewise.
18981 (grub_menu_init_page): Likewise.
18982 (get_entry_number): Likewise.
18983 (print_timeout): Likewise.
18984 (run_menu): Likewise.
18985 (grub_menu_execute_entry): Likewise.
18986 (show_text_menu): Likewise.
18987 (get_and_remove_first_entry_number): New function.
18988 (grub_menu_execute_with_fallback): Likewise.
18989 (get_entry): Renamed to ...
18990 (grub_menu_get_entry): .. this and made it global.
18991 (get_timeout): Renamed to ...
18992 (grub_menu_get_timeout): ... this and made it global.
18993 (set_timeout): Renamed to ...
18994 (grub_menu_set_timeout): ... this and made it global.
18995 (grub_normal_terminal_menu_viewer): Renamed to ...
18996 (grub_normal_text_menu_viewer): ... this.
18997
18998 * normal/menu_text.c: New file. Extracted text-menu-specific code
18999 from normal/menu.c.
19000
19001 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
19002 (normal_mod_SOURCES): Likewise.
19003
19004 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19005 (normal_mod_SOURCES): Likewise.
19006
19007 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19008 (normal_mod_SOURCES): Likewise.
19009
19010 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
19011 (normal_mod_SOURCES): Likewise.
19012
19013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19014 (normal_mod_SOURCES): Likewise.
19015
19016 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19017 (normal_mod_SOURCES): Likewise.
19018
19019 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19020 (normal_mod_SOURCES): Likewise.
19021
16ac430e 190222009-02-11 Robert Millan <rmh@aybabtu.com>
19023
19024 * util/grub.d/00_header.in: Update old reference to `font' command.
19025
06ff20fc 190262009-02-10 Felix Zielcke <fzielcke@z-51.de>
19027
19028 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
19029
19030 Based on patch from Javier Martín.
19031
96da9407 190322009-02-09 Felix Zielcke <fzielcke@z-51.de>
19033
19034 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 19035 to avoid false positives with FAT.
96da9407 19036 (grub_fstest_SOURCES): Likewise.
19037 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19038 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19040 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19041 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19042 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19043
6dca6fe4 190442009-02-09 Felix Zielcke <fzielcke@z-51.de>
19045
06ff20fc 19046 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 19047 bpb.version_specific.fat12_or_fat16.fstype and
19048 bpb.version_specific.fat32.fstype.
19049
2550c62f 190502009-02-08 Robert Millan <rmh@aybabtu.com>
19051
be110b30 19052 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 19053
56978920 190542009-02-08 Robert Millan <rmh@aybabtu.com>
19055
19056 * Makefile.in (host_os, host_cpu): New variables.
19057 (target_os): Remove. Update all users.
19058
d64399b5 190592009-02-08 Marco Gerards <marco@gnu.org>
19060
19061 * Makefile.in (enable_grub_emu_usb): New variable.
19062 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
19063 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
19064 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
19065 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
19066 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
19067 `usbtest.mod' and `usbms.mod'.
19068 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
19069 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
19070 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
19071 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
19072 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
19073 variables.
19074
19075 * disk/usbms.c: New file.
19076
19077 * include/grub/usb.h: Likewise.
19078
19079 * include/grub/usbtrans.h: Likewise.
19080
19081 * include/grub/usbdesc.h: Likewise.
19082
19083 * bus/usb/usbtrans.c: Likewise.
19084
19085 * bus/usb/ohci.c: Likewise.
19086
19087 * bus/usb/uhci.c: Likewise.
19088
19089 * bus/usb/usbhub.c: Likewise.
19090
19091 * bus/usb/usb.c: Likewise.
19092
19093 * commands/usbtest.c: Likewise.
19094
19095 * util/usb.c: Likewise.
50fb7002 19096
d64399b5 19097 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
19098
19099 * configure.ac: Test for libusb presence.
50fb7002 19100
d64399b5 19101 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
19102
2b40d6bb 191032009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
19104
19105 * kern/mm.c: Add more comments.
19106
73a4ce81 191072009-02-08 Robert Millan <rmh@aybabtu.com>
19108
19109 Patch from Javier Martín.
19110 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
19111 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
19112
f821ce59 191132009-02-08 Robert Millan <rmh@aybabtu.com>
19114
19115 * fs/cpio.c: Split tar functionality to ...
19116 * fs/tar.c: ... here (new file). Update all users.
19117
aebfc4b0 191182009-02-07 Robert Millan <rmh@aybabtu.com>
19119
19120 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
19121 backward-incompatible features.
19122
19123 Based on patch from Javier Martín, with some adjustments.
19124
50fb7002 191252009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 19126
19127 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
19128
0bb5115e 191292009-02-07 Robert Millan <rmh@aybabtu.com>
19130
19131 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
19132 position of `disk/lvm.c' to ensure grub_init_all() always picks it
19133 after the RAID stuff.
19134
38a0f8e7 191352009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
19136
50fb7002 19137 Fixes problem when running vbetest command as reported by
38a0f8e7 19138 Vladimir Serbinenko <phcoder@gmail.com>.
19139
19140 * (grub_vbe_set_video_mode): Fixed problem with text modes.
19141
3143cc1c 191422009-02-04 Felix Zielcke <fzielcke@z-51.de>
19143
19144 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
19145 /dev/md/NpN style mdraid devices.
19146
9cba6fce 191472009-02-03 Felix Zielcke <fzielcke@z-51.de>
19148
19149 * util/unifont2pff.rb: Remove.
19150
e507a2c1 191512009-02-03 Felix Zielcke <fzielcke@z-51.de>
19152
19153 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
19154 `#'.
19155
d2c2b4cd 191562009-02-03 Felix Zielcke <fzielcke@z-51.de>
19157
19158 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
19159 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19160 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19161 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19164 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19165
b4315fb0 191662009-02-02 Christian Franke <franke@computer.org>
19167
19168 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
19169
de3aa260 191702009-02-01 Felix Zielcke <fzielcke@z-51.de>
19171
7c3ff286 19172 * INSTALL: Note that we now require at least autoconf 2.59 and
19173 that LZO is optional.
de3aa260 19174
825a182b 191752009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19176
19177 Base on patch on bug #24154 created by Tomas Tintera
19178 <trosos@seznam.cz>.
19179
19180 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
19181
a69ef770 191822009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19183
7c3ff286 19184 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 19185 <bero@arklinux.org>.
19186
19187 * normal/parser.y (script_init): Add missing semicolon.
19188
6fa42fa6 191892009-01-31 Colin D Bennett <colin@gibibit.com>
19190
7c3ff286 19191 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 19192 (free_menu_entry_classes): Added.
19193 (grub_normal_menu_addentry): Added class property handling.
19194 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
19195 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
19196
19197 * normal/menu_viewer.c: New file.
19198
19199 * normal/menu.c (run_menu_entry): Renamed to ...
19200 (grub_menu_execute_entry): ... this and made it as global.
19201 (grub_menu_run): Renamed to ...
19202 (show_text_menu): ... this and made it local.
19203 (show_text_menu): Adapt to new function names.
19204 (grub_normal_terminal_menu_viewer): New global variable.
19205
19206 * include/grub/menu.h: New file.
19207
19208 * include/grub/menu_viewer.h: New file.
19209
19210 * include/grub/normal.h: Added include to grub/menu.h.
19211 (grub_menu_entry): Moved to include/grub/menu.h.
19212 (grub_menu_entry_t): Likewise.
19213 (grub_menu): Likewise.
19214 (grub_menu_t): Likewise.
19215 (grub_normal_terminal_menu_viewer): Added.
19216 (grub_menu_execute_entry): Likewise.
19217 (grub_menu_run): Removed.
19218
19219 * DISTLIST: Added include/grub/menu.h.
19220 Added include/grub/menu_viewer.h.
19221 Added normal/menu_viewer.c.
19222
192232009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
19224
19225 * normal/execute.c (grub_script_execute_menuentry): Changed to use
19226 arglist for menutitle arguments.
19227
19228 * normal/main.c (grub_normal_menu_addentry): Likewise.
19229
19230 * normal/parser.y (menuentry): Likewise.
19231
19232 * normal/script.c (grub_script_create_cmdmenu): Likewise.
19233
19234 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
19235 (grub_script_create_cmdmenu): Likewise.
19236
19237 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
19238
19239 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
19240 changes.
19241
19242 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
19243
19244 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
19245
19246 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
19247
19248 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19249
19250 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19251
19252 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19253
56192c23 192542009-01-30 Christian Franke <franke@computer.org>
19255
19256 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
19257 in option help text.
19258
d72521b3 192592009-01-27 Pavel Roskin <proski@gnu.org>
19260
19261 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
19262
994b5e84 192632009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19264
19265 * commands/lsmmap.c: Add include to grub/machine/memory.h.
19266
19267 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
19268
19269 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
19270 unregister function.
19271
6a7eab2c 192722009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19273
19274 * disk/scsi.c (grub_scsi_read): Fix sign problem.
19275
19276 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
19277
19278 * util/grub-mkfont.c (usage): Fix typo.
19279
19280 * util/elf/grub-mkimage.c (load_modules): Fix warning.
19281
1806b56e 192822009-01-26 Daniel Mierswa <impulze@impulze.org>
19283
3fb18f09 19284 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
19285
336e1fb9 19286 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
19287
1806b56e 19288 * kern/misc.c (grub_strcasecmp): New function.
19289 (grub_strcasecmp): Use grub_size_t instead of int for length.
19290 Fix return value.
19291 * include/grub/misc.h: Update function prototypes.
19292
580b2a0f 192932009-01-26 Robert Millan <rmh@aybabtu.com>
19294
19295 * configure.ac: Fix cross-compilation check.
ef257b36 19296
d31c24f1 192972009-01-22 Christian Franke <franke@computer.org>
19298
19299 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
19300 (precision) digit string. Allow `.format2' without `format1' (width).
19301 Limit input chars for `%s' output to `format2' if specified. This is
19302 compatible with standard printf ().
19303
3138b44c 193042009-01-22 Christian Franke <franke@computer.org>
19305
19306 * disk/ata.c (grub_ata_wait_status): Replace by ...
19307 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
19308 other status bits may be invalid while BSY is asserted.
19309 (grub_ata_check_ready): New function.
19310 (grub_ata_cmd): Removed.
19311 (grub_ata_wait_drq): New function.
19312 (grub_ata_strncpy): Remove inline.
19313 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
19314 and error check now done by grub_ata_wait_drq ().
19315 (grub_ata_pio_write): Likewise.
19316 (grub_atapi_identify): Set DEV before check for !BSY. Use
19317 grub_ata_wait_drq () to wait for data.
19318 (grub_ata_device_initialize): Add status register check to
19319 detect missing SATA slave devices. Add debug messages.
19320 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
19321 (grub_atapi_packet): Set DEV before check for !BSY. Replace
19322 transfer loop by grub_ata_pio_write ().
19323 (grub_ata_identify): Set DEV before check for !BSY. Use
19324 grub_ata_wait_drq () to wait for data.
ef257b36 19325 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 19326 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
19327 read/write in one loop. Fix invalid command on write. Fix incomplete
19328 command on (size % batch) == 0. Add missing error check after write of
19329 last block. Add debug messages.
19330 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
19331
59a64ef6 193322009-01-19 Christian Franke <franke@computer.org>
19333
19334 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
19335 (GRUB_ATAPI_IREASON_*): Likewise.
19336 (grub_ata_pio_write): Fix timeout error return.
19337 (grub_atapi_identify): Add grub_ata_wait () after cmd.
19338 (grub_atapi_wait_drq): New function.
19339 (grub_atapi_packet): New parameter `size'.
19340 Use grub_atapi_wait_drq () and direct write instead of
19341 grub_ata_pio_write ().
19342 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
19343 reads the number of bytes requested by the device for each DRQ
19344 assertion.
19345 (grub_atapi_write): Remove old implementation, return not
19346 implemented instead.
19347
1cfe20b3 193482009-01-19 Christian Franke <franke@computer.org>
19349
19350 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
19351 of 512 to calculate data size.
19352 (grub_scsi_read12): Likewise.
19353 (grub_scsi_write10): Likewise.
19354 (grub_scsi_write12): Likewise.
19355 (grub_scsi_read): Adjust size according to blocksize.
19356 Add checks for invalid blocksize and unaligned transfer.
19357
bee5fe5d 193582009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
19359
19360 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
19361
ef257b36 19362 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 19363 width glyphs.
19364
3e643f8c 193652009-01-19 Robert Millan <rmh@aybabtu.com>
19366
19367 * config.guess: Update to latest version from config git.
19368 * config.sub: Likewise.
19369
4fa80998 193702009-01-17 Felix Zielcke <fzielcke@z-51.de>
19371
19372 * Makefile.in: Change font compilation to use new grub-mkfont instead
19373 of java version.
19374
19375 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
19376 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
19377 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19378 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19379 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
19380 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
19381 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
19382 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
19383 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19384
7086085b 193852009-01-16 Christian Franke <franke@computer.org>
19386
19387 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
19388 (enum grub_ata_timeout_milliseconds): New enum.
19389 (grub_ata_wait_status): Add parameter milliseconds.
19390 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
19391 recovery from timed-out commands.
19392 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
19393 return grub_errno instead of REG_ERROR.
19394 (grub_ata_pio_write): Add parameter milliseconds.
19395 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
19396 Pass milliseconds to grub_ata_wait_status () and
19397 grub_ata_pio_read ().
19398 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
19399 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
19400 grub_ata_wait_status (). Fix IDENTIFY timeout check.
19401 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
19402 It is not suitable for device detection, because DEV bit is ignored,
19403 the command may run too long, and not all devices set the signature
19404 properly.
19405 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
19406 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
19407 Fix device selection, DEV bit must be set first to address the registers
19408 of the correct device.
19409 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
19410 grub_ata_pio_read/write ().
19411 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
19412 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
19413
4a412913 194142009-01-13 Carles Pina i Estany <carles@pina.cat>
19415
19416 * util/grub-editenv.c (main): Use fseeko(), not fseek().
19417
7795c55e 194182009-01-13 Bean <bean123ch@gmail.com>
d913988c 19419
19420 * util/grub-mkfont.c (write_font): forget to remove some debug code.
19421
7795c55e 194222009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 19423
19424 * Makefile.in: (enable_grub_mkfont): New variable.
19425 (freetype_cflags): Likewise.
19426 (freetype_libs): Likewise.
19427
19428 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
19429 (grub_mkfont_SOURCES): New variable.
19430 (grub_mkfont_CFLAGS): Likewise.
19431 (grub_mkfont_LDFLAGS): Likewise.
19432
19433 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
19434 library if `--enable-grub-mkfont' is requested.
19435 (enable_grub_mkfont): New variable.
19436 (freetype_cflags): Likewise.
19437 (freetype_libs): Likewise.
19438
19439 * util/grub-mkfont.c: New file.
19440
093af1fe 194412009-01-12 Christian Franke <franke@computer.org>
19442
19443 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
19444 mode check. Fix setting of compat_use[].
19445
f36cc108 194462009-01-10 Robert Millan <rmh@aybabtu.com>
19447
19448 Update a few copyright years which we forgot to do in 2008 (only for
19449 files whose changes made in 2008 were copyright-significant)
19450
19451 * Makefile.in: Add 2008 to Copyright line.
19452 * disk/ieee1275/ofdisk.c: Likewise.
19453 * disk/efi/efidisk.c: Likewise.
19454 * kern/dl.c: Likewise.
19455 * kern/sparc64/ieee1275/init.c: Likewise.
19456 * kern/mm.c: Likewise.
19457 * kern/efi/mm.c: Likewise.
19458 * boot/i386/pc/boot.S: Likewise.
19459 * genfslist.sh: Likewise.
19460 * fs/iso9660.c: Likewise.
19461 * fs/hfs.c: Likewise.
19462 * fs/jfs.c: Likewise.
19463 * fs/minix.c: Likewise.
19464 * fs/ufs.c: Likewise.
19465 * gensymlist.sh.in: Likewise.
19466 * genkernsyms.sh.in: Likewise.
19467 * include/grub/misc.h: Likewise.
19468 * include/grub/types.h: Likewise.
19469 * include/grub/symbol.h: Likewise.
19470 * include/grub/elf.h: Likewise.
19471 * include/grub/kernel.h: Likewise.
19472 * include/grub/disk.h: Likewise.
19473 * include/grub/dl.h: Likewise.
19474 * include/grub/i386/linux.h: Likewise.
19475 * include/grub/i386/pc/biosdisk.h: Likewise.
19476 * include/grub/efi/api.h: Likewise.
19477 * include/grub/efi/pe32.h: Likewise.
19478 * include/grub/util/misc.h: Likewise.
19479 * normal/execute.c: Likewise.
19480 * normal/arg.c: Likewise.
19481 * normal/completion.c: Likewise.
19482 * normal/lexer.c: Likewise.
19483 * normal/parser.y: Likewise.
19484 * normal/misc.c: Likewise.
19485 * commands/i386/pc/vbeinfo.c: Likewise.
19486 * commands/hexdump.c: Likewise.
19487 * commands/terminal.c: Likewise.
19488 * commands/ls.c: Likewise.
19489 * commands/help.c: Likewise.
19490 * partmap/pc.c: Likewise.
19491 * loader/efi/chainloader.c: Likewise.
19492 * loader/multiboot_loader.c: Likewise.
19493 * loader/i386/pc/multiboot2.c: Likewise.
19494 * term/efi/console.c: Likewise.
19495 * term/i386/pc/serial.c: Likewise.
19496 * util/lvm.c: Likewise.
19497 * util/console.c: Likewise.
19498 * util/i386/efi/grub-mkimage.c: Likewise.
19499 * util/raid.c: Likewise.
19500
7f02114b 195012009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
19502
19503 * commands/videotest.c: Removed include to grub/machine/memory.h.
19504
19505 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19506 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19507 (video_mod_SOURCES): Removed.
19508 (video_mod_CFLAGS): Likewise.
19509 (video_mod_LDFLAGS): Likewise.
19510 (gfxterm_mod_SOURCES): Likewise.
19511 (gfxterm_mod_CFLAGS): Likewise.
19512 (gfxterm_mod_LDFLAGS): Likewise.
19513 (videotest_mod_SOURCES): Likewise.
19514 (videotest_mod_CFLAGS): Likewise.
19515 (videotest_mod_LDFLAGS): Likewise.
19516 (bitmap_mod_SOURCES): Likewise.
19517 (bitmap_mod_CFLAGS): Likewise.
19518 (bitmap_mod_LDFLAGS): Likewise.
19519 (tga_mod_SOURCES): Likewise.
19520 (tga_mod_CFLAGS): Likewise.
19521 (tga_mod_LDFLAGS): Likewise.
19522 (jpeg_mod_SOURCES): Likewise.
19523 (jpeg_mod_CFLAGS): Likewise.
19524 (jpeg_mod_LDFLAGS): Likewise.
19525 (png_mod_SOURCES): Likewise.
19526 (png_mod_CFLAGS): Likewise.
19527 (png_mod_LDFLAGS): Likewise.
19528
19529 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19530 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19531 (video_mod_SOURCES): Added.
19532 (video_mod_CFLAGS): Likewise.
19533 (video_mod_LDFLAGS): Likewise.
19534 (videotest_mod_SOURCES): Likewise.
19535 (videotest_mod_CFLAGS): Likewise.
19536 (videotest_mod_LDFLAGS): Likewise.
19537 (bitmap_mod_SOURCES): Likewise.
19538 (bitmap_mod_CFLAGS): Likewise.
19539 (bitmap_mod_LDFLAGS): Likewise.
19540 (tga_mod_SOURCES): Likewise.
19541 (tga_mod_CFLAGS): Likewise.
19542 (tga_mod_LDFLAGS): Likewise.
19543 (jpeg_mod_SOURCES): Likewise.
19544 (jpeg_mod_CFLAGS): Likewise.
19545 (jpeg_mod_LDFLAGS): Likewise.
19546 (png_mod_SOURCES): Likewise.
19547 (png_mod_CFLAGS): Likewise.
19548 (png_mod_LDFLAGS): Likewise.
19549 (gfxterm_mod_SOURCES): Likewise.
19550 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 19551 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 19552
19553 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19554 grub/machine/console.h.
19555
644fff97 195562009-01-04 Jerone Young <jerone@gmail.com>
19557
19558 Make on screen instructions clearer
19559
19560 Based on patch created by Jidanni <jidanni@jidanni.org>
19561
19562 * normal/menu.c: print clearer instructions on the screen
19563
1e901a75 195642009-01-02 Colin D Bennett <colin@gibibit.com>
19565
19566 New font engine.
34c44600 19567
1e901a75 19568 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19569 build system and fixed gfxterm.c to work with different sized fonts.
19570
19571 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 19572
1e901a75 19573 * configure: Re-generated.
34c44600 19574
1e901a75 19575 * DISTLIST: Removed font/manager.c.
19576 Added font/font.c.
19577 Added font/font_cmd.c.
34c44600 19578
1e901a75 19579 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19580 compilation.
34c44600 19581
1e901a75 19582 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19583
19584 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19585
19586 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19587
1e901a75 19588 * normal/menu.c: Likewise.
34c44600 19589
1e901a75 19590 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19591 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19592
1e901a75 19593 * include/grub/font.h: Replaced with new file.
34c44600 19594
1e901a75 19595 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19596 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19597 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19598 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19599 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19600 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19601 fg_red, fg_green, fg_blue, fg_alpha.
19602 (grub_video_adapter): Removed blit_glyph.
34c44600 19603 (grub_video_blit_glyph): Removed.
19604
1e901a75 19605 * font/manager.c: Removed file.
34c44600 19606
19607 * font/font.c: New file.
19608
1e901a75 19609 * font/font_cmd.c: Likewise.
34c44600 19610
1e901a75 19611 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19612
1e901a75 19613 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19614 (grub_video_vbe_map_rgba): Likewise.
19615 (grub_video_vbe_unmap_color_int): Likewise.
19616 (grub_video_vbe_blit_glyph): Removed.
19617 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19618
1e901a75 19619 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19620 (get_pixel): Likewise.
34c44600 19621 (set_pixel): Likewise.
19622
1e901a75 19623 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19624
1e901a75 19625 * term/gfxterm.c: Adapted to new font engine.
34c44600 19626
1e901a75 19627 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19628
1e901a75 19629 * term/i386/pc/vga.c: Likewise.
34c44600 19630
1e901a75 19631 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 19632
1e901a75 19633 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 19634
1e901a75 19635 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19636
1e901a75 19637 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19638
1e901a75 19639 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 19640
1e901a75 19641 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 19642
1e901a75 19643 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 19644
1e901a75 19645 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 19646
1e901a75 19647 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19648
19649 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 19650
1e901a75 19651 * util/grub-mkconfig_lib.in: Changed font extension.
19652
278922e8 196532008-12-28 Felix Zielcke <fzielcke@z-51.de>
19654
19655 * util/getroot.c (grub_util_get_grub_dev): Add support for
19656 /dev/md/dNNpNN style partitionable mdraid devices.
19657
3ced05cf 196582008-12-12 Alex Smith <alex@alex-smith.me.uk>
19659
19660 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19661 at a time limit of the PXE TFTP API correctly.
19662 (grub_pxefs_close): Likewise.
19663
7fd0ee30 196642008-11-29 Robert Millan <rmh@aybabtu.com>
19665
34c44600 19666 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 19667 grub_ata_device_initialize() calls.
19668
34c44600 196692008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 19670
19671 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19672 iteration failed.
19673 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19674
89313780 196752008-11-28 Robert Millan <rmh@aybabtu.com>
19676
19677 Fix build on powerpc-ieee1275. Based on patch created by
19678 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19679 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19680 `kern/ieee1275/mmap.c'.
19681 * include/grub/powerpc/ieee1275/memory.h: New file.
19682
15257703 19683 Provide grub-install on coreboot.
19684 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19685 (grub_install_SOURCES): New variable.
19686 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19687 usable on coreboot.
19688
9fc5388a 196892008-11-25 Felix Zielcke <fzielcke@z-51.de>
19690
19691 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19692 to `grub_term_input_t'.
19693 (grub_term_get_current_output): Change return type to
19694 `grub_term_output_t'.
19695
bc3a2f31 196962008-11-22 Robert Millan <rmh@aybabtu.com>
19697
34c44600 19698 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 19699 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19700 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19701 grub_vga_text_cls().
19702
80fc88f2 19703 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 19704 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 19705
cbf36fd3 19706 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19707 to 0x200000 (avoids trouble with some OFW implementations, and matches
19708 with the one in Yaboot).
19709 Reported by Manoel Abranches
19710
73e8e268 197112008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 19712
19713 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19714 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19715
73e8e268 19716 * util/grub-mkconfig_lib.in (grub_warn): New function.
19717 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19718 warnings, to obtain consistent formatting.
19719 * util/grub.d/00_header.in: Likewise.
19720 * util/update-grub_lib.in: Likewise.
19721
e94045a1 19722 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 19723 Move comment text to `#error' stanza.
e94045a1 19724
79d29fd7 19725 Harmonize ieee1275's grub_available_iterate() with the generic
19726 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19727 build problem on i386-ieee1275):
19728 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19729 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19730 parameter `type'. Update all users of this function.
19731 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19732 `kern/ieee1275/mmap.c'.
19733 * kern/ieee1275/init.c
19734 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19735 with ...
19736 (grub_machine_mmap_iterate): ... this.
19737 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19738 return type to `grub_err_t'. Update all implementations of this
19739 function prototype.
19740 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19741 Likewise.
19742
60d6b16e 19743 Add `lsmmap' command (lists firmware-provided memory map):
19744 * commands/lsmmap.c: New file.
19745 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19746 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19747 variables.
19748 * conf/powerpc-ieee1275.rmk: Likewise.
19749 * conf/i386-coreboot.rmk: Likewise.
19750 * conf/i386-ieee1275.rmk: Likewise.
19751
ebaaf49b 197522008-11-19 Robert Millan <rmh@aybabtu.com>
19753
19754 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 19755 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19756 constraints to initrd allocation (based on code from
19757 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19758 for Linux to find it.
ebaaf49b 19759
dfab719f 197602008-11-14 Robert Millan <rmh@aybabtu.com>
19761
19762 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19763 order to cope with duplicate slashes.
19764
10fc3eb9 197652008-11-14 Robert Millan <rmh@aybabtu.com>
19766
19767 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19768 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19769 don't want to mess with lower memory, because it is used in the Linux
19770 loader.
19771
19772 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 19773 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 19774 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19775 is in our heap (probably as a result of it being corrupted during
2f2a3442 19776 decompression). Add #error instance with comment to explain why this
19777 loader isn't currently usable on PC/BIOS.
10fc3eb9 19778
e2e07847 197792008-11-14 Robert Millan <rmh@aybabtu.com>
19780
19781 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 19782 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 19783
fe8e8d69 197842008-11-12 Robert Millan <rmh@aybabtu.com>
19785
19786 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19787
19788 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19789 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19790 from here ...
19791 * include/grub/i386/pc/memory.h: ... to here.
19792
976b07d0 197932008-11-12 Robert Millan <rmh@aybabtu.com>
19794
19795 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19796 split).
19797
19798 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19799 (grub_console_cur_color, grub_console_real_putchar)
19800 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19801 (grub_console_setcolorstate, grub_console_setcolor)
19802 (grub_console_getcolor): Move from here ...
19803 * include/grub/i386/vga_common.h: ... to here (new file).
19804
19805 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19806 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19807 `<grub/i386/io.h>'.
19808 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19809 `<grub/i386/vga_common.h>'.
19810
76679cd3 198112008-11-12 Robert Millan <rmh@aybabtu.com>
19812
19813 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19814 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19815 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19816 variables.
19817 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19818 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19819
19820 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19821 grub_console_init() with call to grub_vga_text_init().
19822 (grub_machine_fini): Replace call to
19823 grub_console_fini() with call to grub_vga_text_fini() and
19824 grub_at_keyboard_fini().
19825
19826 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19827 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19828 (grub_console_setcolorstate, grub_console_setcolor)
19829 (grub_console_getcolor): New function prototypes.
19830
19831 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19832 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19833 (grub_vga_text_setcursor): Static-ize.
19834 (grub_vga_text_term): New structure.
19835 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19836
19837 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19838 (grub_console_cur_color, grub_console_standard_color)
19839 (grub_console_normal_color, grub_console_highlight_color)
19840 (map_char, grub_console_putchar, grub_console_getcharwidth)
19841 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19842 (grub_console_getcolor): Move from here ...
19843 * term/i386/vga_common.c: ... to here (same function names).
19844
95b841d3 198452008-11-12 Robert Millan <rmh@aybabtu.com>
19846
19847 Use newly-added Multiboot support in coreboot.
19848
19849 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19850 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19851
19852 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19853 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19854 (codestart): Store the MBI in `startup_multiboot_info' when we're
19855 being loaded using Multiboot.
19856
19857 * kern/i386/coreboot/init.c (grub_machine_init): Move
19858 grub_at_keyboard_init() call to beginning of function (useful for
19859 debugging). Call grub_machine_mmap_init() before attempting to use
19860 grub_machine_mmap_iterate().
19861 (grub_lower_mem, grub_upper_mem): Move from here ...
19862 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19863 here (new file).
19864
19865 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19866 function prototype.
19867
761ca975 198682008-11-12 Robert Millan <rmh@aybabtu.com>
19869
19870 Fix a regression introduced by the at_keyboard.mod split. Because
19871 some terminals are default on some platforms and non-default on
19872 others, the first terminal being registered determines which is
19873 going to be default.
19874
19875 * kern/term.c (grub_term_register_input): If this is the first
19876 terminal being registered, set it as the current one.
19877 (grub_term_register_output): Likewise.
19878
19879 * term/efi/console.c (grub_console_init): Do not call
19880 grub_term_set_current_output() or grub_term_set_current_input().
19881 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19882 * term/i386/pc/console.c (grub_console_init): Likewise.
19883 (grub_console_fini): Do not call grub_term_set_current_input()
19884 (but leave grub_term_set_current_output() to restore text mode).
19885
6c529df7 198862008-11-10 Robert Millan <rmh@aybabtu.com>
19887
19888 * util/grub.d/00_header.in: Add backward compatibility check for
19889 versions of terminal.mod that don't understand `terminal_input' or
19890 `terminal_output'.
19891
132e4113 198922008-11-09 Robert Millan <rmh@aybabtu.com>
19893
19894 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19895 `terminal_input' / `terminal_output', not `terminal'.
19896
ac293d50 198972008-11-08 Robert Millan <rmh@aybabtu.com>
19898
19899 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19900 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19901
0025933a 199022008-11-08 Robert Millan <rmh@aybabtu.com>
19903
19904 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19905 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19906 members. Update all users.
19907 * util/console.c (grub_ncurses_term): Split in ...
19908 (grub_ncurses_term_input): ... this, and ...
19909 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19910 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19911
37c86336 199122008-11-08 Robert Millan <rmh@aybabtu.com>
19913
19914 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19915 (PKGDATA): Add $(pkgdata_SRCDIR).
19916 (pkglib_BUILDDIR): New variable.
19917 (pkgdata_SRCDIR): New variable.
19918 (build_env.mk): New target.
19919 (include_DATA): New variable.
19920 (install-local): Install $(include_DATA) files in $(includedir).
19921
b6c15a2d 199222008-11-07 Pavel Roskin <proski@gnu.org>
19923
d99d46f1 19924 * gendistlist.sh: Use C locale for sorting to ensure consistent
19925 output on all systems.
19926
b6c15a2d 19927 * util/grub.d/00_header.in: Remove incorrect space before
19928 "serial".
19929
c32ee8c9 199302008-11-07 Robert Millan <rmh@aybabtu.com>
19931
19932 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
19933 per specification.
19934 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
19935 * loader/multiboot_loader.c (find_multi_boot2_header): New function
19936 (based on find_multi_boot1_header).
19937 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
19938 using find_multi_boot2_header(), and abort if neither Multiboot or
19939 Multiboot headers were found.
19940
651c29b7 199412008-11-07 Robert Millan <rmh@aybabtu.com>
19942
19943 Modularize at_keyboard.mod:
19944
19945 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
19946 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
19947 (at_keyboard_mod_LDFLAGS): New variables.
19948
19949 Actual terminal split:
19950
19951 * include/grub/term.h (struct grub_term): Split in ...
19952 (struct grub_term_input): ... this, and ...
19953 (struct grub_term_output): ... this. Update all users.
19954 (grub_term_set_current): Split in ...
19955 (grub_term_set_current_input): ... this, and ...
19956 (grub_term_set_current_output): ... this.
19957 (grub_term_get_current): Split in ...
19958 (grub_term_get_current_input): ... this, and ...
19959 (grub_term_get_current_output): ... this.
19960 (grub_term_register): Split in ...
19961 (grub_term_register_input): ... this, and ...
19962 (grub_term_register_output): ... this.
19963 (grub_term_unregister): Split in ...
19964 (grub_term_unregister_input): ... this, and ...
19965 (grub_term_unregister_output): ... this.
19966 (grub_term_iterate): Split in ...
19967 (grub_term_iterate_input): ... this, and ...
19968 (grub_term_iterate_output): ... this.
19969
19970 * kern/term.c (grub_term_list): Split in ...
19971 (grub_term_list_input): ... this, and ...
19972 (grub_term_list_output): ... this. Update all users.
19973 (grub_cur_term): Split in ...
19974 (grub_cur_term_input): ... this, and ...
19975 (grub_cur_term_output): ... this. Update all users.
19976 (grub_term_set_current): Split in ...
19977 (grub_term_set_current_input): ... this, and ...
19978 (grub_term_set_current_output): ... this.
19979 (grub_term_get_current): Split in ...
19980 (grub_term_get_current_input): ... this, and ...
19981 (grub_term_get_current_output): ... this.
19982 (grub_term_register): Split in ...
19983 (grub_term_register_input): ... this, and ...
19984 (grub_term_register_output): ... this.
19985 (grub_term_unregister): Split in ...
19986 (grub_term_unregister_input): ... this, and ...
19987 (grub_term_unregister_output): ... this.
19988 (grub_term_iterate): Split in ...
19989 (grub_term_iterate_input): ... this, and ...
19990 (grub_term_iterate_output): ... this.
19991
19992 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
19993 a check for input and one for output (and only attempt to get keys
19994 from user when input works).
19995
19996 * util/grub-probe.c (grub_term_get_current): Split in ...
19997 (grub_term_get_current_input): ... this, and ...
19998 (grub_term_get_current_output): ... this.
19999 * util/grub-fstest.c: Likewise.
20000 * util/i386/pc/grub-setup.c: Likewise.
20001 * util/grub-editenv.c: Likewise.
20002
20003 Portability adjustments:
20004
20005 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
20006 `term/i386/pc/at_keyboard.c'.
20007 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
20008 grub_keyboard_controller_init() (now handled by terminal .init).
20009 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
20010 grub_at_keyboard_init().
20011 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
20012 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
20013 at_keyboard.mod via input terminal interface).
20014 * include/grub/i386/coreboot/console.h: Convert into a stub for
20015 `<grub/i386/pc/console.h>'.
20016
20017 Migrate full terminals to new API:
20018
20019 * term/efi/console.c (grub_console_term): Split into ...
20020 (grub_console_term_input): ... this, and ...
20021 (grub_console_term_output): ... this. Update all users.
20022 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
20023 (grub_ofconsole_init): Split into ...
20024 (grub_ofconsole_init_input): ... this, and ...
20025 (grub_ofconsole_init_output): ... this.
20026 (grub_ofconsole_term): Split into ...
20027 (grub_ofconsole_term_input): ... this, and ...
20028 (grub_ofconsole_term_output): ... this. Update all users.
20029 * term/i386/pc/serial.c (grub_serial_term): Split into ...
20030 (grub_serial_term_input): ... this, and ...
20031 (grub_serial_term_output): ... this. Update all users.
20032 * term/i386/pc/console.c (grub_console_term): Split into ...
20033 (grub_console_term_input): ... this, and ...
20034 (grub_console_term_output): ... this. Update all users.
20035 (grub_console_term_input): Only enable it on PC/BIOS platform.
20036 (grub_console_init): Remove grub_keyboard_controller_init() call.
20037
20038 Migrate input terminals to new API:
20039
20040 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
20041 `i386' and `i386/pc' to enable build on x86_64 (this driver is
20042 i386-specific anyway).
20043 (grub_console_checkkey): Rename to ...
20044 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
20045 users.
20046 (grub_keyboard_controller_orig): New variable.
20047 (grub_console_getkey): Rename to ...
20048 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
20049 users.
20050 (grub_keyboard_controller_init): Static-ize. Save original
20051 controller value so that it can be restored ...
20052 (grub_keyboard_controller_fini): ... here (new function).
20053 (grub_at_keyboard_term): New structure.
20054 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
20055 functions.
20056
20057 Migrate output terminals to new API:
20058
20059 * term/i386/pc/vga.c (grub_vga_term): Change type to
20060 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20061 members. Update all users.
20062 * term/gfxterm.c (grub_video_term): Change type to
20063 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20064 members. Update all users.
20065 * include/grub/i386/pc/console.h (grub_console_checkkey)
20066 (grub_console_getkey): Do not export (no longer needed by gfxterm,
20067 etc).
20068
20069 Migrate `terminal' command and userland tools to new API:
20070
20071 * commands/terminal.c (grub_cmd_terminal): Split into ...
20072 (grub_cmd_terminal_input): ... this, and ...
20073 (grub_cmd_terminal_output): ... this.
20074 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
20075 `terminal_input' and `terminal_output'.
20076 * util/grub.d/00_header.in: Adjust `terminal' calls to new
20077 `terminal_input' / `terminal_output' API.
20078 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
20079 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
20080 provided ${GRUB_TERMINAL}, convert it).
20081
96e5d876 200822008-11-04 Robert Millan <rmh@aybabtu.com>
20083
20084 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
20085 for FreeBSD.
20086 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
20087
556f3775 200882008-11-03 Bean <bean123ch@gmail.com>
20089
20090 * kern/elf.c (grub_elf32_load): Revert to previous code.
20091 (grub_elf64_load): Likewise.
20092
20093 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
20094
926b9823 200952008-11-01 Robert Millan <rmh@aybabtu.com>
20096
20097 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
20098 (TARGET_CPPFLAGS): Likewise.
20099 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
20100
1432e958 201012008-11-01 Carles Pina i Estany <carles@pina.cat>
20102
20103 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
20104
dba3f844 201052008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 20106
20107 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
20108 addition of objects until the code is not going to be able to fail.
20109
dba3f844 201102008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 20111
20112 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
20113 (add a missing NULL check, and correct them by moving the pointer
20114 operations after the actual check).
20115
7ab28c21 201162008-10-29 Robert Millan <rmh@aybabtu.com>
20117
20118 * util/i386/pc/grub-install.in: Handle empty string as output from
20119 make_system_path_relative_to_its_root().
20120
1b7748eb 201212008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
20122
20123 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
20124 circular metadata worst case scenario. If the metadata is circular
20125 then copy the wrap in place.
20126 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
20127 project lib/format_text/layout.h
20128 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
20129
c9618ab2 201302008-10-03 Felix Zielcke <fzielcke@z-51.de>
20131
7a36edca 20132 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 20133
bf981c62 201342008-10-03 Felix Zielcke <fzielcke@z-51.de>
20135
20136 * util/update-grub_lib.in: Mention filename in warning message.
20137
6d994591 201382008-09-29 Felix Zielcke <fzielcke@z-51.de>
20139
20140 * NEWS: Update for rename of update-grub to grub-mkconfig.
20141
18ade780 201422008-09-29 Felix Zielcke <fzielcke@z-51.de>
20143
20144 * util/update-grub_lib.in: Copy to ...
20145 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 20146 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 20147 * util/update-grub.in: Rename to ...
20148 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
20149 option. Add `--output' option to allow users to specify the generated
20150 configuration file. Default to stdout.
20151 (update_grub_dir): Rename to ...
20152 (grub_mkconfig_dir): ... this.
20153 (grub_cfg): Default to an empty string.
20154 * conf/common.rmk (update-grub): Rename to ...
20155 (grub-mkconfig): ... this.
20156 (update-grub_lib): Copy to ...
20157 (grub-mkconfig_lib): ... this.
20158 (update-grub_SCRIPTS): Copy to ...
20159 (grub-mkconfig_SCRIPTS): ... this. Update all users.
20160 (update-grub_DATA): Rename to ...
20161 (grub-mkconfig_DATA): ... this.
20162
556ce6ac 201632008-09-28 Robert Millan <rmh@aybabtu.com>
20164
20165 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
20166 to `modified'. Add the real `created' field.
20167 (grub_iso9660_uuid): Use `modified' rather than `created' for
20168 constructing the UUID.
20169
201702008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 20171
20172 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
20173 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
20174
92274e85 201752008-09-28 Bean <bean123ch@gmail.com>
20176
20177 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
20178 Thanks to Christian Franke for finding this bug.
20179
add6f17a 201802008-09-25 Robert Millan <rmh@aybabtu.com>
20181
20182 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
20183 instances of grub_util_get_disk_name() (see previous commit).
20184
d2a367b8 201852008-09-25 Robert Millan <rmh@aybabtu.com>
20186
20187 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
20188 `util/i386/get_disk_name.c'.
20189 * conf/i386-efi.rmk: Likewise.
20190 * conf/x86_64-efi.rmk: Likewise.
20191 * conf/i386-coreboot.rmk: Likewise.
20192 * conf/i386-ieee1275.rmk: Likewise.
20193 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
20194 `util/ieee1275/get_disk_name.c'.
20195 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
20196 * util/ieee1275/get_disk_name.c: Remove file.
20197 * util/i386/get_disk_name.c: Remove file.
20198 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
20199 "hd%d" for device.map entries, rather than using
20200 grub_util_get_disk_name().
20201
81a06771 202022008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 20203
20204 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
20205 warning.
20206 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
20207
5a004279 202082008-09-24 Carles Pina i Estany <carles@pina.cat>
20209
20210 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
20211 Changed to 0x5100.
20212 (GRUB_TERM_PPAGE): Changed to 0x4900.
20213
397093d3 202142008-09-24 Robert Millan <rmh@aybabtu.com>
20215
20216 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
20217 macros (they were i386-pc specific).
20218 * include/grub/sparc64/ieee1275/console.h: Likewise.
20219 * include/grub/efi/console.h: Likewise.
20220
a91b6c7c 202212008-09-22 Bean <bean123ch@gmail.com>
20222
20223 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
20224 resident and in attribute list.
20225
20226 * include/grub/ntfs.h (BMP_LEN): Removed.
20227
c40fd116 202282008-09-22 Bean <bean123ch@gmail.com>
20229
81a06771 20230 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 20231 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
20232
20233 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
20234 error occurs, as grub_disk_open will call grub_disk_close, which will
20235 call p->close (scsi).
20236
81a06771 202372008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 20238
20239 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
20240 (AC_PREREQ): Bumped to 2.59.
20241 (AC_TRY_COMPILE): Replace obsolete macro with ...
20242 (AC_COMPILE_IFELSE): ... this.
20243 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
20244 (AC_LINK_IFELSE): ... this.
20245
5dc43410 202462008-09-21 Felix Zielcke <fzielcke@z-51.de>
20247
20248 * autogen.sh: Add a call to `gendistlist.sh'.
20249
9035dce4 202502008-09-19 Christian Franke <franke@computer.org>
20251
20252 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
20253 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
20254 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
20255 Export __enable_execute_stack() to modules.
20256 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
20257 New function.
20258
7fd75377 202592008-09-09 Felix Zielcke <fzielcke@z-51.de>
20260
040030b3 20261 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
20262 Sort the list.
20263
202642008-09-09 Felix Zielcke <fzielcke@z-51.de>
20265
20266 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 20267 #include <grub/util/hostdisk.h>.
20268
89d5ffcf 202692008-09-08 Robert Millan <rmh@aybabtu.com>
20270
20271 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
20272 segments when their filesz is zero (grub_file_read() interprets
81a06771 20273 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 20274 Use `lowest_segment' rather than 0 for calculating the current
20275 segment load address.
20276
40da438f 202772008-09-08 Robert Millan <rmh@aybabtu.com>
20278
20279 * util/hostdisk.c (open_device): Replace a grub_util_info() call
20280 with grub_dprintf("hostdisk", ...), as it was so verbose that it
20281 clobbered useful information.
20282
ddbf5556 202832008-09-08 Robert Millan <rmh@aybabtu.com>
20284
20285 * include/grub/util/biosdisk.h: Move to ...
20286 * include/grub/util/hostdisk.h: ... here. Update all users.
20287 * util/biosdisk.c: Move to ...
20288 * util/hostdisk.c: ... here. Update all users.
20289
783d0f48 202902008-09-07 Robert Millan <rmh@aybabtu.com>
20291
20292 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
20293 variables.
20294 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
20295 and length can be stored directly in the `mbi->mmap_addr' and
20296 `mbi->mmap_length' struct fields.
20297
548e2ea5 202982008-09-07 Robert Millan <rmh@aybabtu.com>
20299
20300 * conf/i386.rmk: New file. Provides declaration for building
20301 `cpuid.mod'.
20302 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
20303 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
20304 variables.
20305 Include `conf/i386.mk'.
20306 * conf/i386-efi.rmk: Likewise.
20307 * conf/x86_64-efi.rmk: Likewise.
20308 * conf/i386-coreboot.rmk: Likewise.
20309 * conf/i386-ieee1275.rmk: Likewise.
20310
0ea85a37 203112008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
20312
20313 Based on patch created by Colin D Bennett <colin@gibibit.com>.
20314 Adds optimization support for BGR based modes.
20315
20316 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
20317 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20318 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20319 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20320 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20321 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20322 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20323 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20324 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20325 (grub_video_i386_vbeblit_index_index): Likewise.
20326 (grub_video_i386_vbeblit_replace_directN): Added.
20327 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20328 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20329 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20330 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20331 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20332 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 20333 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 20334 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20335 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20336 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20337 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20338 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20339 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
20340
20341 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
20342 (grub_video_i386_vbefill_R8G8B8): Likewise.
20343 (grub_video_i386_vbefill_index): Likewise.
20344 (grub_video_i386_vbefill_direct32): Added.
20345 (grub_video_i386_vbefill_direct24): Likewise.
20346 (grub_video_i386_vbefill_direct16): Likewise.
20347 (grub_video_i386_vbefill_direct8): Likewise.
20348
81a06771 20349 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 20350 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
20351 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
20352 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
20353 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
20354 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 20355
0ea85a37 20356 * video/video.c (grub_video_get_blit_format): Updated to use new
20357 blit formats. Added handling for 16 bit color modes.
81a06771 20358
20359 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 20360 fillers.
20361 (common_blitter): Updated to use new blitters.
20362
20363 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
20364 Removed.
20365 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20366 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20367 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20368 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20369 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20370 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20371 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20372 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20373 (grub_video_i386_vbeblit_index_index): Likewise.
20374 (grub_video_i386_vbeblit_replace_directN): Added.
20375 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20376 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20377 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20378 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20379 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20380 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
20381 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
20382 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20383 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20384 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20385 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20386 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20387 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 20388
0ea85a37 20389 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
20390 (grub_video_i386_vbefill_R8G8B8): Likewise.
20391 (grub_video_i386_vbefill_index): Likewise.
20392 (grub_video_i386_vbefill_direct32): Added.
20393 (grub_video_i386_vbefill_direct24): Likewise.
20394 (grub_video_i386_vbefill_direct16): Likewise.
20395 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 20396
0ea85a37 20397 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
20398 types.
81a06771 20399
0ea85a37 20400 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
20401 types.
81a06771 20402
0ea85a37 20403 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
20404 blitter types.
81a06771 20405
0ea85a37 20406 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
20407 types.
20408
e8a83df6 204092008-09-06 Felix Zielcke <fzielcke@z-51.de>
20410
20411 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
20412 RAID level 1.
20413
6bcd8ee5 204142008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 20415
6bcd8ee5 20416 * fs/iso9660.c (grub_iso9660_date): New structure.
20417 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
20418 (grub_iso9660_uuid): New function.
c375ae58 20419
59261157 204202008-09-05 Bean <bean123ch@gmail.com>
20421
20422 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
20423
20424 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
20425 insensitive bit for names in Win32 and Win32 & DOS namespace.
20426
20427 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
20428
20429 * include/grub/types.h (LONG_MAX): Likewise.
20430
58b6645a 204312008-09-04 Felix Zielcke <fzielcke@z-51.de>
20432
4ee55921 20433 * util/getroot.c: Include <config.h>.
20434 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
20435 add support for /dev/md/N devices and handle LVM double dash escaping.
20436
204372008-09-04 Felix Zielcke <fzielcke@z-51.de>
20438
20439 * config.guess: Update to latest version from config git.
20440 * config.sub: Likewise.
58b6645a 20441
9124f65d 204422008-09-03 Robert Millan <rmh@aybabtu.com>
20443
20444 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
20445 `disk->total_sectors'.
20446
81a06771 204472008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 20448
20449 * include/grub/normal.h: Fixed incorrect comment for
20450 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
20451
81a06771 204522008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 20453
20454 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
20455 values with defines.
20456
20457 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
20458 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
20459 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
20460 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20461 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20462 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20463 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20464 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20465 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20466 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20467 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20468 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20469 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20470 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20471 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20472 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
20473 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
20474 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
20475 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
20476
93d5cbf8 204772008-08-31 Robert Millan <rmh@aybabtu.com>
20478
20479 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
20480 declaration.
20481 (grub_multiboot): Fix a few warnings.
20482
21751d50 204832008-08-31 Robert Millan <rmh@aybabtu.com>
20484
20485 * loader/i386/pc/multiboot.c: Update comment not to say that
20486 boot_device support is unimplemented.
20487
e27a75c5 204882008-08-31 Robert Millan <rmh@aybabtu.com>
20489
20490 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
20491 or memory map support are unimplemented.
20492
81a06771 204932008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 20494
20495 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
20496
81a06771 204972008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 20498
20499 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
20500 total video memory in 'vbeinfo' output; show color format details for
20501 each video mode.
20502
7c5d8d95 205032008-08-30 Pavel Roskin <proski@gnu.org>
20504
20505 * util/genmoddep.c: Remove for real this time.
20506 * DISTLIST: Remove util/genmoddep.c.
20507
4cebd25a 205082008-08-30 Robert Millan <rmh@aybabtu.com>
20509
20510 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20511 as required by Multiboot spec (it was already 4-byte aligned, but
20512 only by chance).
20513
b497a269 205142008-08-29 Pavel Roskin <proski@gnu.org>
20515
e3925185 20516 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20517 * kern/powerpc/ieee1275/startup.S: ... this.
20518 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20519 * DISTLIST: Likewise.
20520
b497a269 20521 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20522 grub/cpu/kernel.h. Add start label for consistency with other
20523 platforms. Add grub_prefix immediately after start. Add jump
20524 to the code after grub_prefix.
20525 * include/grub/powerpc/kernel.h: Provide valid values for
20526 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20527
6e5a42fe 205282008-08-29 Bean <bean123ch@gmail.com>
20529
20530 * configure.ac: Change host_os to cygwin for mingw.
20531 (asprintf): New check for function.
20532
20533 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20534 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20535
20536 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 20537 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 20538 sync, sleep and grub_util_get_disk_size for mingw.
20539
20540 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20541 to get size in mingw.
20542 (open_device): Use flag O_BINARY if it's defined.
20543 (find_root_device): Add dummy code for mingw.
20544
20545 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20546 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20547 (get_scsi_disk_name): Return 0 for mingw.
20548
20549 * util/hostfs.c: #include <grub/util/misc.h>.
20550 (grub_hostfs_open): Use "rb" flag to open file, use
20551 grub_util_get_disk_size to get disk size for mingw.
20552
20553 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20554 (asprintf): New function if HAVE_ASPRINTF is not set.
20555 (sync): New function for mingw.
20556 (sleep): Likewise.
20557 (grub_util_get_disk_size): Likewise.
20558
ab3f2673 205592008-08-28 Pavel Roskin <proski@gnu.org>
20560
20561 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20562 kern/time.c.
20563
1c282483 205642008-08-28 Robert Millan <rmh@aybabtu.com>
20565
20566 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20567
678e849c 205682008-08-28 Robert Millan <rmh@aybabtu.com>
20569
20570 Change find_grub_drive() syntax so it doesn't prevent it from
20571 detecting NULL names as errors.
20572
20573 * util/biosdisk.c (find_grub_drive): Move free slot search code
20574 from here ...
20575 (find_free_slot): ... to here.
20576 (read_device_map): Use find_free_slot() to search for free slots.
20577
965c75ca 205782008-08-27 Marco Gerards <marco@gnu.org>
20579
20580 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20581 (scsi_mod_SOURCES): New variable.
20582 (scsi_mod_CFLAGS): Likewise
20583 (scsi_mod_LDFLAGS): Likewise.
20584
20585 * disk/scsi.c: New file.
20586
20587 * include/grub/scsi.h: Likewise.
20588
20589 * include/grub/scsicmd.h: Likewise.
20590
20591 * disk/ata.c: Include <grub/scsi.h>.
20592 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20593 instead.
20594 (grub_ata_iterate): Skip ATAPI devices.
20595 (grub_ata_open): Only handle ATAPI devices.
20596 (struct grub_atapi_read): Removed.
20597 (grub_atapi_readsector): Likewise.
20598 (grub_ata_read): No longer handle ATAPI devices.
20599 (grub_ata_write): Likewise.
20600 (grub_atapi_iterate): New function.
20601 (grub_atapi_read): Likewise.
20602 (grub_atapi_write): Likewise.
20603 (grub_atapi_open): Likewise.
20604 (grub_atapi_close): Likewise.
20605 (grub_atapi_dev): New variable.
20606 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20607 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20608
20609 * include/grub/disk.h (enum grub_disk_dev_id): Add
20610 `GRUB_DISK_DEVICE_SCSI_ID'.
20611
c07ae501 206122008-08-26 Robert Millan <rmh@aybabtu.com>
20613
20614 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20615 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20616 descriptive.
20617
5ed20adc 206182008-08-23 Bean <bean123ch@gmail.com>
20619
20620 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20621 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20622 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20623 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20624 dm_nv.mod.
20625 (raid5rec_mod_SOURCES): New macro.
20626 (raid5rec_mod_CFLAGS): Likewise.
20627 (raid5rec_mod_LDFLAGS): Likewise.
20628 (raid6rec_mod_SOURCES): Likewise.
20629 (raid6rec_mod_CFLAGS): Likewise.
20630 (raid6rec_mod_LDFLAGS): Likewise.
20631 (mdraid_mod_SOURCES): Likewise.
20632 (mdraid_mod_CFLAGS): Likewise.
20633 (mdraid_mod_LDFLAGS): Likewise.
20634 (dm_nv_mod_SOURCES): Likewise.
20635 (dm_nv_mod_CFLAGS): Likewise.
20636 (dm_nv_mod_LDFLAGS): Likewise.
20637
20638 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20639 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20640 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20641
20642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20643 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20644
20645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20646
20647 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20648
20649 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20650
20651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20652
20653 * disk/raid5_recover.c: New file.
20654
20655 * disk/raid6_recover.c: Likewise.
20656
20657 * disk/mdraid_linux.c: Likewise.
20658
20659 * disk/dmraid_nvidia.c: Likewise.
20660
20661 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20662 ULONG_MAX.
20663
20664 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20665 calculate the size of raid device.
20666 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20667 different layout of raid5.
20668 (grub_raid_scan_device): Remove code specific to mdraid.
20669 (grub_raid_list): New variable.
20670 (free_array): New function.
20671 (grub_raid_register): Likewise.
20672 (grub_raid_unregister): Likewise.
20673 (grub_raid_rescan): Likewise.
20674 (GRUB_MOD_INIT): Don't iterate device here.
20675 (GRUB_MOD_FINI): Use free_array to release resource.
20676
20677 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20678 (grub_raid5_recover_func_t): New function variable type.
20679 (grub_raid6_recover_func_t): Likewise.
20680 (grub_raid5_recover_func): New variable.
20681 (grub_raid6_recover_func): Likewise.
20682 (grub_raid_register): New function.
20683 (grub_raid_unregister): Likewise.
20684 (grub_raid_rescan): Likewise.
20685 (grub_raid_block_xor): Likewise.
20686
20687 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20688 (CMD_CRC): New macro.
20689 (part): Removed.
20690 (read_file): Handle device as well as file.
20691 (cmd_crc): New function.
20692 (fstest): Handle multiple disks.
20693 (options): Remove part, raw and long, add root and diskcount.
20694 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 20695 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 20696 add handling for the new options, support multiple disks.
20697
20698 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20699
29c18915 207002008-08-23 Bean <bean123ch@gmail.com>
20701
20702 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20703
20704 * genfslist.sh: Ignore kernel.mod.
20705
20706 * genpartmaplist.sh: Likewise.
20707
8415f261 207082008-08-23 Robert Millan <rmh@aybabtu.com>
20709
20710 * util/getroot.c (find_root_device): Skip anything that starts with
20711 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20712
d5a7dc5b 207132008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 20714
d5a7dc5b 20715 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20716 * util/grub.d/00_header.in: Allow the administrator to change default
20717 gfxmode via ${GRUB_GFXMODE}.
20718
380cfbb4 207192008-08-21 Felix Zielcke <fzielcke@z-51.de>
20720
20721 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20722
c9baafe7 207232008-08-21 Robert Millan <rmh@aybabtu.com>
20724
20725 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20726 loader.
20727 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20728 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20729
e290bef2 207302008-08-20 Carles Pina i Estany <carles@pina.cat>
20731
20732 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20733 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20734
f9dbfc96 207352008-08-19 Robert Millan <rmh@aybabtu.com>
20736
20737 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20738 (struct grub_virtual_screen): Remove `cursor_color'.
20739 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20740 initialization.
20741 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20742
dd6bd6ab 207432008-08-18 Robert Millan <rmh@aybabtu.com>
20744
20745 Unify (identical) linux_normal.c files.
20746 * loader/i386/efi/linux_normal.c: Move from here ...
20747 * loader/linux_normal.c: ... to here. Update all users.
20748 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20749 * loader/i386/ieee1275/linux_normal.c: Likewise.
20750
7f42f83e 207512008-08-18 Robert Millan <rmh@aybabtu.com>
20752
20753 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20754 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20755 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20756 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20757 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20758 New macros.
20759 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20760 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20761 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20762 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20763 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20764 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20765 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20766 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20767 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20768 portably using grub_getxy().
20769 Replace `-EFI' with `-bzImage' in boot message.
20770
38487ddb 207712008-08-17 Robert Millan <rmh@aybabtu.com>
20772
20773 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20774
deceb3ec 207752008-08-17 Robert Millan <rmh@aybabtu.com>
20776
20777 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20778
20779 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20780 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20781 (grub_machine_mmap_iterate): New function declaration.
20782 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20783 structure.
20784 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20785 macros.
20786
20787 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20788 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20789 Move e820 parsing from here ...
20790 * kern/i386/pc/mmap.c: New file.
20791 (grub_machine_mmap_iterate): ... to here.
20792
20793 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20794 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20795 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20796 (grub_available_iterate): Redeclare to return `void', and redeclare
20797 its hook to use grub_uint64_t as addr and size parameters, and rename
20798 to ...
20799 (grub_machine_mmap_iterate): ... this. Update all users.
20800
20801 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20802 to make it more readable. Rename to ...
20803 (grub_machine_mmap_iterate): ... this.
20804
20805 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20806 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20807 (grub_multiboot): Allocate an extra region after the payload, and fill
20808 it with a Multiboot memory map. Adjust a.out loader to calculate size
20809 with the extra space.
20810 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20811 with the extra space.
20812
f8aa0f43 208132008-08-17 Carles Pina i Estany <carles@pina.cat>
20814
9807deb9 20815 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20816
605f5bb6 208172008-08-17 Felix Zielcke <fzielcke@z-51.de>
20818
20819 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20820 mdate-sh to the list `find' searches for.
20821 * DISTLIST: Regenerated.
20822
210db6c6 208232008-08-16 Felix Zielcke <fzielcke@z-51.de>
20824
20825 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20826 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20827 genmoddep.awk, gensymlist.sh.in.
20828 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20829 * DISTLIST: Regenerated.
48cdbfd4 20830 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20831
1082b929 208322008-08-16 Robert Millan <rmh@aybabtu.com>
20833
20834 * disk/raid.c (grub_raid_init): Handle/report errors set by
20835 grub_device_iterate().
20836 * disk/lvm.c (grub_lvm_init): Likewise.
20837
42ce5170 208382008-08-15 Bean <bean123ch@gmail.com>
20839
20840 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20841 and datehook.mod.
20842 (datetime_mod_SOURCES): New macro.
20843 (datetime_mod_CFLAGS): Likewise.
20844 (datetime_mod_LDFLAGS): Likewise.
20845 (date_mod_SOURCES): Likewise.
20846 (date_mod_CFLAGS): Likewise.
20847 (date_mod_LDFLAGS): Likewise.
20848 (datehook_mod_SOURCES): Likewise.
20849 (datehook_mod_CFLAGS): Likewise.
20850 (datehook_mod_LDFLAGS): Likewise.
20851
20852 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20853 and datehook.mod.
20854 (datetime_mod_SOURCES): New macro.
20855 (datetime_mod_CFLAGS): Likewise.
20856 (datetime_mod_LDFLAGS): Likewise.
20857 (date_mod_SOURCES): Likewise.
20858 (date_mod_CFLAGS): Likewise.
20859 (date_mod_LDFLAGS): Likewise.
20860 (datehook_mod_SOURCES): Likewise.
20861 (datehook_mod_CFLAGS): Likewise.
20862 (datehook_mod_LDFLAGS): Likewise.
20863
20864 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20865 and datehook.mod.
20866 (datetime_mod_SOURCES): New macro.
20867 (datetime_mod_CFLAGS): Likewise.
20868 (datetime_mod_LDFLAGS): Likewise.
20869 (date_mod_SOURCES): Likewise.
20870 (date_mod_CFLAGS): Likewise.
20871 (date_mod_LDFLAGS): Likewise.
20872 (datehook_mod_SOURCES): Likewise.
20873 (datehook_mod_CFLAGS): Likewise.
20874 (datehook_mod_LDFLAGS): Likewise.
20875
20876 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20877 and datehook.mod.
20878 (datetime_mod_SOURCES): New macro.
20879 (datetime_mod_CFLAGS): Likewise.
20880 (datetime_mod_LDFLAGS): Likewise.
20881 (date_mod_SOURCES): Likewise.
20882 (date_mod_CFLAGS): Likewise.
20883 (date_mod_LDFLAGS): Likewise.
20884 (datehook_mod_SOURCES): Likewise.
20885 (datehook_mod_CFLAGS): Likewise.
20886 (datehook_mod_LDFLAGS): Likewise.
20887
20888 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20889 and datehook.mod.
20890 (datetime_mod_SOURCES): New macro.
20891 (datetime_mod_CFLAGS): Likewise.
20892 (datetime_mod_LDFLAGS): Likewise.
20893 (date_mod_SOURCES): Likewise.
20894 (date_mod_CFLAGS): Likewise.
20895 (date_mod_LDFLAGS): Likewise.
20896 (datehook_mod_SOURCES): Likewise.
20897 (datehook_mod_CFLAGS): Likewise.
20898 (datehook_mod_LDFLAGS): Likewise.
20899
20900 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20901
20902 * commands/date.c: New file.
20903
20904 * hook/datehook.c: Likewise.
20905
20906 * include/grub/lib/datetime.h: Likewise.
20907
20908 * include/grub/i386/cmos.h: Likewise.
20909
20910 * lib/datetime.c: Likewise.
20911
20912 * lib/i386/datetime.c: Likewise.
20913
20914 * lib/efi/datetime.c: Likewise.
20915
0e9242da 209162008-08-14 Robert Millan <rmh@aybabtu.com>
20917
20918 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20919 (grub_mkelfimage_SOURCES): New variable.
20920 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
20921
20922 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
20923 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
20924 * conf/powerpc-ieee1275.rmk: Likewise.
20925 * conf/i386-ieee1275.rmk: Likewise.
20926
20927 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
20928 * kern/i386/coreboot/init.c: Likewise.
20929
20930 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
20931 with `<grub/cpu/kernel.h>'.
20932 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
20933 to ...
20934 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
20935 * kern/i386/coreboot/startup.S: Likewise.
20936
20937 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
20938 (GRUB_MOD_GAP): Remove.
20939 * include/grub/powerpc/kernel.h: New file.
20940 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
20941 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20942 * include/grub/i386/kernel.h: New file.
20943 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
20944 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
20945 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
20946
20947 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
20948 `grub-mkelfimage'.
20949 Use --directory when invoking grub_mkimage.
20950
20951 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
20952 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
20953 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
20954 and GRUB_KERNEL_CPU_PREFIX.
20955
b86408f8 209562008-08-14 Felix Zielcke <fzielcke@z-51.de>
20957
d5e619ca 20958 * include/grub/err.h (grub_err_printf): New function prototype.
20959 * util/misc.c (grub_err_printf): New function.
20960 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
20961 grub_printf.
20962 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 20963
7161f0e0 209642008-08-13 Robert Millan <rmh@aybabtu.com>
20965
20966 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
20967
a1967522 209682008-08-13 Robert Millan <rmh@aybabtu.com>
20969
20970 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
20971 boot entry.
20972
371458b5 209732008-08-12 Robert Millan <rmh@aybabtu.com>
20974
20975 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
20976 of the relocation code from here ...
20977 (grub_multiboot): ... to here.
20978 (forward_relocator, backward_relocator): Move from here ...
20979 * kern/i386/loader.S (grub_multiboot_forward_relocator)
20980 (grub_multiboot_backward_relocator): ... to here.
20981 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
20982 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
20983 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
20984 (grub_multiboot_forward_relocator_end)
20985 (grub_multiboot_backward_relocator)
20986 (grub_multiboot_backward_relocator_end): New variables.
20987
05f9452b 209882008-08-12 Bean <bean123ch@gmail.com>
20989
20990 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
20991
20024ab0 209922008-08-11 Robert Millan <rmh@aybabtu.com>
20993
20994 * kern/i386/linuxbios/startup.S: Move from here ...
20995 * kern/i386/coreboot/startup.S: ... to here.
20996
20997 * kern/i386/linuxbios/init.c: Move from here ...
20998 * kern/i386/coreboot/init.c: ... to here.
20999
21000 * kern/i386/linuxbios/table.c: Move from here ...
21001 * kern/i386/coreboot/mmap.c: ... to here.
21002
21003 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
21004
e352e9cd 210052008-08-11 Robert Millan <rmh@aybabtu.com>
21006
21007 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
21008 errors. Leave it to the upper layer to handle them.
21009
2d05bc6a 210102008-08-09 Christian Franke <franke@computer.org>
21011
21012 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
21013 * conf/common.rmk: Install `grub-pe2elf' only if requested.
21014 Install `grub.d/10_windows' only on Cygwin.
21015 * configure.ac: Add subst of `target_os'.
21016 Check `target_os' also before setting TARGET_OBJ2ELF.
21017 Add `--enable-grub-pe2elf'.
21018
042bd419 210192008-08-08 Robert Millan <rmh@aybabtu.com>
21020
21021 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21022 (grub_last_time): Change type to grub_uint64_t.
21023 (grub_disk_open): Migrate code from to using grub_get_time_ms().
21024 (grub_disk_close): Likewise.
21025
21026 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21027 (run_menu): Migrate code from to using grub_get_time_ms().
21028
21029 * util/misc.c (grub_get_time_ms): New function.
21030
7f280db5 210312008-08-08 Marco Gerards <marco@gnu.org>
21032
21033 * disk/ata.c (grub_ata_regget): Change return type to
21034 `grub_uint8_t'.
21035 (grub_ata_regget2): Likewise.
21036 (grub_ata_wait_status): New function.
21037 (grub_ata_wait_busy): Removed function, updated all users to use
21038 `grub_ata_wait_status'.
21039 (grub_ata_wait_drq): Likewise.
21040 (grub_ata_cmd): New function.
21041 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
21042 error handling.
21043 (grub_ata_pio_write): Add error handling.
21044 (grub_atapi_identify): Likewise.
21045 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
21046 handling.
21047 (grub_ata_identify): Use `grub_ata_cmd' and improve error
21048 handling. Actually use the detected registers. Reorder the
21049 detection logic such that it is easier to read.
21050 (grub_ata_pciinit): Do not assign the same ID to each controller.
21051 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
21052 handling.
21053 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
21054
21055 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
21056
1fbc5e66 210572008-08-08 Marco Gerards <marco@gnu.org>
21058
21059 * NEWS: Update.
21060
819ce6c0 210612008-08-07 Bean <bean123ch@gmail.com>
21062
21063 * include/grub/x86_64/pci.h: New file.
21064
5c41d44d 210652008-08-07 Christian Franke <franke@computer.org>
21066
21067 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
21068 (TIMER2_GATE): Likewise.
21069 (grub_pit_wait): Add enable/disable of the timer2 gate
21070 bit of port 0x61. This fixes a possible infinite loop.
21071
5ebc275d 210722008-08-07 Bean <bean123ch@gmail.com>
21073
21074 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
21075 kern/i386/tsc.c and kern/i386/pit.c.
21076
21077 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
21078 x86_64 platform.
21079
21080 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
21081 <grub/i386/tsc.h>.
21082
21083 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
21084
e383b3d0 210852008-08-07 Bean <bean123ch@gmail.com>
21086
21087 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
21088
21089 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
21090
21091 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
21092 multiple inclusion. Add #include <grub/types.h>.
21093
1cbb58ac 210942008-08-06 Christian Franke <franke@computer.org>
21095
21096 * conf/common.rmk: Build and install `10_windows'.
21097 * util/grub.d/10_windows.in: New script.
21098
337f5a1e 210992008-08-06 Pavel Roskin <proski@gnu.org>
21100
21101 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
21102
057bc4ac 211032008-08-06 Robert Millan <rmh@aybabtu.com>
21104
21105 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
21106 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
21107
2b99f123 211082008-08-06 Bean <bean123ch@gmail.com>
21109
21110 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
21111 (grub_pxefs_fs_int): Remove dummy definition.
21112 (grub_pxefs_open): Use data->block_size to store the current block
21113 size setting.
21114 (grub_pxefs_read): Use block size stored in data->block_size. As the
21115 value of grub_pxe_blksize can be changed after the file is opened.
21116
9f0234cb 211172008-08-06 Bean <bean123ch@gmail.com>
21118
21119 * fs/i386/pc/pxe.c (curr_file): new variable.
21120 (grub_pxefs_open): Simply the handling of pxe file system. Don't
21121 require the dummy internal file system anymore.
21122 (grub_pxefs_read): Removed.
21123 (grub_pxefs_close): Likewise.
21124 (grub_pxefs_fs_int): Likewise.
21125 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
21126 connection when we switch file.
21127 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
21128
a55d42e0 211292008-08-06 Robert Millan <rmh@aybabtu.com>
21130
21131 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
21132 `halt.mod'.
21133 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
21134 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
21135
21136 * kern/i386/halt.c: New file.
21137 * kern/i386/reboot.c: Likewise.
21138 * include/grub/i386/reboot.h: Likewise.
21139 * include/grub/i386/halt.h: Likewise.
21140
21141 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
21142 Include `<grub/cpu/halt.h>'.
21143 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
21144 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
21145
21146 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
21147 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
21148 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
21149 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
21150 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
21151 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
21152 from here ...
21153 * include/grub/i386/at_keyboard.h: ... to here.
21154
24371d26 211552008-08-05 Robert Millan <rmh@aybabtu.com>
21156
21157 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
21158 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
21159 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
21160 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21161 `kern/generic/millisleep.c'.
21162
21163 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
21164 instead of grub_get_rtc().
21165 (grub_tsc_init): Initialize `tsc_boot_time'.
21166
21167 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
21168 (grub_machine_init): Use grub_tsc_init() rather than
21169 installing an RTC-based handler via grub_install_get_time_ms().
21170
21171 * kern/i386/pit.c: New file.
21172 * include/grub/i386/pit.h: Likewise.
21173
9e7007b3 211742008-08-05 Bean <bean123ch@gmail.com>
21175
21176 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
21177
21178 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
21179 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
21180 (pxe_mod_SOURCES): New macro.
21181 (pxe_mod_CFLAGS): Likewise.
21182 (pxe_mod_LDFLAGS): Likewise.
21183 (pxecmd_mod_SOURCES): Likewise.
21184 (pxecmd_mod_CFLAGS): Likewise.
21185 (pxecmd_mod_LDFLAGS): Likewise.
21186
21187 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
21188 (grub_pxe_call): Likewise.
21189
21190 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
21191
21192 * commands/i386/pc/pxecmd.c: New file.
21193
9f0234cb 21194 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 21195
21196 * include/grub/i386/pc/pxe.h: Likewise.
21197
6977d49f 211982008-08-05 Bean <bean123ch@gmail.com>
21199
21200 * util/console.c (grub_console_cur_color): New variable.
21201 (grub_console_standard_color): Likewise.
21202 (grub_console_normal_color): Likewise.
21203 (grub_console_highlight_color): Likewise.
21204 (color_map): Likewise.
21205 (use_color): Likewise.
21206 (NUM_COLORS): New macro.
21207 (grub_ncurses_setcolorstate): Handle color properly.
21208 (grub_ncurses_setcolor): Don't change color here, just remember the
21209 settings, color will be set in grub_ncurses_setcolorstate.
21210 (grub_ncurses_getcolor): New function.
21211 (grub_ncurses_init): Initialize color pairs.
21212 (grub_ncurses_term): New member grub_ncurses_getcolor.
21213
9c2ff3ee 212142008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 21215
9c2ff3ee 21216 High resolution timer support. Implemented for x86 CPUs using TSC.
21217 Extracted generic grub_millisleep() so it's linked in only as needed.
21218 This requires a Pentium compatible CPU; if the RDTSC instruction is
21219 not supported, then it falls back on the generic grub_get_time_ms()
21220 implementation that uses the machine's RTC.
21221
21222 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
21223 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21224 `kern/generic/millisleep.c'.
21225
21226 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
21227 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
21228
21229 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
21230 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
21231
21232 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21233
21234 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21235 `kern/generic/millisleep.c'.
21236
21237 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21238
21239 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
21240
21241 * kern/generic/rtc_get_time_ms.c: New file.
21242
21243 * kern/generic/millisleep.c: New file.
337f5a1e 21244
9c2ff3ee 21245 * kern/misc.c: Don't include
21246 <kern/time.h> anymore.
21247 (grub_millisleep_generic): Removed.
21248
21249 * commands/sleep.c (grub_interruptible_millisleep): Uses
21250 grub_get_time_ms() instead of grub_get_rtc().
21251
21252 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
21253 function.
21254 (grub_cpu_is_cpuid_supported): New inline function.
21255 (grub_cpu_is_tsc_supported): New inline function.
21256 (grub_tsc_init): New function prototype.
21257 (grub_tsc_get_time_ms): New function prototype.
21258
21259 * kern/i386/tsc.c (grub_get_time_ms): New file.
21260
21261 * include/grub/time.h: Include <grub/types.h.
21262 (grub_millisleep_generic): Removed.
21263 (grub_get_time_ms): New prototype.
21264 (grub_install_get_time_ms): New prototype.
21265 (grub_rtc_get_time_ms): New prototype.
21266
21267 * kern/time.c (grub_get_time_ms): New function.
21268 (grub_install_get_time_ms): New function.
21269
21270 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
21271 <grub/time.h> anymore.
21272 (grub_millisleep): Removed.
21273 (grub_machine_init): Call grub_tsc_init.
21274
21275 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
21276 get_time_ms() implementation.
21277
21278 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
21279 (ieee1275_get_time_ms): New function.
21280 (grub_machine_init): Install get_time_ms() implementation.
21281
21282 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
21283 (grub_machine_init): Call grub_tsc_init().
21284 (grub_millisleep): Removed.
bf06a93f 21285
9c2ff3ee 21286 * kern/ieee1275/init.c (grub_millisleep): Removed.
21287 (grub_machine_init): Install ieee1275_get_time_ms()
21288 implementation.
21289 (ieee1275_get_time_ms): New function.
21290 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
21291 real work.
21292
9ec92aaf 212932008-08-05 Marco Gerards <marco@gnu.org>
21294
21295 * disk/ata.c: Include <grub/pci.h>.
21296 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
21297 (grub_ata_initialize): Rewritten.
21298 (grub_ata_device_initialize): New function.
21299
8d23f507 213002008-08-04 Pavel Roskin <proski@gnu.org>
21301
21302 * kern/main.c: Include grub/mm.h.
21303
5e15ee3d 213042008-08-04 Robert Millan <rmh@aybabtu.com>
21305
21306 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
21307 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
21308 corruption problem).
21309
a9053f8f 213102008-08-04 Robert Millan <rmh@aybabtu.com>
21311
21312 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
21313 warnings introduced in my last commit.
21314
dd19c7d7 213152008-08-03 Robert Millan <rmh@aybabtu.com>
21316
21317 Make PCI available on all i386 architectures.
21318
21319 * include/grub/i386/pc/pci.h: Move from here ...
21320 * include/grub/i386/pci.h: ... to here.
21321
21322 * include/grub/i386/pc/pci.h: Remove.
21323 * include/grub/i386/efi/pci.h: Remove.
21324 * include/grub/x86_64/efi/pci.h: Remove.
21325
21326 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
21327 `<grub/cpu/pci.h>'.
21328
21329 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
21330 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
21331 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
21332
21333 * conf/i386-ieee1275.rmk: Likewise.
21334
e14a6184 213352008-08-03 Robert Millan <rmh@aybabtu.com>
21336
21337 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
21338 (grub_console_setcursor): Make it possible to set cursor off.
21339
52768e37 213402008-08-03 Robert Millan <rmh@aybabtu.com>
21341
21342 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
21343 of modules instead of assuming which platform provides what.
21344 * util/update-grub.in: Likewise.
21345
2d52f57f 213462008-08-03 Robert Millan <rmh@aybabtu.com>
21347
21348 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
21349 instead of `grub_install_dos_part' to determine whether a drive needs
21350 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 21351 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 21352
2a5cd121 213532008-08-02 Robert Millan <rmh@aybabtu.com>
21354
21355 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
21356
93808428 213572008-08-02 Robert Millan <rmh@aybabtu.com>
21358
21359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
21360 of informational grub_dprintf() calls.
21361
3bd0a12a 213622008-08-02 Robert Millan <rmh@aybabtu.com>
21363
21364 * disk/memdisk.c (memdisk_size): Don't initialize.
21365 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
21366
21367 * include/grub/i386/pc/kernel.h
21368 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
21369 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
21370 (grub_memdisk_image_size, grub_arch_memdisk_addr)
21371 (grub_arch_memdisk_size): Remove.
21372
21373 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
21374 field (was only used to transfer a constant). Add `type' field to
21375 support multiple module types.
21376 (grub_module_iterate): New function.
21377
21378 * kern/device.c (grub_device_open): Do not hide error messages
21379 when grub_disk_open() fails. Use grub_print_error() instead.
21380
21381 * kern/i386/pc/init.c (grub_arch_modules_addr)
21382 (grub_arch_memdisk_size): Remove functions.
21383 (grub_arch_modules_addr): Return the module address in high memory
21384 (now that it isn't copied anymore).
21385
21386 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
21387 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
21388 decompression routine (grub_total_module_size already includes that
21389 now). Don't copy modules back to low memory.
21390
21391 * kern/main.c: Include `<grub/mm.h>'.
21392 (grub_load_modules): Split out (and use) ...
21393 (grub_module_iterate): ... this function, which iterates through
21394 module objects and runs a hook.
21395 Comment out grub_mm_init_region() call, as it would cause non-ELF
21396 modules to be overwritten.
21397
21398 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
21399 the memdisk image in its own region, make it part of the module list.
21400 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
21401 (main): Parse --memdisk|-m option, and pass user-provided path as
21402 parameter to generate_image().
21403 (add_segments): Pass `memdisk_path' down to load_modules().
21404 (load_modules): Embed memdisk image in module section when requested.
21405 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
21406 `header.type' instead of `header.offset'.
21407
21408 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
21409 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
21410 (memdisk_mod_LDFLAGS): New variables.
21411 * conf/i386-coreboot.rmk: Likewise.
21412 * conf/i386-ieee1275.rmk: Likewise.
21413
a927cc73 214142008-08-02 Robert Millan <rmh@aybabtu.com>
21415
21416 * loader/i386/pc/multiboot.c (playground, forward_relocator)
21417 (backward_relocator): New variables. Used to allocate and relocate
21418 the payload, respectively.
21419 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 21420 address, install the appropriate relocator code in each bound of
a927cc73 21421 the payload, and set the entry point such that
21422 grub_multiboot_real_boot() will jump to one of them.
21423
21424 * kern/i386/loader.S (grub_multiboot_payload_size)
21425 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21426 (grub_multiboot_payload_entry_offset): New variables.
21427 (grub_multiboot_real_boot): Set cpu context to what the relocator
21428 expects, and jump to the relocator instead of the payload.
21429
21430 * include/grub/i386/loader.h (grub_multiboot_payload_size)
21431 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21432 (grub_multiboot_payload_entry_offset): Export.
21433
b15d8a0c 214342008-08-01 Bean <bean123ch@gmail.com>
21435
21436 * normal/menu_entry.c (editor_getline): Don't return the original
21437 string as result, as it will be released by lexer once it has done
21438 using it.
21439
cdfb3d22 214402008-08-01 Robert Millan <rmh@aybabtu.com>
21441
21442 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
21443 within menuentries, not before them.
21444 util/grub.d/10_hurd.in: Likewise.
21445
9175e93d 214462008-08-01 Bean <bean123ch@gmail.com>
21447
21448 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
21449 (bufio_mod_SOURCES): New macro.
21450 (bufio_mod_CFLAGS): Likewise.
21451 (bufio_mod_LDFLAGS): Likewise.
21452
21453 * include/grub/bufio.h: New file.
21454
21455 * io/bufio.c: Likewise.
21456
21457 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
21458 (grub_video_reader_png): Use grub_buffile_open to open file.
21459
21460 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21461 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21462
21463 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21464 (grub_video_reader_tga): Use grub_buffile_open to open file.
21465
21466 * font/manager.c: Include <grub/bufio.h>.
21467 (add_font): Use grub_buffile_open to open file.
21468
3d8383e7 214692008-07-31 Robert Millan <rmh@aybabtu.com>
21470
21471 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21472 ELF segments, use a macro for arbitrarily accessing any of them instead
21473 of preparing a pointer that allows access to one at a time.
21474 (grub_multiboot_load_elf64): Likewise.
21475
16e641b6 214762008-07-31 Bean <bean123ch@gmail.com>
21477
21478 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
21479 GRUB_KERNEL_MACHINE_DATA_END.
21480
59198b72 214812008-07-30 Robert Millan <rmh@aybabtu.com>
21482
21483 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
21484 Increase from 0x50 to 0x60.
21485 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
21486 use UUIDs to identify the root drive for them. If that's not
21487 possible, abort.
21488 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
21489 check, for cross-disk installs.
21490
ae88bca3 214912008-07-30 Robert Millan <rmh@aybabtu.com>
21492
21493 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
21494 is non-empty, use it to set the `prefix' environment variable instead
21495 of the usual approach.
21496 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
21497 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
21498 environment variable instead of dummy make_install_device().
21499
21500 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
21501 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 21502 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 21503
21504 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21505 New variable reference.
21506 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21507 New macro. Defines offset of `grub_prefix' within startup.S (relative
21508 to `start').
21509 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21510 section within startup.S (relative to `start').
21511 * include/grub/i386/coreboot/kernel.h: Likewise.
21512
21513 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21514 Overwrite grub_prefix with its contents, at the beginning of the
21515 first segment.
21516 (main): Understand -p|--prefix.
21517
14f41dd1 215182008-07-30 Robert Millan <rmh@aybabtu.com>
21519
21520 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21521
4ca049a3 215222008-07-30 Robert Millan <rmh@aybabtu.com>
21523
21524 * term/i386/pc/vga_text.c (grub_console_cls): Use
21525 grub_console_gotoxy() to go back to beginning of the screen.
21526 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21527
2921d337 215282008-07-29 Christian Franke <franke@computer.org>
21529
21530 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21531 Add conversion of emulated mount points on Cygwin.
21532
b609876d 215332008-07-29 Christian Franke <franke@computer.org>
21534
21535 * util/update-grub.in: Add a check for admin
21536 group on Cygwin.
21537 Remove old `grub.cfg.new' before creation.
21538 Add `-f' to `mv' to handle the different filesystem
21539 semantics of Windows.
21540
e93e4679 215412008-07-29 Bean <bean123ch@gmail.com>
21542
21543 * normal/main.c (get_line): Fix buffer overflow bug.
21544
41694fd0 215452008-07-28 Robert Millan <rmh@aybabtu.com>
21546
21547 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21548 (struct grub_apple_header): New struct. Describes the layout of
21549 the partmap header.
21550 (apple_partition_map_iterate): Check the header magic as well as the
21551 partition magic (which was already being checked).
21552
cfd0b4e6 215532008-07-28 Pavel Roskin <proski@gnu.org>
21554
21555 * genmk.rb: Add a warning to the beginning of the output that
21556 it's a generated file and should not be edited.
21557
93cce016 215582008-07-28 Robert Millan <rmh@aybabtu.com>
21559
21560 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21561 with the same number are found, just use issue a warning with
21562 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 21563
cd1df915 215642008-07-27 Robert Millan <rmh@aybabtu.com>
21565
21566 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21567 information.
21568
b70a8427 215692008-07-27 Bean <bean123ch@gmail.com>
21570
21571 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21572 (grub_fat_find_dir): Ignore case when comparing filename.
21573
8f5e379f 215742008-07-27 Bean <bean123ch@gmail.com>
21575
21576 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21577 smallino, as it's more descriptive, and i8count can be confused with
21578 the other field count.
21579 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21580 inode type.
21581
a85cd5a0 215822008-07-27 Bean <bean123ch@gmail.com>
21583
21584 * commands/crc.c: New file.
21585
21586 * lib/crc.c: Likewise.
21587
21588 * include/grub/lib/crc.h: Likewise.
21589
21590 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21591
21592 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21593 (hexdump): Move this function to ...
21594
21595 * lib/hexdump.c: ... here.
21596
21597 * include/grub/hexdump.h: Renamed to ...
21598
21599 * include/grub/lib/hexdump.h: ... this.
21600
21601 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21602
21603 * util/grub-editenv.c: Likewise.
21604
21605 * include/envblk.h: Renamed to ...
21606
21607 * include/lib/envblk.h: ... this.
21608
21609 * util/envblk.c: Renamed to ...
21610
21611 * lib/envblk.c: ... this.
21612
21613 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21614 lib/hexdump.c.
21615 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21616 (pkglib_MODULES): Add crc.mod.
21617 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21618 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21619 (crc_mod_SOURCES): New macro.
21620 (crc_mod_CFLAGS): Likewise.
21621 (crc_mod_LDFLAGS): Likewise.
21622
21623 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21624
21625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21626
21627 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21628
21629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21630
21631 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21632
c298def0 216332008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 21634
21635 * commands/help.c: Include <grub/term.h>.
21636 (TERM_WIDTH): Removed. Updated all users.
21637
cc349fb3 216382008-07-27 Pavel Roskin <proski@gnu.org>
21639
21640 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21641 spurious warnings about a comment within a comment.
21642
9051607e 216432008-07-25 Robert Millan <rmh@aybabtu.com>
21644
21645 * util/getroot.c (find_root_device): Skip devices that match
21646 /dev/dm-[0-9]. This lets the real device be found for any type of
21647 abstraction (LVM, EVMS, RAID..).
21648 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21649 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21650 device is found first, find_root_device() will now skip it.
21651
01453bfc 216522008-07-24 Pavel Roskin <proski@gnu.org>
21653
21654 * include/grub/types.h: Use __builtin_bswap32() and
21655 __builtin_bswap64() with gcc 4.3 and newer.
21656
6af9849f 216572008-07-24 Christian Franke <franke@computer.org>
21658
3a0fa256 21659 * util/i386/pc/grub-install.in: If `--debug' is specified,
21660 pass `--verbose' to grub-setup.
21661 Abort script if make_system_path_relative_to_its_root() fails.
21662
7810e747 216632008-07-24 Bean <bean123ch@gmail.com>
21664
21665 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21666 variable `target_platform' should be `platform'.
21667
42290e17 216682008-07-24 Bean <bean123ch@gmail.com>
21669
51cc5193 21670 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 21671 (grub_png_init_fixed_block): New function.
21672 (grub_png_decode_image_data): Handle fixed huffman code compression.
21673
2a8a80e4 216742008-07-24 Bean <bean123ch@gmail.com>
21675
21676 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21677 (grub_pe2elf_SOURCES): New macro.
21678 (CLEANFILES): Add grub-pe2elf.
21679
21680 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21681 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21682 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21683 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21684 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21685 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21686 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21687 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21688 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21689 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21690 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21691 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21692 (GRUB_PE32_DT_FUNCTION): Likewise.
21693 (GRUB_PE32_REL_I386_DIR32): Likewise.
21694 (GRUB_PE32_REL_I386_REL32): Likewise.
21695 (grub_pe32_symbol): New structure.
21696 (grub_pe32_reloc): Likewise.
21697
21698 * util/grub-pe2elf.c: New file.
21699
21700 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21701 start symbol in non pc platform.
21702
21703 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21704
21705 The following patches are from Christian Franke.
21706
21707 * include/grub/dl.h: Remove .previous, gas supports this only
21708 for ELF format.
21709
21710 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21711 Remove .type, gas supports this only for ELF format.
21712
21713 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21714 nullbytes in symbol table. This fixes an infinite loop if table is
21715 zero filled.
21716
21717 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21718 TARGET_IMG_LDFLAGS and EXEEXT.
21719
21720 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21721 TARGET_IMG_LDFLAGS_AC.
21722 (grub_CHECK_STACK_ARG_PROBE): New function.
21723
21724 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21725
21726 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21727
21728 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21729 to set TARGET_IMG_LD* accordingly.
21730 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21731 Add call to grub_CHECK_STACK_ARG_PROBE.
21732 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21733
21734 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21735
21736 * genmk.rb: Add EXEEXT to CLEANFILES.
21737
12ccdb75 217382008-07-23 Robert Millan <rmh@aybabtu.com>
21739
21740 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21741 define the codes for arrows and lines used for the menu).
21742 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21743 as well.
21744
21745 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21746 fonts, because the latter are too slow.
21747
18eeaf04 217482008-07-21 Bean <bean123ch@gmail.com>
21749
21750 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21751 a20. Run keyboard test last, as it will cause macbook to halt.
21752
b095e2ad 217532008-07-18 Pavel Roskin <proski@gnu.org>
21754
21755 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21756 load foreign architecture modules correctly anyway. Keep
21757 support for loading host architecture modules, whether we
21758 compile them or not.
21759
737feb35 217602008-07-17 Pavel Roskin <proski@gnu.org>
21761
3f4ce737 21762 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21763 change target_cpu. The compiler default can mismatch target_cpu
21764 in any case.
21765
4ad2d049 21766 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21767 * kern/efi/efi.c: Likewise.
21768
f6130a12 21769 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21770 target compiler is functional.
21771 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21772 are set up.
21773
58393a2d 21774 * configure.ac: Default to efi platform for x86_64-apple. Allow
21775 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21776 adjustments from the rest, only do them if target is not
21777 explicitly given. Merge other adjustments with the final sanity
21778 check. Remove an extraneous check for supported CPU. Be
21779 specific which CPU and which platform is not supported.
21780
737feb35 21781 * configure.ac: Default to pc platform for x86_64.
21782
546f966a 217832008-07-17 Robert Millan <rmh@aybabtu.com>
21784
21785 Partial LinuxBIOS -> Coreboot rename.
21786
21787 * conf/i386-linuxbios.rmk: Renamed to ...
21788 * conf/i386-coreboot.rmk: ... this.
21789 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21790 * configure.ac: Accept "coreboot" as input platform (but maintain
21791 compatibility with "linuxbios").
21792 * include/grub/i386/linuxbios: Renamed to ...
21793 * include/grub/i386/coreboot: ... this.
21794
20011694 217952008-07-17 Bean <bean123ch@gmail.com>
21796
21797 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21798 (appleldr_mod_SOURCE): New variable.
20011694 21799 (appleldr_mod_CFLAGS): Likewise.
21800 (appleldr_mod_LDFLAGS): Likewise.
21801 (pci_mod_SOURCES): Likewise.
21802 (pci_mod_CFLAGS): Likewise.
21803 (pci_mod_LDFLAGS): Likewise.
21804 (lspci_mod_SOURCES): Likewise.
21805 (lspci_mod_CFLAGS): Likewise.
21806 (lspci_mod_LDFLAGS): Likewise.
21807
21808 * conf/x86_64-efi.rmk: New file.
21809
21810 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21811 macro.
21812 (grub_efidisk_write): Likewise.
21813
21814 * include/efi/api.h (efi_call_0): New macro.
21815 (efi_call_1): Likewise.
21816 (efi_call_2): Likewise.
21817 (efi_call_3): Likewise.
21818 (efi_call_4): Likewise.
21819 (efi_call_5): Likewise.
21820 (efi_call_6): Likewise.
21821
21822 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21823 grub_rescue_cmd_chainloader.
21824
21825 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21826 (grub_pe32_optional_header): Change some fields based on i386 or
21827 x86_64 platform.
21828 (GRUB_PE32_PE32_MAGIC): Likewise.
21829
21830 * include/grub/efi/uga_draw.h: New file.
21831
21832 * include/grub/elf.h (STN_ABS): New constant.
21833 (R_X86_64_NONE): Relocation constant for x86_64.
21834 (R_X86_64_64): Likewise.
21835 (R_X86_64_PC32): Likewise.
21836 (R_X86_64_GOT32): Likewise.
21837 (R_X86_64_PLT32): Likewise.
21838 (R_X86_64_COPY): Likewise.
21839 (R_X86_64_GLOB_DAT): Likewise.
21840 (R_X86_64_JUMP_SLOT): Likewise.
21841 (R_X86_64_RELATIVE): Likewise.
21842 (R_X86_64_GOTPCREL): Likewise.
21843 (R_X86_64_32): Likewise.
21844 (R_X86_64_32S): Likewise.
21845 (R_X86_64_16): Likewise.
21846 (R_X86_64_PC16): Likewise.
21847 (R_X86_64_8): Likewise.
21848 (R_X86_64_PC8): Likewise.
21849
21850 * include/grub/i386/efi/pci.h: New file.
21851
21852 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21853 Change it value based on platform.
21854 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21855 (GRUB_E820_RAM): Likewise.
21856 (GRUB_E820_RESERVED): Likewise.
21857 (GRUB_E820_ACPI): Likewise.
21858 (GRUB_E820_NVS): Likewise.
21859 (GRUB_E820_EXEC_CODE): Likewise.
21860 (GRUB_E820_MAX_ENTRY): Likewise.
21861 (grub_e820_mmap): New structure.
21862 (linux_kernel_header): Change the efi field according to different
21863 kernel version, also field from linux_kernel_header.
21864
21865 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21866
21867 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21868 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21869 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21870 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21871 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21872 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21873 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21874 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21875 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21876 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21877
21878 * include/grub/x86_64/efi/kernel.h: New file.
21879
21880 * include/grub/x86_64/efi/loader.h: Likewise.
21881
21882 * include/grub/x86_64/efi/machine.h: Likewise.
21883
21884 * include/grub/x86_64/efi/pci.h: Likewise.
21885
21886 * include/grub/x86_64/efi/time.h: Likewise.
21887
21888 * include/grub/x86_64/linux.h: Likewise.
21889
21890 * include/grub/x86_64/setjmp.h: Likewise.
21891
21892 * include/grub/x86_64/time.h: Likewise.
21893
21894 * include/grub/x86_64/types.h: Likewise.
21895
21896 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21897 GRUB_TARGET_SIZEOF_VOID_P.
21898
21899 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21900 (grub_efi_locate_handle): Likewise.
21901 (grub_efi_open_protocol): Likewise.
21902 (grub_efi_set_text_mode): Likewise.
21903 (grub_efi_stall): Likewise.
21904 (grub_exit): Likewise.
21905 (grub_reboot): Likewise.
21906 (grub_halt): Likewise.
21907 (grub_efi_exit_boot_services): Likewise.
21908 (grub_get_rtc): Likewise.
21909
21910 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21911 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21912 (grub_efi_allocate_pages): Wrap efi calls.
21913 (grub_efi_free_pages): Wrap efi calls.
21914 (grub_efi_get_memory_map): Wrap efi calls.
21915
21916 * kern/x86_64/dl.c: New file.
21917
21918 * kern/x86_64/efi/callwrap.S: Likewise.
21919
21920 * kern/x86_64/efi/startup.S: Likewise.
21921
21922 * loader/efi/appleloader.c: Likewise.
21923
21924 * loader/efi/chainloader.c (cmdline): New variable.
21925 (grub_chainloader_unload): Wrap efi calls.
21926 (grub_chainloader_boot): Likewise.
21927 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
21928 command line.
21929
21930 * loader/efi/chainloader_normal.c (chainloader_command):
21931 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
21932 command line.
21933
21934 * loader/i386/efi/linux.c (allocate_pages): Change allocation
21935 method.
21936 (grub_e820_add_region): New function.
21937 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
21938 booting.
21939 (grub_find_video_card): New function.
21940 (grub_linux_setup_video): New function.
21941 (grub_rescue_cmd_linux): Probe for video information.
21942
21943 * normal/x86_64/setjmp.S: New file.
21944
21945 * term/efi/console.c (map_char): New function.
21946 (grub_console_putchar): Map unicode char.
21947 (grub_console_checkkey): Wrap efi calls.
21948 (grub_console_getkey): Likewise.
21949 (grub_console_getwh): Likewise.
21950 (grub_console_gotoxy): Likewise.
21951 (grub_console_cls): Likewise.
21952 (grub_console_setcolorstate): Likewise.
21953 (grub_console_setcursor): Likewise.
21954
21955 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
21956
59652a20 219572008-07-16 Pavel Roskin <proski@gnu.org>
21958
ef294055 21959 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
21960 format strings.
21961
59652a20 21962 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
21963 pointer, not an integer. This fixes a warning and prevents
21964 precision loss on 64-bit systems.
21965 (relocate_addresses): Remove unneeded cast.
21966
afc3b5d7 219672008-07-15 Pavel Roskin <proski@gnu.org>
21968
506b2b3e 21969 * kern/i386/ieee1275/init.c: Include grub/cache.h.
21970
62ead89c 21971 * term/ieee1275/ofconsole.c: Disable code unused on i386.
21972
c4cd51d7 21973 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
21974 Fix comparison between signed and unsigned.
21975
0d3d8f28 21976 * include/grub/i386/ieee1275/console.h: Declare
21977 grub_console_init() and grub_console_fini().
21978
8804b286 21979 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
21980 It's empty and unused.
21981
ee01cf35 21982 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
21983 beginning to avoid warnings with some compilers.
21984
afc3b5d7 21985 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
21986 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
21987
e4e8eaa5 219882008-07-14 Pavel Roskin <proski@gnu.org>
21989
407aceb4 21990 * kern/env.c (grub_register_variable_hook): Don't copy empty
21991 string, it leaks memory. Pass "" to grub_env_set(), it should
21992 handle constant strings.
21993
e4e8eaa5 21994 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
21995 * commands/cmp.c (grub_cmd_cmp): Likewise.
21996 * kern/dl.c (grub_dl_flush_cache): Likewise.
21997 (grub_dl_load_core): Likewise.
21998 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
21999 (grub_elf64_load_phdrs): Likewise.
22000
d4e2dad3 220012008-07-13 Pavel Roskin <proski@gnu.org>
22002
22003 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
22004 between signed and unsigned.
22005 (LzmaEnc_Finish): Fix warning about an unused parameter.
22006
aa24b516 220072008-07-13 Bean <bean123ch@gmail.com>
22008
22009 * Makefile.in (enable_lzo): New rule.
22010
22011 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
22012
22013 * configure.ac (ENABLE_LZO): New option --enable-lzo.
22014
22015 * boot/i386/pc/lnxboot.S: #include <config.h>.
22016
22017 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 22018 its value according to the compression algorithm used, lzo or lzma.
aa24b516 22019
22020 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
22021 compression algorithm according to configure macro.
22022
22023 * kern/i386/pc/startup.S (codestart): Likewise.
22024
22025 * kern/i386/pc/lzma_decode.S: New file.
22026
22027 * include/grub/lib/LzFind.h: Likewise.
22028
22029 * include/grub/lib/LzHash.h: Likewise.
22030
22031 * include/grub/lib/LzmaDec.h: Likewise.
22032
22033 * include/grub/lib/LzmaEnc.h: Likewise.
22034
22035 * include/grub/lib/LzmaTypes.h: Likewise.
22036
22037 * lib/LzFind.c: Likewise.
22038
22039 * lib/LzmaDec.c: Likewise.
22040
22041 * lib/LzmaEnc.c: Likewise.
22042
4ae821ac 220432008-07-13 Bean <bean123ch@gmail.com>
22044
22045 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
22046 (grub_ext4_extent_header): New structure.
22047 (grub_ext4_extent): Likewise.
22048 (grub_ext4_extent_idx): Likewise.
22049 (grub_ext4_find_leaf): New function.
22050 (grub_ext2_read_block): Handle extents.
22051
9a745147 220522008-07-12 Robert Millan <rmh@aybabtu.com>
22053
22054 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
22055
d49a4cf6 220562008-07-11 Robert Millan <rmh@aybabtu.com>
22057
22058 * util/grub.d/40_custom.in: New file. Example on how to add custom
22059 entries to /etc/grub.d.
22060 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
22061 40_custom (implicitly, by merging all the grub.d rules).
22062
947414b4 220632008-07-11 Pavel Roskin <proski@gnu.org>
22064
0059cf6f 22065 * commands/read.c (grub_getline): Fix invalid memory access.
22066 Don't add newline to the variable value.
22067
947414b4 22068 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
22069 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
22070 (serial_hw_get_port): Check validity of the port number.
22071 (grub_cmd_serial): Check return value of serial_hw_get_port().
22072
62a02d00 220732008-07-07 Pavel Roskin <proski@gnu.org>
22074
22075 * boot/i386/pc/diskboot.S (notification_string): Replace
22076 "Loading kernel" with just "loading". This is shorter, less
22077 confusing and saves a few bytes for possible future changes.
22078
3e5581b0 220792008-07-05 Pavel Roskin <proski@gnu.org>
22080
ea387a48 22081 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
22082 size for ATAPI devices, they are undefined. Output sector
22083 number in decimal form.
22084
3e5581b0 22085 * disk/ata.c: Use named constants for status bits.
22086
fdecb8fd 220872008-07-04 Pavel Roskin <proski@gnu.org>
22088
bcd35b90 22089 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
22090 grub_addr_t before casting it to the void pointer to fix a
22091 warning. Non-addressable regions are discarded earlier.
22092 (grub_arch_modules_addr): Cast _end to grub_addr_t.
22093 * kern/i386/linuxbios/table.c: Include grub/misc.h.
22094 (check_signature): Don't shadow table_header.
22095 (grub_linuxbios_table_iterate): Cast numeric constants to
22096 grub_linuxbios_table_header_t.
22097 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
22098 grub_stop().
22099
af58ab3d 22100 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
22101 prevent warnings.
22102
1759aa57 22103 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
22104 pointer, which can cause warnings. Support 64-bit addresses.
22105
fdecb8fd 22106 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
22107 of sizeof(long). This fixes PowerPC image generation on x86_64.
22108
8516d2a8 221092008-07-04 Robert Millan <rmh@aybabtu.com>
22110
22111 This fixes a performance issue when pc & gpt partmap iterators
22112 didn't abort iteration even after our hook found what it was
fe987087 22113 looking for (often causing expensive probes of non-existent drives).
8516d2a8 22114
22115 Some callers relied on previous buggy behaviour, since they would
34c44600 22116 raise an error when their own hooks caused early abortion of its
8516d2a8 22117 iteration.
22118
22119 * kern/device.c (grub_device_open): Improve error message.
22120 * disk/lvm.c (grub_lvm_open): Likewise.
22121 * disk/raid.c (grub_raid_open): Likewise.
22122
22123 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
22124 when hook requests it, independently of grub_errno.
22125 (pc_partition_map_probe): Do not fail when find_func() caused
22126 early abortion of pc_partition_map_iterate().
22127
22128 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
22129 when hook requests it, independently of grub_errno.
22130 (gpt_partition_map_probe): Do not fail when find_func() caused
22131 early abortion of gpt_partition_map_iterate().
22132
22133 * kern/partition.c (grub_partition_iterate): Abort parent iteration
22134 when hook requests it, independently of grub_errno. Do not fail when
22135 part_map_iterate_hook() caused early abortion of p->iterate().
22136
22137 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
22138 when grub_partition_iterate() returned with non-zero.
22139
277d0de9 221402008-07-03 Pavel Roskin <proski@gnu.org>
22141
22142 * disk/ata.c (grub_ata_pio_write): Check status before writing,
22143 like we do in grub_ata_pio_read().
22144 (grub_ata_readwrite): Always write individual sectors. Fix the
22145 sector count for the remainder.
22146 (grub_ata_write): Enable writing to ATA devices. Correctly
22147 report error for ATAPI devices.
22148
d4c9b428 221492008-07-02 Pavel Roskin <proski@gnu.org>
22150
e43fc690 22151 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
22152 warning.
22153
f707af42 22154 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
22155 for every read sector, we already increment it for the whole
22156 batch. This fixes reading more than 256 sectors at once.
22157
11e16b15 22158 * util/grub-editenv.c (cmd_info): Cast argument to long
22159 explicitly. ptrdiff_t reduces to int on i386.
22160
cbabfdd4 22161 * util/grub-editenv.c (main): Be specific which parameter is
22162 missing.
22163
b8fbce0a 22164 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
22165 (memdisk): Make memdisk_orig_addr a pointer.
22166
c9c8e606 22167 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
22168 for file offsets, use grub_off_t instead. Fix printf format
22169 warnings.
22170
ca62e598 22171 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
22172 there. Real unexpected warnings should not drown in the noise
22173 about known problems.
22174
ce8d1766 22175 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
22176 grub_disk_addr_t for memory addresses.
22177
00c7a56a 22178 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
22179 explicitly to fix a warning.
22180
08d3ef09 22181 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
22182
cb71ba20 22183 * Makefile.in (MODULE_LDFLAGS): New variable.
22184 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
22185 the linker accepts --build-id=none.
22186 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
22187 MODULE_LDFLAGS.
22188 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
22189
d4c9b428 22190 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
22191 those in Linux XFS code. Provide a way to access 64-bit parent
22192 inode.
22193 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
22194 the end of struct grub_xfs_dir_header.
22195
d4156eee 221962008-07-02 Bean <bean123ch@gmail.com>
22197
22198 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
22199 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22200 and GRUB_IEEE1275_FLAG_NO_ANSI.
22201
22202 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
22203 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22204 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
22205
22206 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
22207 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
22208
22209 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
22210 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
22211
22212 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
22213 esc sequence on non ANSI terminal.
22214 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
22215
22216 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
22217 beginning of file.
22218
2270f77b 222192008-07-02 Bean <bean123ch@gmail.com>
22220
22221 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
22222 (grub_editenv_SOURCES): New variable.
22223 (pkglib_MODULES): Add loadenv.mod.
22224 (loadenv_mod_SOURCES): New variable.
22225 (loadenv_mod_CFLAGS): Likewise.
22226 (loadenv_mod_LDFLAGS): Likewise.
22227
22228 * include/grub/envblk.h: New file.
22229
22230 * util/envblk.c: New file.
22231
22232 * util/grub-editenv.c: New file.
22233
22234 * commands/loadenv.c: New file.
22235
0e9e51ec 222362008-07-01 Pavel Roskin <proski@gnu.org>
22237
d89b7634 22238 * include/multiboot2.h (struct multiboot_tag_module): Use char,
22239 not unsigned char. This fixes warnings and is consistent with
22240 other tags.
22241
bf1835b1 22242 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
22243
8222a04b 22244 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
22245
6a42d99d 22246 * term/tparm.c (analyze): Always set *popcount.
22247
10b159d1 22248 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
22249 cast to fix a warning.
22250
b8789f6c 22251 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
22252 cast to suppress a warning.
22253
29d7e38a 22254 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
22255 grub_fshelp_read_file() expects.
22256
f341f669 22257 * fs/fat.c: Fix UUID calculation on big-endian systems. We
22258 write uuid as a 32-bit value in CPU byte order, so declare and
22259 use it as such.
22260
0e9e51ec 22261 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
22262 long if the format specifier expects it.
22263 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
22264 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22265 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
22266 long to fix a warning.
22267 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
22268 grub_dprintf() arguments to fix warnings.
22269
3aefa857 222702008-06-30 Pavel Roskin <proski@gnu.org>
22271
56c7668b 22272 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
22273 install_bsd_part immediately before core.img is embedded or
22274 modified on disk. This fixes core.img verification if core.img
22275 cannot be embedded.
22276
3aefa857 22277 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
22278 core_path to calculate the blocklist.
22279 Patch from Javier Martín <lordhabbit@gmail.com>
22280
5444088d 222812008-06-29 Robert Millan <rmh@aybabtu.com>
22282
22283 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
22284 block to disk block.
22285 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
22286 Patch from Niels Böhm <bitbucket@arcor.de>
22287
674835c8 222882008-06-29 Robert Millan <rmh@aybabtu.com>
22289
22290 * util/update-grub_lib.in (font_path): Search for fonts in
22291 /boot/grub first, which is more likely to be readable (we aren't
22292 deciding where fonts live, just looking for them).
22293
f527dbc8 222942008-06-26 Pavel Roskin <proski@gnu.org>
22295
6c2d8df6 22296 * util/biosdisk.c (read_device_map): Don't leave dead map
22297 entries for devices failing stat() check.
22298
f527dbc8 22299 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
22300 core_path_dev for the core.img path on the target device.
22301
aebe3d13 223022008-06-26 Robert Millan <rmh@aybabtu.com>
22303
22304 * disk/fs_uuid.c: New file.
22305 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
22306 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
22307 (fs_uuid_mod_LDFLAGS): New variables.
22308 * include/grub/disk.h (grub_disk_dev_id): Add
22309 `GRUB_DISK_DEVICE_UUID_ID'.
22310 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
22311 implement iterate().
22312
37aaf354 223132008-06-26 Robert Millan <rmh@aybabtu.com>
22314
22315 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
22316 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
22317 Linux image includes no initrd.
22318
25ff262a 223192008-06-21 Javier Martín <lordhabbit@gmail.com>
22320
22321 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
22322 call to resolve the core image location that effectively appended the
22323 name twice.
22324
76a2bd44 223252008-06-21 Robert Millan <rmh@aybabtu.com>
22326
22327 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
22328 call from here ...
22329
22330 * util/grub.d/10_hurd.in: ... to here ...
22331 * util/grub.d/10_linux.in: ... and here.
22332
650e1c79 223332008-06-19 Robert Millan <rmh@aybabtu.com>
22334
fe987087 22335 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 22336 after it has been set by grub_machine_set_prefix().
22337
6ce63911 223382008-06-19 Robert Millan <rmh@aybabtu.com>
22339
22340 * commands/search.c (search_label, search_fs_uuid, search_file): Print
22341 search result when not saving to variable, not the other way around.
22342 When saving to variable, abort iteration as soon as a match is found.
22343
73940cec 223442008-06-19 Robert Millan <rmh@aybabtu.com>
22345
22346 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
22347 check for partition that provides /boot/grub. Its logic is flawed,
22348 as it prevents prepare_grub_to_access_device() from being called
22349 multiple times.
22350
3c62a39d 223512008-06-19 Robert Millan <rmh@aybabtu.com>
22352
22353 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
22354 "insmod" command directly when abstraction modules are needed,
fe987087 22355 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 22356 since it had already been processed).
22357
47395a42 223582008-06-19 Pavel Roskin <proski@gnu.org>
22359
22360 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
22361 changed. This is needed in case GRUB_LIBDIR changes.
22362 * conf/i386-ieee1275.rmk: Likewise.
22363 * conf/i386-linuxbios.rmk: Likewise.
22364 * conf/i386-pc.rmk: Likewise.
22365 * conf/powerpc-ieee1275.rmk: Likewise.
22366
a145ac2d 223672008-06-18 Pavel Roskin <proski@gnu.org>
22368
22369 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
22370 kernel_elf_symlist.c to symlist.c for consistency with other
22371 architectures. Update all users.
22372 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22373
7847c51e 223742008-06-18 Robert Millan <rmh@aybabtu.com>
22375
22376 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
22377 it in prefix.
22378
22379 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
22380 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
22381 a RAID device, run setup() for all members independently on whether
22382 LVM abstraction is being used.
22383 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
22384 If grub-mkimage has set `*install_dos_part == -2', don't override this
22385 value.
22386 Perform *install_dos_part adjustments independently on whether
22387 we're embedding or not.
22388 Clarify error message when image is too big for embedding.
22389 Remove duplicate *install_dos_part stanza.
22390
b23e5644 223912008-06-17 Robert Millan <rmh@aybabtu.com>
22392
22393 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
22394 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
22395 variables.
22396 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
22397 values in grub_ofconsole_normal_color and
22398 grub_ofconsole_highlight_color (they're not directly related to
22399 background and foreground).
22400 (grub_ofconsole_setcolorstate): Extract background and foreground
22401 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
22402
0aac2f79 224032008-06-17 Robert Millan <rmh@aybabtu.com>
22404
22405 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
22406 /boot/grub for the check in last commit, not /boot (they could be
22407 different partitions).
22408
3cca7ef3 224092008-06-16 Robert Millan <rmh@aybabtu.com>
22410
22411 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
22412 asked to setup access for the same partition that provides /boot,
22413 don't bother using UUIDs since our root already has the value we
22414 want.
22415
347396d8 224162008-06-16 Robert Millan <rmh@aybabtu.com>
22417
22418 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
22419 I2O devices.
22420 Patch from Sven Mueller <sven@debian.org>.
22421
991477f8 224222008-06-16 Robert Millan <rmh@aybabtu.com>
22423
22424 * util/update-grub.in: Check for $EUID instead of $UID.
22425 Reported by Vincent Zweije.
22426
d31a32a1 224272008-06-16 Bean <bean123ch@gmail.com>
22428
fe987087 22429 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 22430 (grub_ext2_read_block): Likewise.
22431 (grub_ext2_read_inode): Likewise.
22432 (grub_ext2_mount): Likewise.
22433 (grub_ext2_close): Likewise.
22434 (grub_ext3_get_journal): Removed.
22435
fe987087 22436 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 22437 (grub_reiserfs_read_symlink): Likewise.
22438 (grub_reiserfs_mount): Likewise.
22439 (grub_reiserfs_open): Likewise.
22440 (grub_reiserfs_read): Likewise.
22441 (grub_reiserfs_close): Likewise.
22442 (grub_reiserfs_get_journal): Removed.
22443
22444 * fs/fshelp.c (grub_fshelp_read): Removed.
22445 (grub_fshelp_map_block): Likewise.
22446
22447 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
22448 (grub_fshelp_journal): Likewise.
22449 (grub_fshelp_read): Likewise.
22450 (grub_fshelp_map_block): Likewise.
22451
3540a760 224522008-06-16 Pavel Roskin <proski@gnu.org>
22453
22454 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
22455 floating point anymore.
22456 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
22457
95614c84 224582008-06-15 Pavel Roskin <proski@gnu.org>
22459
22460 * commands/ls.c (grub_ls_list_files): Use integer calculations
22461 for human readable format, avoid floating point use.
22462 * kern/misc.c (grub_ftoa): Remove.
22463 (grub_vsprintf): Remove floating point support.
22464
50465dd6 224652008-06-15 Robert Millan <rmh@aybabtu.com>
22466
fe6b695a 22467 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22468 devices.
22469 Reported by Max Vozeler.
22470
a9207284 224712008-06-15 Robert Millan <rmh@aybabtu.com>
22472
22473 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
22474 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
22475 skipped later.
22476 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
22477 the beginning of the prefix.
22478
22479 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
22480 It is assumed that if we have a memdisk, grub-mkimage has set
22481 grub_prefix to include the "(memdisk)" drive in it.
22482
a7cbd45a 224832008-06-15 Robert Millan <rmh@aybabtu.com>
22484
22485 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
22486 Initialize keyboard controller after registering the terminal, so that
22487 grub_printf() can be called from grub_keyboard_controller_init().
22488
21cf716a 224892008-06-15 Robert Millan <rmh@aybabtu.com>
22490
22491 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
22492 extent-btree which is written as big endian on disk.
22493 Reported by Alain Greppin <al@chilibi.org>.
22494
23a64d8e 224952008-06-14 Robert Millan <rmh@aybabtu.com>
22496
22497 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
22498 * util/i386/pc/grub-install.in (modules): Likewise.
22499
d687651c 225002008-06-13 Pavel Roskin <proski@gnu.org>
22501
22502 * commands/ls.c (grub_ls_list_files): Fix format warnings.
22503
dfe9ddd4 225042008-06-13 Bean <bean123ch@gmail.com>
22505
22506 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22507
22508 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22509
22510 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22511 to indicate sparse block.
22512
16ae7781 225132008-06-12 Pavel Roskin <proski@gnu.org>
22514
e6d1a308 22515 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22516 number, grub_fshelp_read() does it for us.
22517
16ae7781 22518 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22519 linear disk read with journal translation.
22520 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22521 * include/grub/fshelp.h: Declare grub_fshelp_read().
22522
40fd3a2b 225232008-06-09 Pavel Roskin <proski@gnu.org>
22524
22525 * fs/minix.c (grub_minix_mount): Handle error reading
22526 superblock.
22527
f5679726 225282008-06-08 Robert Millan <rmh@aybabtu.com>
22529
22530 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22531 don't append the RAID prefix afterwards.
22532 Reported by Clint Adams.
22533
ce525529 225342008-06-08 Robert Millan <rmh@aybabtu.com>
22535
22536 Based on description from Pavel:
22537 * kern/disk.c (grub_disk_check_range): Rename to ...
22538 (grub_disk_adjust_range): ... this. Add a comment explaining the
22539 tasks performed by this function.
22540
ad4936a0 225412008-06-08 Robert Millan <rmh@aybabtu.com>
22542
22543 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22544 `num_serial' (for consistency with other variables).
22545 (struct grub_ntfs_data): Add `uuid' member.
22546 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22547 (grub_ntfs_uuid): New function.
22548 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22549
dc20b0f9 225502008-06-07 Pavel Roskin <proski@gnu.org>
22551
22552 * util/biosdisk.c (open_device): Revert last change to the
22553 function, it broke installation. The sector needs to be
22554 different dependent on which device is opened.
22555
c5e3cfba 225562008-06-06 Robert Millan <rmh@aybabtu.com>
22557
22558 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22559 rest of GRUB, and breakage doesn't happen if its value were modified.
22560
22561 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22562 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22563 a constant (same value).
22564 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22565 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22566
26a1f8c4 225672008-06-06 Robert Millan <rmh@aybabtu.com>
22568
22569 * util/biosdisk.c (open_device): Do not modify sector offset when
22570 accessing a partition. kern/disk.c already handles this for us.
22571
25d6b327 225722008-06-06 Robert Millan <rmh@aybabtu.com>
22573
22574 * util/grub-emu.c (grub_machine_init): Move code in this function from
22575 here ...
22576 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22577 segfault in case grub_printf() is called).
22578
22579 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22580 grub_probe. Update all users not to explicitly add it again.
22581 (grub_device): New variable; contains corresponding device for grubdir.
22582 (fs_module, partmap_module, devabstraction_module): Pass
22583 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22584 every time.
22585
9ece62fb 225862008-06-05 Robert Millan <rmh@aybabtu.com>
22587
22588 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22589 is found, print it (same layout as with labels).
22590
1ad36d37 225912008-06-04 Robert Millan <rmh@aybabtu.com>
22592
22593 * util/biosdisk.c (get_drive): Rename to ...
22594 (find_grub_drive): ... this. Update all users.
22595
22596 (get_os_disk): Rename to ...
22597 (convert_system_partition_to_system_disk): ... this. Update all users.
22598
22599 (find_drive): Rename to ...
22600 (find_system_device): ... this. Update all users.
22601
e6a30859 226022008-06-04 Robert Millan <rmh@aybabtu.com>
22603
22604 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22605 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22606 (make_device_map): Likewise.
22607
00c108a4 226082008-06-01 Robert Millan <rmh@aybabtu.com>
22609
22610 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22611 before dereferencing it.
22612
22613 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22614 union with fat12/fat16-specific ones. Add some new fields, including
22615 `num_serial' for both versions.
22616 (struct grub_fat_data): Add `uuid' member.
22617 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22618 names. Initialize `data->uuid' using `num_serial'.
22619 (grub_fat_uuid): New function.
22620 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22621
22622 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22623 (grub_reiserfs_uuid): New function.
22624 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22625 member.
22626
22627 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22628 (grub_xfs_uuid): New function.
22629 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22630
1385c5bb 226312008-06-01 Robert Millan <rmh@aybabtu.com>
22632
22633 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22634 code that is backward compatible with pre-uuid search command.
22635
c682dfd7 226362008-05-31 Robert Millan <rmh@aybabtu.com>
22637
22638 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22639 floppies after everything else, to ensure floppy drive isn't accessed
22640 unnecessarily (patch from Bean).
22641
b7db5d47 226422008-05-31 Robert Millan <rmh@aybabtu.com>
22643
22644 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22645 not print device names when we were asked to set a variable.
22646
6e037aa9 226472008-05-31 Robert Millan <rmh@aybabtu.com>
22648
22649 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22650 using "cursor-on" and "cursor-off" commands (understood at least by
22651 the Open Firmware flavour on OLPC).
22652
41305bc8 226532008-05-31 Michael Gorven <michael@gorven.za.net>
22654
22655 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22656 on and off sequences.
22657
69ba137e 226582008-05-31 Robert Millan <rmh@aybabtu.com>
22659
22660 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22661 * util/update-grub.in: Likewise.
22662
520ae21b 226632008-05-30 Pavel Roskin <proski@gnu.org>
22664
22665 * util/biosdisk.c (linux_find_partition): Simplify logic and
22666 make the code more universal. Keep special processing for
22667 devfs, but use a simple rule for all other devices. If the
22668 device ends with a number, append 'p' and the partition number.
22669 Otherwise, append only the partition number.
22670
5786569b 226712008-05-30 Robert Millan <rmh@aybabtu.com>
22672
22673 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22674 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22675 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22676 the `root' parameter to Linux.
22677
51500452 226782008-05-30 Robert Millan <rmh@aybabtu.com>
22679
22680 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22681 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22682 --fs_uuid with --fs-uuid.
22683 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22684 all filesystems support them).
22685
811d3878 226862008-05-30 Robert Millan <rmh@aybabtu.com>
22687
22688 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 22689 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 22690
cab63c95 226912008-05-30 Robert Millan <rmh@aybabtu.com>
22692
22693 * util/grub.d/00_header.in: Remove obsolete comment referencing
22694 convert_system_path_to_grub_path().
22695 * util/update-grub.in: Likewise.
22696 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22697 (convert_system_path_to_grub_path): Add a warning message explaining
22698 that this function is deprecated. Rely on is_path_readable_by_grub()
22699 for the readability checks.
22700 (font_path): Use is_path_readable_by_grub() for the readability
22701 check rather than convert_system_path_to_grub_path().
22702
972e2f7a 227032008-05-30 Robert Millan <rmh@aybabtu.com>
22704
22705 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22706 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22707 converting it first.
22708 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22709 grub.cfg for access to font file, and afterwards call it again to set
22710 the root device.
22711
62191274 227122008-05-30 Robert Millan <rmh@aybabtu.com>
22713
22714 * commands/search.c (options): Add --fs_uuid option.
22715 (search_fs_uuid): New function.
22716 (grub_cmd_search): Fix --set argument passing.
22717 Use search_fs_uuid() when requested via --fs_uuid.
22718 (grub_search_init): Update help message.
22719 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22720 and redeclare it as an array of 16-bit words.
22721 (grub_ext2_uuid): New function.
22722 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22723 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22724 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22725 (GRUB_DEVICE_BOOT_UUID): New variables.
22726 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22727 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22728 whenever possible.
22729 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22730 just assume `root' variable has the right value.
22731 * util/grub.d/10_linux.in: Likewise.
22732 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22733 via PRINT_FS_UUID.
22734 (main): Recognise `-t fs_uuid' argument.
22735
01b73ec8 227362008-05-30 Robert Millan <rmh@aybabtu.com>
22737
22738 * util/biosdisk.c (map): Redefine structure to hold information
22739 about GRUB drive name.
fe6b695a 22740 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 22741 drive names.
22742 (call_hook): Remove.
22743 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22744 member. Assume drive has partitions.
22745 (grub_util_biosdisk_open): Access device names via `.device' struct
22746 member.
22747 (open_device): Likewise.
22748 (find_drive): Likewise.
22749 (read_device_map): Adjust map[] usage to match the new struct
22750 definition. Don't check for duplicates (still possible, but not cheap
22751 anymore).
22752 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22753 (make_device_name): Remove assumption of BIOS-like drive names.
22754
22f16596 227552008-05-30 Pavel Roskin <proski@gnu.org>
22756
22757 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22758 compiling execute.c doesn't need grub_script.tab.h anymore.
22759 (normal/command.c_DEPENDENCIES): Likewise.
22760 (normal/function.c_DEPENDENCIES): Likewise.
22761 * conf/i386-ieee1275.rmk: Likewise.
22762 * conf/i386-linuxbios.rmk: Likewise.
22763 * conf/i386-pc.rmk: Likewise.
22764 * conf/powerpc-ieee1275.rmk: Likewise.
22765 * conf/sparc64-ieee1275.rmk: Likewise.
22766
528ad8f2 227672008-05-29 Pavel Roskin <proski@gnu.org>
22768
d1dff95d 22769 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22770 when scanning metadata for volume group name.
22771
528ad8f2 22772 * include/grub/script.h: Don't include grub_script.tab.h. It's
22773 a generated file, which may only be included from the files with
22774 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22775 use union YYSTYPE, as the later allows forward declaration.
22776 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22777
47248e08 227782008-05-29 Robert Millan <rmh@aybabtu.com>
22779
22780 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22781 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22782 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22783 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22784 scan codes.
22785
ee632529 227862008-05-29 Robert Millan <rmh@aybabtu.com>
22787
22788 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22789 control key combinations.
22790
eee96e08 227912008-05-29 Robert Millan <rmh@aybabtu.com>
22792
22793 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22794 * util/ieee1275/grub-install.in: ... to here.
22795 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22796 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22797 (grub_install_SOURCES): Likewise.
22798
da9a6a94 227992008-05-29 Robert Millan <rmh@aybabtu.com>
22800
22801 * fs/affs.c: Update copyright year.
22802 * fs/ext2.c: Likewise.
22803 * fs/fshelp.c: Likewise.
22804 * fs/hfsplus.c: Likewise.
22805 * fs/ntfs.c: Likewise.
22806 * fs/xfs.c: Likewise.
22807 * include/grub/fshelp.h: Likewise.
22808 * util/grub-mkdevicemap.c: Likewise.
22809
12e65f3a 228102008-05-28 Robert Millan <rmh@aybabtu.com>
22811
22812 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22813 might need to be fatfs to support some firmware implementations
22814 (e.g. OFW or EFI).
22815
23023641 228162008-05-28 Robert Millan <rmh@aybabtu.com>
22817
22818 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22819 devices.
22820 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22821 (make_device_map): Likewise.
22822
887d2619 228232008-05-20 Bean <bean123ch@gmail.com>
22824
22825 * fs/fshelp.c (grub_fshelp_map_block): New function.
22826 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22827 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22828
22829 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22830 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22831 (grub_fshelp_journal): New structure.
22832 (grub_fshelp_map_block): New function prototype.
22833 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22834 (grub_fshelp_map_block): Likewise.
22835
22836 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22837 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22838 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22839 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22840 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22841 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22842 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22843 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22844 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22845 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22846 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22847 (grub_ext2_sblock): New members for journal support.
22848 (grub_ext3_journal_header): New structure.
22849 (grub_ext3_journal_revoke_header): Likewise.
22850 (grub_ext3_journal_block_tag): Likewise.
22851 (grub_ext3_journal_sblock): Likewise.
22852 (grub_fshelp_node): New members logfile and journal.
22853 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22854 grub_fshelp_map_block to get real block number.
22855 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22856 number.
22857 (grub_ext2_read_inode): Likewise.
22858 (grub_ext3_get_journal): New function.
22859 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22860 (grub_ext2_close): Release memory used by journal.
22861
22862 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22863 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22864 (grub_reiserfs_transaction_header): Renamed to
22865 grub_reiserfs_description_block, replace field data with real_blocks.
22866 (grub_reiserfs_commit_block): New structure.
22867 (grub_reiserfs_data): New member journal.
22868 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22869 number.
22870 (grub_reiserfs_read_symlink): Likewise.
22871 (grub_reiserfs_iterate_dir): Likewise.
22872 (grub_reiserfs_open): Likewise.
22873 (grub_reiserfs_read): Likewise.
22874 (grub_reiserfs_get_journal): New function.
22875 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22876 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22877 using grub_reiserfs_get_journal.
22878 (grub_reiserfs_close): Release memory used by journal.
22879
22880 * fs/affs.c (grub_affs_read_block): Change block type to
22881 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22882
22883 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22884
22885 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22886
22887 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22888
22889 * fs/udf.c (grub_udf_read_block): Change block type to
22890 grub_disk_addr_t. Use type cast to avoid warning.
22891
22892 * fs/xfs.c (grub_xfs_read_block): Likewise.
22893
b7c6bed5 228942008-05-16 Christian Franke <franke@computer.org>
22895
22896 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22897 to ensure that break with ESC will always work.
22898 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22899 Remove ESC from keyboard queue.
22900
eedf167f 229012008-05-16 Christian Franke <franke@computer.org>
22902
22903 * util/biosdisk.c: [__CYGWIN__] Add includes.
22904 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22905 (get_os_disk): Move variable declarations to OS specific
22906 parts to avoid warning.
22907 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22908 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22909 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22910 Cygwin.
22911 * util/getroot.c: [__CYGWIN__] Add includes.
22912 (strip_extra_slashes): Fix "/" case.
22913 [__CYGWIN__] (get_win32_path): New function.
22914 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22915 [__CYGWIN__] (find_root_device): Disable.
22916 [__CYGWIN__] (get_bootsec_serial): New function.
22917 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22918 [__linux__] (grub_guess_root_device): Add early returns to simplify
22919 structure.
22920 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
22921 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
22922 check for Linux only.
22923
a079699e 229242008-05-15 Bean <bean123ch@gmail.com>
22925
22926 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
22927 keyboard hang problem in apple's intel mac.
22928
1cf4059a 229292008-05-09 Robert Millan <rmh@aybabtu.com>
22930
22931 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
22932 devices.
22933 * util/grub-mkdevicemap.c (get_virtio_disk_name)
22934 (make_device_map): Likewise.
22935 Reported by Aurelien Jarno <aurel32@debian.org>
22936
ed759390 229372008-05-07 Ian Campbell <ijc@hellion.org.uk>
22938
22939 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
22940 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
22941 (make_device_map): Output entries for xvd type disks.
22942
b56c4eaa 229432008-05-07 Robert Millan <rmh@aybabtu.com>
22944
22945 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
22946 devices.
22947 * util/grub-mkdevicemap.c (get_cciss_disk_name)
22948 (make_device_map): Likewise.
22949 Reported by Roland Dreier <rdreier@cisco.com>
22950
7f8866ed 229512008-05-07 Robert Millan <rmh@aybabtu.com>
22952
22953 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
22954 grub_strstr() call. Correct a few mistakes in failure path handling.
22955
b0346e0f 229562008-05-06 Robert Millan <rmh@aybabtu.com>
22957
22958 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
22959 Do not print a trailing slash (therefore, the root directory is an
22960 empty string).
22961 (convert_system_path_to_grub_path): Do not remove trailing slash
22962 from make_system_path_relative_to_its_root() output.
22963
22964 * util/i386/pc/grub-install.in: Add trailing slash to output from
22965 make_system_path_relative_to_its_root().
22966
6cf12cbd 229672008-05-06 Robert Millan <rmh@aybabtu.com>
22968
22969 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
22970 ensures that output lines aren't intermangled with those sent to
22971 stderr (via grub_util_info()).
22972 * util/grub-probe.c (grub_refresh): Likewise.
22973 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
22974
0fbb3117 229752008-05-05 Christian Franke <franke@computer.org>
22976
22977 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
22978 Add Cygwin device names.
22979 (get_ide_disk_name) [__CYGWIN__]: Likewise.
22980 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
22981 (check_device): Return error instead of success on empty name.
22982 (make_device_map): Move label inside linux specific code to
22983 prevent compiler warning.
22984
8124cdb7 229852008-04-30 Robert Millan <rmh@aybabtu.com>
22986
22987 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
22988 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
22989 first boot option.
22990 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
22991
094c01d0 229922008-04-29 Robert Millan <rmh@aybabtu.com>
22993
22994 * docs/grub.cfg: New file (example GRUB configuration).
22995
f4b1fc02 229962008-04-26 Robert Millan <rmh@aybabtu.com>
22997
329ce2a5 22998 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
22999 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
23000 and `disk/ieee1275/nand.c'.
f4b1fc02 23001
25f16ec1 230022008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 23003
25f16ec1 23004 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
23005 i386-linuxbios.
23006
23007 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
23008 change the buffer size to 4096 for cdrom device.
23009
23010 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
23011 and nand.mod.
23012 (_linux_mod_SOURCES): New variable.
23013 (_linux_mod_CFLAGS): Likewise.
23014 (_linux_mod_LDFLAGS): Likewise.
23015 (linux_mod_SOURCES): Likewise.
23016 (linux_mod_CFLAGS): Likewise.
23017 (linux_mod_LDFLAGS): Likewise.
23018 (nand_mod_SOURCES): Likewise.
23019 (nand_mod_CFLAGS): Likewise.
23020 (nand_mod_LDFLAGS): Likewise.
23021
23022 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
23023 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
23024 type property. (nand device in olpc don't have this property)
23025
23026 * include/grub/disk.h (grub_disk_dev_id): New macro
23027 GRUB_DISK_DEVICE_NAND_ID.
23028
23029 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
23030 function prototype.
23031 (grub_rescue_cmd_initrd): Likewise.
23032
23033 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
23034 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
23035 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 23036
25f16ec1 23037 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
23038 GRUB_MACHINE_IEEE1275 is defined.
23039
23040 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
23041 Use NESTED_FUNC_ATTR attribute on the hook parameter.
23042
23043 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
23044 on nested function heap_init.
23045 (grub_upper_mem): New variable for i386-ieee1275.
23046 (grub_get_extended_memory): New function for i386-ieee1275.
23047 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
23048
23049 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
23050 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
23051 property.
f19dbdb7 23052
25f16ec1 23053 * loader/i386/ieee1275/linux.c: New file.
23054
23055 * loader/i386/ieee1275/linux_normal.c: New file.
23056
23057 * disk/ieee1275/nand.c: New file.
23058
e89d61e9 230592008-04-18 Thomas Schwinge <tschwinge@gnu.org>
23060
23061 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
23062 value.
23063 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
23064
602566f6 230652008-04-18 Robert Millan <rmh@aybabtu.com>
23066
23067 Restructures early code path on ieee1275 to unify grub_main() as
23068 the first C function that is executed in every platform.
23069
23070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
23071 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
23072 cmain().
23073 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
23074 * kern/ieee1275/cmain.c (cmain): Rename to ...
23075 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
23076 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
23077 at the beginning.
23078
57490c2b 230792008-04-18 Robert Millan <rmh@aybabtu.com>
23080
23081 * util/update-grub.in: Fix syntax error when setting
23082 `GRUB_PRELOAD_MODULES'.
23083 Reported by Stephane Chazelas <stephane@artesyncp.com>
23084
1977517d 230852008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
23086
23087 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
23088 section into account, newer toolchains generate unique build ids
23089 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 23090 we want build ids to be preserved
1977517d 23091 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
23092 far from other sections don't cause the raw binary images grow
23093 size
23094
bfb1f1a2 230952008-04-15 Robert Millan <rmh@aybabtu.com>
23096
23097 * disk/lvm.c: Update copyright year.
23098 * kern/misc.c: Likewise.
23099
01979850 231002008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23101
23102 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 23103 there is no memory left for physical volume name.
01979850 23104
0a1150e2 231052008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23106
23107 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
23108 volume name mapping to support bigger than 9 character names properly.
23109
82ead3fe 231102008-04-13 Robert Millan <rmh@aybabtu.com>
23111
23112 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
23113 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
23114
e54a72f5 231152008-04-13 Christian Franke <franke@computer.org>
23116
23117 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
23118 to create a floppy emulation boot CD when non emulation mode
23119 does not work.
23120 Enable Joliet CD filesystem extension.
23121
9fe86034 231222008-04-13 Robert Millan <rmh@aybabtu.com>
23123
23124 * kern/misc.c (grub_strncat): Fix off-by-one error.
23125 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
23126
23127 * kern/env.c (grub_env_context_close): Clear current context, not
23128 previous one.
23129 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
23130
23131 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
23132
7ceeee39 231332008-04-13 Robert Millan <rmh@aybabtu.com>
23134
23135 Improve robustness when handling LVM.
23136
23137 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 23138 (and leave `*p' unmodified).
7ceeee39 23139 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
23140 through it.
23141 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
23142 iterating through it.
23143 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
23144 through it.
fe6b695a 23145 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 23146 when due) on each grub_lvm_getvalue() or grub_strstr() call.
23147 Don't assume `vg->pvs != NULL' when iterating through it.
23148
58cd3d85 231492008-04-13 Robert Millan <rmh@aybabtu.com>
23150
23151 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
23152 * genmk.rb (partmap): New variable.
23153 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
23154 (#{partmap}): New target rule.
23155 * genpartmaplist.sh: New file.
23156 * Makefile.in (pkglib_DATA): Add partmap.lst.
23157 (partmap.lst): New target rule.
23158 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
23159 modules (including all partition maps), instead of preloading them.
23160
78b51059 231612007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
23162
23163 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
23164 `linux-boot-prober' (if installed) to detect other operating
23165 systems which are installed on the computer and add them to
23166 the boot menu.
23167 * conf/common.rmk: Build and install 30_os-prober.
23168
a91627b4 231692008-04-12 Robert Millan <rmh@aybabtu.com>
23170
23171 * kern/powerpc/ieee1275/init.c: Move from here ...
23172 * kern/ieee1275/init.c: ... to here. Update all users.
23173
23174 * kern/powerpc/ieee1275/cmain.c: Move from here ...
23175 * kern/ieee1275/cmain.c: ... to here. Update all users.
23176
23177 * kern/powerpc/ieee1275/openfw.c: Move from here ...
23178 * kern/ieee1275/openfw.c: ... to here. Update all users.
23179
23180 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
23181 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
23182
322562ea 231832008-04-10 Pavel Roskin <proski@gnu.org>
23184
23185 * configure.ac: Always use "_cv_" in cache variables for
23186 compatibility with Autoconf 2.62.
23187
a02a73c5 231882008-04-07 Robert Millan <rmh@aybabtu.com>
23189
23190 Revert grub/machine/init.h addition by Pavel (since it breaks on
23191 i386-ieee1275 and others):
23192 * util/i386/pc/misc.c: Remove grub/machine/init.h.
23193 * util/powerpc/ieee1275/misc.c: Likewise.
23194
25c024b1 231952008-04-07 Robert Millan <rmh@aybabtu.com>
23196
23197 * util/grub-probe.c (probe): Improve error message.
23198
3cbd2f98 231992008-04-07 Robert Millan <rmh@aybabtu.com>
23200
23201 * util/biosdisk.c (read_device_map): Skip devices that don't exist
23202 (this prevents the presence of a bogus entry from ruining the whole
23203 thing).
23204
87a297bf 232052008-04-06 Pavel Roskin <proski@gnu.org>
23206
36747a62 23207 * util/biosdisk.c: Include grub/util/biosdisk.h.
23208 * util/grub-fstest.c (execute_command): Make static.
23209 * util/grub-mkdevicemap.c (check_device): Likewise.
23210 * util/i386/pc/misc.c: Include grub/machine/init.h.
23211 * util/powerpc/ieee1275/misc.c: Likewise.
23212 * util/lvm.c: Include grub/util/lvm.h.
23213 * util/misc.c: Include grub/kernel.h, grub/misc.h and
23214 grub/cache.h.
23215 * util/raid.c: Include grub/util/raid.h.
23216 (grub_util_getdiskname): Make static.
23217
87a297bf 23218 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
23219 grub_hostfs_fini(), as they are called from grub_init_all() and
23220 grub_fini_all() respectively. This fixes an infinite loop in
23221 grub-fstest due to double registration of hostfs.
23222 Reported by Christian Franke <Christian.Franke@t-online.de>
23223
f6ce7629 232242008-04-05 Pavel Roskin <proski@gnu.org>
23225
23226 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
23227 all 8 functions. Otherwise, probe function 0 only.
23228
070e49e4 232292008-04-04 Pavel Roskin <proski@gnu.org>
23230
8b088a4c 23231 * commands/lspci.c (grub_lspci_iter): Print the bus number
23232 correctly.
23233
4f657021 23234 * commands/lspci.c (grub_pci_classes): Fix typos.
23235 (grub_lspci_iter): Don't print func twice. Print vendor ID
23236 before device ID, as it's normally done.
23237
070e49e4 23238 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23239 Fix signedness warnings.
23240 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
23241 Likewise.
23242 * util/ieee1275/get_disk_name.c: Include config.h so that
23243 _GNU_SOURCE is defined and getline() is declared. Mark an
23244 unused argument as such. Fix a signedness warning.
23245
ba7328dc 232462008-04-02 Pavel Roskin <proski@gnu.org>
23247
26887f22 23248 * genkernsyms.sh.in: Use more robust assignments for CC and
23249 srcdir. Quote srcdir.
23250 * gensymlist.sh.in: Likewise. Assert at the compile time that
23251 the symbol table is not empty.
23252
ba7328dc 23253 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
23254 * fs/cpio.c (grub_cpio_read): Likewise.
23255
0f582c6b 232562008-04-01 Pavel Roskin <proski@gnu.org>
23257
4b6e1995 23258 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
23259 * disk/host.c (grub_host_open): Likewise.
23260 * disk/loopback.c (grub_loopback_open): Likewise.
23261 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
23262 disk->id as in disk/host.c, not a multi-character constant.
23263
828a2768 23264 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
23265 later is obsolete, potentially dangerous and sets a bad example.
23266 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
23267 * util/misc.c (grub_util_get_image_size): Likewise.
23268
2bb4fb47 23269 * disk/loopback.c (options): Improve help for "--partitions".
23270
0f582c6b 23271 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
23272 options to align them with the short options, e.g. "echo -e".
23273
a33224e0 232742008-03-31 Bean <bean123ch@gmail.com>
23275
23276 * video/reader/png.c (grub_png_data): New member is_16bit and
23277 image_data.
23278 (grub_png_decode_image_header): Detect 16 bit png image.
23279 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
23280 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
23281 (grub_video_reader_png): Release memory occupied by image_data.
23282
23283 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
23284 4096 bytes.
23285 (grub_nfs_mount): Skip the test for sector per cluster.
23286
23287 * include/grub/ntfs.h (MAX_SPC): Removed.
23288
86cb4f54 232892008-03-31 Bean <bean123ch@gmail.com>
23290
23291 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
23292 (grub_probe_SOURCES): Add fs/afs.c.
23293 (grub_fstest_SOURCES): Likewise.
23294 (afs_mod_SOURCES): New variable.
23295 (afs_mod_CFLAGS): Likewise.
23296 (afs_mod_LDFLAGS): Likewise.
23297
23298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
23299 (grub_emu_SOURCES): Likewise.
23300
23301 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23302
23303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23304
23305 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23306
23307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23308
23309 * fs/afs.c: New file.
23310
17c74c21 233112008-03-30 Pavel Roskin <proski@gnu.org>
23312
4cb68e89 23313 * disk/host.c: Include grub/misc.h to fix a warning.
23314 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
23315 warnings about implicit declarations.
23316
8790bb04 23317 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
23318 variable.
23319 * include/grub/i386/loader.h: Change declaration of
23320 grub_linux_boot() to match what grub_loader_set() expects.
23321 * util/getroot.c (grub_guess_root_device): Return const char* to
23322 fix a warning.
23323 * util/grub-probe.c (probe): Fix a warning about uninitialized
23324 abstraction_name variable.
23325 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
23326 second argument as unused to fix a warning.
23327
9a3f3296 23328 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
23329 missing grub_error() call.
23330
0ecef90d 23331 * util/update-grub_lib.in: Define datarootdir, since Autoconf
23332 2.60 and newer uses it to define datadir.
23333
0bf6d401 23334 * commands/sleep.c: Fix warning about implicit declaration.
23335 * disk/memdisk.c: Likewise.
23336 * loader/aout.c: Likewise.
23337 * loader/i386/bsd_normal.c: Likewise.
23338 * util/grub-probe.c: Likewise.
23339
7cdacf97 23340 * commands/i386/cpuid.c (has_longmode): Make static.
23341 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
23342 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
23343
17c74c21 23344 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
23345 GDT. This is more robust, as %ds can change.
23346 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
23347 calling real_to_prot().
23348 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
23349
80a3e68b 233502008-03-28 Pavel Roskin <proski@gnu.org>
23351
23352 * kern/i386/pc/startup.S: Assert that uncompressed functions
23353 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
23354 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
23355 code, as they push parts of the code (error handlers) beyond
23356 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
23357 code as correctness and size.
23358
77bcd272 233592008-03-28 Pavel Roskin <proski@gnu.org>
23360
23361 * kern/i386/pc/startup.S
23362 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
23363 data block address to the real mode, keep offset minimal. This
23364 works around a bug in AWARD BIOS on old Athlon systems, which
23365 makes CD detection hang.
23366
c5dfd43b 233672008-03-26 Pavel Roskin <proski@gnu.org>
23368
23369 * normal/color.c (grub_parse_color_name_pair): Make `name' a
23370 const.
23371 * include/grub/normal.h: Add grub_parse_color_name_pair()
23372 declaration.
23373
bf962df2 233742008-03-24 Bean <bean123ch@gmail.com>
23375
23376 * disk/i386/pc/biosdisk.c (cd_start): Removed.
23377 (cd_count): Removed.
23378 (cd_drive): New variable.
23379 (grub_biosdisk_get_drive): Don't check for (cdN) device.
23380 (grub_biosdisk_call_hook): Likewise.
23381 (grub_biosdisk_iterate): Change cdrom detection method.
23382 (grub_biosdisk_open): Replace cd_start with cd_drive.
23383 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
23384 detect cdrom device.
23385
23386 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
23387 Removed.
23388 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
23389 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
23390 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
23391 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
23392 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
23393 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
23394 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
23395 (grub_biosdisk_cdrp): New structure.
23396 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
23397
23398 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
23399
23400 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
23401 device.
23402
23403 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
23404 New function.
23405
68e7fc7a 234062008-03-20 Robert Millan <rmh@aybabtu.com>
23407
23408 Remove 2 TiB limit in ata.mod.
23409 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
23410 (grub_ata_dumpinfo): Print sector count with 0x%llx.
23411 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
23412 grub_uint64_t instead of grub_uint32_t.
23413
38ad2cf5 234142008-03-05 Bean <bean123ch@gmail.com>
23415
23416 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
23417 (grub_multiboot): Set boot device.
23418
23419 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
23420
2b89344e 234212008-03-02 Bean <bean123ch@gmail.com>
23422
23423 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
23424 symlink_buffer.
23425
87a95d1f 234262008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
23427
23428 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
23429 texinfo.tex.
23430
23431 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
23432 modified.
23433
23434 * docs/fdl.texi: New file.
f19dbdb7 23435
87a95d1f 23436 * docs/mdate-sh: New file. Copied from gnulib.
23437 * docs/texinfo.tex: Likewise.
23438
23439 * config.guess: Updated from gnulib.
23440 * install-sh: Likewise.
23441
7dc15d8e 234422008-02-28 Robert Millan <rmh@aybabtu.com>
23443
23444 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
23445 (aout_mod_SOURCES): New variable.
23446 (aout_mod_CFLAGS): Likewise.
23447 (aout_mod_LDFLAGS): Likewise.
23448
23449 * conf/i386-ieee1275.rmk: Likewise.
23450
b00ab696 234512008-02-28 Robert Millan <rmh@aybabtu.com>
23452
23453 * util/update-grub.in: Reorganise terminal validity check. Accept
23454 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
23455 Based on suggestion by Franklin PIAT.
23456
79ca2d78 234572008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
23458
23459 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
23460 function.
23461 * util/getroot.c (grub_util_check_block_device): New function that
23462 returns the given argument if it is a block device and returns NULL else.
23463 * util/grub-probe.c (argument_is_device): New variable.
23464 (probe): Promote device_name from a variable to an argument. Receive
23465 device_name from grub_util_check_block_device() if path is NULL and from
23466 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23467 (options): Introduce new parameter '-d, --device'.
79ca2d78 23468 (main): Add description of the new parameter to the help screen.
23469 Rename path variable to argument. Set argument_is_device if the '-d'
23470 option is given. Pass argument to probe() depending on
23471 argument_is_device.
23472
0d16e571 234732008-02-24 Bean <bean123ch@gmail.com>
23474
23475 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
23476 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
23477 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
23478 (GRUB_ISO9660_VOLDESC_PART): Likewise.
23479 (GRUB_ISO9660_VOLDESC_END): Likewise.
23480 (grub_iso9660_primary_voldesc): New member escape.
23481 (grub_iso9660_data): New member joliet.
23482 (grub_iso9660_convert_string): New function.
23483 (grub_iso9660_mount): Detect joliet extension.
23484 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
23485 (grub_iso9660_iso9660_label): Likewise.
23486
23487 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
23488 (grub_setup_SOURCES): Add fs/udf.c.
23489 (grub_fstest_SOURCES): Likewise.
23490 (udf_mod_SOURCES): New variable.
23491 (udf_mod_CFLAGS): Likewise.
23492 (udf_mod_LDFLAGS): Likewise.
23493
23494 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
23495 (grub_emu_SOURCES): Likewise.
23496
23497 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23498
23499 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23500
23501 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23502
23503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23504
23505 * fs/udf.c: New file.
23506
8a594a17 235072008-02-24 Robert Millan <rmh@aybabtu.com>
23508
23509 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23510 (normal/lexer.c_DEPENDENCIES): New variables.
23511 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23512 (normal/lexer.c_DEPENDENCIES): Likewise.
23513 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23514 (normal/lexer.c_DEPENDENCIES): Likewise.
23515 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23516 (normal/lexer.c_DEPENDENCIES): Likewise.
23517 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23518 (normal/lexer.c_DEPENDENCIES): Likewise.
23519 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23520 (normal/lexer.c_DEPENDENCIES): Likewise.
23521
2dc33c03 235222008-02-23 Robert Millan <rmh@aybabtu.com>
23523
23524 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23525 since they were intended to be in hex. This didn't break previously
23526 because of a bug in gpt_partition_map_iterate() (see below).
23527
23528 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23529 when checking the validity of GPT header.
23530 Remove `partno', since it always provides the same information as `i'.
23531
f6f4cfb0 235322008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23533
23534 * include/grub/efi/time.h: Fix a wrong comment.
23535
79ff665f 235362008-02-19 Pavel Roskin <proski@gnu.org>
23537
23538 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23539 message.
23540
d38e24c2 235412008-02-19 Bean <bean123ch@gmail.com>
23542
23543 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23544 (aout_mod_SOURCES): New variable.
23545 (aout_mod_CFLAGS): Likewise.
23546 (aout_mod_LDFLAGS): Likewise.
23547 (_bsd_mod_SOURCES): New variable.
23548 (_bsd_mod_CFLAGS): Likewise.
23549 (_bsd_mod_LDFLAGS): Likewise.
23550 (bsd_mod_SOURCES): New variable.
23551 (bsd_mod_CFLAGS): Likewise.
23552 (bsd_mod_LDFLAGS): Likewise.
23553
23554 * include/grub/aout.h: New file.
23555
23556 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23557
23558 * include/grub/i386/bsd.h: New file.
23559
23560 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23561 to make it public.
23562
23563 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23564 function is called, so that it's possible to change it inside the hook.
23565 (grub_elf64_load): Likewise.
23566 (grub_elf_file): Don't close the file if elf header is not found.
23567 (grub_elf_close): Close the file if grub_elf_file fails (The new
23568 grub_elf_file won't close it).
23569 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23570 (grub_elf64_size): Likewise.
23571
23572 * kern/i386/loader.S (grub_unix_real_boot): New function.
23573
23574 * loader/aout.c: New file.
23575
23576 * loader/i386/bsd.c: New file.
23577
23578 * loader/i386/bsd_normal.c: New file.
23579
23580 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23581
23582 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23583 can test other formats.
d38e24c2 23584
b93bdb0f 235852008-02-19 Robert Millan <rmh@aybabtu.com>
23586
23587 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23588 (grub_gpt_partition_type_empty): Redefine with macro from
23589 `<grub/gpt_partition.h>'.
23590 (gpt_partition_map_iterate): Adjust partition type comparison.
23591
23592 Export `entry' as partmap-specific `part.data' struct.
23593 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23594
23595 * include/grub/gpt_partition.h (grub_gpt_header)
23596 (grub_gpt_partentry): ... to here (new file).
23597
23598 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23599
23600 (grub_gpt_partition_type_bios_boot): New const variable, defined
23601 with macro from `<grub/gpt_partition.h>'.
23602
23603 (setup): Replace `first_start' with `embed_region', which keeps
23604 track of the embed region (and is partmap-agnostic).
23605
23606 Replace find_first_partition_start() with find_usable_region(),
23607 which finds a usable region for embedding using partmap-specific
23608 knowledge (supports PC/MSDOS and GPT).
23609
23610 Fix all assumptions that the embed region start at sector 1, using
23611 `embed_region.start' from now on. Similarly, use `embed_region.end'
23612 rather than `first_start' to calculate available size.
23613
23614 In grub_util_info() message, replace "into after the MBR" with an
23615 indication of the specific sector our embed region starts at.
23616
66cb40f6 236172008-02-19 Robert Millan <rmh@aybabtu.com>
23618
23619 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23620 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23621 `commands/reboot.c'.
23622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23623 (halt_mod_SOURCES): Likewise.
23624 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23625 (halt_mod_SOURCES): Likewise.
23626
b7202015 236272008-02-17 Christian Franke <franke@computer.org>
23628
23629 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23630
32b0fc49 236312008-02-17 Robert Millan <rmh@aybabtu.com>
23632
23633 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23634 set `first_start' to 0 for non-PC/MSDOS partition maps.
23635
aca63502 236362008-02-16 Robert Millan <rmh@aybabtu.com>
23637
23638 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23639 do not assume partition map is PC/MSDOS before performing checks that
23640 are specific to that layout.
23641
0de8be86 236422008-02-13 Robert Millan <rmh@aybabtu.com>
23643
23644 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23645 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23646 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23647
c3db8364 236482008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23649
23650 * configure.ac: Only a cosmetic change on the handling of
23651 -fno-stack-protector.
23652
f714229e 236532008-02-12 Alexandre Boeglin <alex@boeglin.org>
23654
c3db8364 23655 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23656 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23657 reboot.c.
f714229e 23658 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23659 (halt_mod_SOURCES): New variable.
23660 (halt_mod_CFLAGS): Likewise.
23661 (halt_mod_LDFLAGS): Likewise.
23662 (reboot_mod_SOURCES): Likewise.
23663 (reboot_mod_CFLAGS): Likewise.
23664 (reboot_mod_LDFLAGS): Likewise.
23665
c3db8364 23666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23667 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23668 reboot.c.
f714229e 23669 (halt_mod_SOURCES): Likewise.
23670 (reboot_mod_SOURCES): Likewise.
23671
c3db8364 23672 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23673 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 23674 (reboot_mod_SOURCES): Likewise.
23675
23676 * commands/i386/pc/reboot.c: merge this file ...
23677
23678 * commands/ieee1275/reboot.c: ... and this file ...
23679
23680 * commands/reboot.c: ... to this file.
c3db8364 23681 Add some precompiler directive to include the correct header for
23682 each machine.
f714229e 23683
23684 * commands/ieee1275/halt.c: move this file ...
23685
23686 * commands/halt.c: ... to here.
c3db8364 23687 Add some precompiler directive to include the correct header for
23688 each machine.
f714229e 23689
23690 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23691 (grub_halt): Likewise.
23692
23693 * kern/efi/efi.c (grub_reboot): New function.
23694 (grub_halt): Likewise.
23695
c74493e0 236962008-02-12 Robert Millan <rmh@aybabtu.com>
23697
23698 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23699 /dev (like it is done for /dev/mapper). This doesn't provide support
23700 for EVMS, but at least it is now easy to identify the problem when it
23701 arises.
23702
d0db4b04 237032008-02-11 Robert Millan <rmh@aybabtu.com>
23704
23705 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23706 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23707 comparing it with -1, not 0.
23708
bf748642 237092008-02-10 Robert Millan <rmh@aybabtu.com>
23710
23711 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23712 `disk/lvm.c'.
23713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23714 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23715
23716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23717 `disk/lvm.c' to the end of the list.
23718 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23719 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23720
b5db202a 237212008-02-10 Robert Millan <rmh@aybabtu.com>
23722
23723 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23724 grub_print_error() instead. This will let user know why we're entering
23725 rescue mode.
23726 Based on suggestions from Sam Morris.
23727
83abee31 237282008-02-10 Alexandre Boeglin <alex@boeglin.org>
23729
23730 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23731 on remaining N args, instead of "--" arg N times.
23732
78d5a08b 237332008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23734
23735 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23736 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23737 pattern for unknown glyphs.
23738
68807e5f 237392008-02-09 Robert Millan <rmh@aybabtu.com>
23740
23741 * configure.ac: Probe for `help2man'.
23742 * Makefile.in (builddir): New variable.
23743 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23744 or otherwise add a few flags/options to it.
23745 (install-local): For every executable utility or script that is
23746 installed, invoke $(HELP2MAN) to install a manpage based on --help
23747 output.
23748
23749 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23750 that it doesn't prevent --help from working in build tree.
23751
23752 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23753 with `bug-grub@gnu.org'.
23754 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23755 * util/update-grub.in (usage): New function.
23756 Implement proper argument check, with support for --help and --version
23757 (as well as existing -y).
23758
237592008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 23760
23761 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23762 avoid overwriting previous output.
23763 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23764
c1962162 237652008-02-09 Robert Millan <rmh@aybabtu.com>
23766
23767 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23768 drawing the menu.
23769
3dac2e3f 237702008-02-09 Robert Millan <rmh@aybabtu.com>
23771
23772 * commands/sleep.c: New file.
23773 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23774 (sleep_mod_SOURCES): New variable.
23775 (sleep_mod_CFLAGS): Likewise.
23776 (sleep_mod_LDFLAGS): Likewise.
23777
7a634e08 237782008-02-09 Robert Millan <rmh@aybabtu.com>
23779
23780 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23781 situations in which we can deduce the RAID size and the superblock
23782 doesn't match it.
23783
b92f0c18 237842008-02-09 Robert Millan <rmh@aybabtu.com>
23785
23786 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23787 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23788 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23789
23790 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23791 and return a grub_diskmemberlist_t composed of physical array members.
23792 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23793
23794 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23795 prototype.
23796 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23797 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23798 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23799
23800 * util/grub-probe.c (probe): Move partmap probing code from here ...
23801 (probe_partmap): ... to here.
23802 (probe): Use probe_partmap() once for the disk we're probing, and
23803 additionally, when such disk contains a memberlist() struct member,
23804 once for each disk that is contained in the structure returned by
23805 memberlist().
23806
91a4bf68 238072008-02-09 Robert Millan <rmh@aybabtu.com>
23808
23809 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23810 environment variable to 'all' in order to obtain debug output from
23811 non-util/ code.
23812 * util/i386/pc/grub-setup.c (main): Likewise.
23813
a96f9caa 238142008-02-08 Robert Millan <rmh@aybabtu.com>
23815
23816 * disk/raid.c (grub_raid_scan_device): Check for
23817 `array->device[sb.this_disk.number]' rather than for
23818 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23819 guaranteed to be accessible.
a96f9caa 23820
b37a9222 238212008-02-08 Robert Millan <rmh@aybabtu.com>
23822
23823 * disk/raid.c: Update copyright.
23824 * fs/cpio.c: Likewise.
23825 * include/grub/raid.h: Likewise.
23826 * loader/i386/pc/multiboot.c: Likewise.
23827 * util/hostfs.c: Likewise.
23828
5626aee1 238292008-02-08 Robert Millan <rmh@aybabtu.com>
23830
23831 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23832 to a grub_disk_t array.
23833 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23834 `device[x]'.
23835 (grub_raid_scan_device): Replace `device[x].name' accesses with
23836 `device[x]->name'. Simplify initialization of `array->device[x]'.
23837
554f0187 238382008-02-08 Robert Millan <rmh@aybabtu.com>
23839
23840 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23841 grub_dprintf() calls.
23842 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23843 error message.
23844
1ec8425d 238452008-02-07 Christian Franke <franke@computer.org>
23846
23847 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23848 instead of fseek and ftell to support large files.
23849 (grub_hostfs_read): Likewise.
23850
f2156fda 238512008-02-07 Robert Millan <rmh@aybabtu.com>
23852
23853 Patch from Jeroen Dekkers.
23854 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 23855 failure, since successfully reading all array members might not be
f2156fda 23856 required.
23857
9216e0e7 238582008-02-06 Robert Millan <rmh@aybabtu.com>
23859
23860 * util/grub-probe.c (probe): Simplify partmap probing (with the
23861 assumption that the first word up to the underscore equals to
23862 the module name).
23863
b0dfd29a 238642008-02-06 Christian Franke <franke@computer.org>
23865
23866 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23867 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23868 last block of a cpio or tar stream.
23869 Check for "TRAILER!!!" instead of any empty data
23870 block to detect last block of a cpio stream.
23871 (grub_cpio_dir): Fix constness of variable np.
23872 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23873 cpio or tar trailer is detected. This fixes a crash
23874 on open of a non existing file.
23875
c32865bf 238762008-02-05 Bean <bean123ch@gmail.com>
23877
23878 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23879 address of entry.
23880 (grub_multiboot_load_elf64): Likewise.
23881 (grub_multiboot): Initialize mbi structure.
23882
23883 * util/grub-fstest.c: Don't include unused header file script.h.
23884
fe6b695a 23885 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 23886 of file.
23887 (grub_fstest_SOURCES): Likewise.
23888
409480b7 238892008-02-05 Robert Millan <rmh@aybabtu.com>
23890
23891 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23892 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23893 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23894 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23895
23896 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23897 (translation_table): Replace hardcoded values with macros
23898 provided by `<grub/term.h>'.
23899
23900 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23901 (keyboard_map): Correct/add a few values, with macros provided
23902 by `<grub/term.h>'.
23903 (keyboard_map_shift): Zero values that don't differ from their
23904 `keyboard_map' equivalents.
23905 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23906 Discard the second scan code that is always sent by Caps lock.
23907 Only use `keyboard_map_shift' when it provides a non-zero value,
23908 otherwise fallback to `keyboard_map'.
23909
99fadbaa 239102008-02-04 Bean <bean123ch@gmail.com>
23911
23912 * Makefile.in (enable_grub_fstest): New variable.
23913
23914 * conf/common.rmk (grub_fstest_init.lst): New rule.
23915 (grub_fstest_init.h): Likewise.
23916 (grub_fstest_init.c): Likewise.
23917 (util/grub-fstest.c_DEPENDENCIES): New variable.
23918 (grub_fstest_SOURCES): Likewise.
23919
23920 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
23921
23922 * util/grub-fstest.c: New file.
23923
bf567c50 239242008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23925
23926 Make grub-setup handle a separate root device.
f19dbdb7 23927
bf567c50 23928 * util/i386/pc/grub-setup.c (setup): Always open the root device,
23929 so that the root device can be compared with the destination
23930 device.
23931 When embedding the core image, if the root and destination devices
23932 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
23933 0xFF.
23934 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 23935
9be6b98b 239362008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23937
23938 Add support for having a grub directory in a different drive. This
23939 is still only the data handling part.
f19dbdb7 23940
9be6b98b 23941 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
23942 (codestart): Save %dh in GRUB_ROOT_DRIVE.
23943 (grub_root_drive): New variable.
23944
23945 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
23946 instead of GRUB_BOOT_DRIVE to construct a device name. Set
23947 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
23948 as it was.
23949
23950 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
23951
23952 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
23953 macro.
23954 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
23955
23956 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
23957 is bogus, because PXE booting does not specify any drive
23958 correctly.
23959
23960 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
23961 am not sure if this is really correct.
23962
23963 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
23964 is always identical to the boot drive when booting from a CD.
23965
23966 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
23967 longer.
23968 (root_drive): New variable.
23969 (real_start): Unconditionally set %dh to ROOT_DRIVE.
23970 (setup_sectors): Push %dx right after popping it, because %dh will
23971 be modified later.
23972 (copy_buffer): Restore %dx.
23973
e0ca0677 239742008-02-03 Robert Millan <rmh@aybabtu.com>
23975
23976 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
23977 use `cdboot.img' for cdrom images.
23978
3b3f6629 239792008-02-03 Robert Millan <rmh@aybabtu.com>
23980
23981 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
23982 only setup gfxterm when `font' command has succeeded.
23983
d42b3672 239842008-02-03 Robert Millan <rmh@aybabtu.com>
23985
23986 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
23987 (grub_rescue_cmd_multiboot_loader)
23988 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
23989
fa370ea6 239902008-02-03 Pavel Roskin <proski@gnu.org>
23991
e0c5dacb 23992 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 23993 %edx and %esi from stack only after grub_gate_a20() is called.
23994 grub_gate_a20() clobbers %edx.
23995
f2a76e1d 239962008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
23997
23998 * configure.ac (AC_INIT): Bumped to 1.96.
23999
24000 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
24001 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
24002 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
24003 video/readers/png.c.
24004
90fd32d1 240052008-02-03 Bean <bean123ch@gmail.com>
9be665dd 24006
24007 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
24008 (cdboot_img_SOURCES): New variable.
24009 (cdboot_img_ASFLAGS): New variable.
24010 (cdboot_img_LDFLAGS): New variable.
24011
24012 * boot/i386/pc/cdboot.S: New file.
24013
24014 * disk/i386/pc/biosdisk.c (cd_start): New variable.
24015 (cd_count): Likewise.
24016 (grub_biosdisk_get_drive): Add support for cd device.
24017 (grub_biosdisk_call_hook): Likewise.
24018 (grub_biosdisk_iterate): Likewise.
24019 (grub_biosdisk_open): Likewise.
24020 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
24021 (grub_biosdisk_rw): Support reading from cd device.
24022 (GRUB_MOD_INIT): Iterate cd devices.
24023
24024 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
24025 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
24026 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
24027
24028 * kern/i386/pc/init.c (make_install_device): Check for cd device.
24029
4020aa53 240302008-02-02 Robert Millan <rmh@aybabtu.com>
24031
24032 * commands/read.c: New file.
24033 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
24034 (read_mod_SOURCES): New variable.
24035 (read_mod_CFLAGS): Likewise.
24036 (read_mod_LDFLAGS): Likewise.
24037
e03a1132 240382008-02-02 Robert Millan <rmh@aybabtu.com>
24039
24040 * normal/main.c (grub_normal_execute): Check for `menu->size' when
24041 determining whether menu has to be displayed.
24042
58c69220 240432008-02-02 Marco Gerards <marco@gnu.org>
24044
24045 * bus/pci.c: New file.
24046
24047 * include/grub/pci.h: Likewise.
24048
24049 * include/grub/i386/pc/pci.h: Likewise.
24050
24051 * commands/lspci.c: Likewise.
24052
24053 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
24054 `lspci.mod'.
24055 (pci_mod_SOURCES): New variable.
24056 (pci_mod_CFLAGS): Likewise.
24057 (pci_mod_LDFLAGS): Likewise.
24058 (lspci_mod_SOURCES): Likewise.
24059 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 24060 (lspci_mod_LDFLAGS): Likewise.
58c69220 24061
c004e1b4 240622008-02-02 Bean <bean123ch@gmail.com>
24063
24064 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
24065 (grub_ufs_get_file_block): Fix indirect block calculation problem.
24066
24067 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
24068 (grub_xfs_btree_node): New structure.
24069 (grub_xfs_btree_root): New structure.
24070 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
24071 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
24072 (GRUB_XFS_EXTENT_BLOCK): Likewise.
24073 (GRUB_XFS_EXTENT_SIZE): Likewise.
24074 (grub_xfs_read_block): Support btree format type.
24075 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
24076 Use directory block as basic unit.
24077
24078 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
24079
24080 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
24081 __attribute__ ((__regparm__ (1))).
24082
f95562bf 240832008-02-01 Robert Millan <rmh@aybabtu.com>
24084
24085 Correct a mistake in previous commit.
24086
24087 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
24088 top.
24089 (normal/command.c_DEPENDENCIES): New variable.
24090
7d31f41f 240912008-02-01 Robert Millan <rmh@aybabtu.com>
24092
24093 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
24094 top.
24095 (normal/command.c_DEPENDENCIES): New variable.
24096 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
24097 * conf/i386-ieee1275.rmk: Likewise.
24098 * conf/i386-linuxbios.rmk: Likewise.
24099 * conf/i386-pc.rmk: Likewise.
24100 * conf/sparc64-ieee1275.rmk: Likewise.
24101 * conf/powerpc-ieee1275.rmk: Likewise.
24102 (grub_emu_SOURCES): Add `fs/fshelp.c'.
24103
24104 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
24105
60b6be74 241062008-02-01 Robert Millan <rmh@aybabtu.com>
24107
24108 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
24109 call at beginning of function.
24110
078522ab 241112008-01-31 Pavel Roskin <proski@gnu.org>
24112
24113 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 24114 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
24115 (grub_mkrescue_SOURCES): Likewise.
078522ab 24116 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
24117
ccaa8a5f 241182008-01-30 Robert Millan <rmh@aybabtu.com>
24119
24120 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
24121 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
24122 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
24123 (grub_probe_SOURCES): ... to here.
24124
24125 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
24126 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
24127 * conf/i386-ieee1275.rmk: Likewise.
24128 * conf/i386-linuxbios.rmk: Likewise.
24129 * conf/powerpc-ieee1275.rmk: Likewise.
24130
ae5a9cd7 241312008-01-30 Tristan Gingold <gingold@free.fr>
24132
24133 * kern/rescue.c: Silently accept empty lines.
24134
70bc2ef2 241352008-01-29 Bean <bean123ch@gmail.com>
24136
24137 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
24138 (real_code_2): Code cleanup and change comment style.
24139 (move_memory): Avoid using 32-bit address mode.
24140
6a4d50ea 241412008-01-29 Bean <bean123ch@gmail.com>
24142
24143 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
24144 (png_mod_SOURCES): New variable.
24145 (png_mod_CFLAGS): Likewise.
24146 (png_mod_LDFLAGS): Likewise.
24147
24148 * video/readers/png.c: New file.
24149
11cc30ac 241502008-01-28 Robert Millan <rmh@aybabtu.com>
24151
24152 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
24153 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
24154 `ifndef GRUB_MOD_GAP' hack.
24155 * util/elf/grub-mkimage.c (add_segments): Likewise.
24156
3abc589f 241572008-01-27 Robert Millan <rmh@aybabtu.com>
24158
24159 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
24160 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 24161 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 24162
e1907778 241632008-01-27 Robert Millan <rmh@aybabtu.com>
24164
24165 Get grub-emu to build again (including parallel builds).
24166
24167 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
24168 Split into ...
24169 (util/grub-emu.c_DEPENDENCIES): ... this, ...
24170 (normal/execute.c_DEPENDENCIES): ... this, ...
24171 (grub-emu_DEPENDENCIES): ... and this.
24172
24173 * conf/i386-efi.rmk: Likewise.
24174 * conf/i386-linuxbios.rmk: Likewise.
24175 * conf/i386-ieee1275.rmk: Likewise.
24176 * conf/powerpc-ieee1275.rmk: Likewise.
24177 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
24178
2216b101 241792008-01-27 Robert Millan <rmh@aybabtu.com>
24180
24181 * NEWS: Add a few items.
24182
f75172d9 241832008-01-27 Robert Millan <rmh@aybabtu.com>
24184
24185 Fix parallel builds with grub-emu. Based on earlier commit for
24186 grub-probe and grub-setup.
24187
24188 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24189 (util/grub-emu.c_DEPENDENCIES): ... this.
24190 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24191 (util/grub-emu.c_DEPENDENCIES): ... this.
24192 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24193 (util/grub-emu.c_DEPENDENCIES): ... this.
24194 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24195 (util/grub-emu.c_DEPENDENCIES): ... this.
24196 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24197 (util/grub-emu.c_DEPENDENCIES): ... this.
24198
3f51de77 241992008-01-27 Pavel Roskin <proski@gnu.org>
24200
24201 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
24202 to create a gap between _end and the modules added to the image
24203 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
24204 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
24205 * util/elf/grub-mkimage.c (add_segments): Likewise.
24206
2033f53e 242072008-01-26 Pavel Roskin <proski@gnu.org>
24208
24209 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
24210 just return an error.
24211
22da1f6f 242122008-01-26 Bean <bean123ch@gmail.com>
24213
24214 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
24215 (grub_reiserfs_get_item): Save offset of the next item.
24216 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
24217
2a9525e6 242182008-01-25 Robert Millan <rmh@aybabtu.com>
24219
24220 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
24221 make all filesystem sources appear together (possibly fixing omissions
24222 while at it).
24223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24225 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24227
24228 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
24229 add `kern/file.c'.
24230 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
24231 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24232 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
24233 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24234
24235 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
24236 (probe): Add a sanity check to make sure of our ability to read
24237 requested files when probing for filesystem type.
24238
24239 * genmk.rb: Update copyright year (2007).
24240
24241 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
24242 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
24243 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
24244 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
24245 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
24246 : Remove function prototypes.
24247
b95f71b5 242482008-01-25 Robert Millan <rmh@aybabtu.com>
24249
24250 Revert my previous commits (based on wrong assumption of how grub_errno
24251 works).
24252
fe6b695a 24253 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 24254 * kern/file.c (grub_file_open): Likewise.
24255
d08bbb49 242562008-01-24 Pavel Roskin <proski@gnu.org>
24257
24258 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
24259 that hang if GRUB tries to setup colors.
24260 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
24261 colors for firmwares that don't support it.
24262 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
24263 Recognize Open Hack'Ware, set flags to work around its
24264 limitations.
24265
605e36ed 242662008-01-24 Robert Millan <rmh@aybabtu.com>
24267
24268 * kern/file.c (grub_file_open): Do not account previous failures of
24269 unrelated functions when grub_errno is checked for.
24270 Reported by Oleg Strikov.
24271
bac332a1 242722008-01-24 Bean <bean123ch@gmail.com>
24273
24274 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
24275 (grub_ufs_sblock): New member volume name.
24276 (grub_ufs_find_file): Fix string copy bug.
24277 (grub_ufs_label): Implement this function properly.
24278
24279 * fs/hfs.c (grub_hfs_cnid_type): New enum.
24280 (grub_hfs_iterate_records): Use the correct file number for extents
24281 and catalog file. Fix problem in next index calculation.
24282 (grub_hfs_find_node): Replace recursive function call with loop.
24283 (grub_hfs_iterate_dir): Replace recursive function call with loop.
24284
15c80c09 242852008-01-23 Robert Millan <rmh@aybabtu.com>
24286
24287 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
24288 `<grub/symbol.h>' and `<grub/multiboot.h>'.
24289 (grub_multiboot2_real_boot): New function prototype.
24290
24291 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
24292 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
24293
24294 * kern/i386/ieee1275/init.c (grub_os_area_addr)
24295 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
24296
305338fd 242972008-01-23 Robert Millan <rmh@aybabtu.com>
24298
24299 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
24300 #ifdef'ed out grub_printf().
24301
3ea52685 243022008-01-23 Robert Millan <rmh@aybabtu.com>
24303
24304 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
24305 grub_dprintf calls, since they make "debug=all" mode unusable.
24306 (grub_console_checkkey): Likewise.
24307
5882ae4b 243082008-01-23 Robert Millan <rmh@aybabtu.com>
24309
24310 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24311 `term/i386/pc/at_keyboard.c'.
24312 (pkglib_MODULES): Add `serial.mod'.
24313 (serial_mod_SOURCES): New variable.
24314 (serial_mod_CFLAGS): Likewise.
24315 (serial_mod_LDFLAGS): Likewise.
24316
24317 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
24318 `<grub/powerpc/ieee1275/console.h>'.
24319 (grub_keyboard_controller_init): New function prototype.
24320 (grub_console_checkkey): Likewise.
24321 (grub_console_getkey): Likewise.
24322
24323 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
24324 keyboard on i386.
24325
24326 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
24327 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
24328
06ab5303 243292008-01-23 Robert Millan <rmh@aybabtu.com>
24330
24331 * kern/i386/pc/init.c (make_install_device): When memdisk image is
24332 present, "(memdisk)/boot/grub" becomes the default prefix.
24333
24334 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
24335 a memdisk tarball with all the modules. Add --overlay=DIR option that
24336 allows users to overlay additional files into the image.
24337
dbb475a4 243382008-01-23 Robert Millan <rmh@aybabtu.com>
24339
24340 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
24341 and `machine/memory.h'.
24342 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
24343 (_multiboot_mod_SOURCES): New variable.
24344 (_multiboot_mod_CFLAGS): Likewise.
24345 (_multiboot_mod_LDFLAGS): Likewise.
24346 (multiboot_mod_SOURCES): Likewise.
24347 (multiboot_mod_CFLAGS): Likewise.
24348 (multiboot_mod_LDFLAGS): Likewise.
24349
24350 * include/grub/i386/ieee1275/loader.h: New file.
24351
24352 * include/grub/i386/ieee1275/machine.h: Likewise.
24353
24354 * include/grub/i386/ieee1275/memory.h: Likewise.
24355
24356 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
24357 variable declaration.
24358 (grub_os_area_size): Likewise.
24359
24360 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
24361 (grub_lower_mem, grub_upper_mem): New variables.
24362 (grub_stop_floppy): New function (just to make
24363 grub_multiboot2_real_boot() happy).
24364
24365 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
24366 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
24367 (grub_stop): New function.
24368 Include `"../realmode.S"' and `"../loader.S"'.
24369
24370 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
24371 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
24372
24373 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
24374 rely on grub_multiboot2_real_boot() for final boot.
24375
25638629 243762008-01-22 Robert Millan <rmh@aybabtu.com>
24377
24378 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
24379 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
24380 device that doesn't look like an SD card.
24381 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24382 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
24383 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
24384 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
24385 found.
24386
9dad816d 243872008-01-22 Robert Millan <rmh@aybabtu.com>
24388
24389 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
24390 avoid claiming over our own code.
24391
34842f2d 243922008-01-22 Bean <bean123ch@gmail.com>
24393
24394 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
24395 (jpeg_mod_SOURCES): New variable.
24396 (jpeg_mod_CFLAGS): Likewise.
24397 (jpeg_mod_LDFLAGS): Likewise.
24398
24399 * video/readers/jpeg.c : New file.
24400
44023a28 244012008-01-22 Bean <bean123ch@gmail.com>
24402
24403 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
24404 there are no more items.
24405
bc2d8ac6 244062008-01-21 Robert Millan <rmh@aybabtu.com>
24407
24408 * kern/mm.c (grub_mm_init_region): Improve debug message.
24409
261bd4bc 244102008-01-21 Robert Millan <rmh@aybabtu.com>
24411
24412 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
24413 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
24414 address.
24415 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
24416 a C macro.
24417 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
24418 Indicates start of upper memory.
24419 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
24420 (generate_image): Abort when image size is big enough to corrupt
24421 upper memory.
24422
24423 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
24424 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
24425 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24426 instead of hardcoding 0xA0000.
24427 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
24428 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24429 instead of hardcoding 0xA0000.
24430
f970b55e 244312008-01-21 Robert Millan <rmh@aybabtu.com>
24432
24433 * disk/memdisk.c (memdisk_size): New variable.
24434 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
24435 `memdisk_size'.
24436 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
24437 image to dynamic memory.
24438 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
24439 `memdisk_size'. Free memdisk block.
24440
1a8b0526 244412008-01-21 Robert Millan <rmh@aybabtu.com>
24442
24443 Fix detection of very small filesystems (like tar).
24444
24445 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
24446 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
24447 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
24448 a problem with this disk).
24449
6e9b4aab 244502008-01-21 Robert Millan <rmh@aybabtu.com>
24451
24452 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
24453 on grub_biosdisk_rw_standard() error.
24454
0d8837b2 244552008-01-21 Robert Millan <rmh@aybabtu.com>
24456
24457 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
24458 recent changes.
24459 * kern/elf.c: Likewise.
24460 * kern/ieee1275/ieee1275.c: Likewise.
24461 * kern/powerpc/ieee1275/openfw.c: Likewise.
24462 * term/ieee1275/ofconsole.c: Likewise.
24463
ffd36e34 244642008-01-21 Robert Millan <rmh@aybabtu.com>
24465
24466 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24467
3f0093d0 24468 * include/grub/kernel.h (grub_arch_memdisk_addr)
24469 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24470
3f0093d0 24471 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24472 (grub_arch_memdisk_size): ... to here.
ffd36e34 24473
6c391b21 244742008-01-21 Robert Millan <rmh@aybabtu.com>
24475
24476 Mostly based on bugfix from Bean.
24477
24478 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
24479 attribute with hook() parameter.
24480 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
24481 declaration.
24482 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
24483 attribute with hook() parameter.
24484 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
24485 declaration.
24486
55a581dc 244872008-01-21 Robert Millan <rmh@aybabtu.com>
24488
24489 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
24490 (pkglib_MODULES): Add `memdisk.mod'.
24491 (memdisk_mod_SOURCES): New variable.
24492 (memdisk_mod_CFLAGS): Likewise.
24493 (memdisk_mod_LDFLAGS): Likewise.
24494
24495 * disk/memdisk.c: New file.
24496
24497 * include/grub/disk.h (grub_disk_dev_id): Add
24498 `GRUB_DISK_DEVICE_MEMDISK_ID'.
24499
24500 * include/grub/i386/pc/kernel.h
24501 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
24502 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
24503 (grub_kernel_image_size): New variable declaration.
24504 (grub_total_module_size): Likewise.
24505 (grub_memdisk_image_size): Likewise.
24506
24507 * include/grub/i386/pc/memory.h
24508 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24509
24510 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24511 (grub_arch_memdisk_addr): New variable declaration.
24512 (grub_arch_memdisk_size): Likewise.
24513
24514 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24515 (grub_arch_memdisk_size): Likewise.
24516
24517 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24518 (codestart): Replace hardcoded `0x100000' with
24519 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24520
24521 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24522 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24523 not NULL, append the contents of the file it refers to, at the end of
24524 the compressed kernel image. Initialize `grub_memdisk_image_size'
24525 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24526 (options): Add "memdisk"|'m' option.
24527 (main): Parse --memdisk|-m option, and pass user-provided path as
24528 parameter to generate_image().
24529
3d7f54c9 245302008-01-20 Robert Millan <rmh@aybabtu.com>
24531
24532 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24533 grub_dprintf() calls from here ...
24534 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24535
0bf74728 245362008-01-20 Robert Millan <rmh@aybabtu.com>
24537
24538 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24539
24540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24541 declaration.
24542 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24543 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24544 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 24545 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 24546 property).
24547 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24548 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24549
33bf70a7 245502008-01-19 Robert Millan <rmh@aybabtu.com>
24551
fe6b695a 24552 Get rid of confusing function (superseded by
33bf70a7 24553 `grub_ieee1275_get_integer_property')
24554 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24555 prototype.
24556 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24557 function.
24558 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24559 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 24560 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 24561
e2da7d26 245622008-01-19 Robert Millan <rmh@aybabtu.com>
24563
24564 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24565 command after "shut-down", since implementations differ on which
24566 the command for halt is.
24567
59f1fd8d 245682008-01-19 Robert Millan <rmh@aybabtu.com>
24569
24570 * include/grub/i386/linuxbios/console.h: Add header protection.
24571 (grub_keyboard_controller_init): New function prototype.
24572 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24573 (KEYBOARD_COMMAND_READ): Likewise.
24574 (KEYBOARD_COMMAND_WRITE): Likewise.
24575 (KEYBOARD_SCANCODE_SET1): Likewise.
24576 (grub_keyboard_controller_write): New function.
24577 (grub_keyboard_controller_read): Likewise.
24578 (grub_keyboard_controller_init): Likewise.
24579
24580 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24581 (grub_console_init): On coreboot/LinuxBIOS, call
24582 grub_keyboard_controller_init().
24583
5f5a7c15 245842008-01-19 Robert Millan <rmh@aybabtu.com>
24585
24586 PowerPC changes provided by Pavel Roskin.
24587
24588 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24589 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24590 don't rely on cmain() doing it.
24591 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24592 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24593
1210e168 245942008-01-16 Robert Millan <rmh@aybabtu.com>
24595
24596 * include/grub/i386/linuxbios/memory.h
24597 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24598 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24599 receive `table_header' as argument. Instead, probe for it in the
24600 known memory ranges where it can be present.
24601 (grub_available_iterate): Do not pass a fixed `table_header' address
24602 to grub_linuxbios_table_iterate().
24603
3d04eab8 246042008-01-15 Robert Millan <rmh@aybabtu.com>
24605
24606 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24607 * conf/i386-ieee1275.rmk: New file.
24608 * include/grub/i386/ieee1275/console.h: Likewise.
24609 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24610 * include/grub/i386/ieee1275/kernel.h: Likewise.
24611 * include/grub/i386/ieee1275/time.h: Likewise.
24612 * kern/i386/ieee1275/init.c: Likewise.
24613 * kern/i386/ieee1275/startup.S: Likewise.
24614
d1bc1b73 246152008-01-15 Robert Millan <rmh@aybabtu.com>
24616
24617 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24618 when pointers are 32-bit (but still do set it to one when they are
24619 64-bit).
24620
66a65807 246212008-01-15 Robert Millan <rmh@aybabtu.com>
24622
24623 * include/grub/ieee1275/ieee1275.h
24624 (grub_ieee1275_get_integer_property): New function prototype.
24625
24626 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24627 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24628 grub_ieee1275_get_property() to handle endianness.
66a65807 24629
24630 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24631 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 24632 where appropriate.
66a65807 24633 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24634 (grub_map): Likewise.
24635 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24636
a83ccafd 246372008-01-15 Bean <bean123ch@gmail.com>
24638
24639 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24640 (grub_script_execute_cmdline): Reset grub_errno.
24641
24642 * normal/main.c (read_config_file): Reset grub_errno.
24643
24644 * normal/parse.y (script_init): New.
24645 (script): Move function and menuentry here.
24646 (delimiter): New.
24647 (command): Add delimiter at the end of command.
24648 (commands): Adjust to match the new command.
24649 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 24650 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 24651 (if): Use the new commands.
24652
24653 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24654
df6ecfc6 246552008-01-15 Robert Millan <rmh@aybabtu.com>
24656
24657 * normal/menu.c (run_menu): Move timeout message from here ...
24658 (print_timeout): ... to here.
24659 (run_menu): Use print_timeout() once during initial draw to print
24660 the whole message, and again in every clock tick to update only
24661 the number of seconds.
24662
87ae25eb 246632008-01-15 Robert Millan <rmh@aybabtu.com>
24664
24665 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24666 actual size of `available' from grub_ieee1275_get_property(), and
24667 restrict parsing to that bound.
24668
47bf09a4 246692008-01-15 Christian Franke <franke@computer.org>
24670
24671 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24672 (argp_program_version): Remove variable.
24673 (argp_program_bug_address): Likewise.
24674 (options): Convert from struct argp_option to struct option.
24675 (struct arguments): Remove.
24676 (parse_opt): Remove.
24677 (usage): New function.
24678 (main): Replace struct args members by simple variables.
24679 Replace argp_parse() by getopt_long().
24680 Add switch to evaluate options.
24681 Add missing "(...)" around root_dev in prefix string.
24682
c86f1469 246832008-01-14 Robert Millan <rmh@aybabtu.com>
24684
24685 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24686 for grub_ieee1275_exit(), in order to improve portability.
24687
e622c559 246882008-01-14 Robert Millan <rmh@aybabtu.com>
24689
24690 * util/grub.d/10_linux.in (prefix): Define.
24691 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24692
44cb1ec8 246932008-01-13 Pavel Roskin <proski@gnu.org>
24694
24695 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24696 grub_errno if no errors have been detected.
24697
1eb8c802 246982008-01-12 Robert Millan <rmh@aybabtu.com>
24699
24700 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24701 (grub_util_get_dev_abstraction): New function prototype.
24702
24703 * util/getroot.c: Include `<grub/util/getroot.h>'
24704 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24705 (grub_util_get_dev_abstraction): ... here (new function).
24706
24707 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24708 `PRINT_ABSTRACTION'.
24709 (probe): Probe for abstraction type when requested.
24710 (main): Understand `--target=abstraction'.
24711
24712 * util/i386/efi/grub-install.in: Add abstraction module to core
24713 image when it is found to be necessary.
24714 * util/i386/pc/grub-install.in: Likewise.
24715 * util/powerpc/ieee1275/grub-install.in: Likewise.
24716
24717 * util/update-grub_lib.in (font_path): Return system path without
24718 converting to GRUB path.
24719 * util/update-grub.in: Convert system path returned by font_path()
24720 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24721 abstraction module is needed for loading fonts (if any). Export
24722 that as `GRUB_PRELOAD_MODULES'.
24723 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24724 insmod commands).
24725
52bd3de9 247262008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24727
24728 Remove some unused code from reiserfs.
f19dbdb7 24729
52bd3de9 24730 * fs/reiserfs.c (struct grub_reiserfs_key)
24731 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24732 (struct grub_reiserfs_node_body): Removed.
24733 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24734 Likewise.
24735 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24736 Likewise.
24737 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24738 Likewise.
24739 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24740 Likewise.
24741 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24742 Likewise.
24743 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24744 Likewise.
24745 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24746 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24747 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24748
2f80039d 247492008-01-10 Robert Millan <rmh@aybabtu.com>
24750
24751 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24752 Determines if a file is garbage left by packaging systems, etc.
24753 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24754 for processing /etc/grub.d scripts.
24755 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24756 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24757 as a condition for processing Linux images.
24758
87888032 247592008-01-10 Pavel Roskin <proski@gnu.org>
24760
24761 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24762 to compile reiserfs.c on PowerPC.
24763
7e54fced 247642008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 24765
24766 * kern/device.c (grub_device_iterate): Do not abort device iteration
24767 when one of the devices cannot be opened.
24768 * kern/disk.c (grub_disk_open): Do not account previous failures of
24769 unrelated functions when grub_errno is checked for.
24770
5aa541e6 247712008-01-08 Robert Millan <rmh@aybabtu.com>
24772
24773 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24774 `! grub_linux_is_bzimage', change order of address comparison to make
24775 it more intuitive, and improve "too big zImage" error message.
24776
7076340d 247772008-01-08 Robert Millan <rmh@aybabtu.com>
24778
24779 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24780 `$(update-grub_DATA)'.
24781 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24782 targets.
24783
9ca70333 247842008-01-07 Robert Millan <rmh@aybabtu.com>
24785
24786 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24787 which instruction is modified by grub-setup during installation
24788 (since it wasn't obvious by only looking at this file).
24789
38ccf575 247902008-01-07 Robert Millan <rmh@aybabtu.com>
24791
24792 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24793 listing actual TODO items.
24794
f5db4291 247952008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24796
868967cf 24797 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24798 correctly.
24799 (grub_reiserfs_get_key_offset): Likewise.
24800 (grub_reiserfs_set_key_offset): Likewise.
24801 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24802 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24803
24804 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24805 better to remove the bitfield version completely.
f19dbdb7 24806
868967cf 248072008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24808
f5db4291 24809 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24810 allocated from the heap, due to the fshelp implementation.
24811 (grub_reiserfs_dir): Free NODE, due to the same reason.
24812
492e6d9d 248132008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24814
24815 Mostly from Vincent Pelletier:
f19dbdb7 24816
492e6d9d 24817 * fs/reiserfs.c: New file.
f19dbdb7 24818
492e6d9d 24819 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24820 (reiserfs_mod_SOURCES): New variable.
24821 (reiserfs_mod_CFLAGS): Likewise.
24822 (reiserfs_mod_LDFLAGS): Likewise.
24823
24824 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24825 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24826 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24827 normal/color.c.
24828
9ce3e7c1 248292008-01-06 Robert Millan <rmh@aybabtu.com>
24830
24831 * normal/color.c: Remove `<grub/env.h>'.
24832
f3b58148 248332008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24834
24835 * include/grub/normal.h: Include <grub/env.h>.
24836
7ac3bcfa 248372008-01-05 Robert Millan <rmh@aybabtu.com>
24838
24839 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24840 usage example with `(hd0,1)'.
fb358190 24841 Reported by Samuel Thibault.
7ac3bcfa 24842
c8ee99d7 248432008-01-05 Robert Millan <rmh@aybabtu.com>
24844
24845 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24846 (grub_linux_boot_zimage): Rename to ...
24847 (grub_linux_boot): ... this.
24848 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24849 (grub_linux_boot_zimage): Conditionalize zImage copy.
24850
24851 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24852 (grub_linux_boot_bzimage): Remove prototype.
24853 (grub_linux_boot_zimage): Rename to ...
24854 (grub_linux_boot): ... this.
24855
24856 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24857 (grub_linux_boot): Remove function.
24858
0ece25b1 248592008-01-05 Robert Millan <rmh@aybabtu.com>
24860
24861 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24862 (grub_env_write_color_highlight): Likewise.
24863 (grub_wait_after_message): Likewise.
24864
24865 * normal/color.c: New file.
24866
24867 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24868 (normal_mod_DEPENDENCIES): Likewise.
24869
24870 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24871 (normal_mod_DEPENDENCIES): Likewise.
24872
24873 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24874 (normal_mod_DEPENDENCIES): Likewise.
24875
24876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24877 (normal_mod_DEPENDENCIES): Likewise.
24878
24879 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24880 for waiting after a message is printed.
24881 * normal/main.c (read_config_file): Likewise.
24882 (grub_normal_init): Register grub_env_write_color_normal() and
24883 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24884 `color_highlight' variables as global.
24885
24886 * normal/menu.c (grub_wait_after_message): New function.
24887 (grub_color_menu_normal): New variable. Replaces ...
24888 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24889 (grub_color_menu_highlight): New variable. Replaces ...
24890 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24891 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24892 `GRUB_TERM_COLOR_STANDARD'.
24893 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24894 `normal_code' and `highlight_code' to `old_color_normal' and
24895 `old_color_highlight', respectively.
24896 (grub_menu_init_page): Update colors when drawing the menu, based on
24897 `menu_color_normal' and `menu_color_highlight' variables.
24898 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24899 a message is printed.
24900
182dd4e5 249012008-01-05 Robert Millan <rmh@aybabtu.com>
24902
24903 * kern/env.c (grub_env_context_open): Propagate hooks for global
24904 variables to new context.
24905
24906 * kern/main.c (grub_set_root_dev): Export `root' variable.
24907
ddf8f6ad 249082008-01-05 Robert Millan <rmh@aybabtu.com>
24909
24910 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24911 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24912 them.
24913
d8b43d9b 249142008-01-05 Robert Millan <rmh@aybabtu.com>
24915
24916 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24917
2bff2de3 249182008-01-04 Christian Franke <franke@computer.org>
24919
24920 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
24921 of eisa_mmap.
24922
97eab917 249232008-01-03 Pavel Roskin <proski@gnu.org>
24924
24925 * kern/i386/linuxbios/init.c: Put "void" to all function
24926 declarations with no arguments.
24927 * kern/powerpc/ieee1275/init.c: Likewise.
24928 * term/i386/pc/at_keyboard.c: Likewise.
24929 * term/i386/pc/vga_text.c: Likewise.
24930 * util/grub-mkdevicemap.c: Likewise.
24931
b9416d00 249322008-01-02 Robert Millan <rmh@aybabtu.com>
24933
24934 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
24935 message when loaded image is out of bounds.
24936 (grub_multiboot_load_elf64): Likewise.
24937
92695df9 249382008-01-02 Pavel Roskin <proski@gnu.org>
24939
24940 * util/grub.d/10_linux.in: Try version without ".old" when
24941 looking for initrd. It's better to use initrd from the newer
24942 kernel of the same version than no initrd at all.
24943
d98d9cad 249442008-01-01 Robert Millan <rmh@aybabtu.com>
24945
24946 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
24947
dbfdce36 249482008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
24949
f19dbdb7 24950 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 24951 grub_video_get_active_render_target.
24952 (grub_video_adapter): Added unmap_color and get_active_render_target.
24953
f19dbdb7 24954 * video/video.c: Added grub_video_unmap_color and
dbfdce36 24955 grub_video_get_active_render_target.
24956 (grub_video_get_info): Changed method to accept NULL pointer as an
24957 argument to allow detection of active video adapter.
24958
24959 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
24960 grub_video_vbe_unmap_color_int.
24961 Added grub_video_vbe_unmap_color and
24962 grub_video_vbe_get_active_render_target.
24963 (grub_video_vbe_adapter): Added unmap_color and
24964 get_active_render_target.
24965
f19dbdb7 24966 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 24967 with grub_video_vbe_unmap_color_int.
24968
24969 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
24970 (DEFAULT_NORMAL_COLOR): Likewise.
24971 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
24972 (DEFAULT_FG_COLOR): Removed.
24973 (DEFAULT_BG_COLOR): Likewise.
24974 (DEFAULT_CURSOR_COLOR): Changed value.
24975 (grub_virtual_screen): Added standard_color_setting,
24976 normal_color_setting, highlight_color_setting and term_color.
24977 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
24978 (bitmap_width): Added.
24979 (bitmap_height): Likewise.
24980 (bitmap): Likewise.
24981 (set_term_color): Likewise.
24982 (grub_virtual_screen_setup): Changed to use new terminal coloring
24983 settings.
24984 (grub_gfxterm_init): Added init for bitmap.
24985 (grub_gfxterm_fini): Added destroy for bitmap.
24986 (redraw_screen_rect): Updated to use background bitmap and new
24987 terminal coloring.
24988 (scroll_up): Added optimization for case when there is no bitmap.
24989 (grub_gfxterm_cls): Fixed to use correct background color.
24990 (grub_virtual_screen_setcolorstate): Changed to use new terminal
24991 coloring.
24992 (grub_virtual_screen_setcolor): Likewise.
24993 (grub_virtual_screen_getcolor): Added.
24994 (grub_gfxterm_background_image_cmd): Likewise.
24995 (grub_video_term): Added setcolor and getcolor.
24996 (MOD_INIT): Added registration of background_image command.
24997 (MOD_TERM): Added unregistration for background_image command.
24998
c3c20931 249992007-12-30 Pavel Roskin <proski@gnu.org>
25000
25001 * loader/multiboot_loader.c: Fix multiboot command
25002 unregistration. Fix all typos in the word "multiboot".
25003
df266716 250042007-12-29 Pavel Roskin <proski@gnu.org>
94239199 25005
25006 * util/grub.d/10_linux.in: Refactor search for initrd. Add
25007 support for initrd names used in Fedora.
25008
fc6e896c 250092007-12-26 Bean <bean123ch@gmail.com>
25010
25011 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
25012 (cpio_mod_SOURCES): New variable.
25013 (cpio_mod_CFLAGS): Likewise.
25014 (cpio_mod_LDFLAGS): Likewise.
25015
25016 * fs/cpio.c: New file.
25017
25018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
25019
25020 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25021
25022 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25023
25024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25025
533110ad 250262007-12-25 Robert Millan <rmh@aybabtu.com>
25027
25028 * include/grub/term.h (struct grub_term): Add `getcolor' function.
25029 (grub_getcolor): New function.
25030
25031 * kern/term.c (grub_getcolor): New function.
25032 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
25033 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
25034 (print_entry): Set normal and highlight colors to
25035 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
25036 respectively, before printing and restore them to old
25037 values afterwards.
25038 (grub_menu_init_page): Likewise. Fill an additional colored space
25039 that would otherwise be left blank.
25040
25041 * term/efi/console.c (grub_console_getcolor): New function.
25042 (struct grub_console_term.getcolor): New variable.
25043 * term/i386/pc/console.c (grub_console_getcolor): New function.
25044 (struct grub_console_term.getcolor): New variable.
25045 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
25046 (struct grub_console_term.getcolor): New variable.
25047
25048 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
25049 (struct grub_console_term.setcolor): Remove variable.
25050 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
25051 (struct grub_console_term.setcolor): Remove variable.
25052 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
25053 (struct grub_console_term.setcolor): Remove variable.
25054 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
25055 (struct grub_console_term.setcolor): Remove variable.
25056
4931827f 250572007-12-25 Robert Millan <rmh@aybabtu.com>
25058
25059 * configure.ac: Search for possible unifont.hex locations, and
25060 define UNIFONT_HEX if found.
25061
25062 * Makefile.in (UNIFONT_HEX): Define variable.
25063 (DATA): Rename to ...
25064 (PKGLIB): ... this. Update all users.
25065 (PKGDATA): New variable.
25066 (pkgdata_IMAGES): Rename to ...
25067 (pkglib_IMAGES): ... this. Update all users.
25068 (pkgdata_MODULES): Rename to ...
25069 (pkglib_MODULES): ... this. Update all users.
25070 (pkgdata_PROGRAMS): Rename to ...
25071 (pkglib_PROGRAMS): ... this. Update all users.
25072 (pkgdata_DATA): Rename to ...
25073 (pkglib_DATA): ... this. Update all users.
25074 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
25075 (unicode.pff, ascii.pff): New rules.
25076 (all-local): Add `$(PKGDATA)' dependency.
25077 (install-local): Process `$(PKGDATA)'.
25078
25079 * util/update-grub_lib.in (font_path): Search for *.pff files in
25080 a few more locations, including `${pkgdata}'.
25081
57e57e31 250822007-12-23 Robert Millan <rmh@aybabtu.com>
25083
25084 Patch from Bean <bean123ch@gmail.com>:
25085 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
25086 `size'.
25087
4bc72aa9 250882007-12-21 Bean <bean123ch@gmail.com>
25089
25090 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
25091 (ntfscomp_mod_SOURCES): New variable.
25092 (ntfscomp_mod_CFLAGS): Likewise.
25093 (ntfscomp_mod_LDFLAGS): Likewise.
25094
25095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
25096 (grub_probe_SOURCES): Likewise.
25097 (grub_emu_SOURCES): Likewise.
25098
25099 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25100 (grub_emu_SOURCES): Likewise.
25101
25102 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25103 (grub_emu_SOURCES): Likewise.
25104
25105 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25106 (grub_emu_SOURCES): Likewise.
25107
25108 * fs/ntfs.c (grub_ntfscomp_func): New variable.
25109 (read_run_list): Renamed to grub_ntfs_read_run_list.
25110 (decomp_nextvcn): Moved to ntfscomp.c.
25111 (decomp_getch): Likewise.
25112 (decomp_get16): Likewise.
25113 (decomp_block): Likewise.
25114 (read_block): Likewise.
25115 (read_data): Partially moved to ntfscomp.c.
25116 (fixup): Change unsigned to grub_uint16_t.
25117 (read_mft): Change unsigned long to grub_uint32_t.
25118 (read_attr): Likewise.
25119 (read_data): Likewise.
25120 (read_run_data): Likewise.
25121 (read_run_list): Likewise.
25122 (read_mft): Likewise.
25123
25124 * fs/ntfscomp.c: New file.
25125
25126 * include/grub/ntfs.h: New file.
25127
af680a87 251282007-12-16 Robert Millan <rmh@aybabtu.com>
25129
25130 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
25131 IDE disk check, since Linux is known to support 20 IDE disks.
25132 Reported by Colin Watson.
25133
84be7599 251342007-12-15 Bean <bean123ch@gmail.com>
25135
25136 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
25137 (lnxboot_img_SOURCES): New variable.
25138 (lnxboot_img_ASFLAGS): Likewise.
25139 (lnxboot_img_LDFLAGS): Likewise.
25140
25141 * boot/i386/pc/lnxboot.S: New file.
25142
6af9db01 251432007-11-24 Pavel Roskin <proski@gnu.org>
25144
25145 * configure.ac: Test if '--build-id=none' is supported by the
25146 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
25147 objcopy to generate incorrect binary files (binutils
25148 2.17.50.0.18-1 as shipped by Fedora 8).
25149 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
25150 linking, so that build ID doesn't break the test.
25151
7361cfe6 251522007-11-24 Pavel Roskin <proski@gnu.org>
25153
25154 * include/grub/i386/time.h: use "void" in the argument list
25155 of grub_cpu_idle().
25156 * include/grub/powerpc/time.h: Likewise.
25157 * include/grub/sparc64/time.h: Likewise.
25158
1593e10c 251592007-11-18 Christian Franke <franke@computer.org>
25160
25161 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
25162 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
25163 This fixes the problem that function keys did not work in grub-emu.
25164
3b8db1a8 251652007-11-18 Christian Franke <franke@computer.org>
25166
25167 * disk/host.c (grub_host_open): Remove attribute unused from
25168 name parameter. Add check for "host". This fixes the problem
25169 that grub-emu does not find partitions.
25170
2e29408d 251712007-11-18 Christian Franke <franke@computer.org>
25172
25173 * util/hostfs.c (is_dir): New function.
25174 (grub_hostfs_dir): Handle missing dirent.d_type case.
25175 (grub_hostfs_read): Add missing fseek().
25176 (grub_hostfs_label): Clear label pointer. This fixes a crash
25177 of grub-emu on "ls (host)".
25178
398cd047 251792007-11-18 Christian Franke <franke@computer.org>
25180
25181 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
25182 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
25183 to 64 bit boundary by default.
25184
c405c391 251852007-11-18 Bean <bean123ch@gmail.com>
25186
25187 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
25188 (hexdump_mod_SOURCES): New variable.
25189 (hexdump_mod_CFLAGS): Likewise.
25190 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 25191
c405c391 25192 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25193
25194 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25195
25196 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25197
25198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25199
25200 * include/grub/hexdump.h: New file.
25201
25202 * commands/hexdump.c: New file.
25203
5cced7fd 252042007-11-10 Robert Millan <rmh@aybabtu.com>
25205
25206 * commands/i386/pc/play.c (beep_off): Switch order of arguments
25207 in grub_outb() calls.
25208 (beep_on): Likewise.
25209
8b714eb0 252102007-11-10 Christian Franke <franke@computer.org>
25211
25212 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
25213 (grub_menu_run): Likewise.
25214
ce0f1839 252152007-11-10 Robert Millan <rmh@aybabtu.com>
25216
25217 * include/grub/i386/efi/machine.h: New file.
25218 * include/grub/i386/linuxbios/machine.h: Likewise.
25219 * include/grub/i386/pc/machine.h: Likewise.
25220 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25221 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25222
25223 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
25224 (serial_hw_io_addr): New variable.
25225 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
25226 instead of `(unsigned short *) 0x400'.
25227
270c237d 252282007-11-10 Bean <bean123ch@gmail.com>
25229
25230 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
25231
a87783bf 252322007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25233
25234 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
25235 (vga_mod_SOURCES): Added.
25236 (vga_mod_CFLAGS): Likewise.
25237 (vga_mod_LDFLAGS): Likewise.
25238
25239 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
25240 grub_outb() calls.
25241 (set_map_mask): Likewise.
25242 (set_read_map): Likewise.
25243 (set_read_address): Likewise.
25244 (vga_font): Removed variable.
25245 (get_vga_glyph): Removed function.
25246 (invalidate_char): Likewise.
25247 (write_char): Changed to use grub_font_get_glyph() for font
25248 information.
25249 (grub_vga_putchar): Likewise.
25250 (grub_vga_getcharwidth): Likewise.
25251
6433b448 252522007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25253
25254 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
25255 flags.
25256 (pxeboot_img_LDFLAGS): Likewise.
25257 (diskboot_img_LDFLAGS): Likewise.
25258 (kernel_img_LDFLAGS): Likewise.
25259
49178511 252602007-11-06 Robert Millan <rmh@aybabtu.com>
25261
25262 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
25263 in grub_outb() calls.
25264 (serial_hw_init): Likewise.
25265
53b052de 252662007-11-05 Robert Millan <rmh@aybabtu.com>
25267
25268 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
25269 spaces. Skip non-regular files.
25270
5ab33bba 252712007-11-05 Robert Millan <rmh@aybabtu.com>
25272
25273 * kern/disk.c (grub_disk_firmware_fini)
25274 (grub_disk_firmware_is_tainted): New variables.
25275
25276 * include/grub/disk.h (grub_disk_firmware_fini)
25277 (grub_disk_firmware_is_tainted): Likewise.
25278
25279 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
25280 (grub_disk_biosdisk_fini): ... to here.
25281 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
25282 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
25283 is set. Register grub_disk_biosdisk_fini() in
25284 `grub_disk_firmware_fini'.
25285
25286 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
25287 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
25288 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
25289 to finish existing firmware disk interface.
25290
25291 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
25292 (ata_mod_SOURCES): New variable.
25293 (ata_mod_CFLAGS): Likewise.
25294 (ata_mod_LDFLAGS): Likewise.
25295
0149ab7c 252962007-11-05 Robert Millan <rmh@aybabtu.com>
25297
25298 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
25299 (grub_ata_wait): Reimplement using grub_millisleep().
25300
25301 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
25302 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
25303
be7ac41e 253042007-11-03 Marco Gerards <marco@gnu.org>
25305
25306 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
25307 (CRTC_ADDR_PORT): New macro.
25308 (CRTC_DATA_PORT): Likewise.
25309 (CRTC_CURSOR): Likewise.
25310 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25311 (CRTC_CURSOR_ADDR_LOW): Likewise.
25312 (update_cursor): New function.
25313 (grub_console_real_putchar): Call `update_cursor'.
25314 (grub_console_gotoxy): Likewise.
25315 (grub_console_cls): Set the default color when clearing the
25316 screen.
25317 (grub_console_setcursor): Implemented.
25318
bb06ab2e 253192007-11-03 Marco Gerards <marco@gnu.org>
25320
25321 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
25322 become activate.
25323 (grub_ata_pio_write): Likewise.
25324
25325 (grub_atapi_identify): Wait after issuing an ATA command.
25326 (grub_atapi_packet): Likewise.
25327 (grub_ata_identify): Likewise.
25328 (grub_ata_readwrite): Likewise.
25329
cf8f780b 253302007-11-03 Marco Gerards <marco@gnu.org>
25331
25332 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
25333 (grub_ata_pio_write): Likewise.
25334 (grub_ata_readwrite): Use `grub_error', instead of
25335 returning `grub_errno'.
25336
ed649e54 253372007-11-03 Marco Gerards <marco@gnu.org>
25338
25339 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
25340 grub_ata_pio_write once for every single sector, instead of for
25341 multiple sectors.
25342
ca25d8f0 253432007-10-31 Robert Millan <rmh@aybabtu.com>
25344
25345 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
25346
25347 * conf/i386-linuxbios.rmk: New file.
25348
25349 * kern/i386/pc/hardware.c: Likewise.
25350 * term/i386/pc/at_keyboard.c: Likewise.
25351 * term/i386/pc/vga_text.c: Likewise.
25352
25353 * include/grub/i386/linuxbios/boot.h: Likewise.
25354 * include/grub/i386/linuxbios/console.h: Likewise.
25355 * include/grub/i386/linuxbios/init.h: Likewise.
25356 * include/grub/i386/linuxbios/kernel.h: Likewise.
25357 * include/grub/i386/linuxbios/loader.h: Likewise.
25358 * include/grub/i386/linuxbios/memory.h: Likewise.
25359 * include/grub/i386/linuxbios/serial.h: Likewise.
25360 * include/grub/i386/linuxbios/time.h: Likewise.
25361
25362 * kern/i386/linuxbios/init.c: Likewise.
25363 * kern/i386/linuxbios/startup.S: Likewise.
25364 * kern/i386/linuxbios/table.c: Likewise.
25365
e911ecc1 253662007-10-31 Marco Gerards <marco@gnu.org>
25367
25368 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
25369 (ata_mod_SOURCES): New variable.
25370 (ata_mod_CFLAGS): Likewise.
25371 (ata_mod_LDFLAGS): Likewise.
25372
25373 * disk/ata.c: New file.
25374
25375 * include/grub/disk.h (grub_disk_dev_id): Add
25376 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 25377
7f66d0e0 253782007-10-31 Robert Millan <rmh@aybabtu.com>
25379
25380 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
25381 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
25382
25383 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
25384 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
25385
25386 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
25387 `<grub/types.h>'.
25388
25389 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
25390
5cd7dd46 253912007-10-27 Robert Millan <rmh@aybabtu.com>
25392
3236ca65 25393 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 25394
2ebfc90f 253952007-10-22 Robert Millan <rmh@aybabtu.com>
25396
25397 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
25398 `"../realmode.S"'.
25399 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
25400
73fcb0f3 254012007-10-22 Robert Millan <rmh@aybabtu.com>
25402
25403 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
25404 (pkgdata_MODULES): Add `biosdisk.mod'.
25405 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
25406 variables.
25407
25408 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
25409 (grub_biosdisk_init): Replace with ...
25410 (GRUB_MOD_INIT(biosdisk)): ... this.
25411 (grub_biosdisk_fini): Replace with ...
25412 (GRUB_MOD_FINI(biosdisk)): ... this.
25413
25414 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
25415 (grub_machine_init): Remove call to grub_biosdisk_init().
25416 (grub_machine_fini): Remove call to grub_machine_fini().
25417
25418 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
25419
3381d274 254202007-10-22 Robert Millan <rmh@aybabtu.com>
25421
25422 * include/grub/time.h: New file.
25423 * include/grub/i386/time.h: Likewise.
25424 * include/grub/powerpc/time.h: Likewise.
25425 * include/grub/sparc64/time.h: Likewise.
25426
25427 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
25428 instances to ...
25429 (KERNEL_MACHINE_TIME_HEADER): ... this.
25430 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25431 instances to ...
25432 (KERNEL_MACHINE_TIME_HEADER): ... this.
25433 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25434 instances to ...
25435 (KERNEL_MACHINE_TIME_HEADER): ... this.
25436
25437 * kern/i386/efi/init.c: Include `<grub/time.h>'.
25438 (grub_millisleep): New function.
25439 * kern/i386/pc/init.c: Include `<grub/time.h>'.
25440 (grub_millisleep): New function.
25441 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
25442 Remove `grub/machine/time.h' include.
25443 (grub_millisleep): New function.
25444 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
25445 Remove `grub/machine/time.h' include.
25446 (grub_millisleep): New function.
25447
25448 * include/grub/misc.h (grub_div_roundup): New function.
25449
25450 * kern/misc.c: Include `<grub/time.h>'.
25451 (grub_millisleep_generic): New function.
25452
25453 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
25454 Add `time.h'.
25455 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
25456 Add `time.h'.
25457 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
25458 `machine/time.h'. Add `time.h'.
25459 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25460
a39a0312 254612007-10-21 Robert Millan <rmh@aybabtu.com>
25462
25463 * include/grub/misc.h (grub_max): New function.
25464
2aad70e2 254652007-10-21 Robert Millan <rmh@aybabtu.com>
25466
25467 * util/misc.c (grub_util_info): Call fflush() before returning.
25468
54b71c4b 254692007-10-20 Robert Millan <rmh@aybabtu.com>
25470
25471 * genmk.rb (Image): Copy `extra_flags' from here ...
25472 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
25473
25474 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
25475 to `argc' and `args' arguments.
25476
a979f513 254772007-10-17 Robert Millan <rmh@aybabtu.com>
25478
25479 * kern/i386/loader.S: New file.
25480
25481 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
25482 * kern/i386/loader.S (grub_linux_prot_size)... to here.
25483 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
25484 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
25485 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
25486 * kern/i386/loader.S (grub_linux_real_addr)... to here.
25487 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
25488 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
25489 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
25490 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
25491 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
25492 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
25493 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
25494 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
25495
25496 * kern/i386/realmode.S: New file.
25497
25498 * kern/i386/pc/startup.S (protstack): Moved from here ...
25499 * kern/i386/realmode.S (protstack)... to here.
25500 * kern/i386/pc/startup.S (gdt): Moved from here ...
25501 * kern/i386/realmode.S (gdt)... to here.
25502 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
25503 * kern/i386/realmode.S (prot_to_real)... to here.
25504
25505 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25506 `kern/i386/realmode.S'.
25507
825fc8fd 255082007-10-17 Robert Millan <rmh@aybabtu.com>
25509
25510 * include/grub/i386/loader.h: New file.
25511
25512 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25513 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25514 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25515 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25516 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25517 * include/grub/i386/loader.h (grub_linux_prot_size)
25518 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25519 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25520 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25521 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25522
25523 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25524
e179b2f4 255252007-10-15 Robert Millan <rmh@aybabtu.com>
25526
25527 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25528 filesystem when dev->disk is unset.
25529 Do probe for filesystem even when dev->disk->has_partitions is set.
25530 In case a filesystem is found, always report it.
25531 In case it isn't, if dev->disk->has_partitions is set, report that
25532 a partition table was found instead of reporting that no filesystem
25533 could be identified.
25534
5db82af6 255352007-10-12 Robert Millan <rmh@aybabtu.com>
25536
25537 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25538 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25539
68f6ac74 25540 * include/grub/types.h (grub_host_to_target16): New macro.
25541 (grub_host_to_target32): Likewise.
25542 (grub_host_to_target64): Likewise.
25543 (grub_target_to_host16): Likewise.
25544 (grub_target_to_host32): Likewise.
25545 (grub_target_to_host64): Likewise.
5db82af6 25546
25547 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25548 Renamed from to ...
25549 (GRUB_MOD_ALIGN): ...this. Update all users.
25550
68f6ac74 25551 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25552 grub_host_to_target32.
25553 Replace grub_be_to_cpu32 with grub_target_to_host32.
25554 (load_modules): Likewise.
25555 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25556 Replace grub_be_to_cpu32 with grub_target_to_host32.
25557 Replace grub_cpu_to_be16 with grub_host_to_target16.
25558 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 25559
3cf497cc 255602007-10-12 Robert Millan <rmh@aybabtu.com>
25561
25562 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25563 * util/elf/grub-mkimage.c: ... here.
25564
25565 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25566 `util/powerpc/ieee1275/grub-mkimage.c'.
25567
c8cc3692 255682007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 25569
c8cc3692 25570 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25571 and make it easier to figure out.
25572 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25573 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25574 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25575 leave us with less than HEAP_MIN_SIZE total heap.
25576 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25577
5c58b791 255782007-10-03 Robert Millan <rmh@aybabtu.com>
25579
25580 * include/grub/i386/io.h: New file.
25581 * commands/i386/pc/play.c (inb): Removed.
25582 (outb): Removed.
25583 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25584 with grub_outb().
afcd2ef8 25585 * term/i386/pc/serial.c (inb): Removed.
25586 (outb): Removed.
25587 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25588 with grub_outb().
25589 * term/i386/pc/vga.c (inb): Removed.
25590 (outb): Removed.
25591 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25592 with grub_outb().
5c58b791 25593
1a477ed6 255942007-10-02 Robert Millan <rmh@aybabtu.com>
25595
25596 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25598 Reported by Marcin Kurek.
25599
6b5d80fa 256002007-09-07 Robert Millan <rmh@aybabtu.com>
25601
25602 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25603 SmartFirmware version updates (as released by Sven Luther), and avoid
25604 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25605 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25606 known broken.
25607
5618afbf 256082007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25609
25610 From Hitoshi Ozeki:
25611 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25612 when merging two regions.
25613
6139dcd9 256142007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25615
508e39ee 25616 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25617 * normal/completion.c (grub_normal_do_completion): Likewise.
25618 Reported by Hitoshi Ozeki.
25619
256202007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25621
6139dcd9 25622 Do not use devices at boot in chainloading.
f19dbdb7 25623
6139dcd9 25624 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25625 (boot_part_addr): Likewise.
25626 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25627 with BOOT_DRIVE and BOOT_PART_ADDR.
25628 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25629 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25630
38da6516 256312007-08-29 Robert Millan <rmh@aybabtu.com>
25632
25633 Patch from Simon Peter <dn.tlp@gmx.net>:
25634 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25635 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25636 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25637 util/i386/pc/grub-setup.c_DEPENDENCIES.
25638 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25639 util/grub-probe.c_DEPENDENCIES.
25640 * conf/powerpc-ieee1275.rmk: Likewise.
25641
29d0928c 256422007-08-28 Robert Millan <rmh@aybabtu.com>
25643
25644 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25645 to tell grub-mkdevicemap how to name devices.
25646 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25647 feature).
25648
25649 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25650 util/i386/get_disk_name.c.
25651 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25652 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25653 util/ieee1275/get_disk_name.c.
25654
25655 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25656
25657 * DISTLIST: Add util/i386/get_disk_name.c and
25658 util/ieee1275/get_disk_name.c.
25659
25660 * util/grub-mkdevicemap.c: Replace device naming logic with
25661 grub_util_get_disk_name() calls.
25662
5a0d3cca 256632007-08-20 Robert Millan <rmh@aybabtu.com>
25664
25665 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25666 (so that it works for both plural and singular quantities).
25667
8b72db2f 256682007-08-05 Robert Millan <rmh@aybabtu.com>
25669
25670 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25671 so that [xz] isn't taken into account when determining order.
25672
352466bf 256732007-08-02 Marco Gerards <marco@gnu.org>
25674
25675 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25676 `include/multiboot2.h', `include/grub/elfload.h',
25677 `include/multiboot.h', `include/grub/multiboot.h',
25678 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25679 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25680 `kern/elf.c', `loader/multiboot_loader.c',
25681 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25682 `loader/i386/pc/multiboot2.c',
25683 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25684 `util/i386/pc/grub-mkrescue.in'. Remove
25685 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25686 `include/grub/i386/pc/util/biosdisk.h' and
25687 `include/grub/powerpc/ieee1275/multiboot.h'.
25688
8f096014 256892007-08-02 Bean <bean123ch@gmail.com>
25690
25691 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25692 (ntfs_mod_SOURCES): New variable.
25693 (ntfs_mod_CFLAGS): Likewise.
25694 (ntfs_mod_LDFLAGS): Likewise.
25695
25696 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25697 (grub_probe_SOURCES): Likewise.
25698 (grub_emu_SOURCES): Likewise.
25699
25700 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25701 (grub_emu_SOURCES): Likewise.
25702
25703 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25704 (grub_emu_SOURCES): Likewise.
f19dbdb7 25705
8f096014 25706 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25707
25708 * fs/ntfs.c: New file.
25709
9959f7db 257102007-08-02 Bean <bean123ch@gmail.com>
25711
25712 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25713
25714 * file.h (grub_file): Likewise.
25715
25716 * fshelp.h (grub_fshelp_read_file): Likewise.
25717
25718 * util/i386/pc/grub-setup.c (setup): Likewise.
25719 (save_first_sector): Likewise.
25720 (save_blocklists): Likewise.
f19dbdb7 25721
9959f7db 25722 * fs/affs.c (grub_affs_read_file): Likewise.
25723
25724 * fs/ext2.c (grub_ext2_read_file): Likewise.
25725
25726 * fs/fat.c (grub_fat_read_data): Likewise.
25727
25728 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25729
25730 * fs/hfs.c (grub_hfs_read_file): Likewise.
25731
25732 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25733
25734 * fs/jfs.c (grub_jfs_read_file): Likewise.
25735
25736 * fs/minix.c (grub_minix_read_file): Likewise.
25737
25738 * fs/sfs.c (grub_sfs_read_file): Likewise.
25739
25740 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 25741
9959f7db 25742 * fs/xfs.c (grub_xfs_read_file): Likewise.
25743
25744 * command/blocklist.c (read_blocklist): Likewise.
25745 (print_blocklist): Likewise.
25746
0a203f83 257472007-08-02 Marco Gerards <marco@gnu.org>
25748
25749 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25750 `util/hostfs.c'.
25751
25752 * disk/host.c: New file.
25753
25754 * util/hostfs.c: Likewise.
25755
25756 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25757 return `GRUB_ERR_BAD_FS'.
25758 * fs/sfs.c (grub_sfs_mount): Likewise.
25759 * fs/xfs.c (grub_xfs_mount): Likewise.
25760
25761 * include/grub/disk.h (enum grub_disk_dev_id): Add
25762 `GRUB_DISK_DEVICE_HOST_ID'.
25763
25764 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25765
e5dfe777 257662007-07-24 Jerone Young <jerone@gmail.com>
25767
f19dbdb7 25768 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 25769 modules for compilation.
25770 * conf/powerpc-ieee1275.rmk: Likewise.
25771
25772 * include/multiboot.h: Move multiboot definitions to one file. Rename
25773 many definitions to not get grub specific.
25774 * include/multiboot2.h: Create header with multiboot 2 definitions.
25775 * include/grub/multiboot.h: Header for grub specific function
25776 prototypes and definitions.
25777 * include/grub/multiboot2.h: Likewise.
25778 * include/grub/multiboot_loader.h: Likewise.
25779 * include/grub/i386/pc/multiboot.h: Removed.
25780 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25781
25782 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25783 and 2 to allow for one multiboot and module commands.
25784 * loader/multiboot2.c: Add multiboot2 functionality.
25785 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25786 and definition names.
25787 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25788 2 functions.
25789 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25790 ieee1275 specific multiboot2 code.
25791
25792 * kern/i386/pc/startup.S: Change headers and definition names for
25793 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25794
daf0f0ba 257952007-07-22 Robert Millan <rmh@aybabtu.com>
25796
25797 * geninitheader.sh: Process file specified in first parameter rather
25798 than hardcoding grub_modules_init.lst.
fe6b695a 25799 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25800 than hardcoding grub_modules_init.h.
25801
25802 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25803 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25804 grub_probe_init.[ch] and grub_setup_init.[ch].
25805
25806 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25807 grub_modules_init.h with grub_emu_init.h.
25808 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25809 grub_probe_init.[ch] files.
25810 * conf/i386-efi.rmk: Likewise.
25811 * conf/i386-pc.rmk: Likewise.
25812 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25813 grub_setup_init.[ch] files.
25814
25815 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25816 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25817 to initialize modules rather than a list of hardcoded functions.
25818 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25819 grub_init_all() to initialize modules rather than a list of hardcoded
25820 functions.
25821
54cdc1cc 258222007-07-22 Robert Millan <rmh@aybabtu.com>
25823
25824 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25825 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25826
ad0686cc 258272007-07-22 Robert Millan <rmh@aybabtu.com>
25828
25829 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25830 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25831 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25832 flag when running on SmartFirmware.
25833 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25834 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25835 was set.
25836
25837 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25838 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25839 rather than decreasing it.
25840
25841 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25842 there's not enough space to do it, fail in the same way as when it
25843 can't be done because there are no partitions.
25844
25845 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25846 when nvsetenv failed.
25847
969c02ec 258482007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25849
25850 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25851 because this rule is automatically generated.
25852 (grub-mkrescue): Removed for the same reason as above.
25853
5a79f472 258542007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25855
25856 Migrate to GNU General Public License Version 3.
f19dbdb7 25857
5a79f472 25858 * COPYING: Replaced with the plain text version of GPLv3.
25859
25860 * config.guess: Updated from gnulib.
25861 * config.sub: Likewise.
25862
25863 * geninit.sh: Output a GPLv3 copyright notice.
25864 * geninitheader.sh: Likewise.
25865 * genmodsrc.sh: Likewise.
25866 * gensymlist.sh.in: Likewise.
25867
25868 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25869 * boot/i386/pc/diskboot.S: Likewise.
25870 * boot/i386/pc/pxeboot.S: Likewise.
25871 * commands/blocklist.c: Likewise.
25872 * commands/boot.c: Likewise.
25873 * commands/cat.c: Likewise.
25874 * commands/cmp.c: Likewise.
25875 * commands/configfile.c: Likewise.
25876 * commands/echo.c: Likewise.
25877 * commands/help.c: Likewise.
25878 * commands/ls.c: Likewise.
25879 * commands/search.c: Likewise.
25880 * commands/terminal.c: Likewise.
25881 * commands/test.c: Likewise.
25882 * commands/videotest.c: Likewise.
25883 * commands/i386/cpuid.c: Likewise.
25884 * commands/i386/pc/halt.c: Likewise.
25885 * commands/i386/pc/play.c: Likewise.
25886 * commands/i386/pc/reboot.c: Likewise.
25887 * commands/i386/pc/vbeinfo.c: Likewise.
25888 * commands/i386/pc/vbetest.c: Likewise.
25889 * commands/ieee1275/halt.c: Likewise.
25890 * commands/ieee1275/reboot.c: Likewise.
25891 * commands/ieee1275/suspend.c: Likewise.
25892 * disk/loopback.c: Likewise.
25893 * disk/lvm.c: Likewise.
25894 * disk/raid.c: Likewise.
25895 * disk/efi/efidisk.c: Likewise.
25896 * disk/i386/pc/biosdisk.c: Likewise.
25897 * disk/ieee1275/ofdisk.c: Likewise.
25898 * font/manager.c: Likewise.
25899 * fs/affs.c: Likewise.
25900 * fs/ext2.c: Likewise.
25901 * fs/fat.c: Likewise.
25902 * fs/fshelp.c: Likewise.
25903 * fs/hfs.c: Likewise.
25904 * fs/hfsplus.c: Likewise.
25905 * fs/iso9660.c: Likewise.
25906 * fs/jfs.c: Likewise.
25907 * fs/minix.c: Likewise.
25908 * fs/sfs.c: Likewise.
25909 * fs/ufs.c: Likewise.
25910 * fs/xfs.c: Likewise.
25911 * hello/hello.c: Likewise.
25912 * include/grub/acorn_filecore.h: Likewise.
25913 * include/grub/arg.h: Likewise.
25914 * include/grub/bitmap.h: Likewise.
25915 * include/grub/boot.h: Likewise.
25916 * include/grub/cache.h: Likewise.
25917 * include/grub/device.h: Likewise.
25918 * include/grub/disk.h: Likewise.
25919 * include/grub/dl.h: Likewise.
25920 * include/grub/elfload.h: Likewise.
25921 * include/grub/env.h: Likewise.
25922 * include/grub/err.h: Likewise.
25923 * include/grub/file.h: Likewise.
25924 * include/grub/font.h: Likewise.
25925 * include/grub/fs.h: Likewise.
25926 * include/grub/fshelp.h: Likewise.
25927 * include/grub/gzio.h: Likewise.
25928 * include/grub/hfs.h: Likewise.
25929 * include/grub/kernel.h: Likewise.
25930 * include/grub/loader.h: Likewise.
25931 * include/grub/lvm.h: Likewise.
25932 * include/grub/misc.h: Likewise.
25933 * include/grub/mm.h: Likewise.
25934 * include/grub/net.h: Likewise.
25935 * include/grub/normal.h: Likewise.
25936 * include/grub/parser.h: Likewise.
25937 * include/grub/partition.h: Likewise.
25938 * include/grub/pc_partition.h: Likewise.
25939 * include/grub/raid.h: Likewise.
25940 * include/grub/rescue.h: Likewise.
25941 * include/grub/script.h: Likewise.
25942 * include/grub/setjmp.h: Likewise.
25943 * include/grub/symbol.h: Likewise.
25944 * include/grub/term.h: Likewise.
25945 * include/grub/terminfo.h: Likewise.
25946 * include/grub/tparm.h: Likewise.
25947 * include/grub/types.h: Likewise.
25948 * include/grub/video.h: Likewise.
25949 * include/grub/efi/api.h: Likewise.
25950 * include/grub/efi/chainloader.h: Likewise.
25951 * include/grub/efi/console.h: Likewise.
25952 * include/grub/efi/console_control.h: Likewise.
25953 * include/grub/efi/disk.h: Likewise.
25954 * include/grub/efi/efi.h: Likewise.
25955 * include/grub/efi/pe32.h: Likewise.
25956 * include/grub/efi/time.h: Likewise.
25957 * include/grub/i386/linux.h: Likewise.
25958 * include/grub/i386/setjmp.h: Likewise.
25959 * include/grub/i386/types.h: Likewise.
25960 * include/grub/i386/efi/kernel.h: Likewise.
25961 * include/grub/i386/efi/loader.h: Likewise.
25962 * include/grub/i386/efi/time.h: Likewise.
25963 * include/grub/i386/pc/biosdisk.h: Likewise.
25964 * include/grub/i386/pc/boot.h: Likewise.
25965 * include/grub/i386/pc/chainloader.h: Likewise.
25966 * include/grub/i386/pc/console.h: Likewise.
25967 * include/grub/i386/pc/init.h: Likewise.
25968 * include/grub/i386/pc/kernel.h: Likewise.
25969 * include/grub/i386/pc/loader.h: Likewise.
25970 * include/grub/i386/pc/memory.h: Likewise.
25971 * include/grub/i386/pc/multiboot.h: Likewise.
25972 * include/grub/i386/pc/serial.h: Likewise.
25973 * include/grub/i386/pc/time.h: Likewise.
25974 * include/grub/i386/pc/vbe.h: Likewise.
25975 * include/grub/i386/pc/vbeblit.h: Likewise.
25976 * include/grub/i386/pc/vbefill.h: Likewise.
25977 * include/grub/i386/pc/vbeutil.h: Likewise.
25978 * include/grub/i386/pc/vga.h: Likewise.
25979 * include/grub/ieee1275/ieee1275.h: Likewise.
25980 * include/grub/ieee1275/ofdisk.h: Likewise.
25981 * include/grub/powerpc/libgcc.h: Likewise.
25982 * include/grub/powerpc/setjmp.h: Likewise.
25983 * include/grub/powerpc/types.h: Likewise.
25984 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
25985 * include/grub/powerpc/ieee1275/console.h: Likewise.
25986 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
25987 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25988 * include/grub/powerpc/ieee1275/loader.h: Likewise.
25989 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
25990 * include/grub/powerpc/ieee1275/time.h: Likewise.
25991 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
25992 * include/grub/sparc64/libgcc.h: Likewise.
25993 * include/grub/sparc64/setjmp.h: Likewise.
25994 * include/grub/sparc64/types.h: Likewise.
25995 * include/grub/sparc64/ieee1275/console.h: Likewise.
25996 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25997 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25998 * include/grub/sparc64/ieee1275/time.h: Likewise.
25999 * include/grub/util/biosdisk.h: Likewise.
26000 * include/grub/util/getroot.h: Likewise.
26001 * include/grub/util/lvm.h: Likewise.
26002 * include/grub/util/misc.h: Likewise.
26003 * include/grub/util/raid.h: Likewise.
26004 * include/grub/util/resolve.h: Likewise.
26005 * io/gzio.c: Likewise.
26006 * kern/device.c: Likewise.
26007 * kern/disk.c: Likewise.
26008 * kern/dl.c: Likewise.
26009 * kern/elf.c: Likewise.
26010 * kern/env.c: Likewise.
26011 * kern/err.c: Likewise.
26012 * kern/file.c: Likewise.
26013 * kern/fs.c: Likewise.
26014 * kern/loader.c: Likewise.
26015 * kern/main.c: Likewise.
26016 * kern/misc.c: Likewise.
26017 * kern/mm.c: Likewise.
26018 * kern/parser.c: Likewise.
26019 * kern/partition.c: Likewise.
26020 * kern/rescue.c: Likewise.
26021 * kern/term.c: Likewise.
26022 * kern/efi/efi.c: Likewise.
26023 * kern/efi/init.c: Likewise.
26024 * kern/efi/mm.c: Likewise.
26025 * kern/i386/dl.c: Likewise.
26026 * kern/i386/efi/init.c: Likewise.
26027 * kern/i386/efi/startup.S: Likewise.
26028 * kern/i386/pc/init.c: Likewise.
26029 * kern/i386/pc/lzo1x.S: Likewise.
26030 * kern/i386/pc/startup.S: Likewise.
26031 * kern/ieee1275/ieee1275.c: Likewise.
26032 * kern/powerpc/cache.S: Likewise.
26033 * kern/powerpc/dl.c: Likewise.
26034 * kern/powerpc/ieee1275/cmain.c: Likewise.
26035 * kern/powerpc/ieee1275/crt0.S: Likewise.
26036 * kern/powerpc/ieee1275/init.c: Likewise.
26037 * kern/powerpc/ieee1275/openfw.c: Likewise.
26038 * kern/sparc64/cache.S: Likewise.
26039 * kern/sparc64/dl.c: Likewise.
26040 * kern/sparc64/ieee1275/init.c: Likewise.
26041 * kern/sparc64/ieee1275/openfw.c: Likewise.
26042 * loader/efi/chainloader.c: Likewise.
26043 * loader/efi/chainloader_normal.c: Likewise.
26044 * loader/i386/efi/linux.c: Likewise.
26045 * loader/i386/efi/linux_normal.c: Likewise.
26046 * loader/i386/pc/chainloader.c: Likewise.
26047 * loader/i386/pc/chainloader_normal.c: Likewise.
26048 * loader/i386/pc/linux.c: Likewise.
26049 * loader/i386/pc/linux_normal.c: Likewise.
26050 * loader/i386/pc/multiboot.c: Likewise.
26051 * loader/i386/pc/multiboot_normal.c: Likewise.
26052 * loader/powerpc/ieee1275/linux.c: Likewise.
26053 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26054 * normal/arg.c: Likewise.
26055 * normal/cmdline.c: Likewise.
26056 * normal/command.c: Likewise.
26057 * normal/completion.c: Likewise.
26058 * normal/execute.c: Likewise.
26059 * normal/function.c: Likewise.
26060 * normal/lexer.c: Likewise.
26061 * normal/main.c: Likewise.
26062 * normal/menu.c: Likewise.
26063 * normal/menu_entry.c: Likewise.
26064 * normal/misc.c: Likewise.
26065 * normal/parser.y: Likewise.
26066 * normal/script.c: Likewise.
26067 * normal/i386/setjmp.S: Likewise.
26068 * normal/powerpc/setjmp.S: Likewise.
26069 * normal/sparc64/setjmp.S: Likewise.
26070 * partmap/acorn.c: Likewise.
26071 * partmap/amiga.c: Likewise.
26072 * partmap/apple.c: Likewise.
26073 * partmap/gpt.c: Likewise.
26074 * partmap/pc.c: Likewise.
26075 * partmap/sun.c: Likewise.
26076 * term/gfxterm.c: Likewise.
26077 * term/terminfo.c: Likewise.
26078 * term/efi/console.c: Likewise.
26079 * term/i386/pc/console.c: Likewise.
26080 * term/i386/pc/serial.c: Likewise.
26081 * term/i386/pc/vesafb.c: Likewise.
26082 * term/i386/pc/vga.c: Likewise.
26083 * term/ieee1275/ofconsole.c: Likewise.
26084 * util/biosdisk.c: Likewise.
26085 * util/console.c: Likewise.
26086 * util/genmoddep.c: Likewise.
26087 * util/getroot.c: Likewise.
26088 * util/grub-emu.c: Likewise.
26089 * util/grub-mkdevicemap.c: Likewise.
26090 * util/grub-probe.c: Likewise.
26091 * util/lvm.c: Likewise.
26092 * util/misc.c: Likewise.
26093 * util/raid.c: Likewise.
26094 * util/resolve.c: Likewise.
26095 * util/update-grub.in: Likewise.
26096 * util/update-grub_lib.in: Likewise.
26097 * util/grub.d/00_header.in: Likewise.
26098 * util/grub.d/10_hurd.in: Likewise.
26099 * util/grub.d/10_linux.in: Likewise.
26100 * util/i386/efi/grub-install.in: Likewise.
26101 * util/i386/efi/grub-mkimage.c: Likewise.
26102 * util/i386/pc/grub-install.in: Likewise.
26103 * util/i386/pc/grub-mkimage.c: Likewise.
26104 * util/i386/pc/grub-mkrescue.in: Likewise.
26105 * util/i386/pc/grub-setup.c: Likewise.
26106 * util/i386/pc/misc.c: Likewise.
26107 * util/powerpc/ieee1275/grub-install.in: Likewise.
26108 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
26109 * util/powerpc/ieee1275/misc.c: Likewise.
26110 * video/bitmap.c: Likewise.
26111 * video/video.c: Likewise.
26112 * video/i386/pc/vbe.c: Likewise.
26113 * video/i386/pc/vbeblit.c: Likewise.
26114 * video/i386/pc/vbefill.c: Likewise.
26115 * video/i386/pc/vbeutil.c: Likewise.
26116 * video/readers/tga.c: Likewise.
26117
3572d015 261182007-07-02 Robert Millan <rmh@aybabtu.com>
26119
26120 * conf/i386-efi.rmk: Replace obsolete reference to
26121 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
26122 with util/getroot.c.
26123 * conf/powerpc-ieee1275.rmk: Likewise.
26124 * conf/sparc64-ieee1275.rmk: Likewise.
26125
26126 * util/grub-emu.c (main): Fix unchecked pointer handling.
26127
2c2a681b 261282007-07-02 Robert Millan <rmh@aybabtu.com>
26129
26130 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
26131 invocation to fail, in order to support partition-less media.
26132
26133 * util/i386/pc/grub-install.in: Likewise.
26134
26135 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
26136 which fs or partmap modules are needed (akin to its sister scripts).
26137
26138 Also use grub-probe to get rid of unportable /proc/mounts check.
26139
26140 Print the same informational message that the other scripts do, before
fe6b695a 26141 exiting.
2c2a681b 26142
6193defe 261432007-06-23 Robert Millan <rmh@aybabtu.com>
26144
fe6b695a 26145 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 26146 a font file can be found and, if so, echo the GRUB path to it.
26147
26148 * util/update-grub.in: Handle multiple terminals depending on user
26149 input, platform availability and font file presence. Propagate
26150 variables of our findings to /etc/grub.d/ children.
26151
26152 * util/grub.d/00_header.in: Handle multiple terminals, based on
26153 environment setup by update-grub.
26154
eface1dc 261552007-06-23 Robert Millan <rmh@aybabtu.com>
26156
ba50d28f 26157 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 26158
bf697e28 261592007-06-21 Robert Millan <rmh@aybabtu.com>
26160
26161 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
26162 indicate end of data section in kernel image.
26163 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
26164 GRUB_KERNEL_MACHINE_DATA_END.
26165
26166 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
26167 space for it.
26168 * kern/i386/efi/startup.S: Likewise.
26169
26170 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
26171 during image generation. Implement --prefix option to override this
26172 patch.
26173 * util/i386/efi/grub-mkimage.c: Likewise.
26174
26175 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
26176 code to make path relative to its root into a separate function.
26177
26178 * util/i386/pc/grub-install.in: Use newly provided
26179 make_system_path_relative_to_its_root() to convert ${grubdir}, then
26180 pass the result to grub-install --prefix.
26181
baa574b4 261822007-06-13 Robert Millan <rmh@aybabtu.com>
26183
26184 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
26185 DEFAULT_DEVICE_MAP.
26186 * util/grub-emu.c: Use above definitions from misc.h instead of
26187 defining them.
26188 * util/grub-mkdevicemap.c: Likewise.
26189 * util/i386/pc/grub-setup.c: Likewise.
26190 * util/grub-probe.c: Likewise.
26191 (probe): Abort with grub_util_error() when either
26192 grub_guess_root_device or grub_util_get_grub_dev fails.
26193
0215dcbf 261942007-06-12 Robert Millan <rmh@aybabtu.com>
26195
26196 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
26197 "pager" assignment.
26198 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
26199 "pcdata".
26200 * util/grub-probe.c (probe): Likewise for "drive_name".
26201
8af2ab7b 262022007-06-11 Robert Millan <rmh@aybabtu.com>
26203
26204 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
26205 not just the cdrom one.
26206
59d31694 262072007-06-11 Robert Millan <rmh@aybabtu.com>
26208
26209 * util/i386/pc/grub-mkrescue.in: Add "set -e".
26210 Add --pkglibdir=DIR option to override pkglibdir.
26211 Mention --image-type=TYPE in help output.
26212 Fix --grub-mkimage (it was a no-op).
fe6b695a 26213 Abort gracefully when no parameter is given.
59d31694 26214
7ee367e4 262152007-06-11 Robert Millan <rmh@aybabtu.com>
26216
26217 * util/i386/pc/grub-mkrescue.in: New file.
26218 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
26219 * Makefile.in: Handle bin_SCRIPTS.
26220
29b0ed46 262212007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
26222
26223 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
26224 list of video modes.
26225
c0f90770 262262007-06-06 Robert Millan <rmh@aybabtu.com>
26227
26228 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
26229 file doesn't exist, or if it is in a filesystem grub can't read.
26230
26231 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
26232 not abort if GRUB_DRIVE could not be defined. Rearrange generated
26233 header comment to fit in 80 columns when the variables are resolved.
26234
26235 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
26236 could be identified by update-grub. Remove redundant check for
fe6b695a 26237 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 26238 handles that).
26239
fb36dc26 262402007-06-04 Robert Millan <rmh@aybabtu.com>
26241
26242 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
26243
26244 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
26245
26246 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
26247
0c68c93e 262482007-06-04 Robert Millan <rmh@aybabtu.com>
26249
26250 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
26251
26252 * include/grub/partition.h: Declare grub_apple_partition_map_init and
26253 grub_apple_partition_map_fini.
26254
26255 * util/biosdisk.c
26256 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
26257 to access >2 TiB disks).
26258
26259 Print disk->total_sectors with %llu instead of %lu, since this
26260 variable is always 64-bit (prevents wrong disk size from being displayed
26261 on either >2 TiB disk or big-endian CPU).
26262
26263 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
26264 into a generic case that supports all (sane) partition maps.
26265
26266 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
26267 breaks big-endian.
26268
26269 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
26270 and grub_apple_partition_map_fini() after that.
26271
0f23eb74 262722007-06-01 Robert Millan <rmh@aybabtu.com>
26273
26274 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
26275
26276 * util/grub.d/00_header.in: Only enable gfxterm when
26277 convert_system_path_to_grub_path() succeeds.
26278
42c71976 262792007-05-20 Robert Millan <rmh@aybabtu.com>
26280
26281 * util/update-grub_lib.in: New file.
26282 * DISTLIST: Add update-grub_lib.in.
26283 * conf/common.rmk: Generate update-grub_lib and install it in
26284 $(lib_DATA).
26285 * Makefile.in: Add install routine for $(lib_DATA).
26286
26287 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
26288 function provided by update-grub_lib to support arbitrary paths of
26289 unifont.pff.
26290 * util/update-grub.in: Use convert_system_path_to_grub_path() to
26291 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
26292
5beb2291 262932007-05-19 Robert Millan <rmh@aybabtu.com>
26294
26295 * commands/i386/cpuid.c: New module.
26296 * DISTLIST: Add it.
26297 * conf/i386-efi.rmk: Enable cpuid.mod.
26298 * conf/i386-pc.rmk: Likewise.
26299
7262eca1 263002007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26301
26302 * kern/disk.c (grub_disk_read): Check return value of
26303 grub_realloc().
26304
260ba823 263052007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26306
26307 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
26308 arrays.
26309 * disk/raid.c (grub_raid_open): Likewise.
26310
1ecb6cf2 263112007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26312
26313 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
26314 stack instead of on the heap.
26315
26316 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
26317 before doing a read on it.
26318
26319 * configure.ac: Only use -fno-stack-protector for the target
26320 environment.
f19dbdb7 26321
21c8cbb1 263222007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26323
26324 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
26325 __attribute_ ((unused)) to mode_type argument.
26326
26327 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 26328
21c8cbb1 26329 * kern/misc.c (memcmp): Fix prototype.
26330
26331 * include/grub/partition.h [GRUB_UTIL]
26332 (grub_gpt_partition_map_init): Add prototype.
26333 (grub_gpt_partition_map_fini): Likewise.
26334
26335 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
26336 at the right place.
26337
26338 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
26339 (grub_fat_read_data): Likewise.
26340 (grub_fat_find_dir): Likewise.
26341
26342 * font/manager.c (find_glyph): Make table a const.
26343 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 26344
849d55d3 263452007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
26346
26347 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
26348 code, first search for device in /dev/mapper, then in /dev.
26349 (grub_util_get_grub_dev): New function.
26350 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
26351 prototype.
26352 * util/grub-probe.c (probe): Remove check for RAID, call
26353 grub_util_get_grub_dev() instead of
26354 grub_util_biosdisk_get_grub_dev().
26355 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
26356 grub_util_biosdisk_get_grub_dev().
26357 * util/i386/pc/grub-setup.c (main): Likewise.
26358
8fff7c2f 263592007-05-16 Robert Millan <rmh@aybabtu.com>
26360
26361 * DISTLIST: Update for the latest changes.
26362 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
26363 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
26364 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
26365 grub/util/biosdisk.h.
26366 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
26367 grub/util/biosdisk.h.
26368
48e12b52 263692007-05-16 Robert Millan <rmh@aybabtu.com>
26370
26371 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
26372
46b9d128 263732007-05-16 Robert Millan <rmh@aybabtu.com>
26374
26375 * util/i386/efi/grub-install.in: New.
26376 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
26377 newly added grub-install.
26378 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
26379 include.
26380 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
26381 grub/util/biosdisk.h.
26382 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
26383 grub/util/biosdisk.h.
26384
2d1a40a9 263852007-05-16 Robert Millan <rmh@aybabtu.com>
26386
26387 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
26388 * include/grub/util/biosdisk.h: ... here.
26389 * util/i386/pc/biosdisk.c: Moved to ...
26390 * util/biosdisk.c: ... here.
26391 * util/i386/pc/getroot.c: Moved to ...
26392 * util/getroot.c: ... here.
26393 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
26394 * util/grub-mkdevicemap.c: ... here.
26395 * util/i386/pc/grub-probe.c: Moved to ...
26396 * util/grub-probe.c: ... here.
26397
9e26e3bc 263982007-05-15 Robert Millan <rmh@aybabtu.com>
26399
26400 * util/update-grub.in: Remove duplicated line in grub.cfg header
26401 message.
26402
57f96397 264032007-05-13 Robert Millan <rmh@aybabtu.com>
26404
26405 * util/update-grub.in: Fix a few assumptions about the devices holding
26406 /, /boot and /boot/grub being the same.
26407 * util/grub.d/00_header.in: Likewise.
26408 * util/grub.d/10_hurd.in: Likewise.
26409 * util/grub.d/10_linux.in: Likewise.
26410
26411 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
26412 patterns. Use that to define the `.old' suffix as older than `'.
26413
26414 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
26415
26416 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
26417 the grub.cfg header message.
26418
2e610d62 264192007-05-11 Robert Millan <rmh@aybabtu.com>
26420
26421 * util/update-grub.in: Create device.map if it doesn't already exist,
26422 before attempting to run grub-probe.
26423 Check for grub-probe and grub-mkdevicemap with the same code
26424 grub-install is using.
26425 Remove test mode.
26426
3f6a10ef 264272007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
26428
26429 * Makefile.in: Add the datarootdir autoconf variable.
26430
02e7b75e 264312007-05-09 Robert Millan <rmh@aybabtu.com>
26432
26433 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 26434 fail gracefully if dev->disk->partition == NULL.
02e7b75e 26435
75f396cc 264362007-05-07 Robert Millan <rmh@aybabtu.com>
26437
26438 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
26439 determine partition map module.
26440 * util/i386/pc/grub-install.in: Use this feature to decide which
26441 partition module to load, instead of hardcoding pc and gpt.
26442
da65cb36 264432007-05-07 Robert Millan <rmh@aybabtu.com>
26444
26445 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
26446 source directory differs from build directory.
26447
b57d6a91 264482007-05-05 Robert Millan <rmh@aybabtu.com>
26449
26450 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
26451 initialisation.
26452
509d00f1 264532007-05-05 Robert Millan <rmh@aybabtu.com>
26454
26455 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
26456
c48f23ef 264572007-05-05 Robert Millan <rmh@aybabtu.com>
26458
26459 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
26460 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26461
20b97658 264622007-05-05 Robert Millan <rmh@aybabtu.com>
26463
26464 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26465 (grub_probe_SOURCES): Likewise.
26466 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26467 GPT and initialize dos_part and bsd_part accordingly.
26468 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26469 install_bsd_part.
26470 (main): Activate gpt module for use during partition identification,
26471 and deactivate it afterwards.
26472 * util/i386/pc/grub-install.in: Add gpt module to core.img.
26473 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
26474 partition identification, and deactivate it afterwards.
26475
99123174 264762007-05-05 Robert Millan <rmh@aybabtu.com>
26477
26478 * term/i386/pc/console.c (grub_console_fini): Call
26479 grub_term_set_current() before grub_term_unregister().
26480
ebd97f6e 264812007-05-04 Robert Millan <rmh@aybabtu.com>
26482
26483 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
26484 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
26485 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
26486 and update-grub_DATA.
26487 * conf/common.rmk: Build and install update-grub components.
26488 * conf/common.mk: Regenerate.
26489 * util/update-grub.in: New. Core of update-grub.
26490 * util/grub.d/00_header.in: New. Generates grub.cfg header.
26491 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
26492 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
26493 * util/grub.d/README: New. Document grub.d directory layout.
26494
b06a264d 264952007-05-01 Robert Millan <rmh@aybabtu.com>
26496
26497 * util/grub-emu.c: Move initialization functions
26498 grub_util_biosdisk_init() and grub_init_all() before
26499 grub_util_biosdisk_get_grub_dev(), which relies on them.
26500
41f0050e 265012007-04-19 Robert Millan <rmh@aybabtu.com>
26502
26503 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26504 it is used later.
26505
04582bb3 265062007-04-18 Jerone Young <jerone@gmail.com>
26507
f19dbdb7 26508 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 26509 stanza.
26510
08db4632 265112007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 26512
08db4632 26513 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26514 continue on and look for device node with real device name.
26515
801b76be 265162007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 26517
fe6b695a 26518 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 26519 ability.
26520 * Makefile.in: Add autoconf package transformation code.
26521 * util/i386/pc/grub-install.in: Likewise.
26522 * util/powerpc/ieee1275/grub-install.in: Likewise.
26523
6795c4e1 265242007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26525
26526 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26527 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26528 (EXT2_REVISION): Likewise.
26529 (EXT2_INODE_SIZE): Likewise.
26530 (struct grub_ext2_block_group): Added a missing member
26531 "used_dirs".
26532 (grub_ext2_read_inode): Divide by the inode size in a superblock
26533 instead of 128 to obtain INODES_PER_BLOCK.
26534 Use the macro EXT2_INODE_SIZE instead of directly using
26535 SBLOCK->INODE_SIZE.
26536
d70af616 265372007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26538
26539 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26540 superblock instead of the structure size to compute an
26541 offset. This fixes the problem that GRUB could not read a
26542 filesystem when inode size is different from 128-byte.
26543
3b801603 265442007-03-05 Marco Gerards <marco@gnu.org>
26545
26546 * normal/main.c (read_config_file): When "menu" is not set, create
26547 an initial context.
26548
4785bfe4 265492007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26550
26551 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26552 (HEAP_LIMIT): New macro.
26553 (grub_claim_heap): Claim memory up to `heaplimit'.
26554
a0cbb023 265552007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26556
26557 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26558 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26559 (_start): Likewise.
26560 (grub_arch_modules_addr): Return address after `_end'.
26561 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26562 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26563 (add_segments): Calculate `_end' from phdr size and location.
26564 (ALIGN_UP): Moved to ...
26565 * include/grub/misc.h: here.
26566 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26567 New macro.
26568 (GRUB_IEEE1275_MODULE_BASE): Removed.
26569
fd7d8eba 265702007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26571
26572 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26573 loop boundary.
26574
9b09e6fc 265752007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26576
26577 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26578 All users updated.
26579 (grub_elf64_load_hook_t): Likewise.
26580 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26581 debug output.
26582
3ce27299 265832007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26584
26585 * kern/mm.c: Update copyright.
26586 (grub_mm_debug): Correct syntax error.
26587 (grub_mm_dump_free): New function.
26588 (grub_debug_free): Call `grub_free'.
26589 * include/grub/mm.h: Update copyright.
26590 (grub_mm_dump_free): Add declaration.
26591
077d5fee 265922007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26593
26594 * include/grub/ieee1275/ieee1275.h: Update copyright.
26595 * kern/powerpc/ieee1275/init.c: Likewise.
26596 * kern/powerpc/ieee1275/openfw.c: Likewise.
26597
26598 * loader/powerpc/ieee1275/linux.c: Likewise.
26599 * include/grub/elfload.h: Likewise.
26600 * kern/elf.c: Likewise.
26601 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26602 callers.
26603 (grub_elf64_load): Likewise.
26604 (grub_elf32_load_segment): Move to a nested function.
26605 (grub_elf64_load_segment): Likewise.
26606
dc946850 266072007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26608
26609 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26610 prototype.
26611 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26612 (grub_heap_len): Likewise.
26613 (HEAP_SIZE): New macro.
26614 (grub_claim_heap): New function.
26615 (grub_machine_init): Don't claim heap directly. Call
26616 `grub_claim_heap'.
26617 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26618 (grub_available_iterate): New function.
26619
baa2a121 266202007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26621
26622 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26623 * configure.ac: Use it for testing the HOST and TARGET compilers.
26624
4fe9862e 266252006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26626
26627 * Makefile.in (enable_grub_emu): New variable.
26628 * configure.ac (--enable-grub-emu): New option.
26629 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26630 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26631 * conf/i386-pc.rmk: Likewise.
26632 * conf/powerpc-ieee1275.rmk: Likewise.
26633 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26634
a8aa5762 266352006-12-12 Marco Gerards <marco@gnu.org>
26636
26637 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26638
26639 * kern/env.c (grub_env_unset): Don't free the member `value' when
26640 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26641 pointer.
26642
26643 * normal/main.c (current_menu): Removed.
26644 (free_menu): Unset the `menu' environment variable.
26645 (grub_normal_menu_addentry): Make use of the environment variable
26646 `menu', instead of using the global `current_menu'. Allocate
26647 memory for the sourcecode of this entry.
26648 (read_config_file): New argument `nested', changed all callers.
26649 Only in the case of a new context, initialize a new menu. Set the
26650 `menu' environment variable.
26651 (grub_normal_execute): Don't set and unset the environment
26652 variable `menu' here anymore. Only free the menu when leaving the
26653 context.
26654
26655 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26656 leak.
26657
957b3a3e 266582006-12-11 Marco Gerards <marco@gnu.org>
26659
26660 * normal/menu_entry.c (run): Fix off by one bug so the last line
26661 is executed. Move the loader check to outside the loop.
26662
ef875714 266632006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26664
26665 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26666
4e739985 266672006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26668
26669 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26670 the number of sectors. Reported by Andrey Shuvikov
26671 <mr_hyro@yahoo.com>.
f19dbdb7 26672
790707f2 266732006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26674
26675 * kern/disk.c (grub_disk_read): When there is a read error, always
26676 try to read only the necessary data.
f19dbdb7 26677
790707f2 26678 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26679 disk/raid.c.
26680 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26681 prototype.
26682 [GRUB_UTIL] (grub_raid_fini): Likewise.
26683 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 26684 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 26685 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26686 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26687 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26688 and grub_raid_fini().
f19dbdb7 26689
03e58196 266902006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26691
26692 * include/grub/types.h (__unused): Rename to UNUSED.
26693 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26694 (grub_elf64_size): Likewise.
f19dbdb7 26695
ae4f23bf 266962006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26697
26698 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26699 grub_error_push and grub_error_pop in the error-handling path.
26700 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26701 length.
26702
2166cc83 267032006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26704
26705 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26706 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26708 (kernel_elf_SOURCES): Likewise.
26709 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26710 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26711 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26712 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26713 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26714 (elf_mod_SOURCES): New variable.
26715 (elf_mod_CFLAGS): Likewise.
26716 (elf_mod_LDFLAGS): Likewise.
26717 * include/grub/types.h (__unused): New macro.
26718 * include/grub/elfload.h: New file.
26719 * kern/elf.c: Likewise.
26720 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26721 (ELF32_LOADMASK): New macro.
26722 (ELF64_LOADMASK): Likewise.
26723 (vmlinux): Removed.
26724 (grub_linux_load32): New function.
26725 (grub_linux_load64): Likewise.
26726 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26727 Use grub_elf_t instead of grub_file_t.
26728
a09d5aa5 267292006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26730
26731 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26732 `catch_result' to struct set_color_args.
26733
d976fc51 267342006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26735
26736 * normal/menu.c: Include grub/script.h.
26737 * normal/menu_entry.c: Likewise.
26738 * include/grub/normal.h: Do not include grub/script.h.
26739
67507549 267402006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26741
26742 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26743
69203a99 267442006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26745
26746 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26747 disk.
26748 (grub_disk_close): Print debug messages when closing a disk.
26749 (grub_disk_read): Print debug messages when disk read fails.
26750 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26751 filesystem type.
26752 * kern/partition.c: Include misc.h.
26753 (grub_partition_iterate): Print debug messages when detecting
26754 partition type.
26755
e2b8278c 267562006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26757
26758 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26759 is negative.
26760 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26761
97b2f2ff 267622006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26763
26764 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26765 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26766
6555d655 267672006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26768
26769 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26770 instead of sizeof(lv). Patch by Michael Guntsche.
26771
4d42b77f 267722006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26773
26774 * disk/lvm.c: Rename VGS to VG_LIST.
26775 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26776 (grub_lvm_open): Likewise.
26777 Thanks to Michael Guntsche for finding this bug.
26778
5d74d927 267792006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26780
26781 * configure.ac (AC_INIT): Bumped to 1.95.
26782
a1bb27e4 267832006-10-14 Robert Millan <rmh@aybabtu.com>
26784
26785 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26786 with "/dev/.static/dev/md".
26787
e0994b8b 267882006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26789
26790 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26791 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26792 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26793 DRIVE_NAME are always freed.
26794
26795 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26796 DOS_PART, as a DOS partition is counted from one instead of zero
26797 now. Reported by Robert Millan.
26798
ddd5cee9 267992006-10-14 Robert Millan <rmh@aybabtu.com>
26800
26801 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26802 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26803 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26804 string returned by grub_guess_root_device.
26805 * util/i386/pc/grub-setup.c: Likewise.
26806 * util/i386/pc/grub-probefs.c: Likewise.
26807
26808 * util/i386/pc/grub-probefs.c: Rename to ...
26809 * util/i386/pc/grub-probe.c: ... this.
26810 * DISTLIST: Remove grub-probefs, add grub-probe.
26811 * conf/i386-efi.rmk: Likewise.
26812 * conf/i386-pc.rmk: Likewise.
26813 * util/i386/pc/grub-install.in: Likewise.
26814
26815 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26816 choose which information we want to print.
26817
2b002173 268182006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26819
26820 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26821 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26822 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26823 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26824 video/readers/tga.c and video/i386/pc/vbeutil.c.
26825
268262006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26827
26828 Added support for RAID and LVM.
f19dbdb7 26829
2b002173 26830 * disk/lvm.c: New file.
26831 * disk/raid.c: Likewise.
26832 * include/grub/lvm.h: Likewise.
f19dbdb7 26833 * include/grub/raid.h: Likewise.
2b002173 26834 * include/grub/util/lvm.h: Likewise.
26835 * include/grub/util/raid.h: Likewise.
26836 * util/lvm.c: Likewise.
26837 * util/raid.c: Likewise.
26838
26839 * include/grub/disk.h (grub_disk_dev_id): Add
26840 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26841 (grub_disk_get_size): New prototype.
26842 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26843 returns a partition.
26844 (grub_disk_get_size): New function.
f19dbdb7 26845
2b002173 26846 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26847 verbatim if grub_install_dos_part is -2.
26848
26849 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26850 and LVM devices.
26851
26852 * util/i386/pc/grub-setup.c (setup): New argument
26853 MUST_EMBED. Force embedding of GRUB when the argument is
26854 true. Close FILE before returning.
26855 (main): Add support for RAID and LVM.
f19dbdb7 26856
2b002173 26857 * conf/common.rmk: Add RAID and LVM modules.
26858 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26859 util/lvm.c.
26860 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26861
26862 * kern/misc.c (grub_strstr): New function.
26863 * include/grub/misc.h (grub_strstr): New prototype.
26864
050548d0 268652006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26866
26867 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26868
da849d2d 268692006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26870
26871 * kern/misc.c (grub_strtoull): Guess the base only if not
26872 specified.
26873
97b2f2ff 268742006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 26875
26876 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26877 PowerMac support.
26878
97b2f2ff 268792006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 26880
26881 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26882
26883 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26884 Remove `flags' argument. All callers changed.
26885 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26886 (IEEE1275_IHANDLE_INVALID): New variable.
26887 (IEEE1275_CELL_INVALID): New variable.
26888 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26889 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26890 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26891 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26892 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26893 codes from Open Firmware. All callers updated.
26894 (grub_ieee1275_next_property): Directly return Open Firmware return
26895 code.
26896 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26897 Standardize error checking from `grub_ieee1275_get_property'.
26898 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26899 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26900
97b2f2ff 269012006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26902
26903 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26904 `instance_to_package_args' to `instance_to_path_args'.
26905
26906 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26907 `grub_ieee1275_chosen'.
26908
26909 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26910 `grub_ieee1275_interpret'.
26911
97b2f2ff 269122006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26913
26914 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26915
97b2f2ff 269162006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26917
26918 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26919 (__cmpdi): Likewise.
26920
26921 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
26922 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
26923 `grub_ssize_t'.
26924
02bb8acc 26925 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 26926
26927 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
26928 to type `grub_ssize_t'.
26929 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
26930
7f9a8531 269312006-09-22 Marco Gerards <marco@gnu.org>
26932
26933 * normal/script.c (grub_script_create_cmdmenu): Skip leading
26934 newlines.
26935
b5ef1102 269362006-09-22 Marco Gerards <marco@gnu.org>
26937
26938 * commands/echo.c: New file.
26939
26940 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
26941
26942 * conf/common.rmk (echo_mod_SOURCES): New variable.
26943 (echo_mod_CFLAGS): Likewise.
26944 (echo_mod_LDFLAGS): Likewise.
26945
2cff3677 269462006-09-22 Marco Gerards <marco@gnu.org>
26947
26948 * normal/main.c (get_line): Malloc memory instead of using
26949 preallocated memory. Removed the arguments `cmdline' and
26950 `max_len'. Updated all callers.
26951
6ba4688b 269522006-09-22 Marco Gerards <marco@gnu.org>
26953
26954 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
26955 (normal_mod_DEPENDENCIES): Likewise.
26956
26957 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
26958 (normal_mod_DEPENDENCIES): Likewise.
26959
26960 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
26961
e02ac02c 269622006-09-22 Johan Rydberg <jrydberg@gnu.org>
26963
26964 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
26965 programs.
26966 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
26967 (normal_mod_DEPENDENCIES): Likewise.
26968 * conf/i386-pc.mk: Regenerate.
26969 * conf/i386-efi.mk: Likewise
26970 * conf/common.mk: Likewise.
26971 * conf/powerpc-ieee1275.mk: Likewise.
26972 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 26973
8d252e44 269742006-09-22 Robert Millan <rmh@aybabtu.com>
26975
26976 Sync with i386 version.
26977 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
26978 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
26979
209bf7ac 269802006-09-21 Robert Millan <rmh@aybabtu.com>
26981
26982 Import from GRUB Legacy (lib/device.c):
26983 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
26984 (init_device_map) [__linux__]: Add support for I2O devices.
26985
6b146090 269862006-09-14 Marco Gerards <marco@gnu.org>
26987
26988 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
26989 `-melf_i386'.
26990
e38600a8 269912006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 26992
26993 * util/i386/pc/grub-install.in: Skip menu.lst when removing
26994 /boot/grub/*.lst.
78fa1790 26995
2952da5d 26996 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 26997
2952da5d 26998 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
26999 before adding it to device.map.
27000
01b82a64 270012006-08-15 Johan Rydberg <jrydberg@gnu.org>
27002
fe6b695a 27003 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 27004 compiles a file; using the -MD option.
27005 * conf/common.mk: Regenerate.
27006 * conf/i386-pc.mk: Likewise.
27007 * conf/i386-efi.mk: Likewise.
27008 * conf/powerpc-ieee1275.mk: Likewise.
27009 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27010
1064790d 270112006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
27012
27013 Move the prototypes of grub_setjmp and grub_longjmp to
27014 cpu/setjmp.h, so that each architecture may specify different
27015 attributes.
f19dbdb7 27016
1064790d 27017 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
27018 (grub_longjmp): Likewise.
27019 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
27020 (grub_longjmp): Likewise.
27021 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
27022 (grub_longjmp): Likewise.
27023
27024 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
27025 [!GRUB_UTIL] (grub_longjmp): Removed.
27026
29dda3ed 270272006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
27028
27029 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
27030 "color!" method does not return any value.
27031
ad2a06ed 270322006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27033
27034 * include/grub/bitmap.h: New file.
27035
27036 * include/grub/i386/pc/vbeutil.h: Likewise.
27037
27038 * video/bitmap.c: Likewise.
27039
27040 * video/readers/tga.c: Likewise.
27041
27042 * video/i386/pc/vbeutil.c: Likewise.
27043
27044 * commands/videotest.c: Code cleanup and updated to reflect to new
27045 video API.
27046
27047 * term/gfxterm.c: Likewise.
27048
27049 * video/video.c: Likewise.
27050
27051 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
27052 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
27053 (bitmap_mod_SOURCES): New entry.
27054 (bitmap_mod_CFLAGS): Likewise.
27055 (bitmap_mod_LDFLAGS): Likewise.
27056 (tga_mod_SOURCES): Likewise.
27057 (tga_mod_CFLAGS): Likewise.
27058 (tga_mod_LDFLAGS): Likewise.
27059
27060 * include/grub/video.h (grub_video_blit_operators): New enum type.
27061 (grub_video_render_target): Changed as forward declaration and moved
27062 actual definition to be video driver specific.
27063 (grub_video_adapter.blit_bitmap): Added blitting operator.
27064 (grub_video_adapter.blit_render_target): Likewise.
27065 (grub_video_blit_bitmap): Likewise.
27066 (grub_video_blit_render_target): Likewise.
27067
27068 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
27069 driver specific render target definition.
27070 (grub_video_vbe_map_rgba): Added driver internal helper.
27071 (grub_video_vbe_unmap_color): Updated to use
27072 grub_video_i386_vbeblit_info.
27073 (grub_video_vbe_get_video_ptr): Likewise.
27074
27075 * include/grub/i386/pc/vbeblit.h
27076 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
27077 grub_video_i386_vbeblit_info.
27078 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27079 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27080 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27081 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27082 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27083 (grub_video_i386_vbeblit_index_index): Likewise.
27084 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
27085 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27086 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27087 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
27088 operator.
27089 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
27090 operator.
27091
27092 * video/i386/pc/vbeblit.c: Updated to reflect changes on
27093 include/grub/i386/pc/vbeblit.h.
27094
27095 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
27096 Updated to use grub_video_i386_vbeblit_info.
27097 (grub_video_i386_vbefill_R8G8B8): Likewise.
27098 (grub_video_i386_vbefill_index): Likewise.
27099 (grub_video_i386_vbefill): Added generic filler.
27100
27101 * video/i386/pc/vbefill.c: Updated to reflect changes on
27102 include/grub/i386/pc/vbefill.h.
27103
27104 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
27105 grub_video_i386_vbeblit_info.
27106 (grub_video_vbe_unmap_color): Likewise.
27107 (grub_video_vbe_blit_glyph): Likewise.
27108 (grub_video_vbe_scroll): Likewise.
27109 (grub_video_vbe_draw_pixel): Removed function.
27110 (grub_video_vbe_get_pixel): Likewise.
27111 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
27112 updated code to use it.
27113 (common_blitter): Added common blitter for render target and bitmap.
27114 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
27115 (grub_video_vbe_blit_render_target): Likewise.
27116
bc8c036d 271172006-07-30 Johan Rydberg <jrydberg@gnu.org>
27118
27119 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
27120 is in text mode if there is no console control protocol instance
27121 available.
27122
684a8eff 271232006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27124
27125 * include/grub/video.h: Code cleanup.
27126
27127 * include/grub/i386/pc/vbe.h: Likewise.
27128
27129 * video/i386/pc/vbe.c: Likewise.
27130
27131 * video/i386/pc/vbeblit.c: Likewise.
27132
27133 * video/i386/pc/vbefill.c: Likewise.
27134
27135 * video/video.c: Likewise. Also added more comments.
27136
5915059b 271372006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27138
27139 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
27140 (struct grub_biosdisk_dap): Likewise.
27141
27142 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
27143 linkage settings for all functions.
27144
90ce5d56 271452006-07-12 Marco Gerards <marco@gnu.org>
27146
27147 * configure.ac (--enable-mm-debug): Fix typo.
27148
27149 * genkernsyms.sh.in: Use proper quoting for `CC'.
27150
43e7f879 271512006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
27152
27153 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
27154 (normal_mod_ASFLAGS): Remove "-m32".
27155
4889bdec 271562006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
27157
27158 * util/misc.c: Include config.h.
27159 [!HAVE_MEMALIGN]: Do not include malloc.h.
27160 (grub_memalign): Use posix_memalign, if present. Then, use
27161 memalign, if present. Otherwise, emit an error.
27162
27163 * util/grub-emu.c: Do not include malloc.h.
27164
27165 * include/grub/util/misc.h: Include unistd.h. This is required for
27166 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
27167 D. Eades III <hde@foobar-qux.org>.
27168
27169 * configure.ac (AC_GNU_SOURCE): Added.
27170 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
27171 type.
27172
fd39d4da 271732006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
27174
27175 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
27176 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
27177
b786f3b5 271782006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
27179
27180 * include/grub/types.h (grub_host_addr_t): Rename to
27181 grub_target_addr_t.
27182 (grub_host_off_t): Rename to grub_target_off_t.
27183 (grub_host_size_t): Rename to grub_target_size_t.
27184 (grub_host_ssize_t): Rename to grub_target_ssize_t.
27185 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
27186
27187 * include/grub/kernel.h (struct grub_module_header): Change type
27188 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
27189 (grub_module_info): Likewise.
f19dbdb7 27190
051988bb 271912006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27192
27193 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
27194 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
27195 Velazquez <jesus.velazquez@gmail.com>.
27196
deae281b 271972006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27198
27199 Count partitions from 1 instead of 0 in the string representation
27200 of partitions. Still use 0-based internally.
f19dbdb7 27201
deae281b 27202 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
27203 (sun_partition_map_iterate): Use grub_partition_t instead of
27204 struct grub_partition *. Cast DESC->START_CYLINDER to
27205 grub_uint64_t after converting the endian.
27206 (sun_partition_map_probe): Subtract 1 for PARTNUM.
27207 (sun_partition_map_get_name): Add 1 to P->INDEX.
27208
27209 * partmap/pc.c (grub_partition_parse): Subtract 1 for
27210 PCDATA->DOS_PART.
27211 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
27212
27213 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
27214 zero instead of one.
27215 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
27216 (gpt_partition_map_get_name): Add 1 into P->INDEX.
27217
27218 * partmap/apple.c (apple_partition_map_iterate): Change the type
27219 of POS to unsigned.
27220 (apple_partition_map_probe): Subtract 1 for PARTNUM.
27221 (apple_partition_map_get_name): Add 1 into P->INDEX.
27222
27223 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
27224 of POS to unsigned.
27225 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
27226 calculate the offset of a partition.
27227 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
27228 (amiga_partition_map_get_name): Add 1 into P->INDEX.
27229
27230 * partmap/acorn.c (acorn_partition_map_find): Change the type of
27231 SECTOR to grub_disk_addr_t.
27232 (acorn_partition_map_iterate): Likewise.
27233 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
27234 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
27235 top.
27236 (acorn_partition_map_get_name): Add 1 into P->INDEX.
27237
27238 * kern/i386/pc/init.c (make_install_device): Add 1 into
27239 GRUB_INSTALL_DOS_PART.
27240
27241 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
27242 conditional.
27243
524a1e6a 272442006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27245
27246 Clean up the code to support 64-bit addressing in disks and
27247 files. This change is not enough for filesystems yet.
f19dbdb7 27248
524a1e6a 27249 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
27250 type of "start" to grub_uint64_t.
27251 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
27252 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
27253 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
27254 convert addresses.
27255
27256 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
27257 to grub_disk_addr_t.
27258
27259 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
27260 string.
27261
27262 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27263
27264 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
27265 to char *.
27266
27267 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
27268
27269 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
27270
27271 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
27272
27273 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
27274 to grub_off_t, to detect an error from grub_file_seek.
27275 (grub_multiboot_load_elf32): Likewise.
27276
27277 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
27278 maximum unsigned long value when an overflow is detected.
27279 (grub_strtoull): New function.
27280 (grub_divmod64): Likewise.
27281 (grub_lltoa): use grub_divmod64.
27282
27283 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
27284 grub_disk_addr_t.
27285 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
27286 the pointer to next character. Use grub_strtoull instead of
27287 grub_strtoul.
27288 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
27289 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
27290 respectively.
27291
fe6b695a 27292 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 27293 return value is signed.
27294 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
27295 test if OFFSET is less than zero, as OFFSET is unsigned now.
27296
27297 * kern/disk.c (struct grub_disk_cache): Change the type of
27298 "sector" to grub_disk_addr_t.
27299 (grub_disk_cache_get_index): Change the type of SECTOR to
27300 grub_disk_addr_t. Calculate the hash with SECTOR casted to
27301 unsigned after shifting.
27302 (grub_disk_cache_invalidate): Change the type of SECTOR to
27303 grub_disk_addr_t.
27304 (grub_disk_cache_unlock): Likewise.
27305 (grub_disk_cache_store): Likewise.
27306 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
27307 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
27308 grub_disk_addr_t and grub_uint64_t, respectively.
27309 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
27310 body, as the value of OFFSET is tweaked by
27311 grub_disk_check_range. Change the types of START_SECTOR, LEN and
27312 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
27313 respectively.
27314 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
27315 body, as the value of OFFSET is tweaked by
27316 grub_disk_check_range. Change the types of LEN and N to
27317 grub_size_t.
27318
27319 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
27320 and "saved_offset" to grub_off_t.
27321 (test_header): Cast BUF to char *.
27322 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
27323 to char *.
27324 (grub_gzio_read): Change the types of OFFSET and SIZE to
27325 grub_off_t and grub_size_t, respectively.
27326
27327 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
27328 Removed.
27329 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
27330 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
27331 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
27332 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
27333 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
27334
27335 * include/grub/types.h (grub_off_t): Unconditionally set to
27336 grub_uint64_t.
27337 (grub_disk_addr_t): Changed to grub_uint64_t.
27338
27339 * include/grub/partition.h (struct grub_partition): Change the
27340 types of "start", "len" and "offset" to grub_disk_addr_t,
27341 grub_uint64_t and grub_disk_addr_t, respectively.
27342 (grub_partition_get_start): Return grub_disk_addr_t.
27343 (grub_partition_get_len): Return grub_uint64_t.
27344
27345 * include/grub/misc.h (grub_strtoull): New prototype.
27346 (grub_divmod64): Likewise.
27347
27348 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
27349 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
27350 grub_off_t, respectively.
27351 All callers and references changed.
27352
27353 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
27354 grub_size_t in "read".
27355 All callers and references changed.
27356
27357 * include/grub/file.h (struct grub_file): Change the types of
27358 "offset" and "size" to grub_off_t and grub_off_t,
27359 respectively. Change the type of SECTOR to grub_disk_addr_t in
27360 "read_hook".
27361 (grub_file_read): Change the type of LEN to grub_size_t.
27362 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
27363 grub_off_t.
27364 (grub_file_size): Return grub_off_t.
27365 (grub_file_tell): Likewise.
27366 All callers and references changed.
27367
27368 * include/grub/disk.h (struct grub_disk_dev): Change the types of
27369 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
27370 "write".
27371 (struct grub_disk): Change the type of "total_sectors" to
27372 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 27373 "read_hook".
524a1e6a 27374 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
27375 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
27376 (grub_disk_write): Likewise.
27377 All callers and references changed.
27378
27379 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
27380 char * for grub_strncmp to silence gcc.
27381 (grub_iso9660_mount): Likewise.
27382 (grub_iso9660_mount): Likewise.
27383 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
27384 return statement.
27385 (grub_iso9660_iterate_dir): Likewise.
27386 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
27387
27388 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
27389 LEN to grub_disk_addr_t and grub_size_t, respectively.
27390
27391 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27392
27393 * fs/jfs.c (grub_jfs_read_file): Likewise.
27394
27395 * fs/minix.c (grub_jfs_read_file): Likewise.
27396
27397 * fs/sfs.c (grub_jfs_read_file): Likewise.
27398
27399 * fs/ufs.c (grub_jfs_read_file): Likewise.
27400
27401 * fs/xfs.c (grub_jfs_read_file): Likewise.
27402
27403 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
27404 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
27405 respectively.
27406
27407 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
27408 BLKNR to -1 instead of returning GRUB_ERRNO.
27409 (grub_ext2_read_file): Change the types of SECTOR and
27410 LEN to grub_disk_addr_t and grub_size_t, respectively.
27411
27412 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
27413 LEN to grub_disk_addr_t and grub_size_t, respectively.
27414
27415 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
27416 grub_file_read.
27417
27418 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
27419 string. Do not cast SECTOR explicitly.
27420
27421 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
27422 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
27423 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
27424 grub_disk_addr_t and grub_size_t, respectively. If the sector is
27425 over 2TB and LBA mode is not supported, raise an error.
27426 (get_safe_sectors): New function.
27427 (grub_biosdisk_read): Use get_safe_sectors.
27428 (grub_biosdisk_write): Likewise.
27429
27430 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
27431 (grub_efidisk_write): Likewise.
27432
27433 * disk/loopback.c (delete_loopback): Cosmetic changes.
27434 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
27435 correctly.
27436 (grub_loopback_open): Likewise.
27437 (grub_loopback_read): Likewise. Also, change the type of POS to
27438 grub_off_t, and fix the usage of grub_memset.
27439
27440 * commands/i386/pc/play.c: Include grub/machine/time.h.
27441
27442 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
27443 print FILE->SIZE.
27444
27445 * commands/configfile.c: Include grub/env.h.
27446
27447 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
27448 GRUB_ERRNO directly instead. Change the type of POS to
27449 grub_off_t. Follow the coding standard.
27450
27451 * commands/blocklist.c: Include grub/partition.h.
27452 (grub_cmd_blocklist): Return an error if the underlying device is
27453 not a disk. Take the starting sector of a partition into account,
27454 if a partition is used.
27455
27456 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
27457 a length field.
27458 (lba_mode): Support 64-bit addresses.
27459 (chs_mode): Likewise.
27460 (copy_buffer): Adapted to the new offsets of a length field and a
27461 segment field.
27462 (blocklist_default_start): Allocate 64-bit space.
27463
27464 * boot/i386/pc/boot.S (force_lba): Removed.
27465 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27466 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27467 space.
27468 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27469 is useless.
27470 (lba_mode): Refactored to support a 64-bit address. More size
27471 optimization.
27472 (setup_sectors): Likewise.
27473
53af98ad 274742006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27475
27476 * DISTLIST: Added include/grub/i386/linux.h. Removed
27477 include/grub/i386/pc/linux.h
27478
27479 * configure.ac (AC_INIT): Bumped to 1.94.
27480
27481 * config.guess: Updated from gnulib.
27482 * config.sub: Likewise.
27483 * install-sh: Likewise.
27484 * mkinstalldirs: Likewise.
27485
b4c1940a 274862006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27487
27488 * conf/common.rmk (grub_modules_init.lst): Depended on
27489 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
27490 MODSRCFILES.
27491
27492 * genmk.rb (PModule::rule): Reverted the previous change.
27493
cfca1cfd 274942006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27495
27496 * conf/common.rmk (grub_modules_init.lst): Depends on
27497 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
27498 that the target does not exist before producing.
27499 (grub_modules_init.h): Remove the target before generating.
27500 (grub_emu_init.c): Likewise.
27501
27502 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
27503
aa6d7826 275042006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27505
27506 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27507 for the target-specific tests. Make sure that we also have the
27508 up-to-date target variables for those tests.
27509
26c607b9 275102006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27511
27512 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27513 (PModule::rule): Likewise.
27514
0162321a 275152006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27516
27517 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27518 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27519 target-specific flags should be prefixed.
27520 (PModule::rule): Likewise.
27521
6c826348 275222006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27523
27524 * configure.ac (CMP): Check if cmp is available explicitly.
27525
b977bf01 275262006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27527
27528 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27529 (target_cpu): New variable.
27530 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 27531
b977bf01 27532 * util/i386/pc/grub-install.in (host_cpu): Removed.
27533 (target_cpu): New variable.
27534 (pkglibdir): Use target_cpu instead of host_cpu.
27535
27536 * util/genmoddep.c: Removed.
f19dbdb7 27537
b977bf01 27538 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27539 instead of GRUB_HOST_SIZEOF_VOID_P.
27540 * kern/dl.c: Likewise.
27541
27542 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27543 ...
27544 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27545 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27546 (GRUB_TARGET_SIZEOF_LONG): ... this.
27547 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27548 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27549 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27550 to ...
27551 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27552 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27553 (GRUB_TARGET_SIZEOF_LONG): ... this.
27554 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27555 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27556 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27557 to ...
27558 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27559 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27560 (GRUB_TARGET_SIZEOF_LONG): ... this.
27561 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27562 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27563
27564 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27565 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27566 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27567 instead of GRUB_HOST_SIZEOF_LONG.
27568 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27569 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27570 GRUB_CPU_WORDS_BIGENDIAN.
27571 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27572 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27573 grub_host_ssize_t.
27574
27575 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27576 (genmoddep_SOURCES): Likewise.
27577 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27578 (genmoddep_SOURCES): Likewise.
27579 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27580 (genmoddep_SOURCES): Likewise.
27581 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27582 Likewise.
27583 (genmoddep_SOURCES): Likewise.
27584
27585 * genmoddep.awk: New file.
27586
27587 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27588 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27589 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27590 (PModule::rule): Likewise.
27591 (Program::rule): Likewise.
27592 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27593 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27594 respectively.
27595
27596 * configure.ac: Rewritten intensively to use host and target
27597 instead of build and host, respectively.
27598
27599 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27600 (host_cpu): Removed.
27601 (target_cpu): New variable.
27602 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27603 (BUILD_CC): Removed.
27604 (BUILD_CFLAGS): Likewise.
27605 (BUILD_CPPFLAGS): Likewise.
27606 (TARGET_CC): New variable.
27607 (TARGET_CFLAGS): Likewise.
27608 (TARGET_CPPFLAGS): Likewise.
27609 (TARGET_LDFLAGS): Likewise.
27610 (AWK): Likewise.
27611 (include): Use target_cpu instead of host_cpu.
27612 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27613
b977bf01 27614 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27615
f09771a1 276162006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27617
27618 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27619 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27620 field 'false' to 'exec_on_false'.
27621 (grub_script_create_cmdif): Renamed argument names to reflect above
27622 changes.
27623
27624 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27625
27626 * normal/script.c (grub_script_create_cmdif): Likewise.
27627
118f4fb3 276282006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27629
27630 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27631 top.
27632 (grub_hfsplus_btree_recptr): Likewise.
27633 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27634 FILEBLOCK both to pass a block number and store next block
27635 number.
27636 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27637 overflow file correctly. Specify errors appropriately, because
27638 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27639 grub_hfsplus_btree_recptr to get the pointer to a found key.
27640 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27641 is found.
27642
27643 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27644 linux.mod.
27645 (_linux_mod_SOURCES): New variable.
27646 (_linux_mod_CFLAGS): Likewise.
27647 (_linux_mod_LDFLAGS): Likewise.
27648 (linux_mod_SOURCES): Likewise.
27649 (linux_mod_CFLAGS): Likewise.
27650 (linux_mod_LDFLAGS): Likewise.
27651
27652 * DISTLIST: Added loader/i386/efi/linux.c,
27653 loader/i386/efi/linux_normal.c and
27654 include/grub/i386/efi/loader.h.
27655
27656 * loader/i386/efi/linux.c: New file.
27657 * loader/i386/efi/linux_normal.c: Likewise.
27658 * include/grub/i386/efi/loader.h: Likewise.
27659
89a7d726 276602006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27661
27662 * commands/blocklist.c: New file.
27663
27664 * DISTLIST: Added commands/blocklist.c.
27665
27666 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 27667 color for the background, and a darker color for the foreground.
89a7d726 27668 (grub_console_checkkey): Return READ_KEY.
27669 (grub_console_cls): Set the background to
27670 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27671
27672 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27673
27674 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27675 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27676
27677 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27678 prototype.
27679
27680 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27681 BG. The spec is wrong again.
27682
27683 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27684 prototype.
27685 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27686
27687 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27688 commands/blocklist.c.
27689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 27690
89a7d726 27691 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27692 (blocklist_mod_SOURCES): New variable.
27693 (blocklist_mod_CFLAGS): Likewise.
27694 (blocklist_mod_LDFLAGS): Likewise.
27695
75c8f258 276962006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27697
27698 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27699 duplication.
27700 (lba_mode): Use %eax more intensively to reduce the code size.
27701
da2eb181 277022006-05-20 Marco Gerards <marco@gnu.org>
27703
27704 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27705
27706 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27707 for `menuentry'.
27708 (script): Accept leading newlines.
27709 (newlines): New rule to describe 0 or more newlines.
27710 (commands): Accept `command' with trailing newline. Fixed the
27711 order in which arguments were passed to `grub_script_add_cmd'.
27712 Accept commands separated by newlines.
27713 (function): Changed to accept newlines.
27714 (menuentry) Rewritten.
27715
27716 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27717 front of the list, instead of to the end.
27718
577b4050 277192006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27720
27721 * util/i386/pc/grub-install.in (bindir): New variable.
27722 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27723 Shaver <lbgwjl@gmail.com>.
27724
0d6e1189 277252006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27726
27727 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27728 grub/machine/linux.h
27729 * loader/i386/pc/linux.c: Likewise.
27730
27731 * include/grub/i386/pc/linux.h: Moved to ...
27732 * include/grub/i386/linux.h: ... here.
27733
27734 * include/grub/i386/linux.h (struct linux_kernel_params): New
27735 struct.
f19dbdb7 27736
31b86e9f 277372006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27738
27739 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27740 checking.
27741 (grub_video_vbe_blit_glyph): Likewise.
27742 (grub_video_vbe_blit_bitmap): Likewise.
27743 (grub_video_vbe_blit_render_target): Likewise.
27744
83b984de 277452006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27746
27747 * configure.ac (--with-platform): Properly quote the square
27748 brackets.
27749
5f0413bd 277502006-05-08 Marco Gerards <marco@gnu.org>
27751
27752 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27753 this...
27754 (kernel_elf_HEADERS): ...to this. Updated all users.
27755 (grubof_symlist.c): Renamed from this...
27756 (kernel_elf_symlist.c): ...to this. Updated all users.
27757 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27758 (grubof_SOURCES): Renamed from this...
27759 (kernel_elf_SOURCES): ...to this.
27760 (grubof_HEADERS): Renamed from this...
27761 (kernel_elf_HEADERS): ...to this.
27762 (grubof_CFLAGS): Renamed from this...
27763 (kernel_elf_CFLAGS): ...to this.
27764 (grubof_ASFLAGS): Renamed from this...
27765 (kernel_elf_ASFLAGS): ...to this.
27766 (grubof_LDFLAGS): Renamed from this...
27767 (kernel_elf_LDFLAGS): ...to this.
27768
27769 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27770 this...
27771 (kernel_elf_HEADERS): ...to this. Updated all users.
27772 (grubof_symlist.c): Renamed from this...
27773 (kernel_elf_symlist.c): ...to this. Updated all users.
27774 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27775 (grubof_SOURCES): Renamed from this...
27776 (kernel_elf_SOURCES): ...to this.
27777 (grubof_HEADERS): Renamed from this...
27778 (kernel_elf_HEADERS): ...to this.
27779 (grubof_CFLAGS): Renamed from this...
27780 (kernel_elf_CFLAGS): ...to this.
27781 (grubof_ASFLAGS): Renamed from this...
27782 (kernel_elf_ASFLAGS): ...to this.
27783 (grubof_LDFLAGS): Renamed from this...
27784 (kernel_elf_LDFLAGS): ...to this.
27785
27786 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27787 `kernel.elf' instead of `grubof'.
27788
05568c2e 277892006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27790
27791 Add --with-platform to configure. Use pkglibdir instead of
27792 pkgdatadir. This is reported by Roger Leigh.
27793
27794 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27795 (host_vendor): Likewise.
27796 (host_os): Likewise.
27797 (pkgdatadir): Likewise.
27798 (platform): New variable.
27799 (pkglibdir): Likewise.
27800 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27801
05568c2e 27802 * util/i386/pc/grub-install.in (datadir): Removed.
27803 (host_vendor): Likewise.
27804 (host_os): Likewise.
27805 (pkgdatadir): Likewise.
27806 (platform): New variable.
27807 (pkglibdir): Likewise.
27808 Use PKGLIBDIR instead of PKGDATADIR.
27809
27810 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27811 instead of GRUB_DATADIR.
27812 (main): Likewise.
27813 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27814 (main): Likewise.
27815 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27816 (main): Likewise.
27817
27818 * configure.ac (--with-platform): New option.
27819 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27820
27821 * Makefile.in: Include a makefile based on PLATFORM instead of
27822 HOST_VENDOR.
27823 (pkgdatadir): Not appended by the machine type.
27824 (pkglibdir): Appended by the machine type.
27825 (host_vendor): Removed.
27826 (platform): New variable.
27827 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27828 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27829 (uninstall): Likewise.
27830
4e93851c 278312006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27832
27833 Use the environment context in the menu. Remove the commands
27834 "default" and "timeout", and use variables instead.
f19dbdb7 27835
4e93851c 27836 * normal/menu.c: Include grub/env.h.
27837 (print_entry): Cast TITLE to silence gcc.
27838 (get_timeout): New function.
27839 (set_timeout): Likewise.
27840 (get_entry_number): Likewise.
27841 (run_menu): Use a default entry, a fallback entry and a timeout
27842 in the environment variables "default", "fallback" and
27843 "timeout". Also, tweak the default entry if it is not within the
27844 current menu entries.
27845 (grub_menu_run): Use a fallback entry in the environment variable
27846 "fallback".
27847
27848 * normal/main.c (read_config_file): Do not initialize
27849 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27850 NEWMENU->TIMEOUT.
27851 (grub_normal_execute): Use a data slot to store the menu.
27852
27853 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27854 fallback_entry and timeout.
27855 (struct grub_menu_list): Removed.
27856 (grub_menu_list_t): Likewise.
27857 (struct grub_context): Likewise.
27858 (grub_context_t): Likewise.
27859 (grub_context_get): Likewise.
27860 (grub_context_get_current_menu): Likewise.
27861 (grub_context_push_menu): Likewise.
27862 (grub_context_pop_menu): Likewise.
27863 (grub_default_init): Likewise.
27864 (grub_default_fini): Likewise.
27865 (grub_timeout_init): Likewise.
27866 (grub_timeout_fini): Likewise.
27867
27868 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27869 and timeout.mod.
27870 (normal_mod_SOURCES): Removed normal/context.c.
27871
27872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27873 commands/default.c, commands/timeout.c and normal/context.c.
27874 (normal_mod_SOURCES): Removed normal/context.c.
27875
27876 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27877 commands/timeout.c and normal/context.c.
27878 (normal_mod_SOURCES): Removed normal/context.c.
27879
27880 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27881 commands/default.c, commands/timeout.c and normal/context.c.
27882 (normal_mod_SOURCES): Removed normal/context.c.
27883
27884 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27885 timeout.mod.
27886 (default_mod_SOURCES): Removed.
27887 (default_mod_CFLAGS): Likewise.
27888 (default_mod_LDFLAGS): Likewise.
27889 (timeout_mod_SOURCES): Removed.
27890 (timeout_mod_CFLAGS): Likewise.
27891 (timeout_mod_LDFLAGS): Likewise.
27892
27893 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27894 normal/context.c.
27895
27896 * commands/default.c: Removed.
27897 * commands/timeout.c: Likewise.
27898 * normal/context.c: Likewise.
27899
1eb9cc1d 279002006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27901
27902 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27903
385bd9c1 279042006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27905
27906 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27907 "next" to "prev" for readability.
27908 (struct grub_env_sorted_var): New struct.
27909 (grub_env_context): Renamed to ...
27910 (initial_context): ... this.
27911 (grub_env_var_context): Renamed to ...
27912 (current_context): ... this.
27913 (grub_env_find): Look only at CURRENT_CONTEXT.
27914 (grub_env_context_open): Rewritten to copy exported variables from
27915 previous context.
27916 (grub_env_context_close): Rewritten according to the new
27917 scheme. Also, add an assertion to prevent the initial context from
27918 removed.
27919 (grub_env_insert): Removed the code for the sorted list.
27920 (grub_env_remove): Likewise.
27921 (grub_env_export): Simply mark the variable with
27922 GRUB_ENV_VAR_GLOBAL.
27923 (grub_env_set): A cosmetic change for naming consistency.
27924 (grub_env_get): Likewise.
27925 (grub_env_unset): Likewise.
27926 (grub_env_iterate): Rewritten to sort variables within this
27927 function.
27928 (grub_register_variable_hook): Fixed for naming consistency. Call
27929 grub_env_find again, only if NAME is not found at the first time.
27930 (mangle_data_slot_name): New function.
27931 (grub_env_set_data_slot): Likewise.
27932 (grub_env_get_data_slot): Likewise.
27933 (grub_env_unset_data_slot): Likewise.
27934
27935 * include/grub/env.h (grub_env_var_type): New enum.
27936 (GRUB_ENV_VAR_LOCAL): New constant.
27937 (GRUB_ENV_VAR_GLOBAL): Likewise.
27938 (GRUB_ENV_VAR_DATA): Likewise.
27939 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
27940 "type".
27941 (grub_env_set): Replace VAR with NAME for consistency.
27942 (grub_register_variable_hook): Likewise.
27943 (grub_env_export): Specify the name of the argument.
27944 (grub_env_set_data_slot): New prototype.
27945 (grub_env_get_data_slot): Likewise.
27946 (grub_env_unset_data_slot): Likewise.
27947
7f362539 279482006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
27949
27950 Extend the loader so that GRUB can accept a loader which comes
27951 back to GRUB when a loaded image exits. Also, this change adds
27952 support for a chainloader on EFI.
f19dbdb7 27953
7f362539 27954 * term/efi/console.c: Include grub/misc.h.
27955 (grub_console_checkkey): Display a scan code on the top for
27956 debugging. This will be removed once the EFI port gets stable.
27957 Correct the scan code mapping.
27958
27959 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
27960 allocate memory from larger regions, in order to reduce the number
27961 of allocated regions. Otherwise, the MacOSX loader panics.
27962 (filter_memory_map): Avoid less than 1MB for compatibility with
27963 other loaders.
27964 (add_memory_regions): Allocate from the tail of a region, if
27965 possible, to avoid allocating a region near to 1MB, for the MacOSX
27966 loader.
27967
27968 * kern/efi/init.c (grub_efi_set_prefix): Specify
27969 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
27970
27971 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
27972 argument IMAGE_HANDLE and specify it to get a loaded image.
27973 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
27974 grub_efi_get_loaded_image.
fe6b695a 27975 (grub_efi_get_filename): Divide the length by the size of
7f362539 27976 grub_efi_char16_t.
27977 (grub_efi_get_device_path): New function.
27978 (grub_efi_print_device_path): Print End Device Path nodes. Divide
27979 the length by the size of grub_efi_char16_t for a file path device
27980 path node.
27981
27982 * kern/loader.c (grub_loader_noreturn): New variable.
27983 (grub_loader_set): Accept a new argument NORETURN. Set
27984 GRUB_LOADER_NORETURN to NORETURN.
27985 All callers changed.
27986 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
27987 grub_machine_fini.
27988
27989 * include/grub/efi/efi.h (grub_efi_get_device_path): New
27990 prototype.
27991 (grub_efi_get_loaded_image): Take an argument to specify an image
27992 handle.
27993
27994 * include/grub/loader.h (grub_loader_set): Added one more argument
27995 NORETURN.
27996
27997 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
27998 instead of grub_efi_open_protocol.
27999 (grub_efidisk_get_device_name): Likewise.
28000 (grub_efidisk_close): Print a newline.
28001 (grub_efidisk_get_device_handle): Fixed to use
28002 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
28003 GRUB_EFI_DEVICE_PATH_TYPE.
28004
28005 * disk/efi/efidisk.c (device_path_guid): Moved to ...
28006 * kern/efi/efi.c (device_path_guid): ... here.
28007
28008 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
28009 chain.mod.
28010 (kernel_mod_HEADERS): Added efi/disk.h.
28011 (_chain_mod_SOURCES): New variable.
28012 (_chain_mod_CFLAGS): Likewise.
28013 (_chain_mod_LDFLAGS): Likewise.
28014 (chain_mod_SOURCES): Likewise.
28015 (chain_mod_CFLAGS): Likewise.
28016 (chain_mod_LDFLAGS): Likewise.
28017
28018 * DISTLIST: Added include/grub/efi/chainloader.h,
28019 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
28020
28021 * include/grub/efi/chainloader.h: New file.
28022 * loader/efi/chainloader.c: Likewise.
28023 * loader/efi/chainloader_normal.c: Likewise.
28024
c0111d6e 280252006-04-30 Marco Gerards <marco@gnu.org>
28026
28027 * commands/configfile.c (grub_cmd_source): New function.
28028 (GRUB_MOD_INIT): Register the commands `source' and `.'.
28029 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
28030
df5341da 280312006-04-30 Marco Gerards <marco@gnu.org>
28032
28033 * normal/execute.c (grub_script_execute_cmd): Change the return
28034 type to `grub_err_t'. Correctly return the error.
28035 (grub_script_execute_cmdline): In case a command line is not a
28036 command or a function, try to interpret it as an assignment.
28037
f85934bd 280382006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28039
28040 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
28041 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
28042 skip a node whose name is obviously invalid as UTF-16,
28043 i.e. contains a NUL character. Stop the iteration when the last
28044 directory entry is found. Instead of using the return value of
28045 grub_hfsplus_btree_iterate_node, store the value in RET and use
28046 it, because the iterator can be stopped by the last directory
28047 entry.
28048
8f8a2cf8 280492006-04-30 Marco Gerards <marco@gnu.org>
28050
28051 * include/grub/env.h (grub_env_export): New prototype. Reported
28052 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
28053
a27e84ce 280542006-04-30 Marco Gerards <marco@gnu.org>
28055
28056 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
28057 size of the extents in a catalog file record.
28058
eaef0553 280592006-04-29 Marco Gerards <marco@gnu.org>
28060
28061 * commands/configfile.c (grub_cmd_configfile): Execute the
28062 configfile within its own context.
28063
28064 * include/grub/env.h (grub_env_context_open): New prototype.
28065 (grub_env_context_close): Likewise.
28066
28067 * kern/env.c (grub_env): Removed.
28068 (grub_env_sorted): Likewise.
28069 (grub_env_context): New variable.
28070 (grub_env_var_context): Likewise.
28071 (grub_env_find): Search both the active context and the global
28072 context.
28073 (grub_env_context_open): New function.
28074 (grub_env_context_close): Likewise.
28075 (grub_env_insert): Likewise.
28076 (grub_env_remove): Likewise.
28077 (grub_env_export): Likewise.
28078 (grub_env_set): Changed to use helper functions to avoid code
28079 duplication.
28080 (grub_env_iterate): Rewritten so both the current context and the
28081 global context are being used.
28082
28083 * normal/command.c (export_command): New function.
28084 (grub_command_init): Register the `export' function.
28085
7b455f4d 280862006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
28087
28088 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
28089 explicitly to suppress gcc's warnings.
28090 * fs/fat.c (grub_fat_find_dir): Likewise.
28091 (grub_fat_label): Likewise.
28092 * fs/xfs.c (grub_xfs_read_inode): Likewise.
28093 (grub_xfs_mount): Likewise.
28094 (grub_xfs_label): Likewise.
28095 * fs/affs.c (grub_affs_mount): Likewise.
28096 (grub_affs_label): Likewise.
28097 (grub_affs_iterate_dir): Likewise.
28098 * fs/sfs.c (grub_sfs_mount): Likewise.
28099 (grub_sfs_iterate_dir): Likewise.
28100 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
28101 * fs/hfs.c (grub_hfs_mount): Likewise.
28102 (grub_hfs_cmp_catkeys): Likewise.
28103 (grub_hfs_find_dir): Likewise.
28104 (grub_hfs_dir): Likewise.
28105 (grub_hfs_label): Likewise.
28106 * fs/jfs.c (grub_jfs_mount): Likewise.
28107 (grub_jfs_opendir): Likewise.
28108 (grub_jfs_getent): Likewise.
28109 (grub_jfs_lookup_symlink): Likewise.
28110 (grub_jfs_label): Likewise.
28111 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
28112 (grub_hfsplus_iterate_dir): Likewise.
28113 (grub_hfsplus_btree_iterate_node): Made static.
28114
28115 * util/grub-emu.c (prefix): New variable.
28116 (grub_machine_set_prefix): New function.
28117 (main): Do not set the environment variable "prefix" here. Only
28118 set PREFIX, which is used later by grub_machine_set_prefix.
28119
28120 * include/grub/video.h: Do not include grub/symbol.h.
28121 (grub_video_register): Not exported. This symbol is not defined in
28122 the kernel.
28123 (grub_video_unregister): Likewise.
28124 (grub_video_iterate): Likewise.
28125 (grub_video_setup): Likewise.
28126 (grub_video_restore): Likewise.
28127 (grub_video_get_info): Likewise.
28128 (grub_video_get_blit_format): Likewise.
28129 (grub_video_set_palette): Likewise.
28130 (grub_video_get_palette): Likewise.
28131 (grub_video_set_viewport): Likewise.
28132 (grub_video_get_viewport): Likewise.
28133 (grub_video_map_color): Likewise.
28134 (grub_video_map_rgb): Likewise.
28135 (grub_video_map_rgba): Likewise.
28136 (grub_video_fill_rect): Likewise.
28137 (grub_video_blit_glyph): Likewise.
28138 (grub_video_blit_bitmap): Likewise.
28139 (grub_video_blit_render_target): Likewise.
28140 (grub_video_scroll): Likewise.
28141 (grub_video_swap_buffers): Likewise.
28142 (grub_video_create_render_target): Likewise.
28143 (grub_video_delete_render_target): Likewise.
28144 (grub_video_set_active_render_target): Likewise.
28145
28146 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
28147 Undefined.
28148 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
28149
28150 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
28151 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28152 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28153 instead of $(srcdir)/genkernsyms.sh.
28154
28155 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
28156 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28157 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28158 instead of $(srcdir)/genkernsyms.sh.
28159
28160 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
28161 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28162 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28163 instead of $(srcdir)/genkernsyms.sh.
28164
28165 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
28166 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28167 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28168 instead of $(srcdir)/genkernsyms.sh.
28169
28170 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
28171 genkernsyms.sh.
28172
28173 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
28174 genkernsyms.sh.
28175 (gensymlist.sh): New target.
28176 (genkernsyms.sh): Likewise.
28177
28178 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
28179 genkernsyms.sh.in and gensymlist.sh.in.
28180
28181 * genkernsyms.sh: Removed.
28182 * gensymlist.sh: Likewise.
f19dbdb7 28183
7b455f4d 28184 * genkernsyms.sh.in: New file.
28185 * gensymlist.sh.in: Likewise.
28186
1885bb27 281872006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28188
28189 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
28190 clobber "prefix", since we may have already set it manually.
28191
71538dff 281922006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28193
28194 * kern/misc.c (abort): New alias for grub_abort.
28195
2965c7cc 281962006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
28197
28198 A new machine-specific function "grub_machine_set_prefix" is
28199 defined. This is called after loading modules, so that a prefix
28200 initialization can use modules. Also, this change adds an
28201 intensive debugging feature for the memory manager via the
28202 configure option "--enable-mm-debug".
f19dbdb7 28203
2965c7cc 28204 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
28205 PART.LEN.
28206
28207 * kern/sparc64/ieee1275/init.c (abort): Removed.
28208 (grub_stop): Likewise.
28209 (grub_exit): New function.
28210 (grub_set_prefix): Renamed to ...
28211 (grub_machine_set_prefix): ... this.
28212 (grub_machine_init): Do not call grub_set_prefix.
28213
28214 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
28215 (grub_machine_set_prefix): ... this.
28216 (grub_machine_init): Do not call grub_set_prefix.
28217
28218 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
28219 (grub_machine_init): Do not set the prefix here.
28220
28221 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
28222
28223 * kern/efi/init.c: Include grub/mm.h.
28224 (grub_efi_set_prefix): New function.
28225
28226 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
28227 (grub_efi_get_filename): New function.
28228 (grub_print_device_path): Renamed to ...
28229 (grub_efi_print_device_path): ... this.
28230
28231 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
28232 [MM_DEBUG] (grub_realloc): Likewise.
28233 [MM_DEBUG] (grub_free): Likewise.
28234 [MM_DEBUG] (grub_memalign): Likewise.
28235 [MM_DEBUG] (grub_mm_debug): New variable.
28236 [MM_DEBUG] (grub_debug_malloc): New function.
28237 [MM_DEBUG] (grub_debug_free): New function.
28238 [MM_DEBUG] (grub_debug_realloc): New function.
28239 [MM_DEBUG] (grub_debug_memalign): New function.
28240
28241 * kern/misc.c (grub_abort): Print a newline to distinguish
28242 the message.
28243
28244 * kern/main.c (grub_main): Call grub_machine_set_prefix and
28245 grub_set_root_dev after loading modules. This is necessary when
28246 setting a prefix depends on modules.
28247
28248 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
28249 (grub_efi_print_device_path): ... this.
28250 (grub_efi_get_filename): New prototype.
28251 (grub_efi_set_prefix): Likewise.
28252
28253 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
28254 and grub/disk.h.
28255 (grub_efidisk_get_device_handle): New prototype.
28256 (grub_efidisk_get_device_name): Likewise.
28257
28258 * include/grub/mm.h: Include config.h.
28259 (MM_DEBUG): Removed.
28260 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
28261 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
28262 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
28263 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
28264 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
28265 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
28266 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
28267 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
28268 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
28269
28270 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
28271
28272 * disk/efi/efidisk.c: Include grub/partition.h.
28273 (iterate_child_devices): New function.
28274 (add_device): First, compare only last device path nodes, so that
28275 devices are sorted by the types.
28276 (grub_efidisk_get_device_handle): New function.
28277 (grub_efidisk_get_device_name): Likewise.
28278
28279 * configure.ac (--enable-mm-debug): New option to enable the
28280 memory manager debugging feature. This makes the binary much
28281 bigger, so is disabled by default.
28282
9cacaa17 282832006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
28284
28285 Use grub_abort instead of grub_stop, and grub_exit must be
28286 define in each architecture now. Also, this change adds support
28287 for EFI disks.
f19dbdb7 28288
9cacaa17 28289 * util/i386/pc/grub-probefs.c: Include grub/term.h.
28290 (grub_getkey): New function.
28291 (grub_term_get_current): Likewise.
28292
28293 * util/i386/pc/grub-setup.c: Include grub/term.h.
28294 (grub_getkey): New function.
28295 (grub_term_get_current): Likewise.
28296
28297 * util/misc.c (grub_stop): Renamed to ...
28298 (grub_exit): ... this.
28299
28300 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
28301 (grub_exit): ... this.
28302 (grub_machine_init): Use grub_abort instead of abort.
28303 (grub_stop): Removed.
28304
28305 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
28306 abort.
28307
28308 * kern/i386/pc/startup.S (grub_exit): New function.
28309 (cold_reboot): New label.
28310
28311 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
28312 (grub_efi_init): Call grub_efidisk_init.
28313 (grub_efi_fini): Call grub_efidisk_fini.
28314
28315 * kern/efi/efi.c: Include grub/mm.h.
28316 (grub_efi_console_control_guid): Renamed to ...
28317 (console_control_guid): ... this.
28318 (grub_efi_loaded_image_guid): Renamed to ...
28319 (loaded_image_guid): ... this.
28320 (grub_efi_locate_handle): New function.
28321 (grub_efi_open_protocol): Likewise.
28322 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
28323 GRUB_EFI_CONSOLE_CONTROL_GUID.
28324 (grub_efi_exit): Removed.
28325 (grub_stop): Likewise.
28326 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
28327 (grub_exit): New function.
28328 (grub_print_device_path): Likewise.
28329
28330 * kern/rescue.c (grub_rescue_cmd_exit): New function.
28331 (grub_enter_rescue_mode): Register "exit".
28332
28333 * kern/misc.c (grub_real_dprintf): A cosmetic change.
28334 (grub_abort): New function.
28335
28336 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
28337
28338 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
28339
28340 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
28341
28342 * include/grub/efi/efi.h (grub_efi_exit): Removed.
28343 (grub_print_device_path): New prototype.
28344 (grub_efi_locate_handle): Likewise.
28345 (grub_efi_open_protocol): Likewise.
28346
28347 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
28348 * disk/efi/efidisk.c: Likewise.
28349
28350 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
28351
28352 * include/grub/efi/console_control.h
28353 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
28354
28355 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
28356 last 8 bytes as an array.
28357 (GRUB_EFI_DISK_IO_GUID): New macro.
28358 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
28359 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
28360 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
28361 grub_uint8_t.
28362 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
28363 (struct grub_efi_device_path): Rename the member "sub_type" to
28364 "subtype".
28365 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
28366 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
28367 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
28368 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
28369 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
28370 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
28371 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
28372 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
28373 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
28374 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
28375 (struct grub_efi_pci_device_path): New structure.
28376 (grub_efi_pci_device_path_t): New type.
28377 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
28378 (struct grub_efi_pccard_device_path): New structure.
28379 (grub_efi_pccard_device_path_t): New type.
28380 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
28381 (struct grub_efi_memory_mapped_device_path): New structure.
28382 (grub_efi_memory_mapped_device_path_t): New type.
28383 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
28384 (struct grub_efi_vendor_device_path): New structure.
28385 (grub_efi_vendor_device_path_t): New type.
28386 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
28387 (struct grub_efi_controller_device_path): New structure.
28388 (grub_efi_controller_device_path_t): New type.
28389 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
28390 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
28391 (struct grub_efi_acpi_device_path): New structure.
28392 (grub_efi_acpi_device_path_t): New type.
28393 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
28394 (struct grub_efi_expanded_acpi_device_path): New structure.
28395 (grub_efi_expanded_acpi_device_path_t): New type.
28396 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
28397 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
28398 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
28399 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
28400 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
28401 (struct grub_efi_atapi_device_path): New structure.
28402 (grub_efi_atapi_device_path_t): New type.
28403 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
28404 (struct grub_efi_fibre_channel_device_path): New structure.
28405 (grub_efi_fibre_channel_device_path_t): New type.
28406 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
28407 (struct grub_efi_1394_device_path): New structure.
28408 (grub_efi_1394_device_path_t): New type.
28409 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
28410 (struct grub_efi_usb_device_path): New structure.
28411 (grub_efi_usb_device_path_t): New type.
28412 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
28413 (struct grub_efi_usb_class_device_path): New structure.
28414 (grub_efi_usb_class_device_path_t): New type.
28415 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
28416 (struct grub_efi_i2o_device_path): New structure.
28417 (grub_efi_i2o_device_path_t): New type.
28418 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
28419 (struct grub_efi_mac_address_device_path): New structure.
28420 (grub_efi_mac_address_device_path_t): New type.
28421 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
28422 (struct grub_efi_ipv4_device_path): New structure.
28423 (grub_efi_ipv4_device_path_t): New type.
28424 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
28425 (struct grub_efi_ipv6_device_path): New structure.
28426 (grub_efi_ipv6_device_path_t): New type.
28427 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
28428 (struct grub_efi_infiniband_device_path): New structure.
28429 (grub_efi_infiniband_device_path_t): New type.
28430 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
28431 (struct grub_efi_uart_device_path): New structure.
28432 (grub_efi_uart_device_path_t): New type.
28433 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
28434 (struct grub_efi_vendor_messaging_device_path): New structure.
28435 (grub_efi_vendor_messaging_device_path_t): New type.
28436 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
28437 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
28438 (struct grub_efi_hard_drive_device_path): New structure.
28439 (grub_efi_hard_drive_device_path_t): New type.
28440 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
28441 (struct grub_efi_cdrom_device_path): New structure.
28442 (grub_efi_cdrom_device_path_t): New type.
28443 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
28444 (struct grub_efi_vendor_media_device_path): New structure.
28445 (grub_efi_vendor_media_device_path_t): New type.
28446 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
28447 (struct grub_efi_file_path_device_path): New structure.
28448 (grub_efi_file_path_device_path_t): New type.
28449 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
28450 (struct grub_efi_protocol_device_path): New structure.
28451 (grub_efi_protocol_device_path_t): New type.
28452 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
28453 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
28454 (struct grub_efi_bios_device_path): New structure.
28455 (grub_efi_bios_device_path_t): New type.
28456 (struct grub_efi_disk_io): New structure.
28457 (grub_efi_disk_io_t): New type.
28458 (struct grub_efi_block_io_media): New structure.
28459 (grub_efi_block_io_media_t): New type.
28460 (struct grub_efi_block_io): New structure.
28461 (grub_efi_block_io_t): New type.
28462
28463 * include/grub/misc.h (grub_stop): Removed.
28464 (grub_exit): New prototype.
28465 (grub_abort): Likewise.
28466
28467 * include/grub/disk.h (enum grub_disk_dev_id): Added
28468 GRUB_DISK_DEVICE_EFIDISK_ID.
28469
28470 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28471 disk/efi/efidisk.c.
28472 (kernel_syms.lst): Remove the target if an error occurs.
28473
49986a9f 284742006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
28475
28476 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
28477 as it was simply too buggy.
28478
970d3b8a 284792006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
28480
28481 * kern/misc.c (grub_lltoa): New function.
28482 (grub_vsprintf): Added support for the long long suffix,
28483 i.e. "ll".
28484
ff04ec24 284852006-04-20 Hollis Blanchard <hollis@penguinppc.org>
28486
28487 * Makefile.in (LDFLAGS): Add variable.
28488 (LD): Remove variable.
28489 * configure.ac: Add -m32 to LDFLAGS.
28490 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
28491 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
28492 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
28493 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
28494 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
28495 variables.
28496 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
28497 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
28498 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
28499
37e5e1a4 285002006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
28501
28502 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
28503 length for unknown glyph.
28504
c352d8dd 285052006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28506
2eab1c0d 28507 Add support for pre-loaded modules into the EFI port.
f19dbdb7 28508
2eab1c0d 28509 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28510 completely. Accept one more argument DIR. The caller has changed.
28511
28512 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28513
28514 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28515 (grub_efi_loaded_image_guid): New variable.
28516 (grub_efi_get_loaded_image): New function.
28517 (grub_arch_modules_addr): Likewise.
28518
28519 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28520 prototype.
28521
28522 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28523 (struct grub_efi_loaded_image): New structure.
28524 (grub_efi_loaded_image_t): New type.
28525
285262006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28527
c352d8dd 28528 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28529 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28530 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28531
6d01d6b4 285322006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28533
28534 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28535
976a4ea0 285362006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28537
28538 * DISTLIST: Added include/grub/efi/console.h,
28539 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28540 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28541
28542 * include/grub/efi/console.h: New file.
28543 * include/grub/efi/time.h: Likewise.
28544 * include/grub/i386/efi/kernel.h: Likewise.
28545 * kern/efi/init.c: Likewise.
28546 * kern/efi/mm.c: Likewise.
28547 * term/efi/console.c: Likewise.
f19dbdb7 28548
976a4ea0 28549 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28550 (grub_stop): Removed.
28551 (grub_get_rtc): Likewise.
28552 (grub_machine_init): Simply call grub_efi_init.
28553 (grub_machine_fini): Call grub_efi_fini.
28554
28555 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28556 (grub_efi_output_string): Removed.
28557 (grub_efi_stall): New function.
28558 (grub_stop): Likewise.
28559 (grub_get_rtc): Likewise.
28560
28561 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28562 (grub_efi_stall): New prototype.
28563 (grub_efi_allocate_pages): Likewise.
28564 (grub_efi_free_pages): Likewise.
28565 (grub_efi_get_memory_map): Likewise.
28566 (grub_efi_mm_init): Likewise.
28567 (grub_efi_mm_fini): Likewise.
28568 (grub_efi_init): Likewise.
28569 (grub_efi_fini): Likewise.
28570
28571 * include/grub/i386/efi/time.h: Do not include
28572 grub/symbol.h. Include grub/efi/time.h.
28573 (GRUB_TICKS_PER_SECOND): Removed.
28574 (grub_get_rtc): Likewise.
28575
28576 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28577 Added padding. The EFI spec is buggy.
28578 (GRUB_EFI_BLACK): New macro.
28579 (GRUB_EFI_BLUE): Likewise.
28580 (GRUB_EFI_GREEN): Likewise.
28581 (GRUB_EFI_CYAN): Likewise.
28582 (GRUB_EFI_RED): Likewise.
28583 (GRUB_EFI_MAGENTA): Likewise.
28584 (GRUB_EFI_BROWN): Likewise.
28585 (GRUB_EFI_LIGHTGRAY): Likewise.
28586 (GRUB_EFI_BRIGHT): Likewise.
28587 (GRUB_EFI_DARKGRAY): Likewise.
28588 (GRUB_EFI_LIGHTBLUE): Likewise.
28589 (GRUB_EFI_LIGHTGREEN): Likewise.
28590 (GRUB_EFI_LIGHTCYAN): Likewise.
28591 (GRUB_EFI_LIGHTRED): Likewise.
28592 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28593 (GRUB_EFI_YELLOW): Likewise.
28594 (GRUB_EFI_WHITE): Likewise.
28595 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28596 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28597 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28598 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28599 (GRUB_EFI_BACKGROUND_RED): Likewise.
28600 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28601 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28602 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28603 (GRUB_EFI_TEXT_ATTR): Likewise.
28604
28605 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28606 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28607 (kernel_mod_HEADERS): Added efi/time.h.
28608
83709125 286092006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28610
28611 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28612 include/grub/efi/api.h, include/grub/efi/console_control.h,
28613 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28614 include/grub/i386/efi/time.h, kern/efi/efi.c,
28615 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28616 and util/i386/efi/grub-mkimage.c.
28617
28618 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28619
28620 * genmk.rb (PModule#rule): Do not export symbols if
28621 #{prefix}_EXPORTS is set to "no".
28622
28623 * conf/i386-efi.mk: New file.
28624 * conf/i386-efi.rmk: Likewise.
28625 * include/grub/efi/api.h: Likewise.
28626 * include/grub/efi/console_control.h: Likewise.
28627 * include/grub/efi/efi.h: Likewise.
28628 * include/grub/efi/pe32.h: Likewise.
28629 * include/grub/i386/efi/time.h: Likewise.
28630 * kern/efi/efi.c: Likewise.
28631 * kern/i386/efi/init.c: Likewise.
28632 * kern/i386/efi/startup.S: Likewise.
28633 * util/i386/efi/grub-mkimage.c: Likewise.
28634
286352006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 28636
28637 * include/grub/script.h: Include <grub/parser.h> and
28638 "grub_script.tab.h".
28639 (struct grub_lexer_param): New struct.
28640 (struct grub_parser_param): Likewise.
28641 (grub_script_create_arglist): Pass the state in an argument.
28642 (grub_script_add_arglist): Likewise.
28643 (grub_script_create_cmdline): Likewise.
28644 (grub_script_create_cmdblock): Likewise.
28645 (grub_script_create_cmdif): Likewise.
28646 (grub_script_create_cmdmenu): Likewise.
28647 (grub_script_add_cmd): Likewise.
28648 (grub_script_arg_add): Likewise.
28649 (grub_script_lexer_ref): Likewise.
28650 (grub_script_lexer_deref): Likewise.
28651 (grub_script_lexer_record_start): Likewise.
28652 (grub_script_lexer_record_stop): Likewise.
28653 (grub_script_mem_record): Likewise.
28654 (grub_script_mem_record_stop): Likewise.
28655 (grub_script_malloc): Likewise.
28656 (grub_script_yylex): Likewise.
28657 (grub_script_yyparse): Likewise.
28658 (grub_script_yyerror): Likewise.
28659 (grub_script_yylex): Likewise.
28660 (grub_script_lexer_init): Return the state.
28661
28662 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28663 (grub_script_lexer_done): Likewise.
28664 (grub_script_lexer_getline): Likewise.
28665 (grub_script_lexer_refs): Likewise.
28666 (script): Likewise.
28667 (newscript): Likewise.
28668 (record): Likewise.
28669 (recording): Likewise.
28670 (recordpos): Likewise.
28671 (recordlen): Likewise.
28672 (grub_script_lexer_init): Return the state instead of setting
28673 global variables.
28674 (grub_script_lexer_ref): Use the newly added argument for state
28675 instead of globals.
28676 (grub_script_lexer_deref): Likewise.
28677 (grub_script_lexer_record_start): Likewise.
28678 (grub_script_lexer_record_stop): Likewise.
28679 (recordchar): Likewise.
28680 (nextchar): Likewise.
28681 (grub_script_yylex2): Likewise.
28682 (grub_script_yylex): Likewise.
28683 (grub_script_yyerror): Likewise.
28684
28685 * normal/parser.y (func_mem): Removed variable.
28686 (menu_entry): Likewise.
28687 (err): Likewise.
28688 (%lex-param): New parser option.
28689 (%parse-param): Likewise.
28690 (script): Always return the AST.
28691 (argument): Pass the state around.
28692 (arguments): Likewise.
28693 (grubcmd): Likewise.
28694 (commands): Likewise.
28695 (function): Likewise.
28696 (menuentry): Likewise.
28697 (if_statement): Likewise.
28698 (if): Likewise.
28699
28700 * normal/script.c (grub_script_memused): Removed variable.
28701 (grub_script_parsed): Likewise.
28702 (grub_script_malloc): Added a state argument. Use that instead of
28703 global variables.
28704 (grub_script_mem_record): Likewise.
28705 (grub_script_mem_record_stop): Likewise.
28706 (grub_script_arg_add): Likewise.
28707 (grub_script_add_arglist): Likewise.
28708 (grub_script_create_cmdline): Likewise.
28709 (grub_script_create_cmdif): Likewise.
28710 (grub_script_create_cmdmenu): Likewise.
28711 (grub_script_add_cmd): Likewise.
28712 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 28713
e2a8c904 287142006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 28715
28716 * normal/command.c (grub_command_init): Remove the title command.
28717
28718 * normal/lexer.c (grub_script_yylex): Renamed from this...
28719 (grub_script_yylex2): ... to this.
28720 (grub_script_yylex): New function. Temporary
28721 introduced to filter some tokens.
28722 (grub_script_yyerror): Print a newline.
28723
28724 * normal/main.c (read_config_file): Output information about the
28725 lines that contain errors. Wait for a key after all lines have
28726 been processed. Don't return an empty menu.
28727
28728 * normal/parser.y (func_mem): Don't initialize.
28729 (menu_entry): Likewise.
28730 (err): New variable.
28731 (script): Don't return anything when an error was encountered.
28732 (ws, returns): Removed rules.
28733 (argument): Disabled concatenated variable support.
28734 (arguments): Remove explicit separators.
28735 (grubcmd): Likewise.
28736 (function): Likewise.
28737 (menuentry): Likewise.
28738 (if): Likewise.
28739 (commands): Likewise. Add error handling.
28740
28741 * normal/script.c (grub_script_create_cmdline): If
28742 `grub_script_parsed' is 0, assume the parser encountered an error.
28743
c9a86192 287442006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28745
28746 * configure.ac: Add support for EFI. Fix the typo
28747 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28748
70f3b243 287492006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28750
28751 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28752 foreign multibyte characters should be shown correctly.
28753
65f201ad 287542006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28755
28756 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28757 calculation.
28758 (read_config_file): Made it to close file before returning.
28759
b4b93674 287602006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28761
28762 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28763 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28764 video/i386/pc/vbefill.c.
28765
28766 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28767 video/i386/pc/vbefill.c.
28768
28769 * include/grub/video.h (grub_video_blit_format): New enum.
28770 (grub_video_mode_info): Added new member blit_format.
28771 (grub_video_get_blit_format): New function prototype.
28772
28773 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28774 function prototype.
28775 (grub_video_vbe_map_rgb): Likewise.
28776 (grub_video_vbe_unmap_color): Likewise.
28777
28778 * include/grub/i386/pc/vbeblit.h: New file.
28779
28780 * include/grub/i386/pc/vbefill.h: New file.
28781
28782 * video/video.c (grub_video_get_blit_format): New function.
28783 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28784 (grub_video_vbe_map_rgb): Likewise.
28785 (grub_video_vbe_unmap_color): Likewise.
28786
28787 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28788 optimized fills.
28789 (grub_video_vbe_blit_render_target): Changed to use more optimized
28790 blits.
28791 (grub_video_vbe_setup): Added detection for optimized settings.
28792 (grub_video_vbe_create_render_target): Likewise.
28793
28794 * video/i386/pc/vbeblit.c: New file.
28795
28796 * video/i386/pc/vbefill.c: New file.
28797
c2379b9c 287982006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28799
28800 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28801 here...
28802
28803 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28804 parsing to support both hex and dec ranges. If filename was missing
28805 show usage information.
28806
bd0d7896 288072006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28808
28809 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28810 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28811
28812 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28813 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28814 (video_mod_SOURCES): Added.
28815 (video_mod_CFLAGS): Likewise.
28816 (video_mod_LDFLAGS): Likewise.
28817 (gfxterm_mod_SOURCES): Likewise.
28818 (gfxterm_mod_CFLAGS): Likewise.
28819 (gfxterm_mod_LDFLAGS): Likewise.
28820 (videotest_mod_SOURCES): Likewise.
28821 (videotest_mod_CFLAGS): Likewise.
28822 (videotest_mod_LDFLAGS): Likewise.
28823 (vesafb_mod_SOURCES): Removed.
28824 (vesafb_mod_CFLAGS): Likewise.
28825 (vesafb_mod_LDFLAGS): Likewise.
28826 (vga_mod_SOURCES): Likewise.
28827 (vga_mod_CFLAGS): Likewise.
28828 (vga_mod_LDFLAGS): Likewise.
28829
28830 * commands/videotest.c: New file.
28831
28832 * font/manager.c (fill_with_default_glyph): Modified to use
28833 grub_font_glyph.
28834 (grub_font_get_glyph): Likewise.
28835 (fontmanager): Renamed from this...
28836 (font_manager): ... to this.
28837
28838 * include/grub/font.h (grub_font_glyph): Added new structure.
28839 (grub_font_get_glyph): Modified to use grub_font_glyph.
28840
28841 * include/grub/misc.h (grub_abs): Added as inline function.
28842
28843 * include/grub/video.h: New file.
28844
28845 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28846 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28847 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28848 (grub_vbe_get_controller_info): Renamed from this...
28849 (grub_vbe_bios_get_controller_info): ... to this.
28850 (grub_vbe_get_mode_info): Renamed from this...
28851 (grub_vbe_bios_get_mode_info): ... to this.
28852 (grub_vbe_set_mode): Renamed from this...
28853 (grub_vbe_bios_set_mode): ... to this.
28854 (grub_vbe_get_mode): Renamed from this...
28855 (grub_vbe_bios_get_mode): ... to this.
28856 (grub_vbe_set_memory_window): Renamed from this...
28857 (grub_vbe_bios_set_memory_window): ... to this.
28858 (grub_vbe_get_memory_window): Renamed from this...
28859 (grub_vbe_bios_get_memory_window): ... to this.
28860 (grub_vbe_set_scanline_length): Renamed from this...
28861 (grub_vbe_set_scanline_length): ... to this.
28862 (grub_vbe_get_scanline_length): Renamed from this...
28863 (grub_vbe_bios_get_scanline_length): ... to this.
28864 (grub_vbe_set_display_start): Renamed from this...
28865 (grub_vbe_bios_set_display_start): ... to this.
28866 (grub_vbe_get_display_start): Renamed from this...
28867 (grub_vbe_bios_get_display_start): ... to this.
28868 (grub_vbe_set_palette_data): Renamed from this...
28869 (grub_vbe_bios_set_palette_data): ... to this.
28870 (grub_vbe_set_pixel_rgb): Removed.
28871 (grub_vbe_set_pixel_index): Likewise.
28872
28873 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28874 from this...
28875 (grub_vbe_bios_get_controller_info): ... to this.
28876 (grub_vbe_get_mode_info): Renamed from this...
28877 (grub_vbe_bios_get_mode_info): ... to this.
28878 (grub_vbe_set_mode): Renamed from this...
28879 (grub_vbe_bios_set_mode): ... to this.
28880 (grub_vbe_get_mode): Renamed from this...
28881 (grub_vbe_bios_get_mode): ... to this.
28882 (grub_vbe_set_memory_window): Renamed from this...
28883 (grub_vbe_bios_set_memory_window): ... to this.
28884 (grub_vbe_get_memory_window): Renamed from this...
28885 (grub_vbe_bios_get_memory_window): ... to this.
28886 (grub_vbe_set_scanline_length): Renamed from this...
28887 (grub_vbe_set_scanline_length): ... to this.
28888 (grub_vbe_get_scanline_length): Renamed from this...
28889 (grub_vbe_bios_get_scanline_length): ... to this.
28890 (grub_vbe_set_display_start): Renamed from this...
28891 (grub_vbe_bios_set_display_start): ... to this.
28892 (grub_vbe_get_display_start): Renamed from this...
28893 (grub_vbe_bios_get_display_start): ... to this.
28894 (grub_vbe_set_palette_data): Renamed from this...
28895 (grub_vbe_bios_set_palette_data): ... to this.
28896 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28897 getting corrupted after calling it. Added more pushes and pops.
28898 (grub_vbe_bios_set_mode): Likewise.
28899 (grub_vbe_bios_get_mode): Likewise.
28900 (grub_vbe_bios_get_memory_window): Likewise.
28901 (grub_vbe_bios_set_scanline_length): Likewise.
28902 (grub_vbe_bios_get_scanline_length): Likewise.
28903 (grub_vbe_bios_get_display_start): Likewise.
28904 (grub_vbe_bios_set_palette_data): Likewise.
28905
28906 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28907 (cl_insert): Likewise.
28908 (cl_delete): Likewise.
28909
28910 * term/gfxterm.c: New file.
28911
28912 * term/i386/pc/vesafb.c: Removed file.
28913
28914 * video/video.c: New file.
28915
28916 * video/i386/pc/vbe.c (real2pm): Added new function.
28917 (grub_video_vbe_draw_pixel): Likewise.
28918 (grub_video_vbe_get_video_ptr): Likewise.
28919 (grub_video_vbe_get_pixel): Likewise
28920 (grub_video_vbe_init): Likewise.
28921 (grub_video_vbe_fini): Likewise.
28922 (grub_video_vbe_setup): Likewise.
28923 (grub_video_vbe_get_info): Likewise.
28924 (grub_video_vbe_set_palette): Likewise.
28925 (grub_video_vbe_get_palette): Likewise.
28926 (grub_video_vbe_set_viewport): Likewise.
28927 (grub_video_vbe_get_viewport): Likewise.
28928 (grub_video_vbe_map_color): Likewise.
28929 (grub_video_vbe_map_rgb): Likewise.
28930 (grub_video_vbe_map_rgba): Likewise.
28931 (grub_video_vbe_unmap_color): Likewise.
28932 (grub_video_vbe_fill_rect): Likewise.
28933 (grub_video_vbe_blit_glyph): Likewise.
28934 (grub_video_vbe_blit_bitmap): Likewise.
28935 (grub_video_vbe_blit_render_target): Likewise.
28936 (grub_video_vbe_scroll): Likewise.
28937 (grub_video_vbe_swap_buffers): Likewise.
28938 (grub_video_vbe_create_render_target): Likewise.
28939 (grub_video_vbe_delete_render_target): Likewise.
28940 (grub_video_vbe_set_active_render_target): Likewise.
28941 (grub_vbe_set_pixel_rgb): Remove function.
28942 (grub_vbe_set_pixel_index): Likewise.
28943 (index_color_mode): Remove static variable.
28944 (active_mode): Likewise.
28945 (framebuffer): Likewise.
28946 (bytes_per_scan_line): Likewise.
28947 (grub_video_vbe_adapter): Added new static variable.
28948 (framebuffer): Likewise.
28949 (render_target): Likewise.
28950 (initial_mode): Likewise.
28951 (mode_in_use): Likewise.
28952 (mode_list): Likewise.
28953
5f97350b 289542006-03-10 Marco Gerards <marco@gnu.org>
28955
28956 * configure.ac (AC_INIT): Bumped to 1.93.
28957
28958 * DISTLIST: Added `include/grub/hfs.h'.
28959
a3c5c6f8 289602006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
28961
28962 * boot/i386/pc/boot.S (general_error): Before looping, try INT
28963 18H, which might help the BIOS falling back to next boot media.
28964
6de53d26 289652006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
28966
28967 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
28968 Poe Chen <poe.poechen@gmail.com>.
28969
77c4a393 289702006-01-17 Marco Gerards <marco@gnu.org>
28971
28972 * include/grub/normal.h: Include <grub/script.h>.
28973 (grub_command_list): Removed struct.
28974 (grub_command_list_t): Removed type.
28975 (grub_menu_entry): Remove members `num' and `command_list'. Add
28976 members `commands' and `sourcecode'.
28977 * include/grub/script.h: Add inclusion guards.
28978 (grub_script_cmd_menuentry): New struct.
28979 (grub_script_execute_menuentry): New prototype.
28980 (grub_script_lexer_record_start): Likewise.
28981 (grub_script_lexer_record_stop): Likewise.
28982 * normal/execute.c (grub_script_execute_menuentry): New function.
28983 * normal/lexer.c (record, recording, recordpos, recordlen): New
28984 variables.
28985 (grub_script_lexer_record_start): New function.
28986 (grub_script_lexer_record_stop): Likewise.
28987 (recordchar): Likewise.
28988 (nextchar): Likewise.
28989 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
28990 2048 as the buffer size. Add the tokens `menuentry' and `@'.
28991 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
28992 (current_menu): New variable.
28993 (free_menu): Mainly rewritten.
28994 (grub_normal_menu_addentry): New function.
28995 (read_config_file): Rewritten.
28996 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 28997 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 28998 the menu entry.
28999 (run): Mainly rewritten.
29000 * normal/parser.y (menu_entry): New variable.
29001 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
29002 (menuentry): New rule.
29003 (command): Add `menuentry'.
29004 (if_statement): Allow additional returns before `fi'.
29005 * normal/script.c (grub_script_create_cmdmenu): New function.
29006
144f1f98 290072006-01-03 Marco Gerards <marco@gnu.org>
29008
29009 * INSTALL: GNU Bison is required.
29010 * configure.ac: Rewritten the test to detect Bison.
29011 * Makefile.in (YACC): New variable. Reported by Xun Sun
29012 <xun.sun.cn@gmail.com>.
29013
af4b2d89 290142006-01-03 Marco Gerards <marco@gnu.org>
29015
29016 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
29017 the HFS+ filesystem to filesystem blocks.
29018 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
29019 GCC warning is silenced.
29020
15643b71 290212006-01-03 Marco Gerards <marco@gnu.org>
29022
29023 * partmap/apple.c (apple_partition_map_iterate): Convert the data
29024 read from disk from big endian to host byte order.
29025
00905879 290262006-01-03 Hollis Blanchard <hollis@penguinppc.org>
29027
29028 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
29029 documentation.
29030 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
29031 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
29032 embedded HFS+ filesystem.
29033 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
29034 (grub_hfs_sblock): Move from here...
29035 * include/grub/hfs.h: To here... New file.
29036 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
29037 documentation.
29038 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
29039 New macros.
29040 (grub_hfsplus_volheader): Change type of member `magic' to
29041 `grub_uint16_t'.
29042 (grub_hfsplus_data): Add new member `embedded_offset'.
29043 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
29044 returned block.
29045 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
29046 Calculate the offset.
29047
8899bc3e 290482005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29049
29050 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
29051 Removed.
29052 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
29053
ae8c0277 290542005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29055
29056 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
29057 ENV->NAME is NULL after allocating ENV->VALUE.
29058
07084456 290592005-12-25 Marco Gerards <marco@gnu.org>
29060
29061 * kern/env.c (grub_env_set): Rewritten the error handling code.
29062
4750f5f1 290632005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29064
29065 * geninit.sh: Made more robust, and more portable.
29066
50214199 290672005-12-25 Marco Gerards <marco@gnu.org>
29068
29069 Add support for Apple HFS+ filesystems.
f19dbdb7 29070
50214199 29071 * fs/hfsplus.c: New file.
29072
29073 * DISTLIST: Added `fs/hfsplus.c'.
29074
29075 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
29076 (hfsplus_mod_SOURCES): New variable.
29077 (hfsplus_mod_CFLAGS): Likewise.
29078 (hfsplus_mod_LDFLAGS): Likewise.
29079 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
29080 (grub_setup_SOURCES): Likewise.
29081 (grub_mkdevicemap_SOURCES): Likewise.
29082 (grub_emu_SOURCES): Likewise.
29083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29084
29085 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
29086
29087 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
29088
befaed6c 290892005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29090
29091 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
29092 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
29093 include/grub/parser.h, include/grub/script.h, kern/parser.c,
29094 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
29095 normal/lexer.c, normal/parser.y, normal/script.c, and
29096 partmap/gpt.c.
29097 Removed kern/sparc64/cache.c.
29098
29099 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
29100 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
29101 grub_emu_init.c.
29102
29103 * configure.ac (AC_INIT): Bumped to 1.92.
29104
6a124103 291052005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
29106
29107 * kern/err.c (grub_error_push): Added new function to support error
29108 stacks.
29109 (grub_error_pop): Likewise.
29110 (grub_error_stack_items): New local variable to support error stacks.
29111 (grub_error_stack_pos): Likewise.
29112 (grub_error_stack_assert): Likewise.
29113 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
29114 stack depth.
29115 (grub_print_error): Added support to print errors from error stack.
29116
29117 * include/grub/err.h (grub_error_push): Added function prototype.
29118 (grub_error_pop): Likewise.
29119
be973c1b 291202005-12-09 Hollis Blanchard <hollis@penguinppc.org>
29121
29122 * configure.ac: Accept `powerpc64' as host_cpu.
29123 (amd64): Rename to `biarch32'.
29124
29125 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
29126 non-cacheline-aligned addresses.
29127
29128 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
29129 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
29130 if `size' is non-zero.
29131
b04216ab 291322005-12-03 Marco Gerards <mgerards@xs4all.nl>
29133
29134 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
29135 and `cd' to make sure the filename is not prefixed with a
29136 directory name.
29137 (pkgdata_MODULES): Add `gpt.mod'.
29138 (gpt_mod_SOURCES): New variable.
29139 (gpt_mod_CFLAGS): Likewise.
29140 (gpt_mod_LDFLAGS): Likewise.
29141
29142 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
29143
29144 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
29145 New macro.
29146
29147 * partmap/gpt.c: New file.
29148
29149 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
29150 GPT partition map is detected.
29151
41730ed9 291522005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
29153
29154 * commands/i386/pc/play.c: New file.
29155 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
29156 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
29157 macros.
f19dbdb7 29158
95dc3643 291592005-11-27 Marco Gerards <mgerards@xs4all.nl>
29160
29161 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
29162 ((unused))' to silence gcc warning.
29163
1569ec51 291642005-11-26 Hollis Blanchard <hollis@penguinppc.org>
29165
29166 * configure.ac: Correct `AC_PROG_YACC' test.
29167
9abde152 291682005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29169
29170 * util/powerpc/ieee1275/grub-install.in: Run the mount point
29171 check before installing files.
29172
44b83271 291732005-11-22 Mike Small <smallm@panix.com>
29174
29175 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
29176 number regex so multidigit numbers are recognized correctly.
29177
291782005-11-22 Mike Small <smallm@panix.com>
29179
29180 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
29181 debugging message before attempting to claim memory.
29182 (grub_rescue_cmd_initrd): Add a claim debugging message and try
29183 multiple addresses in case of failure.
29184
9c12956b 291852005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29186
29187 * term/tparm.c (get_space): Remove empty `if' statement.
29188
29189 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
29190
29191 * kern/parser.c (check_varstate): Rename `state' to 's'.
29192
aeaf81d9 291932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29194
29195 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
29196 variable definitions to the beginning of each function. Sort stack
29197 variables by size.
29198 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
29199 `buf' argument to `char *'.
29200
79bbb63f 292012005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29202
29203 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
29204 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29205 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 29206 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29207 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29208 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29209 configfile.mod, search.mod, gzio.mod and test.mod.
29210 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29211 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29212 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29213 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29214 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29215 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29216 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29217 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29218 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29219 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29220 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29221 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29222 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29223 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29224 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29225 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29226 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29227 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29228 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29229 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29230 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29231 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29232 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
29233
29234 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
29235 `grep --include'.
29236 (pkgdata_MODULES): Add test.mod.
29237
233b1628 292382005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29239
29240 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
29241 appending to variables with "+=".
29242 (PModule): Use full pathname to generate *.lst filenames.
29243
29244 * Makefile.in: Fixed list rules moved from genmk.rb.
29245 (.DELETE_ON_ERROR): New special target.
29246 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
29247
29248 * conf/i386-pc.rmk: Include conf/common.mk.
29249 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29250 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 29251 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29252 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29253 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29254 configfile.mod, search.mod, gzio.mod and test.mod.
29255 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29256 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29257 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29258 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29259 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29260 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29261 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29262 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29263 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29264 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29265 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29266 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29267 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29268 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29269 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29270 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29271 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29272 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29273 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29274 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29275 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29276 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29277 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
29278 here...
29279 * conf/common.rmk: ... to here. New file.
29280
29281 * conf/common.mk: New file.
29282
16f820c8 292832005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
29284
29285 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
29286 (grub_script.tab.c): ... here.
29287
29288 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
29289 (grub_script.tab.c): ... here.
29290
29291 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
29292 (grub_script.tab.c): ... here.
29293
29294 * normal/command.c (grub_command_find): Fixed a memory leak of
29295 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
29296
63ba1554 292972005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29298
29299 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
29300 "@" which marks the start of a comment on ARM.
29301 (VARIABLE): Likewise.
29302
7f67dc13 293032005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29304
79bbb63f 29305 Add support for Linux/ADFS partition tables.
7f67dc13 29306
29307 * partmap/acorn.c: New file.
29308
29309 * include/grub/acorn_filecore.h: Likewise.
29310
29311 * DISTLIST: Added `partmap/acorn.c' and
29312 `include/grub/acorn_filecore.h'.
f19dbdb7 29313
7f67dc13 29314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29315 `partmap/acorn.c'.
29316 (pkgdata_MODULES): Add `acorn.mod'.
29317 (acorn_mod_SOURCES): New variable.
29318 (acorn_mod_CFLAGS): Likewise.
29319
29320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29321 `partmap/acorn.c'.
29322 (pkgdata_MODULES): Add `acorn.mod'.
29323 (acorn_mod_SOURCES): New variable.
29324 (acorn_mod_CFLAGS): Likewise.
29325
29326 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
29327 (pkgdata_MODULES): Add `acorn.mod'.
29328 (acorn_mod_SOURCES): New variable.
29329 (acorn_mod_CFLAGS): Likewise.
29330 (acorn_mod_LDFLAGS): Likewise.
29331
29332 * include/types.h (grub_disk_addr_t): New typedef.
29333
6d099807 293342005-11-13 Marco Gerards <mgerards@xs4all.nl>
29335
29336 * geninit.sh: New file.
29337
29338 * geninitheader.sh: Likewise.
29339
29340 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
29341 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
29342 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
29343 * commands/configfile.c (grub_configfile_init)
29344 (grub_configfile_fini): Likewise.
29345 * commands/default.c (grub_default_init, grub_default_fini):
29346 Likewise.
29347 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
29348 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
29349 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
29350 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
29351 Likewise.
29352 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
29353 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
29354 Likewise.
29355 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 29356 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 29357 Likewise.
29358 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
29359 Likewise.
fe6b695a 29360 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 29361 Likewise.
29362 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
29363 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
29364 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
29365 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
29366 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
29367 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
29368 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
29369 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
29370 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
29371 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
29372 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
29373 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
29374 * partmap/amiga.c (grub_amiga_partition_map_init)
29375 (grub_amiga_partition_map_fini): Likewise.
29376 * partmap/apple.c (grub_apple_partition_map_init)
29377 (grub_apple_partition_map_fini): Likewise.
29378 * partmap/pc.c (grub_pc_partition_map_init)
29379 (grub_pc_partition_map_fini): Likewise.
29380 * partmap/sun.c (grub_sun_partition_map_init,
29381 grub_sun_partition_map_fini): Likewise.
29382 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
29383 Likewise.
29384
29385 * util/grub-emu.c: Include <grub_modules_init.h>.
29386 (main): Don't initialize and de-initialize any modules directly,
29387 use `grub_init_all' and `grub_fini_all' instead.
29388
29389 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
29390 `grub_vesafb_mod_init'.
29391 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
29392 all users.
29393 * term/i386/pc/vga.c (grub_vga_init): Renamed to
29394 `grub_vga_mod_init'. Updated all users.
29395 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 29396
6d099807 29397 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
29398 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
29399 rules.
29400
29401 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
29402 Generate a function to initialize the module in utilities.
29403 Updated all callers.
29404 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
29405 initialize the module in utilities. Updated all callers.
29406
9046bcf0 294072005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29408
29409 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
29410 escape sequence and a literal ^L to clear the screen.
29411
29412 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
29413 when returning from Open Firmware.
29414
d13ea639 294152005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29416
29417 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
29418 (grub_ofconsole_height): Likewise.
29419 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
29420 manually insert a '\n'.
29421 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
29422 `grub_ofconsole_height'. Return early if these are already set.
29423
a8fcf206 294242005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
29425
29426 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29427 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
29428 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
29429 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
29430 and `normal/script.c'.
29431 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29432 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29433 (test_mod_SOURCES): New variable.
29434 (test_mod_CFLAGS): Likewise.
29435 (test_mod_LDFLAGS): Likewise.
29436 (pkgdata_MODULES): Add `test.mod'.
29437 (grub_script.tab.c): New rule.
29438 (grub_script.tab.h): Likewise.
29439
b6b32745 294402005-11-07 Marco Gerards <mgerards@xs4all.nl>
29441
29442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29443 `commands/test.c', `normal/execute.c', `normal/lexer.c',
29444 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29445 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29446 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29447 (test_mod_SOURCES): New variable.
29448 (test_mod_CFLAGS): Likewise.
29449 (pkgdata_MODULES): Add `test.mod'.
29450 (grub_script.tab.c): New rule.
29451 (grub_script.tab.h): Likewise.
29452
daac212a 294532005-11-06 Marco Gerards <mgerards@xs4all.nl>
29454
29455 Add initial scripting support.
29456
29457 * commands/test.c: New file.
29458 * include/grub/script.h: Likewise.
29459 * normal/execute.c: Likewise.
29460 * normal/function.c: Likewise.
29461 * normal/lexer.c: Likewise.
29462 * normal/parser.y: Likewise.
29463 * normal/script.c: Likewise.
29464
29465 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29466
daac212a 29467 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29468 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29469 `normal/function.c' and `normal/script.c'.
29470 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29471 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29472 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
29473 variables.
daac212a 29474 (pkgdata_MODULES): Add `test.mod'.
29475 (grub_script.tab.c): New rule.
29476 (grub_script.tab.h): Likewise.
29477
29478 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
29479
29480 * include/grub/normal.h (grub_test_init): New prototype.
29481 (grub_test_fini): Likewise.
f19dbdb7 29482
daac212a 29483 * normal/command.c: Include <grub/script.h>.
29484 (grub_command_execute): Rewritten.
f19dbdb7 29485
daac212a 29486 * util/grub-emu.c (main): Call `grub_test_init' and
29487 `grub_test_fini'.
29488
77500b2b 294892005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29490
29491 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
29492 to 0.
29493 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
29494 there are no pending characters.
29495
e45deb9e 294962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29497
29498 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
29499 `grub_strndup' to drop device arguments. Replace unnecessary
29500 `grub_strndup' with `grub_strdup'.
29501
4ce32619 295022005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29503
29504 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29505 `debug' environment variable has been set.
29506
295072005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29508
4ce32619 29509 * Makefile.in (install-local): Use $(DATA).
29510 (uninstall): Likewise.
29511 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29512 (sbin_UTILITIES): ... to here.
29513 (sbin_SCRIPTS): New variable.
29514 (grub_install_SOURCES): New variable.
29515 * util/powerpc/ieee1275/grub-install.in: New file.
29516 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29517 variable.
29518 (add_segments): Call `grub_util_get_path'.
29519
25fe6f03 295202005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29521
29522 From Timothy Baldwin:
29523 * commands/ls.c (grub_ls_list_files): Close FILE with
29524 grub_file_close.
29525 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29526
04ccf3ec 295272005-10-24 Marco Gerards <mgerards@xs4all.nl>
29528
29529 * include/grub/parser.h: New file.
29530
29531 * kern/parser.c: Likewise.
29532
29533 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29534 (grub_setup_SOURCES): Likewise.
29535 (grub_probefs_SOURCES): Likewise.
29536 (grub_emu_SOURCES): Likewise.
29537 (kernel_img_HEADERS): Add `parser.h'.
29538
29539 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29540 (grub_emu_SOURCES): Add `kern/parser.c'.
29541 (grubof_SOURCES): Likewise.
29542
29543 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29544 (grubof_SOURCES): Add `kern/parser.c'.
29545
29546 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29547
29548 * kern/misc.c (grub_split_cmdline): Removed function.
29549
29550 * kern/rescue.c: Include <grub/parser.h>.
29551 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29552 of `grub_split_cmdline'.
29553
29554 * normal/command.c: Include <grub/parser.h>.
29555 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29556 of `grub_split_cmdline'.
29557
29558 * normal/completion.c: Include <grub/parser.h>.
29559 (cmdline_state): New variable.
29560 (iterate_dir): End the filename with a quote depending on the
29561 command line state.
29562 (get_state): new function.
29563 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29564 split the arguments and determine the current argument. When the
29565 argument string is not quoted, escape all spaces.
29566
6d8f4b0e 295672005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29568
29569 * normal/sparc64/setjmp.S: New file.
29570
15cf03ed 295712005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29572
29573 * include/grub/sparc64/libgcc.h: New file.
29574 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29575 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29576 normal/sparc64/setjmp.c.
29577
03e8661a 295782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29579
29580 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29581 * kern/sparc64/cache.S: New file.
29582 * kern/sparc64/cache.c: Removed.
29583 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29584 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29585 -mtune=ultrasparc.
29586 (COMMON_LDFLAGS): Add -melf64_sparc.
29587 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29588 (grubof_SOURCES): Use cache.S instead of cache.c.
29589 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29590 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29591 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29592 commented though.
29593 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29594 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29595 (linux_mod_CFLAGS): Commented out.
29596 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29597 out because module isn't built.
29598 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29599 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29600 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29601 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29602 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29603 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29604 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29605 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29606 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29607 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29608 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29609 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29610 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29611 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29612
34eeec8a 296132005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29614
29615 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29616 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29617 longer, because HFS should not be used on PC.
29618
708367a3 296192005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29620
29621 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29622 consistently within the loop.
29623
6fa1251a 296242005-10-15 Marco Gerards <mgerards@xs4all.nl>
29625
29626 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29627 directory can not be read.
29628
4801580b 296292005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29630
29631 * configure.ac (AC_INIT): Increase the version number to 1.91.
29632
29633 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29634 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29635 term/i386/pc/serial.c.
29636
219ad426 296372005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29638
29639 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29640 file size must be permitted.
29641
29642 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29643 between %ah and %al.
29644
688e5699 296452005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29646
29647 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29648 grub_uint64_t.
29649 Call the hook with a NUL-terminated filename.
29650 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29651 grub_cpu_to_be32.
29652
29653 * kern/term.c (cursor_state): New variable.
29654 (grub_term_set_current): Reset the cursor state on a new
29655 terminal.
29656 (grub_setcursor): Rewritten to use CURSOR_STATE.
29657 (grub_getcursor): New function.
29658
29659 * include/grub/term.h (grub_getcursor): New prototype.
29660
29661 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29662 integers on ARM. Reported by Timothy Baldwin
29663 <T.E.Baldwin99@members.leeds.ac.uk>.
29664
bb34586c 296652005-10-11 Marco Gerards <mgerards@xs4all.nl>
29666
29667 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29668 allocated.
29669 (grub_sfs_dir): Likewise.
29670
9a909877 296712005-10-09 Marco Gerards <mgerards@xs4all.nl>
29672
29673 Add support for the SFS filesystem.
29674
29675 * fs/sfs.c: New file.
29676
29677 * DISTLIST: Added `fs/sfs.c'.
29678
29679 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29680 (grub_probefs_SOURCES): Likewise.
29681 (grub_emu_SOURCES): Likewise.
29682 (pkgdata_MODULES): Add `sfs.mod'.
29683 (sfs_mod_SOURCES): New variable.
29684 (sfs_mod_CFLAGS): Likewise.
29685 (sfs_mod_LDFLAGS): Likewise.
29686
29687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29688 (pkgdata_MODULES): Add `sfs.mod'.
29689 (sfs_mod_SOURCES): New variable.
29690 (sfs_mod_CFLAGS): Likewise.
29691
29692 * util/grub-emu.c (main): Call `grub_sfs_init' and
29693 `grub_sfs_fini'.
29694
29695 * include/grub/fs.h (grub_sfs_init): New prototype.
29696 (grub_sfs_fini): Likewise.
29697
57bdbde3 296982005-10-07 Marco Gerards <mgerards@xs4all.nl>
29699
29700 Add support for the AFFS filesystem.
29701
29702 * fs/affs.c: New file.
29703
29704 * DISTLIST: Added `fs/affs.c'.
29705
29706 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29707 (grub_probefs_SOURCES): Likewise.
29708 (grub_emu_SOURCES): Likewise.
29709 (pkgdata_MODULES): Add `affs.mod'.
29710 (affs_mod_SOURCES): New variable.
29711 (affs_mod_CFLAGS): Likewise.
29712 (affs_mod_LDFLAGS): Likewise.
29713
29714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29715 (pkgdata_MODULES): Add `affs.mod'.
29716 (affs_mod_SOURCES): New variable.
29717 (affs_mod_CFLAGS): Likewise.
29718
29719 * util/grub-emu.c (main): Call `grub_affs_init' and
29720 `grub_affs_fini'.
29721
29722 * include/grub/fs.h (grub_affs_init): New prototype.
29723 (grub_affs_fini): Likewise.
29724
047b67e0 297252005-10-01 Marco Gerards <mgerards@xs4all.nl>
29726
29727 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29728
59b8208a 297292005-10-01 Marco Gerards <mgerards@xs4all.nl>
29730
29731 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29732 `-m32' to CFLAGS.
29733
29734 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29735 linking.
f19dbdb7 29736
59b8208a 29737 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29738 (COMMON_LDFLAGS): New variable.
29739 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29740 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29741 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29742 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29743 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29744 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29745 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29746 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29747 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29748 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29749 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29750 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29751 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29752 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29753 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29754 variables.
29755 (normal_mod_ASFLAGS): Add `-m32'.
29756
29757 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29758 (grub_host_size_t, grub_host_ssize_t): New types.
29759 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 29760 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 29761 `GRUB_HOST_SIZEOF_VOID_P'.
29762
29763 * include/grub/kernel.h (struct grub_module_header): Type of
29764 member offset changed to `grub_host_off_t'. Type of member size
29765 changed to `grub_host_size_t'.
29766 (struct grub_module_info): Type of member offset changed to
29767 `grub_host_off_t'. Type of member size changed to
29768 `grub_host_size_t'.
29769
b4093103 297702005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29771
29772 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 29773
b4093103 29774 * kern/i386/pc/startup.S (multiboot_header): New label.
29775 (multiboot_entry): Likewise.
29776 (multiboot_trampoline): Likewise.
29777
29778 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29779 Increased to 0x4A0.
29780
29781 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29782 put parentheses after a question mark.
29783 [!GRUB_UTIL] (my_mod): New variable.
29784
29785 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29786
b2499b29 297872005-09-28 Marco Gerards <mgerards@xs4all.nl>
29788
29789 Adds support for the XFS filesystem. Btrees are not supported
29790 yet.
29791
29792 * fs/xfs.c: New file.
29793
29794 * DISTLIST: Added `fs/xfs.c'.
29795
29796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29797 (grub_probefs_SOURCES): Likewise.
29798 (grub_emu_SOURCES): Likewise.
29799 (pkgdata_MODULES): Add `xfs.mod'.
29800 (xfs_mod_SOURCES): New variable.
29801 (xfs_mod_CFLAGS): Likewise.
29802
29803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29804 (pkgdata_MODULES): Add `xfs.mod'.
29805 (xfs_mod_SOURCES): New variable.
29806 (xfs_mod_CFLAGS): Likewise.
29807
29808 * util/grub-emu.c (main): Call `grub_xfs_init' and
29809 `grub_xfs_fini'.
29810
29811 * include/grub/fs.h (grub_xfs_init): New prototype.
29812 (grub_xfs_fini): Likewise.
29813
f19dbdb7 29814
83d37a62 298152005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29816
29817 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29818 color modes, allow greater than 16 colors to be configured as
29819 a default palette.
29820
47d2d65e 298212005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29822
29823 * normal/completion.c (complete_arguments): Add the qualifier
29824 const into OPTIONS.
29825
29826 From Omniflux <omniflux+lists@omniflux.com>:
29827 * include/grub/terminfo.h: New file.
29828 * include/grub/tparm.h: Likewise.
29829 * include/grub/i386/pc/serial.h: Likewise.
29830 * term/terminfo.c: Likewise.
29831 * term/tparm.c: Likewise.
29832 * term/i386/pc/serial.c: Likewise.
29833 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29834 serial.mod.
29835 (terminfo_mod_SOURCES): New variable.
29836 (terminfo_mod_CFLAGS): Likewise.
29837 (serial_mod_SOURCES): Likewise.
29838 (serial_mod_CFLAGS): Likewise.
29839
48b671ff 298402005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29841
29842 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29843 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29844 and kern/powerpc/ieee1275/cmain.c, respectively.
29845
29846 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29847 * kern/powerpc/ieee1275/crt0.S: ... here.
29848
29849 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29850 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 29851
48b671ff 29852 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29853 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29854 instead of boot/powerpc/ieee1275/crt0.S and
29855 boot/powerpc/ieee1275/cmain.c, respectively.
29856
29857 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29858 sectors. It was not used anyway.
29859
09fc77a7 298602005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29861
29862 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29863 `unused parameter' warning.
29864
003789c7 298652005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29866
29867 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29868 function.
29869 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29870 getcharwidth.
29871
67f44c86 298722005-08-28 Marco Gerards <metgerards@student.han.nl>
29873
29874 * include/grub/normal.h (enum grub_completion_type): Added
29875 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29876
29877 * normal/cmdline.c (print_completion): Handle
29878 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29879 * normal/menu_entry.c (store_completion): Likewise.
29880
29881 * normal/completion.c (complete_arguments): New function.
29882 (grub_normal_do_completion): Call `complete_arguments' when the
29883 current words start with a dash.
29884
0b5abe02 298852005-08-27 Marco Gerards <metgerards@student.han.nl>
29886
29887 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29888 `gzio.mod' instead of `io.mod').
29889
d9864ee1 298902005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29891
29892 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29893 (DISTDIRS): Added io and video.
29894 Rewrite the search routine to make an output consistently.
29895
29896 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29897 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29898 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29899 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29900 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29901 util/powerpc/ieee1275/misc.c.
f19dbdb7 29902
d9864ee1 29903 * include/grub/gzio.h: New file.
29904 * io/gzio.c: Likewise.
f19dbdb7 29905
d9864ee1 29906 * kern/file.c (grub_file_close): Call grub_device_close only if
29907 FILE->DEVICE is not NULL.
29908
29909 * include/grub/mm.h [!NULL] (NULL): New macro.
29910
29911 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29912
29913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29914 (pkgdata_MODULES): Added gzio.mod.
29915 (gzio_mod_SOURCES): New variable.
29916 (gzio_mod_CFLAGS): Likewise.
29917
29918 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29919 (pkgdata_MODULES): Added gzio.mod.
29920 (gzio_mod_SOURCES): New variable.
29921 (gzio_mod_CFLAGS): Likewise.
29922
29923 * commands/cat.c: Include grub/gzio.h.
29924 (grub_cmd_cat): Use grub_gzfile_open instead of
29925 grub_file_open.
f19dbdb7 29926
d9864ee1 29927 * commands/cmp.c: Include grub/gzio.h.
29928 (grub_cmd_cmp): Use grub_gzfile_open instead of
29929 grub_file_open.
29930
29931 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
29932 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
29933 grub_file_open.
29934 (grub_rescue_cmd_module): Likewise.
29935
fa46f4b5 299362005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29937
29938 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
29939 kern/sparc64/ieee1275/init.c because it contains _start.
29940 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
29941
e9211b5d 299422005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
29943
29944 * configure.ac: Add support for sparc64 host with ieee1275
29945 firmware.
29946 * configure: Generated from configure.ac.
29947 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
29948 instead of int.
29949 (grub_ofdisk_read): Likewise.
29950 (grub_ofdisk_open): Use %p to print pointer values, and cast the
29951 pointers as (void *) to remove a warning.
29952 (grub_ofdisk_close): Likewise.
29953 (grub_ofdisk_read): Likewise.
29954 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
29955 returns, so make it return void to remove a warning.
29956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
29957 Corresponding prototype change.
29958 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
29959 values, and cast the pointers as (void *) to remove a warning.
29960 (grub_mm_dump): Likewise.
29961 * conf/sparc64-ieee1275.mk: New file.
29962 * conf/sparc64-ieee1275.rmk: Likewise.
29963 * include/grub/sparc64/setjmp.h: Likewise.
29964 * include/grub/sparc64/types.h: Likewise.
29965 * include/grub/sparc64/ieee1275/console.h: Likewise.
29966 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
29967 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
29968 * include/grub/sparc64/ieee1275/time.h: Likewise.
29969 * kern/sparc64/cache.c: Likewise.
29970 * kern/sparc64/dl.c: Likewise.
29971 * kern/sparc64/ieee1275/init.c: Likewise.
29972 * kern/sparc64/ieee1275/openfw.c: Likewise.
29973
385c6a92 299742005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
29975
29976 * util/console.c (grub_ncurses_putchar): If C is greater than
29977 0x7f, set C to a question mark.
29978 (grub_ncurses_getcharwidth): New function.
29979 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
29980 getcharwidth.
29981
29982 * normal/menu.c (print_entry): Made aware of Unicode. First,
29983 convert TITLE to UCS-4, and predict the cursor position by
29984 grub_getcharwidth.
29985
29986 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
29987 const to SRC.
29988 * kern/misc.c (grub_utf16_to_utf8): Likewise.
29989
16ccb8b1 299902005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
29991
29992 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
29993 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29994 grub_strcat.
29995
29996 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
29997 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
29998 grub_strcpy and grub_strlen. Take it into account that a space
29999 character is inserted as a delimiter.
30000
6a85ce79 300012005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30002
30003 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 30004 invalid magic in the error.
6a85ce79 30005
30006 * commands/search.c: New file.
f19dbdb7 30007
6a85ce79 30008 * util/grub-emu.c (main): Call grub_search_init and
30009 grub_search_fini.
30010
30011 * kern/rescue.c (grub_rescue_print_disks): Removed.
30012 (grub_rescue_print_devices): New function.
30013 (grub_rescue_cmd_ls): Use grub_device_iterate with
30014 grub_rescue_print_devices instead of grub_disk_dev_iterate with
30015 grub_rescue_print_disks.
30016
30017 * kern/partition.c (grub_partition_iterate): Return the result of
30018 PARTMAP->ITERATE instead of GRUB_ERRNO.
30019
30020 * kern/device.c: Include grub/partition.h.
30021 (grub_device_iterate): New function.
30022
30023 * include/grub/partition.h (grub_partition_iterate): Return int
30024 instead of grub_err_t.
30025
30026 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
30027 prototype.
30028 [GRUB_UTIL] (grub_search_fini): Likewise.
30029
30030 * include/grub/device.h (grub_device_iterate): New prototype.
30031
30032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30033 commands/search.c.
30034 (pkgdata_MODULES): Added search.mod.
30035 (search_mod_SOURCES): New variable.
30036 (search_mod_CFLAGS): Likewise.
30037
30038 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
30039 (pkgdata_MODULES): Added search.mod.
30040 (search_mod_SOURCES): New variable.
30041 (search_mod_CFLAGS): Likewise.
30042
30043 * commands/ls.c (grub_ls_list_disks): Renamed to ...
30044 (grub_ls_list_devices): ... this, and use grub_device_iterate.
30045 All callers changed.
30046
30047 * DISTLIST: Added commands/search.c.
30048
ef095434 300492005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30050
30051 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
30052 conversion.
30053 (grub_getcharwidth): New function.
30054
30055 * kern/misc.c (grub_utf8_to_ucs4): New function.
30056
30057 * include/grub/term.h (struct grub_term): Added a new member
30058 "getcharwidth".
30059 (grub_getcharwidth): New prototype.
30060
30061 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
30062
30063 * term/i386/pc/console.c (map_char): New function. Segregated from
30064 grub_console_putchar.
30065 (grub_console_putchar): Use map_char.
30066 (grub_console_getcharwidth): New function.
30067 (grub_console_term): Specified grub_console_getcharwidth as
30068 getcharwidth.
30069
30070 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
30071 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
30072
30073 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
30074 GRUB_ERRNO.
30075 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
30076 on grub_strtoul completely.
30077 (write_char): Declare local variables in the beginning of the
30078 function.
30079 (grub_vesafb_getcharwidth): New function.
30080 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
30081 getcharwidth.
30082
1f0a95e4 300832005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
30084
30085 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
30086 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
30087 commands/i386/pc/vbetest.c.
30088
30089 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
30090 call grub_vbe_get_controller_info again, because the returned
30091 information is volatile.
30092 (grub_vbe_set_video_mode): Mostly rewritten.
30093 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
30094 grub_vbe_status_t correctly.
30095 (grub_vbe_get_video_mode_info): Likewise.
30096 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
30097 several if statements.
30098
30099 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
30100 * commands/i386/pc/vbeinfo.c: ... this.
30101
30102 * commands/i386/pc/vbe_test.c: Renamed to ...
30103 * commands/i386/pc/vbetest.c: ... this.
30104
30105 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
30106 ...
30107 (grub_cmd_vbeinfo): ... this. Save video modes before
30108 iterating. Skip a video mode, if it is not available, not enough
30109 information is given or it is monochrome. Show the memory
30110 model. Leave the interpretation of MODEVAR to grub_strtoul
30111 completely.
30112 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
30113 (GRUB_MOD_FINI): Likewise.
30114
30115 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
30116 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
30117 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
30118 duplicated grub_env_get. Leave the interpretation of MODEVAR to
30119 grub_strtoul completely.
30120 (real2pm): Removed.
30121 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
30122 (GRUB_MOD_FINI): Likewise.
30123
30124 * normal/misc.c: Include grub/mm.h.
30125
30126 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
30127 vbe_list_modes with vbetest.mod and vbeinfo.mod.
30128 (vbe_list_modes_mod_SOURCES): Removed.
30129 (vbe_list_modes_mod_CFLAGS): Likewise.
30130 (vbe_test_mod_SOURCES): Likewise.
30131 (vbe_test_mod_CFLAGS): Likewise.
30132 (vbeinfo_mod_SOURCES): New variable.
30133 (vbeinfo_mod_CFLAGS): Likewise.
30134 (vbetest_mod_SOURCES): Likewise.
30135 (vbetest_mod_CFLAGS): Likewise.
30136
992ffbbe 301372005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
30138
30139 * normal/misc.c: New file.
30140
30141 * DISTLIST: Added normal/misc.c.
f19dbdb7 30142
992ffbbe 30143 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
30144 DISK to HOOK. Call HOOK with DISK.
30145 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30146 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30147 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30148
30149 * normal/menu_entry.c (struct screen): Added a new member
30150 "completion_shown".
30151 (completion_buffer): New global variable.
30152 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
30153 (store_completion): New function.
30154 (complete): Likewise.
30155 (clear_completions): Likewise.
30156 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
30157 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
30158 a tab, call complete.
30159
30160 * normal/completion.c (disk_dev): Removed.
30161 (print_simple_completion): Likewise.
30162 (print_partition_completion): Likewise.
30163 (print_func): New global variable.
30164 (add_completion): Do not take the arguments WHAT or PRINT any
30165 longer. Added a new argument TYPE. Instead of printing directly,
30166 call PRINT_FUNC if not NULL.
30167 All callers changed.
30168 (complete_device): Use a local variable DEV instead of
30169 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
30170 (grub_normal_do_completion): Take a new argument HOOK. Do not
30171 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
30172 empty string, return NULL instead.
30173 All callers changed.
30174
30175 * normal/cmdline.c (print_completion): New function.
30176
30177 * kern/partition.c (grub_partition_iterate): Add an argument DISK
30178 to HOOK.
30179 All callers changed.
30180
30181 * kern/disk.c (grub_print_partinfo): Removed.
30182
30183 * include/grub/partition.h (struct grub_partition_map): Add a new
30184 argument DISK into HOOK of ITERATE.
30185 (grub_partition_iterate): Add a new argument DISK to HOOK.
30186
30187 * include/grub/normal.h (enum grub_completion_type): New enum.
30188 (grub_completion_type_t): New type.
30189 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
30190 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
30191 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
30192 (GRUB_COMPLETION_TYPE_FILE): Likewise.
30193 (grub_normal_do_completion): Added a new argument HOOK.
30194 (grub_normal_print_device_info): New prototype.
30195
30196 * include/grub/disk.h (grub_print_partinfo): Removed.
30197
30198 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
30199 (normal_mod_SOURCES): Likewise.
30200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30201 (normal_mod_SOURCES): Likewise.
30202
30203 * commands/ls.c (grub_ls_list_disks): Use
30204 grub_normal_print_device_info instead of grub_print_partinfo. Free
30205 PNAME.
30206 (grub_ls_list_files): Use grub_normal_print_device_info instead of
30207 duplicating the code.
30208
0bd41162 302092005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30210
30211 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 30212 follow GCS more precisely.
30213 * commands/i386/pc/vbe_test.c: Likewise.
30214 * include/grub/i386/pc/vbe.h: Likewise.
30215 * term/i386/pc/vesafb.c: Likewise.
30216 * video/i386/pc/vbe.c: Likewise.
0bd41162 30217
6323696a 302182005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30219
30220 * DISTLIST: Added term/i386/pc/vesafb.c
30221 DISTLIST: Added video/i386/pc/vbe.c
30222 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
30223 DISTLIST: Added commands/i386/pc/vbe_test.c.
30224 * commands/i386/pc/vbe_list_modes.c: New file.
30225 * commands/i386/pc/vbe_test.c: Likewise.
30226 * term/i386/pc/vesafb.c: Likewise.
30227 * video/i386/pc/vbe.c: Likewise.
30228 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
30229 (grub_vbe_probe) Added prototype.
30230 (grub_vbe_set_video_mode) Likewise.
30231 (grub_vbe_get_video_mode) Likewise.
30232 (grub_vbe_get_video_mode_info) Likewise.
30233 (grub_vbe_set_pixel_rgb) Likewise.
30234 (grub_vbe_set_pixel_index) Likewise.
30235 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
30236 (pkgdata_MODULES): Added vesafb.mod.
30237 (pkgdata_MODULES): Added vbe_list_modes.mod.
30238 (pkgdata_MODULES): Added vbe_test.mod.
30239 (vbe_mod_SOURCES): Added.
30240 (vbe_mod_CFLAGS): Likewise.
30241 (vesafb_mod_SOURCES): Likewise.
30242 (vesafb_mod_CFLAGS): Likewise.
30243 (vbe_list_modes_mod_SOURCES): Likewise.
30244 (vbe_list_modes_mod_CFLAGS): Likewise.
30245 (vbe_test_mod_SOURCES): Likewise.
30246 (vbe_test_mod_CFLAGS): Likewise.
30247
0a74e62f 302482005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
30249
0a74e62f 30250 * normal/command.c (grub_command_execute): If INTERACTIVE is
30251 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
30252 CMDLINE. Disable the pager if INTERACTIVE is true.
30253 All callers are changed.
30254
30255 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
30256 before reading a config file.
30257 * normal/main.c (read_config_file): Even if a command is not
30258 found, register it if it is within an entry.
30259
30260 * util/grub-emu.c: Include sys/types.h and unistd.h.
30261 (options): Added --hold.
30262 (struct arguments): Added a new member "hold".
30263 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
30264 missing.
30265 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
30266 cleared by a debugger, if it is not zero.
30267
30268 * include/grub/normal.h (grub_command_execute): Add an argument
30269 INTERACTIVE.
30270
e51f85ae 302712005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
30272
30273 * DISTLIST: Added include/grub/i386/pc/vbe.h.
30274
e9c6f39b 302752005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
30276
30277 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
30278 program with another one, because the old one didn't detect a bug
30279 in gcc-3.4. Always use regparm 2, because the new test is still
30280 not enough for gcc-4.0. Someone must investigate a simple test
30281 case which detects a bug in gcc-4.0.
30282
8de3495c 302832005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
30284
30285 * DISTLIST: Added normal/completion.c.
30286
30287 * normal/completion.c: New file.
f19dbdb7 30288
8de3495c 30289 * term/i386/pc/console.c (grub_console_getwh): New function.
30290 (grub_console_term): Assign grub_console_getwh to getwh.
30291
30292 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
30293 function is defined in normal/completion.c as
30294 grub_normal_do_completion.
30295 (grub_cmdline_get): Use grub_normal_do_completion instead of
30296 grub_tab_complete.
30297
30298 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
30299 returns non-zero, otherwise return 0.
30300 (grub_partition_iterate): First, probe the partition map. Then,
30301 call ITERATE only for this partition map.
30302
30303 * kern/misc.c (grub_strncmp): Rewritten.
30304
30305 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
30306 returns non-zero. Otherwise return 0.
30307
30308 * include/grub/partition.h (grub_partition_map_iterate): Return
30309 int instead of void.
30310
30311 * include/grub/normal.h (grub_normal_do_completion): New prototype.
30312
30313 * include/grub/misc.h (grub_strncmp): Change the type of N to
30314 grub_size_t.
30315
30316 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
30317 of void.
30318
30319 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 30320 unsigned explicitly before comparing it with I.
8de3495c 30321
30322 * kern/main.c (grub_env_write_root): Add the attribute unused into
30323 VAR.
30324
30325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30326 normal/completion.c.
30327 (normal_mod_SOURCES): Likewise.
30328 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30329 (normal_mod_SOURCES): Likewise.
30330
30331 * normal/command.c (grub_iterate_commands): If ITERATE returns
30332 non-zero, return one immediately.
30333
e85e144b 303342005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
30335
30336 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
30337 * kern/i386/pc/startup.S: Updated Global Descriptor table's
30338 descriptions.
30339 (grub_vbe_get_controller_info): New function.
30340 (grub_vbe_get_mode_info): Likewise.
30341 (grub_vbe_set_mode): Likewise.
30342 (grub_vbe_get_mode): Likewise.
30343 (grub_vbe_set_memory_window): Likewise.
30344 (grub_vbe_get_memory_window): Likewise.
30345 (grub_vbe_set_scanline_length): Likewise.
30346 (grub_vbe_get_scanline_length): Likewise.
30347 (grub_vbe_set_display_start): Likewise.
30348 (grub_vbe_get_display_start): Likewise.
30349 (grub_vbe_set_palette_data): Likewise.
30350 * include/grub/i386/pc/vbe.h: New file.
30351
c46153d2 303522005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30353
30354 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30355 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
30356 * DISTLIST: Likewise.
30357 * kern/ieee1275/of.c: Moved to ...
30358 * kern/ieee1275/ieee1275.c: ... here.
30359
0cb90c45 303602005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30361
30362 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
30363 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
30364 Pass 0 as `end' parameter to grub_strtoul().
30365
a19fb360 303662005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30367
30368 * include/grub/powerpc/ieee1275/console.h: Do not include
30369 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
30370 ifdef.
30371 (grub_console_cur_color): Remove i386-specific prototype.
30372 (grub_console_real_putchar): Likewise.
30373 (grub_console_checkkey): Likewise.
30374 (grub_console_getkey): Likewise.
30375 (grub_console_getxy): Likewise.
30376 (grub_console_gotoxy): Likewise.
30377 (grub_console_cls): Likewise.
30378 (grub_console_setcursor): Likewise.
30379 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
30380 Include <grub/machine/console.h>.
30381 * term/ieee1275/ofconsole.c: Likewise.
30382
4ac9bd04 303832005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
30384
30385 * Makefile.in (LIBLZO): New variable.
30386
30387 * configure.ac: Check for LZO version 2.
30388
30389 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
30390 lzo/lzo1x.h instead of lzo1x.h.
30391
30392 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
30393 of -llzo.
30394
30395 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
30396 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
30397
30398 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
30399 copying the data from PARTITION to P.
30400
f4917dfd 304012005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30402
30403 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
30404 negative, unload the module.
30405
30406 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
30407 map is "pc_partition_map" but not "pc".
30408 (usage): Fix the description. The options are --boot-image and
30409 --core-image but not --boot-file or --core-file.
30410 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
30411 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
30412 DEFAULT_DIRECTORY.
30413
30414 * util/i386/pc/grub-install.in: Do not specify --boot-file or
30415 --core-file. Specify INSTALL_DEVICE as an argument.
30416
30417 * util/console.c: Include config.h.
30418 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
30419 [HAVE_NCURSES_H]: Include ncurses.h.
30420 [HAVE_CURSES_H]: Include curses.h.
30421 [!A_NORMAL] (A_NORMAL): Defined as zero.
30422 [!A_STANDOUT] (A_STANDOUT): Likewise.
30423
30424 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
30425 -lncurses.
30426 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
30427
30428 * configure.ac: Check for curses libraries and headers.
30429
30430 * Makefile.in (LIBCURSES): New variable.
30431
30432 * genmk.rb (Script::rule): Set the executable bits.
30433
30434 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
30435 name of the PC partition map is "pc_partition_map" but not "pc".
30436
0e143073 304372005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30438
30439 * util/i386/pc/grub-install.in (grub_probefs): New variable.
30440 (modules): Likewise.
30441 (usage): Added descriptions for --modules and --grub-probefs.
30442 Handle --modules and --grub-probefs. Save the arguments in MODULES
30443 and GRUB_PROBEFS, respectively.
30444 Auto-detect a filesystem module against GRUBDIR. If the result is
30445 empty and modules are not specified explicitly, abort the
30446 installation. Add the result to MODULES.
30447
30448 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
30449 disk/powerpc/ieee1275/ofdisk.c,
30450 include/grub/powerpc/ieee1275/init.h and
30451 term/powerpc/ieee1275/ofconsole.c.
30452 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
30453 term/ieee1275/ofconsole.c.
30454
30455 * include/grub/powerpc/ieee1275/console.h: Resurrected.
30456
30457 * COPYING: Upgraded to the latest version. Only the address of the
30458 FSF office has changed.
f19dbdb7 30459
efd6e6d5 304602005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30461
30462 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30463 kern/ieee1275.c with kern/ieee1275/of.c.
30464
30465 * kern/ieee1275.c: Moved to ...
30466 * kern/ieee1275/of.c: ... here.
30467
8ceafda2 304682005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30469
30470 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30471 readability.
8ceafda2 30472
30473 * config.guess: Updated to the latest version from gnulib.
30474 * config.sub: Likewise.
30475 * install.sh: Likewise.
30476 * mkinstalldirs: Likewise.
30477
30478 * include/grub/console.h: Removed. This file is arch-specific. Do
30479 not put this in include/grub.
30480
30481 * include/grub/i386/pc/console.h: Resurrected.
30482
30483 * util/console.c: Include grub/machine/console.h instead of
30484 grub/console.h.
30485 * util/grub-emu.c: Likewise.
30486
267f6cd9 304872005-08-04 Marco Gerards <metgerards@student.han.nl>
30488
30489 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
30490 hardcoded value.
f19dbdb7 30491
267f6cd9 30492 From Vincent Pelletier <subdino2004@yahoo.fr>
30493 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
30494 Redefined to use grub_getwh.
30495 (grub_term): New member named getwh.
30496 (grub_getwh): New prototype.
30497 * kern/term.c (grub_getwh): New function.
30498 * term/i386/pc/console.c (grub_console_getwh): New function.
30499 (grub_console_term): New member `getwh'.
30500 * term/i386/pc/vga.c (grub_vga_getwh): New function.
30501 (grub_vga_term): New member `getwh'.
0b5abe02 30502 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 30503 grub_ssize_t.
30504 (grub_ofconsole_getw): New function.
30505 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30506 (grub_ofconsole_term): New field named getwh and new initial
30507 value.
30508
3be7266d 305092005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30510
30511 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30512 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30513 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30514 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30515 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30516 of <grub/machine/ieee1275.h>.
30517 * commands/ieee1275/reboot.c: Likewise.
30518 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30519 * kern/ieee1275.c: ... to here. All users updated. Change all
30520 parameter structs to use new type `grub_ieee1275_cell_t'.
30521 * term/powerpc/ieee1275/ofconsole.c: Move ...
30522 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30523 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30524 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30525 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30526 to return int.
30527 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30528 Remove unused prototypes. All users updated.
30529 * include/grub/powerpc/ieee1275/console.h: Removed.
30530 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30531 `grub_ieee1275_cell_t'.
30532 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30533 Cast comparisons with -1 to the correct type.
30534 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30535 type to match `grub_ieee1275_entry_fn'.
30536
8b5f3938 305372005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30538
30539 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30540
30541 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30542 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30543 partmap/sun.c.
30544 (grub_probefs_SOURCES): New variable.
30545
30546 * util/i386/pc/grub-probefs.c: New file.
30547
30548 * util/i386/pc/grub-setup.c (main): Call
30549 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30550 grub_hfs_init and grub_jfs_init to initialize the system. Call
30551 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30552 grub_pc_partition_map_fini to finish the system.
30553
ea409713 305542005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30555
30556 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30557 function.
30558 (grub_multiboot_load_elf32): Likewise.
30559 (grub_multiboot_is_elf64): Likewise.
30560 (grub_multiboot_load_elf64): Likewise.
30561 (grub_multiboot_load_elf): Likewise.
30562 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30563 an ELF32 or ELF64 file.
30564 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30565
30566 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30567 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30568 NULL before calling FS->LABEL.
30569 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30570 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30571 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30572 before calling FS->LABEL.
30573
141a288b 305742005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30575
30576 * util/i386/pc/grub-install.in (datadir): New variable.
30577 (libdir): Removed.
30578 (pkgdatadir): New variable.
30579 (pkglibdir): Removed.
30580
0d5f8a54 305812005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30582
30583 * DISTLIST: Added util/i386/pc/grub-install.in.
30584
30585 * util/i386/pc/grub-install.in: New file.
30586
30587 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30588 (grub_install_SOURCES): Likewise.
30589
30590 * genmk.rb: Added support for scripts.
30591 (Script): New class.
30592 (scripts): New variable.
30593
30594 * Makefile.in (install-local): Install sbin_SCRIPTS by
30595 INSTALL_SCRIPT.
30596 (uninstall): Remove sbin_SCRIPTS.
30597
30598 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30599 device, try to get a GRUB device by
30600 grub_util_biosdisk_get_grub_dev.
30601 Free DEST_DEV.
30602
30603 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30604 description for --device-map.
30605
5f968e1e 306062005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30607
30608 Change the semantics of variable hooks. They now return strings
30609 instead of error values.
f19dbdb7 30610
5f968e1e 30611 * util/i386/pc/grub-setup.c: Include grub/env.h.
30612 (setup): Use grub_device_set_root instead of grub_env_set.
30613
30614 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30615 grub_env_get instead of grub_device_set_root and
30616 grub_device_get_root, respectively.
30617
30618 * kern/main.c (grub_env_write_root): New function.
30619 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30620 grub_env_set instead of grub_device_set_root.
30621
30622 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30623 many variables.
30624 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30625 rather than calling ENV->WRITE_HOOK afterwards.
30626 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30627 passing a pointer of a pointer.
30628 (grub_register_variable_hook): Change the types of "read_hook" and
30629 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30630 respectively.
30631 Allocate the default empty string on the heap, because this string
30632 may be freed later.
30633
30634 * kern/device.c: Include grub/env.h.
30635 (grub_device_set_root): Removed.
30636 (grub_device_get_root): Likewise.
30637 (grub_device_open): Use grub_env_get instead of
30638 grub_device_get_root.
30639
30640 * include/grub/env.h (grub_env_read_hook_t): New type.
30641 (grub_env_write_hook_t): Likewise.
30642 (grub_env_var): Change the types of "read_hook" and "write_hook"
30643 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30644 (grub_register_variable_hook): Likewise.
30645
30646 * include/grub/device.h (grub_device_set_root): Removed.
30647 (grub_device_set_root): Likewise.
30648
30649 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30650 make sure that DIRNAME terminates with '/', so that
30651 grub_fat_find_dir will fail if PATH is not a directory.
30652
30653 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30654 from DIRNAME.
30655 Use the qualifier auto for print_files and print_files_long.
30656 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30657 as a regular file.
30658 Put a newline only if there is no error.
30659 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30660 used.
30661
896f0afd 306622005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30663
30664 * kern/partition.c (grub_partition_probe): Initialize PART to
30665 NULL. Otherwise, when no partition map is registered, this returns
30666 a garbage.
30667
b28b81b2 306682005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30669
30670 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30671 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30672 valid.
30673
5f3607e0 306742005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30675
30676 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30677 information on each device, if it does not have partitions. Print
30678 "Device" instead of "Disk", because this function is not specific
30679 to disk devices.
30680
30681 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30682 static to ensure that it is put on the memory rather than a
30683 register.
30684
502c87e8 306852005-07-17 Yoshinori Okuji <okuji@enbug.org>
30686
30687 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30688 (grub_cat_init): Likewise.
30689 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30690 (options): Likewise.
30691 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30692 (grub_configfile_init): Likewise.
30693 * font/manager.c (GRUB_MOD_INIT): Likewise.
30694 * commands/help.c (GRUB_MOD_INIT): Likewise.
30695 (grub_help_init): Likewise.
30696 * normal/command.c (grub_command_init): Likewise.
30697 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30698 * disk/loopback.c (grub_loop_init): Likewise.
30699 (GRUB_MOD_INIT): Likewise.
30700 * commands/ls.c (grub_ls_init): Likewise.
30701 (GRUB_MOD_INIT): Likewise.
30702 (options): Likewise.
30703 * commands/boot.c (grub_boot_init): Likewise.
30704 (GRUB_MOD_INIT): Likewise.
30705 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30706 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30707 (GRUB_MOD_INIT): Likewise.
30708 * commands/cmp.c (grub_cmp_init): Likewise.
30709 (GRUB_MOD_INIT): Likewise.
30710
30711 * normal/arg.c: Use <> instead of "" to include header files.
30712 (SHORT_ARG_HELP): New macro.
30713 (SHORT_ARG_USAGE): Likewise.
30714 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30715 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30716 descriptions.
30717 (find_short): Check if C is 'h' or 'u' explicitly.
30718 (grub_arg_show_help): Use space characters instead of tabs. Treat
30719 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30720 are shown with --help and --usage only if they are not used for
30721 the command itself.
30722 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30723 'h' and 'u'.
30724
30725 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30726 const into "longarg". Change the type of "shortarg" to int.
30727
f806d18e 307282005-07-17 Yoshinori Okuji <okuji@enbug.org>
30729
30730 * boot/i386/pc/boot.S (boot_drive_check): New label.
30731
30732 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30733 macro.
30734
30735 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30736 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30737
e293232b 307382005-07-17 Yoshinori Okuji <okuji@enbug.org>
30739
30740 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30741 When turning off Gate A20, skip the check and return immediately,
30742 because this is not fatal usually.
30743
ebedfd00 307442005-07-17 Yoshinori Okuji <okuji@enbug.org>
30745
30746 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30747 be 0x7C00 instead of 0x8000.
30748
30749 * boot/i386/pc/pxeboot.S: Rewritten.
30750
30751 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30752 EXT_C.
30753 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30754 result.
30755
654fc59f 307562005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30757
30758 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30759 robustness. This routine now supports a BIOS call and System
30760 Control Port A to modify the gate A20.
30761
30762 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30763 Increased to 0x440.
30764
09f9923f 307652005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30766
30767 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30768 device path and resulting ihandle.
30769 (grub_ofdisk_close): dprintf the ihandle being closed.
30770 (grub_ofdisk_read): dprintf function parameters.
30771 * kern/mm.c (grub_mm_init_region): Likewise.
30772 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30773 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30774 size, and boot arguments.
30775 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30776 before loading into memory.
30777 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30778 before loading into memory.
30779
7ef504d8 307802005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30781
30782 * kern/mm.c: Added much documentation.
30783 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30784 8, set to 5 instead of 8.
30785
e0f050c2 307862005-07-10 Yoshinori Okuji <okuji@enbug.org>
30787
30788 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30789
30790 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30791 (grub_mkdevicemap_SOURCES): New variable.
30792
30793 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30794 lib/device.c of GRUB Legacy.
30795
7224189a 307962005-07-10 Yoshinori Okuji <okuji@enbug.org>
30797
30798 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30799 instead of PATH is NULL.
30800
68c864eb 308012005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30802
30803 * commands/cmp.c (BUFFER_SIZE): New macro.
30804 (grub_cmd_cmp): Close the right file at the right time. Compare
30805 only data just read. Don't report files of different size as
30806 identical. Dynamically allocate buffers. Move variable
30807 declarations at the beginning of function.
30808
e6f3e614 308092005-07-09 Yoshinori Okuji <okuji@enbug.org>
30810
30811 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30812 reverse.
30813
f8f1559a 308142004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30815
30816 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30817 when backspace is pressed at beginning of line.
30818
39c9d41d 308192005-07-03 Yoshinori Okuji <okuji@enbug.org>
30820
30821 * DISTLIST: Added genfslist.sh.
30822
30823 * normal/main.c (fs_module_list): New variable.
30824 (autoload_fs_module): New function.
30825 (read_fs_list): Likewise.
30826 (grub_normal_execute): Call read_fs_list.
30827
30828 * kern/fs.c (grub_fs_autoload_hook): New variable.
30829 (grub_fs_probe): Added support for auto-loading.
30830
30831 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30832 (grub_fs_module_list_t): New type.
30833
30834 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30835 (grub_fs_autoload_hook): New prototype.
30836
30837 * genfslist.sh: New file.
f19dbdb7 30838
39c9d41d 30839 * genmk.rb: Added a rule to generate a filesystem list.
30840
121c1d83 308412005-06-30 Marco Gerards <metgerards@student.han.nl>
30842
30843 * configure.ac: Fix the test for cross-compiling.
30844
30845 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30846 define GRUB_UTIL anymore.
30847
30848 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30849 so this function works on other systems than just big endian.
30850 (load_modules): Likewise.
30851 (add_segments): Likewise.
30852
e75d76e1 308532005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30854
30855 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30856 contains `l' modifier, get a long from va_arg().
30857
50b5a0a7 308582005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30859
30860 * kern/mm.c (grub_free): If the next free block which is being
30861 merged is the first free block, set the first block to the block
30862 being freed.
30863 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30864
89371b20 308652005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30866
30867 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30868 `grub_ieee1275_chosen'.
30869
168d6e58 308702005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30871
30872 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30873 (grub_ieee1275_chosen): New variable.
30874 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30875 `chosen'.
30876 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30877 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30878 Rename first argument to `phandle' for consistency.
30879 (grub_ieee1275_get_property_length): Likewise.
30880 (grub_ieee1275_next_property): Likewise. Change type of first argument
30881 to grub_ieee1275_phandle_t.
30882 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30883 Move export next to declaration.
30884 (grub_ieee1275_chosen): New variable.
30885 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30886 Correct cosmetic typo.
30887 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30888 `grub_ieee1275_chosen'.
30889 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30890 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30891 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30892 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30893 `grub_ieee1275_chosen'.
30894
ca5baa3f 308952005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30896
30897 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30898 /chosen/bootargs.
30899 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30900 /chosen/bootargs as "variable=value" pairs.
30901
708b345f 309022005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30903
30904 * include/grub/misc.h (grub_dprintf): New macro.
30905 (grub_real_dprintf): New prototype.
30906 (grub_strword): Likewise.
30907 (grub_iswordseparator): Likewise.
30908 * kern/misc.c (grub_real_dprintf): New function.
30909 (grub_strword): Likewise.
30910 (grub_iswordseparator): Likewise.
30911
f4c5e67c 309122005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30913
30914 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30915 (roundup): Remove macro.
30916 (grub_ieee1275_flags): Make static.
30917 (grub_ieee1275_realmode): Remove.
30918 (grub_ieee1275_test_flag): New function.
30919 (grub_ieee1275_set_flag): Likewise.
30920 (find_options): Rename to `grub_ieee1275_find_options'; update
30921 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
30922 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
30923 (cmain): New prototype.
30924 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
30925 `grub_ieee1275_flags' directly.
30926 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
30927 machine/biosdisk.h.
30928 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
30929 Don't include grub/machine/init.h.
30930 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
30931 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
30932 Remove prototype.
30933 (grub_ieee1275_realmode): Likewise.
30934 (grub_ieee1275_flag): New enum.
30935 (grub_ieee1275_test_flag): New prototype.
30936 (grub_ieee1275_set_flag): New prototype.
30937 * include/grub/powerpc/ieee1275/init.h: Remove file.
30938 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
30939 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
30940 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
30941 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
30942 comment.
30943 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
30944 `grub_ieee1275_test_flag'.
30945 (grub_ieee1275_encode_devname): Likewise.
30946
ed16607e 309472005-04-21 Hollis Blanchard <hollis@penguinppc.org>
30948
30949 * include/grub/powerpc/ieee1275/ieee1275.h
30950 (grub_ieee1275_encode_devname): New prototype.
30951 (grub_ieee1275_get_filename): Likewise.
30952 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
30953 function.
30954 (grub_set_prefix): Likewise.
30955 (grub_machine_init): Call grub_set_prefix.
30956 * kern/powerpc/ieee1275/openfw.c: Fix typos.
30957 (grub_parse_type): New enum.
30958 (grub_ieee1275_get_devargs): New function.
30959 (grub_ieee1275_get_devname): Likewise.
30960 (grub_ieee1275_parse_args): Likewise.
30961 (grub_ieee1275_get_filename): Likewise.
30962 (grub_ieee1275_encode_devname): Likewise.
30963
be369920 309642005-03-30 Marco Gerards <metgerards@student.han.nl>
30965
30966 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
30967 `grub_loader_unset'.
30968
a5ce3a4a 309692005-03-26 Hollis Blanchard <hollis@penguinppc.org>
30970
30971 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
30972 instead of grub_ieee1275_interpret.
30973 (grub_halt_init): New function.
30974 (grub_halt_fini): Likewise.
30975 (GRUB_MOD_INIT): Correct message grammar.
30976 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
30977 instead of grub_ieee1275_interpret.
30978 (grub_reboot_init): New function.
30979 (grub_reboot_fini): Likewise.
30980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
30981 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
30982 util/i386/pc/misc.c with commands/ieee1275/halt.c,
30983 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
30984 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
30985 function.
30986 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
30987 Add prototype.
30988 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
30989 prototype.
30990 (grub_halt): Likewise.
30991 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
30992 (cmain): Remove __attribute__((unused)).
30993 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
30994 (grub_heap_len): Likewise.
30995 (grub_machine_fini): New function.
30996 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
30997 (grub_halt): Likewise.
30998 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
30999 function.
31000 * util/powerpc/ieee1275/misc.c: New file.
31001
0058f771 310022005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31003
31004 * DISTLIST: New file.
31005 * gendistlist.sh: Likewise.
f19dbdb7 31006
0058f771 31007 * Makefile.in (COMMON_DISTFILES): Removed.
31008 (BOOT_DISTFILES): Likewise.
31009 (CONF_DISTFILES): Likewise.
31010 (DISK_DISTFILES): Likewise.
31011 (FS_DISTFILES): Likewise.
31012 (INCLUDE_DISTFILES): Likewise.
31013 (KERN_DISTFILES): Likewise.
31014 (LOADER_DISTFILES): Likewise.
31015 (TERM_DISTFILES): Likewise.
31016 (UTIL_DISTFILES): Likewise.
31017 (DISTFILES): Likewise.
31018 (uninstall): Uninstall files in $(pkgdata_DATA).
31019 (DISTLIST): New target.
31020 (distdir): Use the contents of the file DISTLIST to get a list of
31021 distributed files.
31022
46b3b8a5 310232005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31024
31025 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
31026 descriptor. This is ported from GRUB Legacy.
31027
31028 * gencmdlist.sh: Added an extra semicolon to make it work with
31029 old sed versions. Reported by Robert Bihlmeyer
31030 <robbe@orcus.priv.at>.
31031
5822ff87 310322005-03-08 Yoshinori Okuji <okuji@enbug.org>
31033
31034 Automatic loading of commands is supported.
f19dbdb7 31035
5822ff87 31036 * normal/main.c (read_command_list): New function.
31037 (grub_normal_execute): Call read_command_list.
31038
31039 * normal/command.c (grub_register_command): Return zero or CMD.
31040 Allocate CMD->NAME from the heap.
31041 Initialize CMD->MODULE_NAME to zero.
31042 Find the same name as well. If the same command is found and it is
31043 a dummy command, overwrite members. If it is not a dummy command,
31044 return zero.
31045 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
31046 (grub_command_find): If a dummy command is found, load a module
31047 and retry to find a command only once.
31048
31049 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
31050 make sure that each command is loaded.
31051
31052 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
31053 macro.
31054 (struct grub_command): Remove const from the member `name'.
31055 Add a new member `module_name'.
31056 (grub_register_command): Return grub_command_t.
31057
31058 * commands/help.c (grub_cmd_help): Call grub_command_find to make
31059 sure that each command is loaded.
31060
31061 * genmk.rb (PModule::rule): Specify a module name without the
31062 suffix ".mod" to gencmdlist.sh.
31063
7b1f4b57 310642005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31065
31066 * gencmdlist.sh: New file.
f19dbdb7 31067
7b1f4b57 31068 * genmk.rb (PModule::rule): Generate a rule for a command list.
31069 Clean command.lst.
31070 Generate command.lst from $(COMMANDFILES).
31071
31072 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
31073 (DATA): Added $(pkgdata_DATA).
31074 (install-local): Install files in $(pkgdata_DATA).
31075
062aaf39 310762005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31077
31078 * term/i386/pc/vga.c (debug_command): Removed.
31079 (GRUB_MOD_INIT): Do not register the command "debug".
31080
31081 From Hollis Blanchard:
31082 * commands/configfile.c: New file.
31083 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31084 commands/configfile.c.
31085 (pkgdata_MODULES): Added configfile.mod.
31086 (configfile_mod_SOURCES): New variable.
31087 (configfile_mod_CFLAGS): Likewise.
31088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31089 commands/configfile.c.
31090 (pkgdata_MODULES): Added configfile.mod.
31091 (configfile_mod_SOURCES): New variable.
31092 (configfile_mod_CFLAGS): Likewise.
31093 * util/grub-emu.c (main): Call grub_configfile_init and
31094 grub_configfile_fini.
31095 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
31096 prototype.
31097 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 31098
cee01aa6 310992005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31100
31101 * normal/arg.c (grub_arg_show_help): Do not show the bug report
31102 address.
31103
31104 * commands/help.c (grub_cmd_help): Do not print newlines after
31105 the last command in print_command_help.
31106
93f3a1d8 311072005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31108
31109 * commands/default.h: New file.
31110 * commands/timeout.h: Likewise.
31111 * normal/context.c: Likewise.
f19dbdb7 31112
93f3a1d8 31113 * util/misc.c: Do not include sys/times.h.
31114 Include sys/time.h and grub/machine/time.h.
31115 (grub_get_rtc): Rewritten with gettimeofday.
31116
31117 * util/grub-emu.c (main): Call grub_default_init and
31118 grub_timeout_init before grub_normal_init, and call
31119 grub_timeout_fini and grub_default_fini after grub_main.
31120
31121 * util/console.c (grub_ncurses_checkkey): Return the read
31122 character or -1.
31123
31124 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
31125 timeouts.
31126
31127 * normal/main.c (read_config_file): Push MENU. If this fails,
31128 print an error and wait for a user input.
31129 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
31130 If a menu is empty or an error occurs, pop MENU.
31131 (grub_normal_execute): Pop and free MENU after grub_menu_run
31132 returns.
31133
31134 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
31135
31136 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
31137 include time.h.
31138 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31139 without GRUB_UTIL.
31140 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
31141 time.h.
31142 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31143 without GRUB_UTIL.
31144
31145 * include/grub/normal.h (struct grub_menu_list): New struct.
31146 (grub_menu_list_t): New type.
31147 (struct grub_context): New struct.
31148 (grub_context_t): New type.
31149 (grub_register_command): Got rid of EXPORT_FUNC.
31150 (grub_unregister_command): Likewise.
31151 (grub_context_get): New prototype.
31152 (grub_context_get_current_menu): Likewise.
31153 (grub_context_push_menu): Likewise.
31154 (grub_context_pop_menu): Likewise.
31155 [GRUB_UTIL] (grub_default_init): Likewise.
31156 [GRUB_UTIL] (grub_default_fini): Likewise.
31157 [GRUB_UTIL] (grub_timeout_init): Likewise.
31158 [GRUB_UTIL] (grub_timeout_fini): Likewise.
31159
31160 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
31161 commands/timeout.c and normal/context.c.
31162 (pkgdata_MODULES): Added default.mod and timeout.mod.
31163 (normal_mod_SOURCES): Added normal/context.c.
31164 (default_mod_SOURCES): New variable.
31165 (default_mod_CFLAGS): Likewise.
31166 (timeout_mod_SOURCES): Likewise.
31167 (timeout_mod_CFLAGS): Likewise.
31168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
31169 conf/i386-pc.rmk.
31170 (pkgdata_MODULES): Added default.mod and timeout.mod.
31171 (normal_mod_SOURCES): Added normal/context.c.
31172 (default_mod_SOURCES): New variable.
31173 (default_mod_CFLAGS): Likewise.
31174 (timeout_mod_SOURCES): Likewise.
31175 (timeout_mod_CFLAGS): Likewise.
31176
31177 * Makefile.in (all-local): Added $(MKFILES).
31178
4ed2e1dd 311792005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
31180
31181 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
31182 (grub_emu_SOURCES): Likewise.
31183 (pkgdata_MODULES): Add `sun.mod'.
31184 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31186 `partmap/sun.c'.
31187 (pkgdata_MODULES): Add `sun.mod'.
31188 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31189 * include/grub/partition.h (grub_sun_partition_map_init): New
31190 prototype.
31191 (grub_sun_partition_map_fini): Likewise.
31192 * partmap/sun.c: New file.
31193 * util/grub-emu.c (main): Initialize and de-initialize the sun
31194 partitionmap support.
31195
4d4e372e 311962005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
31197
31198 This implements an Emacs-like menu entry editor.
f19dbdb7 31199
4d4e372e 31200 * normal/menu_entry.c: New file.
f19dbdb7 31201
4d4e372e 31202 * util/console.c (grub_ncurses_putchar): Translate some Unicode
31203 characters to ASCII.
31204 (saved_char): New variable.
31205 (grub_ncurses_checkkey): Rewritten completely.
31206 (grub_ncurses_getkey): Likewise.
31207 (grub_ncurses_init): Call raw instead of cbreak.
31208
31209 * normal/menu.c (print_entry): Do not put a space.
31210 (init_page): Renamed to ...
31211 (grub_menu_init_page): ... this. All callers changed.
31212 (edit_menu_entry): Removed.
31213 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
31214
31215 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
31216
31217 * kern/misc.c (grub_vprintf): Call grub_refresh.
31218
31219 * normal/menu.c (DISP_LEFT): Renamed to ...
31220 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
31221 * normal/menu.c (DISP_UP): Renamed to ...
31222 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
31223 * normal/menu.c (DISP_RIGHT): Renamed to ...
31224 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
31225 * normal/menu.c (DISP_DOWN): Renamed to ...
31226 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
31227 * normal/menu.c (DISP_HLINE): Renamed to ...
31228 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
31229 * normal/menu.c (DISP_VLINE): Renamed to ...
31230 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
31231 * normal/menu.c (DISP_UL): Renamed to ...
31232 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
31233 * normal/menu.c (DISP_UR): Renamed to ...
31234 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
31235 * normal/menu.c (DISP_LL): Renamed to ...
31236 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
31237 * normal/menu.c (DISP_LR): Renamed to ...
31238 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
31239 * normal/menu.c (TERM_WIDTH): Renamed to ...
31240 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
31241 * normal/menu.c (TERM_HEIGHT): Renamed to ...
31242 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
31243 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
31244 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
31245 * normal/menu.c (TERM_MARGIN): Renamed to ...
31246 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
31247 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
31248 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
31249 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
31250 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
31251 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
31252 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
31253 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
31254 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
31255 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
31256 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
31257 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
31258 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
31259 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
31260 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
31261 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
31262 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
31263 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
31264 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
31265 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
31266 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
31267 All callers changed.
31268
31269 * include/grub/normal.h: New prototype.
31270
31271 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31272 normal/menu_entry.c.
31273 (normal_mod_SOURCES): Likewise.
31274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31275 (normal_mod_SOURCES): Likewise.
31276
e6b92c8a 312772005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
31278
31279 * include/grub/normal.h (grub_halt_init): New prototype.
31280 (grub_halt_fini): Likewise.
31281 (grub_reboot_init): Likewise.
31282 (grub_reboot_fini): Likewise.
31283
31284 * util/grub-emu.c: Include signal.h.
31285 (main_env): New global variable.
31286 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
31287 catch C-c.
31288 (grub_machine_fini): New function.
31289 (main): Call grub_halt_init and grub_reboot_init before
31290 grub_main, and grub_reboot_fini and grub_halt_fini after it.
31291 Call setjmp with MAIN_ENV to go back afterwards.
31292 Call grub_machine_fini right before return.
31293
31294 * include/grub/util/misc.h: Include setjmp.h.
31295 (main_env): New prototype.
31296
31297 * include/grub/kernel.h (grub_machine_fini): New prototype.
31298 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
31299 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
31300
31301 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
31302 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
31303 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 31304
e6b92c8a 31305 * util/i386/pc/misc.c: New file.
f19dbdb7 31306
e6b92c8a 31307 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31308 util/i386/pc/misc.c, commands/i386/pc/halt.c and
31309 commands/i386/pc/reboot.c.
31310
c642636f 313112005-02-14 Guillem Jover <guillem@hadrons.org>
31312
31313 * include/grub/dl.h (grub_dl_check_header): New prototype.
31314 (grub_arch_dl_check_header): Change return type to grub_err_t,
31315 remove size parameter and export function. Update all callers.
31316 * kern/dl.c (grub_dl_check_header): New function.
31317 (grub_dl_load_core): Use `grub_dl_check_header' instead of
31318 `grub_arch_dl_check_header'. Check ELF type. Check if sections
31319 are inside the core.
31320 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
31321 independent ELF header checks.
31322 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31323 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
31324 `grub_dl_check_header' instead of explicit checks. Check for the
31325 ELF type.
31326 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
31327 `grub_dl_check_header' instead of explicit checks. Remove arch
31328 specific ELF header checks.
31329
e6b92c8a 31330 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
31331 argument SIZE.
31332
5eabe94b 313332005-02-13 Hollis Blanchard <hollis@penguinppc.org>
31334
31335 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
31336 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
31337
1b14a681 313382005-02-12 Hollis Blanchard <hollis@penguinppc.org>
31339
31340 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 31341 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 31342 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 31343 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 31344 * partmap/amiga.c (amiga_partition_map_iterate): Return
31345 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
31346 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31347
aca108aa 313482005-02-01 Guillem Jover <guillem@hadrons.org>
31349
31350 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
31351 help info.
31352
c9f9c556 313532005-01-31 Marco Gerards <metgerards@student.han.nl>
31354
31355 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
31356 Removed prototype.
31357 (grub_rescue_cmd_linux): New prototype.
31358 (grub_rescue_cmd_initrd): Likewise.
31359 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
31360 `bi_rec'.
31361 (grub_linux_release_mem): Release the memory for the initrd.
31362 (grub_load_linux): Renamed from this...
31363 (grub_rescue_cmd_linux): ...To this. Changed all callers.
31364 Changed `entry' not to be static. Loop over memory regions to
31365 find another one when the default fails.
31366 (grub_rescue_cmd_initrd): New function.
31367 (grub_linux_init): Remove function.
31368 (grub_linux_fini): Likewise.
31369 (GRUB_MOD_INIT): Register `initrd'.
31370 (GRUB_MOD_FINI): Unregister `initrd'.
31371 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
31372 Function removed.
31373 (grub_linux_normal_fini): Likewise.
31374 (GRUB_MOD_INIT): Register `initrd'.
31375 (GRUB_MOD_FINI): Unregister `initrd'.
31376
990cf3aa 313772005-01-31 Marco Gerards <metgerards@student.han.nl>
31378
31379 * commands/help.c: New file.
31380 * normal/arg.c (show_help): Renamed to...
31381 (grub_arg_show_help): ... this.
31382 * commands/i386/pc/halt.c: New file.
31383 * commands/i386/pc/reboot.c: Likewise.
31384 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
31385 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
31386 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
31387 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
31388 variables.
31389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31390 `commands/help.c'.
31391 (pkgdata_MODULES): Add `help.mod'.
31392 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
31393 * grub/i386/pc/init.h (grub_reboot): New prototype.
31394 (grub_halt): Likewise.
31395 * include/grub/normal.h (grub_arg_show_help): New prototype.
31396 (grub_help_init): Likewise.
31397 (grub_help_fini): Likewise.
31398 * util/grub-emu.c (main): Initialize and deinitialize the help
31399 command.
31400
31401 * normal/cmdline.c (grub_cmdline_get): Doc fix.
31402
31403 * normal/command.c (grub_command_init): Fixed the description of
31404 the `set' and `unset' commands.
31405
314062005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 31407
31408 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
31409 function.
31410 * commands/ieee1275/halt.c: New file.
31411 * commands/ieee1275/reboot.c: Likewise.
31412 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
31413 `__attribute__ ((unused))'. Some GCS related fixed.
31414 (grub_suspend_init) [GRUB_UTIL]: Function removed.
31415 (grub_suspend_fini): Likewise.
31416 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
31417 and `halt.mod'.
31418 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
31419 (halt_mod_CFLAGS): New variables.
31420 * include/grub/powerpc/ieee1275/ieee1275.h
31421 (grub_ieee1275_interpret): New prototype.
31422
1ab09cc7 314232005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
31424
31425 * include/grub/misc.h (memmove): New prototype.
31426 (memcpy): Likewise.
31427
8b8cbdb2 314282005-01-22 Hollis Blanchard <hollis@penguinppc.org>
31429
31430 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
31431 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
31432
e3741a27 314332005-01-22 Marco Gerards <metgerards@student.han.nl>
31434
31435 * kern/misc.c (grub_strndup): Function rewritten.
31436
776bd780 314372005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
31438
31439 * normal/menu.c (TERM_WIDTH): Macro redefined.
31440 (TERM_TOP_BORDER_Y): Likewise.
31441 (draw_border): Replaced while-loop by a for-loop. Make the number
31442 of lines consistent with the number of lines displayed in
31443 print_entries. Added a margin below the rectangle.
31444 (print_entry): Make the entry fit in the rectangle.
31445 (print_entries): Display the scroll arrows next to the right
31446 border.
31447
78026bce 314482005-01-21 Marco Gerards <metgerards@student.han.nl>
31449
31450 * fs/minix.c (grub_minix_find_file): Reserve more space for
31451 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
31452 `grub_strncpy' to copy `path' into it.
31453
67bbaf0f 314542005-01-21 Marco Gerards <metgerards@student.han.nl>
31455
31456 Add the loopback device, a device via which files can be accessed
31457 as devices.
f19dbdb7 31458
67bbaf0f 31459 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
31460 (pkgdata_MODULES): Add loopback.mod.
31461 (loopback_mod_SOURCES): New variable.
31462 (loopback_mod_CFLAGS): Likewise.
31463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31464 `disk/loopback.c'.
31465 (pkgdata_MODULES): Add loopback.mod.
31466 (loopback_mod_SOURCES): New variable.
31467 (loopback_mod_CFLAGS): Likewise.
31468 * disk/loopback.c: new file.
31469 * include/grub/normal.h (grub_loop_init): New prototype.
31470 (grub_loop_fini): New prototype.
31471 * util/grub-emu.c (main): Initialize and de-initialize loopback
31472 support.
31473 * include/grub/disk.h (grub_disk_dev_id): Add
31474 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
31475
6f1c18bd 314762005-01-20 Hollis Blanchard <hollis@penguinppc.org>
31477
31478 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
31479 function.
31480 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
31481 (suspend_mod_SOURCES): New variable.
31482 (suspend_mod_CFLAGS): Likewise.
31483 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
31484 New prototype.
31485 * commands/ieee1275/suspend.c: New file.
31486
b38551da 314872005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31488
31489 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 31490 ((unused))' to `__attribute__ ((used))'.
b38551da 31491 (GRUB_MOD_FINI): Likewise.
31492 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
31493 * genmk.rb (PModule): Assign space to common symbols when linking
31494 modules.
31495
777aff39 314962005-01-20 Marco Gerards <metgerards@student.han.nl>
31497
31498 * include/grub/mm.h (grub_mm_init_region): Change the type of the
31499 `unsigned' arguments to `grub_size_t'.
31500 (grub_malloc): Likewise.
31501 (grub_realloc): Likewise.
31502 (grub_memalign): Likewise.
31503 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31504 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31505 * util/misc.c (grub_malloc): Likewise.
31506 (grub_realloc): Likewise.
31507 * kern/mm.c (get_header_from_pointer): Change the casts to
31508 `unsigned' into a cast to `grub_size_t'.
31509
31510 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31511 point to `currnode' when `currnode' is changed.
31512
31513 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31514 Schottelius <nico-linux@schottelius.org>.
31515
d0ff18e1 315162005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31517
31518 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31519 (note_path): Remove variable.
31520 (GRUB_IEEE1275_NOTE_NAME): New macro.
31521 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31522 (grub_ieee1275_note_hdr): New structure.
31523 (grub_ieee1275_note_desc): Likewise.
31524 (grub_ieee1275_note): Likewise.
31525 (load_note): Remove `dir' argument. All callers updated. Remove
31526 `note_img' and `path'. Do not load a file from `note_path'.
31527 Initialize a struct grub_ieee1275_note and write that to `out'.
31528 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31529
4ca7004c 315302005-01-05 Marco Gerards <metgerards@student.han.nl>
31531
31532 * util/misc.c (grub_util_read_image): Revert last change. It
31533 called `grub_util_read_at', which seeks from the beginning of the
31534 file.
31535
0b412211 315362005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31537
31538 * TODO: Add note about endianness in grub-mkimage.
31539 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31540 section.
31541 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31542 (grub_mkimage_SOURCES): New target.
31543 * include/grub/kernel.h (grub_start_addr): Remove variable.
31544 (grub_end_addr): Likewise.
31545 (grub_total_module_size): Likewise.
31546 (grub_kernel_image_size): Likewise.
31547 (GRUB_MODULE_MAGIC): New constant.
31548 (grub_module_info): New structure.
31549 (grub_arch_modules_addr): New prototype.
31550 (grub_get_end_addr): Remove prototype.
31551 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31552 * include/grub/powerpc/ieee1275/kernel.h: New file.
31553 * include/grub/util/misc.h (grub_util_get_fp_size): New
31554 prototype.
31555 (grub_util_read_at): Likewise.
31556 (grub_util_write_image_at): Likewise.
31557 * kern/main.c (grub_get_end_addr): Remove function.
31558 (grub_load_modules): Call grub_arch_modules_addr instead of using
31559 grub_end_addr. Look for a grub_module_info struct in memory. Use
31560 the grub_module_info fields instead of calling grub_get_end_addr
31561 as loop conditions. Move grub_add_unused_region code here.
31562 (grub_add_unused_region): Remove function.
31563 * kern/i386/pc/init.c: Include grub/cache.h.
31564 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31565 one call to add_mem_region.
31566 (grub_arch_modules_addr): New function.
31567 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31568 (grub_total_module_size): Likewise.
31569 Include grub/machine/kernel.h.
31570 (grub_arch_modules_addr): New function.
31571 * util/grub-emu.c (grub_end_addr): Remove variable.
31572 (grub_total_module_size): Likewise.
31573 (grub_arch_modules_addr): New function.
31574 * util/misc.c: Include unistd.h.
31575 (grub_util_get_fp_size): New function.
31576 (grub_util_read_at): Likewise.
31577 (grub_util_write_image_at): Likewise.
31578 (grub_util_read_image): Call grub_util_read_at.
31579 (grub_util_write_image): Call grub_util_write_image_at.
31580 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31581 additional memory in kernel_img for a struct grub_module_info.
31582 Fill in that grub_module_info.
31583 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31584
458786f8 315852005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31586
31587 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31588 New function.
31589 * include/grub/powerpc/ieee1275/ieee1275.h
31590 (grub_ieee1275_milliseconds): New prototype.
31591 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31592 Change to 1000.
31593 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31594 grub_ieee1275_milliseconds.
31595
ac507d1b 315962005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31597
31598 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31599 variable.
31600 (find_options): New function.
31601 (cmain): Call find_options.
31602 * include/grub/powerpc/ieee1275/ieee1275.h
31603 (grub_ieee1275_realmode): New extern variable.
31604 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31605 grub_map if grub_ieee1275_realmode is false.
31606
6b8fd1c4 316072004-12-29 Marco Gerards <metgerards@student.han.nl>
31608
31609 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31610 lines are inserted and make it work like readline. Reported by
31611 Vincent Pelletier <subdino2004@yahoo.fr>.
31612
8514a1e0 316132004-12-28 Marco Gerards <metgerards@student.han.nl>
31614
31615 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31616
31617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31618 `kern/powerpc/cache.S'.
31619
924b6140 316202004-12-27 Marco Gerards <metgerards@student.han.nl>
31621
31622 * genmk.rb: Handle the `Program' class in the main loop. Written
31623 by Johan Rydberg <jrydberg@gnu.org>.
31624 (Program): New class.
31625 (programs): New variable.
31626 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31627 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31628 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31629 (help_arch): Function removed.
31630 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31631 `powerpc/libgcc.h' and `loader.h'.
31632 (pkgdata_PROGRAMS): New variable.
31633 (sbin_UTILITIES): Variable removed.
31634 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31635 (grubof_SOURCES): Variable re-defined so it only includes the
31636 core functionality.
31637 (grubof_CFLAGS): Remove `-DGRUBOF'.
31638 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31639 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31640 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31641 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31642 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31643 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31644 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31645 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31646 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31647 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31648 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31649 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31650 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31651 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31652 (pc_mod_CFLAGS): New variables.
31653 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31654 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31655 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31656 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31657 Moved from here...
31658 * include/grub/i386/pc/init.h (grub_os_area_addr)
31659 (rub_os_area_size): ... to here.
31660 * include/grub/powerpc/ieee1275/ieee1275.h
31661 (grub_ieee1275_entry_fn): Export symbol.
31662 * include/grub/powerpc/ieee1275/init.h: New file.
31663 * include/grub/powerpc/libgcc.h: Likewise.
31664 * include/grub/cache.h: Likewise.
31665 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31666 <hollis@penguinppc.org>.
31667 * kern/dl.c: Include <grub/cache.h>.
31668 (grub_dl_flush_cache): New function.
31669 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31670 for this module.
31671 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31672 (grub_console_init): Removed prototypes.
31673 (grub_machine_init): Don't initialize the modules anymore.
31674 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31675 static.
31676 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31677 Macro undef removed.
31678 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31679 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31680 relocation `R_PPC_REL32'. Return an error when the relocation is
31681 unknown.
31682 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31683 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31684 * util/misc.c (grub_arch_sync_caches): Likewise.
31685
e4b47e0c 316862004-12-19 Marco Gerards <metgerards@student.han.nl>
31687
31688 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31689 `symlist.c', add `grubof_symlist.c'.
31690 (symlist.c): Variable removed.
31691 (grubof_HEADERS): Variable added.
31692 (grubof_symlist.c): New target.
31693 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31694 `kernel_img_HEADERS'.
31695 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31696 * kern/powerpc/dl.c: New file.
31697 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31698 Function removed.
31699 (grub_arch_dl_relocate_symbols): Likewise.
31700 (grub_register_exported_symbols): Likewise.
31701
4ceb3636 317022004-12-13 Marco Gerards <metgerards@student.han.nl>
31703
31704 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31705 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31706 to fail instead. Reported by Vincent Pelletier
31707 <subdino2004@yahoo.fr>.
31708
31709 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31710 it is not allocated. Reported by Vincent Pelletier
31711 <subdino2004@yahoo.fr>.
31712
31713 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31714 output so the output looks better.
f19dbdb7 31715
3f1578fe 317162004-12-04 Marco Gerards <metgerards@student.han.nl>
31717
31718 Modulize the partition map support and add support for the amiga
31719 partition map.
f19dbdb7 31720
3f1578fe 31721 * commands/ls.c: Include <grub/partition.h> instead of
31722 <grub/machine/partition.h>.
31723 * kern/disk.c: Likewise.
31724 * kern/rescue.c: Likewise.
31725 * loader/i386/pc/chainloader.c: Likewise.
31726 * normal/cmdline.c: Likewise.
31727 * kern/powerpc/ieee1275/init.c: Likewise.
31728 (grub_machine_init): Call `grub_pc_partition_map_init',
31729 `grub_amiga_partition_map_init' and
31730 `grub_apple_partition_map_init'.
31731 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31732 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31733 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31734 `partition.h' and `pc_partition.h'.
31735 (grub_setup_SOURCES): Remove
31736 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31737 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31738 (grub_emu_SOURCES): Likewise.
31739 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31740 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31741 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31743 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31744 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31745 (grubof_SOURCES): Likewise.
31746 * disk/i386/pc/partition.c: File removed.
31747 * disk/powerpc/ieee1275/partition.c: Likewise.
31748 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31749 * include/grub/i386/pc/partition.h: Likewise.
31750 * kern/partition.c: New file.
31751 * partmap/amiga.c: Likewise.
31752 * partmap/apple.c: Likewise.
31753 * partmap/pc.c: Likewise.
31754 * include/grub/partition.h: Likewise..
31755 * include/grub/pc_partition.h: Likewise.
31756 * util/grub-emu.c: Include <grub/partition.h> instead of
31757 <grub/machine/partition.h>.
31758 (main): Call `grub_pc_partition_map_init',
31759 `grub_amiga_partition_map_init' and
31760 `grub_apple_partition_map_init' and deinitialize afterwards.
31761 * util/i386/pc/biosdisk.c: Include `#include
31762 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31763 `<grub/machine/partition.h>'.
31764 * util/i386/pc/grub-setup.c: Likewise.
31765 * util/i386/pc/biosdisk.c: Likewise.
31766 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31767 partition information in case of a PC partition.
31768 * util/i386/pc/grub-setup.c: Include `#include
31769 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31770 `<grub/machine/partition.h>'.
31771 (setup): Only access the PC specific partition information in case
31772 of a PC partition.
31773
0ef4ced9 317742004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31775
0ef4ced9 31776 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31777 (grub_longjmp): Likewise.
31778 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31779 20.
31780 * normal/powerpc/setjmp.S: New file.
31781 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31782 `normal/powerpc/setjmp.S'.
31783 (grubof_CFLAGS): Add `-DGRUBOF'.
31784 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31785 [GRUB_UTIL && !GRUBOF].
f19dbdb7 31786
19950e29 317872004-11-16 Marco Gerards <metgerards@student.han.nl>
31788
31789 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31790 property named `name'. Correctly handle the error returned by
31791 `grub_ieee1275_finddevice' if a device can not be opened.
31792
a2fea427 317932004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31794
31795 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31796 `actual' for negativity.
31797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31798 kern/fshelp.c.
31799
41ea0ea3 318002004-11-01 Marco Gerards <metgerards@student.han.nl>
31801
31802 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31803 (PAGE_OFFSET): New macro.
31804 (CRTC_ADDR_PORT): Likewise.
31805 (CRTC_DATA_PORT): Likewise.
31806 (START_ADDR_HIGH_REGISTER): Likewise.
31807 (START_ADDR_LOW_REGISTER): Likewise.
31808 (GRAPHICS_ADDR_PORT): Likewise.
31809 (GRAPHICS_DATA_PORT): Likewise.
31810 (READ_MAP_REGISTER): Likewise.
31811 (INPUT_STATUS1_REGISTER): Likewise.
31812 (INPUT_STATUS1_VERTR_BIT): Likewise.
31813 (page): New variable.
31814 (wait_vretrace): New function.
31815 (set_read_map): Likewise.
31816 (set_start_address): Likewise.
31817 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31818 the right page.
31819 (check_vga_mem): Take the page into account.
31820 (write_char): Likewise.
31821 (write_cursor): Likewise.
31822 (scroll_up): Likewise. Copy the page to the page that is not
31823 shown and switch between both pages.
31824 (grub_vga_putchar): Fix off by one error.
31825 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31826 account.
31827
ad0bd20b 318282004-11-01 Marco Gerards <metgerards@student.han.nl>
31829
31830 Add support for iso9660 (including rockridge).
f19dbdb7 31831
ad0bd20b 31832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31833 (iso9660_mod_SOURCES): New variable.
31834 (iso9660_mod_CFLAGS): Likewise.
31835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31836 * include/grub/fs.h (grub_iso9660_init): New prototype.
31837 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31838 * fs/iso9660.c: New file.
31839
31840 * include/grub/misc.h (grub_strncat): New prototype.
31841 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31842
ad0bd20b 31843 * fs/hfs.c (grub_hfs_mount): Translate the error
31844 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31845 * fs/jfs.c (grub_jfs_mount): Likewise.
31846 * fs/ufs.c (grub_ufs_mount): Likewise.
31847
a5477a59 318482004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31849
31850 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31851 which initialized BAT registers.
31852 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31853 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31854 Move from here...
31855 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31856 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31857 ... to here.
31858 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31859 (grub_mapclaim): Likewise.
31860 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31861 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31862 hand.
31863
9304c1f8 318642004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31865
31866 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31867 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31868 -ffreestanding and -msoft-float.
31869
86f4ae25 318702004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31871
31872 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31873 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31874 set in grub_ieee1275_flags.
31875
38912228 318762004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31877
31878 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31879 prototype.
31880 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31881 grub_console_init first.
31882 Change the memory range used for grub_ieee1275_claim and
31883 grub_mm_init_region.
31884 Print an error message if the claim fails.
31885 Include <grub/misc.h>.
31886
d1923dc8 318872004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31888
31889 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31890 Call grub_children_iterate for device nodes of type `scsi',
31891 `ide', or `ata'.
31892 (grub_ofdisk_open): Remove manual device alias resolution.
31893 Fix memory leak when device cannot be opened.
f19dbdb7 31894 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31895 (grub_children_iterate): New prototype.
31896 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31897 New function.
31898 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31899 Return -1 if args.size was -1.
31900
4512e4f3 319012004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31902
31903 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31904 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31905 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31906 Open Firmware's memory for it; claim memory from _start to _end.
31907 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31908 (_end): New extern.
31909 (_start): Zero BSS from __bss_start to _end.
31910 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31911 New extern.
31912 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31913
4d61feb0 319142004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31915
ad0bd20b 31916 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31917 -1 if args.base was -1.
4d61feb0 31918
026fa2f9 319192004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31920
31921 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
31922 escape sequence instead of a literal ^L. Also call
31923 grub_ofconsole_gotoxy.
31924
9f2220ef 319252004-10-03 Hollis Blanchard <hollis@penguinppc.org>
31926
31927 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
31928 void * arguments to grub_addr_t. All callers updated. Also make
31929 the `result' argument optional.
31930 (grub_ieee1275_release): change void * arguments to grub_addr_t.
31931 All callers updated.
31932
8a572cd7 319332004-09-22 Hollis Blanchard <hollis@penguinppc.org>
31934
31935 * commands/ls.c (grub_ls_list_files): Use the string following the
31936 initial ')', if present, as the filesystem path.
31937 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
31938
31939 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
31940
18aa81f2 319412004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
31942
31943 Make the source code of the menu interface more readable.
f19dbdb7 31944
18aa81f2 31945 * normal/menu.c: Include grub/mm.h.
31946 (TERM_WIDTH): New macro.
31947 (TERM_HEIGHT): Likewise.
31948 (TERM_INFO_HEIGHT): Likewise.
31949 (TERM_MARGIN): Likewise.
31950 (TERM_SCROLL_WIDTH): Likewise.
31951 (TERM_TOP_BORDER_Y): Likewise.
31952 (TERM_LEFT_BORDER_X): Likewise.
31953 (TERM_BORDER_WIDTH): Likewise.
31954 (TERM_MESSAGE_HEIGHT): Likewise.
31955 (TERM_BORDER_HEIGHT): Likewise.
31956 (TERM_NUM_ENTRIES): Likewise.
31957 (TERM_FIRST_ENTRY_Y): Likewise.
31958 (TERM_ENTRY_WIDTH): Likewise.
31959 (TERM_CURSOR_X): Likewise.
31960 (draw_border): Use macros instead of magic numbers.
31961 (print_entry): Likewise.
31962 (print_entries): Likewise.
31963 (run_menu): Likewise. Also, handle the key 'e'.
31964 (run_menu_entry): Ignore empty command lines.
31965 (print_message): Added a new argument EDIT. If EDIT is true,
31966 print a different message.
31967 (init_page): Likewise.
31968 (edit_menu_entry): New function. Not implemented yet.
31969
b47efe30 319702004-09-17 Marco Gerards <metgerards@student.han.nl>
31971
31972 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
31973 can be loaded from normal mode.
f19dbdb7 31974
b47efe30 31975 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
31976 `multiboot.mod'.
31977 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
31978 (multiboot_mod_CFLAGS): New variables.
31979 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 31980 * loader/i386/pc/multiboot_normal.c: Likewise.
31981
b47efe30 31982 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
31983 attribute `unused'.
f19dbdb7 31984
b47efe30 31985 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
31986 `fdiro' to read the mode information from instead of `diro'.
31987
31988 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
31989 looking up a symlink.
31990
31991 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
31992 macro.
31993 * normal/command.c (grub_command_execute): Don't parse the
31994 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
31995 flags of the command.
31996
31997 * normal/menu.c (grub_menu_run): Fix typo.
31998
da75ac71 319992004-09-14 Hollis Blanchard <hollis@penguinppc.org>
32000
32001 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
32002
32003 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
32004 `y + 1' instead of `y - 1'.
32005
32006 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 32007
062b24c2 320082004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
32009
32010 From Hollis Blanchard <hollis@penguinppc.org>:
32011 * kern/misc.c (memmove): New alias for grub_memmove.
32012 (memcmp): New alias for grub_memcmp.
32013 (memset): New alias for grub_memset.
f19dbdb7 32014 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 32015 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 32016 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 32017 (grub_ieee1275_get_property): Likewise.
f19dbdb7 32018
8ddad845 320192004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
32020
32021 Added normal mode command `chainloader' as module chain.mod, which
32022 depends on normal.mod and _chain.mod.
f19dbdb7 32023
8ddad845 32024 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
32025 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
32026 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
32027 Deleted prototype.
32028 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
32029 but arguments parsing moved to ...
32030 (grub_chainloader_cmd): ... here. New function.
32031 * include/grub/i386/pc/chainloader.h: New file.
32032 * loader/i386/pc/chainloader_normal.c: Likewise.
32033
2c1f4ce3 320342004-09-11 Marco Gerards <metgerards@student.han.nl>
32035
32036 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
32037 (grub_mkimage_LDFLAGS): Likewise.
32038 (grub_emu_SOURCES): Likewise.
32039 (kernel_img_HEADERS): Added fshelp.h.
32040 * fs/ext2.c: Include <grub/fshelp.h>.
32041 (FILETYPE_REG): New macro.
32042 (FILETYPE_INO_REG): Likewise.
32043 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
32044 Changed all users.
32045 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
32046 all users.
32047 (grub_fshelp_node): New struct.
32048 (grub_ext2_data): Added member `diropen'. Changed member `inode'
32049 to a pointer.
32050 (grub_ext2_get_file_block): Removed function.
32051 (grub_ext2_read_block): New function.
32052 (grub_ext2_read_file): Replaced parameter `data' by `node'.
32053 This function was written.
32054 (grub_ext2_mount): Read the root inode. Create a diropen struct.
32055 (grub_ext2_find_file): Removed function.
32056 (grub_ext2_read_symlink): New function.
32057 (grub_ext2_iterate_dir): Likewise.
32058 (grub_ext2_open): Rewritten.
32059 (grub_ext2_dir): Rewritten.
32060 * include/grub/fshelp.h: New file.
32061 * fs/fshelp.c: Likewise.
32062
3c52136a 320632004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
32064
32065 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
32066 (print_message): Add a missing newline.
32067 (run_menu): Added timeout support.
32068 (run_menu_entry): New local function.
32069 (grub_menu_run): Added support for booting.
32070
32071 * kern/loader.c (grub_loader_is_loaded): New function.
32072
32073 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
32074 (grub_get_rtc): Exported.
32075
32076 * include/grub/i386/pc/time.h: Include grub/symbol.h.
32077 (grub_get_rtc): Exported.
32078
32079 * include/grub/normal.h (struct grub_command_list): Remove
32080 constant from the member `command'.
32081
32082 * include/grub/loader.h (grub_loader_is_loaded): Declared.
32083
32084 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
32085
32086 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
32087
aa033560 320882004-08-28 Marco Gerards <metgerards@student.han.nl>
32089
32090 Add support for the JFS filesystem.
32091
32092 * fs/jfs.c: New file.
32093 * include/grub/fs.h (grub_jfs_init): New prototype.
32094 (grub_jfs_fini): New prototype.
32095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
32096 (grub_emu_SOURCES): Likewise.
32097 (pkgdata_MODULES): Add jfs.mod.
32098 (jfs_mod_SOURCES): New variable.
32099 (jfs_mod_CFLAGS): Likewise.
32100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
32101 (grubof_SOURCES): Likewise.
32102 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
32103
32104 * fs/fat.c (grub_fat_find_dir): Convert the filename little
32105 endian to the host endian.
32106 (grub_fat_utf16_to_utf8): Move function from there...
32107 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 32108 the endianness of the source string anymore.
aa033560 32109 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
32110
94bc45af 321112004-08-24 Marco Gerards <metgerards@student.han.nl>
32112
32113 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
32114 (grub_boot_fini) [GRUB_UTIL]: Likewise.
32115 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
32116 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 32117
94bc45af 32118 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
32119 (grub_hfs_iterate_dir): Make the function static. Add prototypes
32120 for `node_found' and `it_dir'.
32121 (grub_hfs_dir): Add prototype for `dir_hook'.
32122
32123 * fs/minix.c (grub_minix_get_file_block): Add prototype for
32124 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
32125 and `indir32' to silence a gcc warning.
32126
32127 * include/grub/fs.h (grub_hfs_init): New prototype.
32128 (grub_hfs_fini): Likewise.
f19dbdb7 32129
32130
97543f08 321312004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
32132
32133 Each disk device has its own id now. This is useful to make use
32134 of multiple disk devices.
f19dbdb7 32135
97543f08 32136 * include/grub/disk.h (grub_disk_dev_id): New enum.
32137 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
32138 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
32139
32140 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
32141 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32142
32143 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
32144 GRUB_DISK_DEVICE_OFDISK_ID as an id.
32145
32146 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
32147 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32148
32149 * include/grub/disk.h (struct grub_disk_dev): Added a new member
32150 "id" which is used by the cache manager.
32151
32152 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
32153 of just "GRUB".
32154
64372eb4 321552004-08-18 Marco Gerards <metgerards@student.han.nl>
32156
32157 * fs/hfs.c: New file.
32158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
32159 (grub_emu_SOURCES): Likewise.
32160 (pkgdata_MODULES): Add hfs.mod.
32161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
32162 (grubof_SOURCES): Likewise.
32163 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
32164
32165 * include/grub/misc.h (grub_strncasecmp): Add prototype.
32166 * kern/misc.c (grub_strncasecmp): Add function.
32167
cc61b58f 321682004-08-14 Marco Gerards <metgerards@student.han.nl>
32169
32170 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
32171 with parentheses.
32172
32173 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
32174 (grub_ext2_dir): In case the directory entry type is unknown, read
32175 it from the inode.
32176
0ef123f6 321772004-08-02 Peter Bruin <pjbruin@dds.nl>
32178
32179 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
32180 grub_load_linux instead of grub_rescue_cmd_linux as second
32181 argument of grub_rescue_register_command.
32182
32183 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
32184
a447c5df 321852004-07-27 Marco Gerards <metgerards@student.han.nl>
32186
32187 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
32188 function.
32189 * commands/boot.c: Remove the check for `GRUB_UTIL'.
32190 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32191 `loader/powerpc/ieee1275/linux.c',
32192 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
32193 * include/grub/powerpc/ieee1275/ieee1275.h
32194 (grub_ieee1275_release): New prototype.
32195 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
32196 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
32197 normal, boot, linux and linux_normal.
32198 * loader/powerpc/ieee1275/linux.c: New file.
32199 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32200
5a9e3546 322012004-07-12 Marco Gerards <metgerards@student.han.nl>
32202
32203 * normal/arg.c (grub_arg_parse): Correct error handling after
32204 reallocating the argumentlist (check if `argl' is not null instead
32205 of checking if `args' is not null).
32206 * kern/mm.c (grub_realloc): Return the same pointer when using the
32207 same region, instead of returning the header address.
32208
e15199cb 322092004-07-11 Marco Gerards <metgerards@student.han.nl>
32210
32211 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
32212 one block instead of two when looking for the initial partition.
32213 (grub_partition_probe): Initialize the local variable `p' with 0.
32214 Use base 10 for the grub_strtoul call.
32215 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
32216 need for one local variable.
32217 (grub_strtoul): Don't add the new value to `num', instead of that
32218 just assign it.
32219
020616c2 322202004-07-11 Marco Gerards <metgerards@student.han.nl>
32221
32222 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
32223 (pxeboot_img_SOURCES): New variable.
32224 (pxeboot_img_ASFLAGS): Likewise.
32225 (pxeboot_img_LDFLAGS): Likewise.
32226 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
32227 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
32228 <lode_leroy@hotmail.com>.
32229
6c51eb64 322302004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32231
32232 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
32233 there was no input.
32234
cfb12aff 322352004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32236
32237 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
32238 the history buffer logic.
32239
6eabba74 322402004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32241
32242 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
32243 (FILETYPE_INO_SYMLINK): New macros.
32244 (grub_ext2_find_file): Check if the node is a directory using the
32245 inode stat information instead of using the filetype in the
32246 dirent. Exclude the first character of an absolute symlink.
32247 (grub_ext2_dir): Mask out the filetype part of the mode member of
32248 the inode.
32249
66e19ef8 322502004-05-24 Marco Gerards <metgerards@student.han.nl>
32251
32252 Add support for UFS version 1 and 2. Add support for the minix
32253 filesystem version 1 and 2, both the variants with 14 and 30 long
32254 filenames.
f19dbdb7 32255
66e19ef8 32256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
32257 fs/minix.c.
32258 (grub_emu_SOURCES): Likewise.
32259 (pkgdata_MODULES): Add ufs.mod and minix.mod.
32260 (ufs_mod_SOURCES): New variable.
32261 (ufs_mod_CFLAGS): Likewise.
32262 (minix_mod_SOURCES): Likewise.
32263 (minix_mod_CFLAGS): Likewise.
32264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
32265 fs/minix.c.
32266 (grubof_SOURCES): Likewise.
32267 * fs/ufs.c: New file.
32268 * fs/minix.c: New file.
32269 * include/grub/fs.h (grub_ufs_init): New prototype.
32270 (grub_ufs_fini): Likewise.
32271 (grub_minix_init): Likewise.
32272 (grub_minix_fini): Likewise.
32273 * util/grub-emu.c (main): Initialize and deinitialize UFS and
32274 minix fs.
32275
cc2e748a 322762004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
32277
32278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
32279 commands/ls.c, commands/terminal.c, commands/boot.c,
32280 commands/cmp.c and commands/cat.c.
32281 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
32282
32283 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
32284 "env.h"
32285
4b13b216 322862004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32287
32288 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
32289 and grub_, respectively. Because the conversion is trivial and
32290 mechanical, I omit the details here. Please refer to the CVS
32291 if you need more information.
32292
6a142551 322932004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32294
32295 * include/pupa: Renamed to ...
32296 * include/grub: ... this.
32297 * util/i386/pc/pupa-mkimage.c: Renamed to ...
32298 * util/i386/pc/grub-mkimage.c: ... this.
32299 * util/i386/pc/pupa-setup.c: Renamed to ...
32300 * util/i386/pc/grub-setup.c: ... this.
32301 * util/pupa-emu.c: Renamed to ...
32302 * util/grub-emu.c: ... this.
32303
e56cdf21 323042004-03-29 Marco Gerards <metgerards@student.han.nl>
32305
32306 Add support for the newworld apple macintosh (PPC). This has been
32307 tested on the powerbook 2000 only. It only adds support for
32308 generic ieee1275 functions, console and disk support. This should
32309 be easy to port to other architectures with support for Open
32310 Firmware.
f19dbdb7 32311
e56cdf21 32312 * configure.ac: Accept the powerpc as host_cpu. In the case of
32313 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
32314 specific tests are only executed while building for the i386.
32315 Inverse test for crosscompile.
32316 * genmk.rb (Utility): Allow assembler files.
32317 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
32318 * conf/powerpc-ieee1275.rmk: New file.
32319 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
32320 * disk/powerpc/ieee1275/partition.c: Likewise.
32321 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
32322 * include/pupa/powerpc/ieee1275/console.h: Likewise.
32323 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
32324 * include/pupa/powerpc/ieee1275/time.h: Likewise.
32325 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
32326 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
32327 * include/pupa/powerpc/ieee1275/loader.h
32328 * include/pupa/powerpc/setjmp.h: Likewise.
32329 * include/pupa/powerpc/types.h: Likewise.
32330 * kern/powerpc/ieee1275/init.c: Likewise.
32331 * kern/powerpc/ieee1275/openfw.c: Likewise.
32332 * term/powerpc/ieee1275/ofconsole.c: Likewise.
32333
32334 These files were written by Johan Rydberg
32335 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 32336
e56cdf21 32337 * boot/powerpc/ieee1275/cmain.c: New file.
32338 * boot/powerpc/ieee1275/crt0.S: Likewise.
32339 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
32340 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
32341
8c8cc205 323422004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
32343
32344 * Makefile.in: Update copyright.
32345 * genmodsrc.sh: Likewise.
32346 * gensymlist.sh: Likewise.
32347 * term/i386/pc/vga.c: Indent correctly.
32348
32349 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
32350 bugreporting address.
32351 * util/i386/pc/pupa-setup.c (usage): Likewise,
32352 (main): Call pupa_ext2_init and pupa_ext2_fini.
32353
f19dbdb7 32354 * fs/fat.c (log2): Renamed to ...
8c8cc205 32355 (fat_log2): ... this.
32356 All callers changed.
32357 * kern/misc.c (memcpy): Alias to pupa_memmove.
32358 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
32359 lvalue cast.
32360 * util/console.c (pupa_ncurses_fini): Return 0.
32361
32362 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
32363 Move fail label here.
32364 [__GNU__]: Don't warn when using stat.
32365 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
32366 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
32367 long int. Use strtol instead of strtoul.
f19dbdb7 32368
db1771cf 323692004-03-14 Marco Gerards <metgerards@student.han.nl>
32370
32371 * commands/boot.c: New file.
32372 * commands/cat.c: Likewise.
32373 * commands/cmp.c: Likewise.
32374 * commands/ls.c: Likewise.
32375 * commands/terminal.c: Likewise.
32376 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
32377 (pupa_register_command): Changed interface to match the new
32378 argument parser.
32379 (pupa_command_execute): Changed (almost rewritten) so it uses
32380 pupa_split_command. Added support for setting variables using the
32381 syntax `foo=bar'.
32382 (rescue_command): Changed to work with the new argument parser.
32383 (terminal_command): Moved from here to commands/terminal.c.
32384 (set_command): New function.
32385 (unset_command): New function.
32386 (insmod_command): New function.
32387 (rmmod_command): New function.
32388 (lsmod_command): New function.
32389 (pupa_command_init): Don't initialize the command terminal
32390 anymore. Initialize the commands set, unset, insmod, rmmod and
32391 lsmod.
32392 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
32393 (kernel_img_HEADERS): Add arg.h and env.h.
32394 (pupa_mkimage_LDFLAGS): Add kern/env.c.
32395 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
32396 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
32397 normal/arg.c.
32398 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
32399 terminal.mod.
32400 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
32401 (boot_mod_SOURCES): New variable.
32402 (terminal_mod_SOURCES): Likewise.
32403 (ls_mod_SOURCES): Likewise.
32404 (cmp_mod_SOURCES): Likewise.
32405 (cat_mod_SOURCES): Likewise.
32406
32407 * normal/arg.c: New file.
32408 * kern/env.c: Likewise.
32409 * include/pupa/arg.h: Likewise.
32410 * include/pupa/env.h: Likewise.
32411 * font/manager.c (font_command): Changed to match argument parsing
32412 interface changes.
32413 (PUPA_MOD_INIT): Likewise.
32414 * hello/hello.c (pupa_cmd_hello): Likewise.
32415 (PUPA_MOD_INIT): Likewise.
32416 * include/pupa/disk.h: Include <pupa/device.h>.
32417 (pupa_print_partinfo): New prototype.
32418 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
32419 (pupa_dl_get_prefix): Likewise.
32420 * include/pupa/misc.h: Include <pupa/err.h>.
32421 (pupa_isgraph): New prototype.
32422 (pupa_isdigit): Likewise.
32423 (pupa_split_cmdline): Likewise.
32424 * include/pupa/normal.h: Include <pupa/arg.h>.
32425 (pupa_command): Changed the prototype of the member `func' to
32426 match the argument parsing interface. Added member `options'.
32427 (pupa_register_command): Updated to match function.
32428 (pupa_arg_parse): New prototype.
32429 (pupa_hello_init) [PUPA_UTIL]: New prototype.
32430 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
32431 (pupa_ls_init) [PUPA_UTIL]: Likewise.
32432 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
32433 (pupa_cat_init) [PUPA_UTIL]: Likewise.
32434 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
32435 (pupa_boot_init) [PUPA_UTIL]: Likewise.
32436 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
32437 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
32438 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
32439 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
32440 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
32441 * kern/disk.c: Include <pupa/file.h>.
32442 (pupa_print_partinfo): New function.
32443 * kern/dl.c: Include <pupa/env.h>.
32444 (pupa_dl_dir): Variable removed.
32445 (pupa_dl_load): Use the environment variable `prefix' instead of
32446 the variable pupa_dl_dir.
32447 (pupa_dl_set_prefix): Function removed.
32448 (pupa_dl_get_prefix): Likewise.
32449 * kern/i386/pc/init.c: Include <pupa/env.h>.
32450 (pupa_machine_init): Use the environment variable `prefix' instead of
32451 using pupa_dl_set_prefix to set the prefix.
32452 * kern/main.c: Include <pupa/env.h>.
32453 (pupa_set_root_dev): Use the environment variable `prefix' instead of
32454 using pupa_dl_get_prefix to get the prefix.
32455 * kern/misc.c: Include <pupa/env.h>.
32456 (pupa_isdigit): New function.
32457 (pupa_isgraph): Likewise.
32458 (pupa_ftoa): Likewise.
32459 (pupa_vsprintf): Added support for printing values of the type
32460 `double'. Make it possible to format variable output when using
32461 formatting like `%1.2%f'.
32462 (pupa_split_cmdline): New function.
32463 * kern/rescue.c: Include <pupa/env.h>.
32464 (next_word): Removed function.
32465 (pupa_rescue_cmd_prefix): Likewise.
32466 (pupa_rescue_cmd_set): New function.
32467 (pupa_rescue_cmd_unset): New function.
32468 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32469 split the command line instead of splitting it here. Added
32470 support for setting variables using the syntax `foo=bar'. Don't
32471 initialize the prefix command anymore. Initialized the set and
32472 unset commands.
32473 * normal/cmdline.c: Include <pupa/env.h>.
32474 (pupa_tab_complete): Added prototypes for print_simple_completion,
32475 print_partition_completion, add_completion, iterate_commands,
32476 iterate_dev, iterate_part and iterate_dir. Moved code to print
32477 partition information from here to kern/disk.c.
fe6b695a 32478 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 32479 * normal/main.c: Include <pupa/env.h>.
32480 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
32481 instead of using pupa_dl_get_prefix to get the prefix.
32482 * term/i386/pc/vga.c: Include <pupa/arg.h>.
32483 (check_vga_mem): Cast pointers to `void *' to silence a gcc
32484 warning.
32485 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
32486 (pupa_vga_setcolor): Declare unused variables with `__attribute__
32487 ((unused))' to silence a gcc warning.
32488 (pupa_vga_setcolor): Likewise.
32489 (debug_command): Changed to match argument parsing
32490 interface changes.
32491 * util/pupa-emu.c: Include <pupa/env.h>.
32492 (options): Added 0's for unused fields to silence a gcc warning.
32493 (argp): Likewise.
32494 (main): Use the environment variable `prefix' instead of using
32495 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
32496 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
32497 and terminal.
32498
32499 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
32500 * util/misc.c: Include <malloc.h>.
32501 (pupa_malloc): Rewritten so errors are correctly reported.
32502 (pupa_realloc): Likewise.
32503 (pupa_memalign): Likewise.
32504 (pupa_mm_init_region): Declare unused variables with
32505 `__attribute__ ((unused))' to silence a gcc warning.
32506 * normal/i386/setjmp.S: Remove tab at the end of the file to
32507 silence a gcc warning.
32508 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32509 variables with `__attribute__ ((unused))' to silence a gcc
32510 warning.
32511 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32512 local variable i unsigned to silence a gcc warning.
32513
32514 * kern/term.c: Include <pupa/misc.h>.
32515 (pupa_more_lines): New variable.
32516 (pupa_more): Likewise.
32517 (pupa_putcode): When the pager is active pause at the end of every
32518 screen.
32519 (pupa_set_more): New function.
32520 * include/pupa/term.h (pupa_set_more): New prototype.
32521
32522
3b1139cb 325232004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32524
32525 Now this project is GRUB 2 rather than PUPA. The location of
32526 the CVS repository was moved to GRUB's.
f19dbdb7 32527
3b1139cb 32528 * configure.ac: Use bug-grub as the reporting address.
32529 Use GRUB instead of PUPA.
32530 Change the version number to 1.90.
32531
8367695c 325322004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32533
32534 * genkernsyms.sh: Updated copyright information.
32535 * genmk.rb: Likewise.
32536 * genmodsrc.sh: Likewise.
32537 * gensymlist.sh: Likewise.
32538 * boot/i386/pc/boot.S: Likewise.
32539 * boot/i386/pc/diskboot.S: Likewise.
32540 * disk/i386/pc/biosdisk.c: Likewise.
32541 * disk/i386/pc/partition.c: Likewise.
32542 * font/manager.c: Likewise.
32543 * fs/ext2.c: Likewise.
32544 * fs/fat.c: Likewise.
32545 * include/pupa/boot.h: Likewise.
32546 * include/pupa/device.h: Likewise.
32547 * include/pupa/disk.h: Likewise.
32548 * include/pupa/dl.h: Likewise.
32549 * include/pupa/elf.h: Likewise.
32550 * include/pupa/err.h: Likewise.
32551 * include/pupa/file.h: Likewise.
32552 * include/pupa/font.h: Likewise.
32553 * include/pupa/fs.h: Likewise.
32554 * include/pupa/kernel.h: Likewise.
32555 * include/pupa/loader.h: Likewise.
32556 * include/pupa/misc.h: Likewise.
32557 * include/pupa/mm.h: Likewise.
32558 * include/pupa/net.h: Likewise.
32559 * include/pupa/normal.h: Likewise.
32560 * include/pupa/rescue.h: Likewise.
32561 * include/pupa/setjmp.h: Likewise.
32562 * include/pupa/symbol.h: Likewise.
32563 * include/pupa/term.h: Likewise.
32564 * include/pupa/types.h: Likewise.
32565 * include/pupa/i386/setjmp.h: Likewise.
32566 * include/pupa/i386/types.h: Likewise.
32567 * include/pupa/i386/pc/biosdisk.h: Likewise.
32568 * include/pupa/i386/pc/boot.h: Likewise.
32569 * include/pupa/i386/pc/console.h: Likewise.
32570 * include/pupa/i386/pc/init.h: Likewise.
32571 * include/pupa/i386/pc/kernel.h: Likewise.
32572 * include/pupa/i386/pc/linux.h: Likewise.
32573 * include/pupa/i386/pc/loader.h: Likewise.
32574 * include/pupa/i386/pc/memory.h: Likewise.
32575 * include/pupa/i386/pc/multiboot.h: Likewise.
32576 * include/pupa/i386/pc/partition.h: Likewise.
32577 * include/pupa/i386/pc/time.h: Likewise.
32578 * include/pupa/i386/pc/vga.h: Likewise.
32579 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32580 * include/pupa/util/getroot.h: Likewise.
32581 * include/pupa/util/misc.h: Likewise.
32582 * include/pupa/util/resolve.h: Likewise.
32583 * kern/device.c: Likewise.
32584 * kern/disk.c: Likewise.
32585 * kern/dl.c: Likewise.
32586 * kern/err.c: Likewise.
32587 * kern/file.c: Likewise.
32588 * kern/fs.c: Likewise.
32589 * kern/loader.c: Likewise.
32590 * kern/main.c: Likewise.
32591 * kern/misc.c: Likewise.
32592 * kern/mm.c: Likewise.
32593 * kern/rescue.c: Likewise.
32594 * kern/term.c: Likewise.
32595 * kern/i386/dl.c: Likewise.
32596 * kern/i386/pc/init.c: Likewise.
32597 * kern/i386/pc/lzo1x.S: Likewise.
32598 * kern/i386/pc/startup.S: Likewise.
32599 * loader/i386/pc/chainloader.c: Likewise.
32600 * loader/i386/pc/linux.c: Likewise.
32601 * loader/i386/pc/multiboot.c: Likewise.
32602 * normal/cmdline.c: Likewise.
32603 * normal/command.c: Likewise.
32604 * normal/main.c: Likewise.
32605 * normal/menu.c: Likewise.
32606 * normal/i386/setjmp.S: Likewise.
32607 * term/i386/pc/console.c: Likewise.
32608 * term/i386/pc/vga.c: Likewise.
32609 * util/console.c: Likewise.
32610 * util/genmoddep.c: Likewise.
32611 * util/misc.c: Likewise.
32612 * util/pupa-emu.c: Likewise.
32613 * util/resolve.c: Likewise.
32614 * util/unifont2pff.rb: Likewise.
32615 * util/i386/pc/biosdisk.c: Likewise.
32616 * util/i386/pc/getroot.c: Likewise.
32617 * util/i386/pc/pupa-mkimage.c: Likewise.
32618 * util/i386/pc/pupa-setup.c: Likewise.
32619
e6eced71 326202004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32621
32622 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32623 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32624 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32625 reading and reset it after reading.
32626 (pupa_ext2_close): Return PUPA_ERR_NONE.
32627
32628 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32629 Correct value.
32630 (struct linux_kernel_header): Add kernel_version and
32631 initrd_addr_max.
32632 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32633 pupa_file_read succeeds.
32634 (pupa_rescue_cmd_initrd): Implement.
32635
5aded270 326362003-12-03 Marco Gerards <metgerards@student.han.nl>
32637
32638 * fs/ext2.c (pupa_ext2_label): New function.
32639 (pupa_ext2_fs): Added label.
32640 * fs/fat.c (pupa_fat_label): New function.
32641 (pupa_fat_fs): Added label.
32642 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32643
32644 * kern/misc.c (pupa_strndup): New function.
32645 * include/pupa/misc.h (pupa_strndup): New prototype.
32646
32647 * include/pupa/normal.h: Include <pupa/err.h>.
32648 (pupa_set_history): New prototype.
32649 (pupa_iterate_commands): New prototype.
32650 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32651 <pupa/disk.h>, <pupa/file.h>.
32652 (hist_size): New variable.
32653 (hist_lines): Likewise.
32654 (hist_end): Likewise.
32655 (hist_used): Likewise.
32656 (pupa_set_history): New function.
32657 (pupa_history_get): Likewise.
32658 (pupa_history_add): Likewise.
32659 (pupa_history_replace): Likewise.
32660 (pupa_tab_complete): Likewise.
32661 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32662 completion shows partitionnames while completing partitions, this
32663 feature was suggested by Jeff Bailey.
32664 * normal/command.c (pupa_iterate_commands): New function.
32665 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32666 (pupa_normal_init): Initialize history buffer.
32667 (PUPA_MOD_INIT): Likewise.
32668 (pupa_normal_fini): Free the history buffer.
32669 (PUPA_MOD_FINI): Likewise.
32670
32671 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32672 key.
32673
32674 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32675 * configure.ac [i386]: Check for regparam bug.
32676 (NESTED_FUNC_ATTR) [! i386]: Defined.
32677
1f7315a3 326782003-11-17 Marco Gerards <metgerards@student.han.nl>
32679
32680 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32681 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32682 (pupa_emu_SOURCES): New variable.
32683 (pupa_emu_LDFLAGS): Likewise.
32684 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32685 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32686 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32687 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32688 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32689 (pupa_jmp_buf): New typedef.
32690 (pupa_setjmp) [PUPA_UTIL]: New macro.
32691 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32692 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32693 (pupa_refresh): New prototype.
32694 * include/pupa/util/getroot.h: New file.
32695 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32696 it.
32697 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32698 (pupa_rescue_cmd_cat): Likewise.
32699 (pupa_rescue_cmd_ls): Likewise.
32700 (pupa_rescue_cmd_testload): Likewise.
32701 (pupa_rescue_cmd_lsmod): Likewise.
32702 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32703 * normal/menu.c (run_menu): Likewise.
32704 * kern/term.c (pupa_cls): Likewise.
32705 (pupa_refresh): New function.
32706 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32707 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32708 * util/console.c: New file.
f19dbdb7 32709
1f7315a3 32710 * util/i386/pc/getroot.c: New file.
32711 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32712 (pupa_putchar): New function.
32713 (pupa_refresh): Likewise.
32714 (xgetcwd): Function moved to ...
32715 (strip_extra_slashes): Likewise.
32716 (get_prefix): Likewise.
f19dbdb7 32717 * util/i386/pc/getroot.c: ... here.
1f7315a3 32718 (find_root_device): Function moved and renamed to...
32719 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32720 Changed all callers.
32721 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32722 and renamed to...
32723 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32724 Changed all callers.
32725 * util/misc.c (pupa_memalign): New function.
32726 (pupa_mm_init_region): Likewise.
32727 (pupa_register_exported_symbols): Likewise.
32728 (pupa_putchar): Function removed.
32729 * util/pupa-emu.c: New file.
32730
9a5c1ade 327312003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32732
32733 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32734 (_multiboot_mod_SOURCES): New variable.
32735 (_multiboot_mod_CFLAGS): Likewise.
32736 * loader/i386/pc/multiboot.c: New file.
32737 * include/pupa/i386/pc/multiboot.h: Likewise.
32738 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32739 (pupa_multiboot_real_boot): New function.
32740 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32741 (pupa_multiboot_real_boot): New prototype.
32742 (pupa_rescue_cmd_multiboot): Likewise
32743 (pupa_rescue_cmd_module): Likewise.
32744
32745 * kern/loader.c (pupa_loader_set): Continue when
32746 pupa_loader_unload_func() fails.
32747 (pupa_loader_unset): New function.
32748 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32749
32750 * kern/misc.c (pupa_stpcpy): New function.
32751 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32752
8e72a9c0 327532003-11-12 Marco Gerards <metgerards@student.han.nl>
32754
32755 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32756 for available extensions.
32757
32758 * include/pupa/i386/pc/time.h: New file.
32759 * kern/disk.c: Include <pupa/machine/time.h>.
32760 (PUPA_CACHE_TIMEOUT): New macro.
32761 (pupa_last_time): New variable.
32762 (pupa_disk_open): Flush the cache when there was a timeout.
32763 (pupa_disk_close): Reset the timer.
32764 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32765 pupa_currticks.
32766 * util/misc.c: Include <sys/times.h>
32767 (pupa_get_rtc): New function.
32768
c4adbd32 327692003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32770
32771 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32772 as blocks.
32773 (pupa_ext2_get_file_block): Use blocks member.
32774
32775 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32776 first block. Return -1 instead of pupa_errno on error.
32777
bfd30f06 327782003-10-27 Marco Gerards <metgerards@student.han.nl>
32779
32780 * README: In the pupa-mkimage example use _chain instead of chain
32781 and ext2 instead of fat.
32782 * TODO: Replace ext2fs with jfs as an example. Add an item for
32783 adding journal playback for ext2fs.
32784 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32785 (pkgdata_MODULES): Added ext2.mod.
32786 (ext2_mod_SOURCES): New variable.
32787 (ext2_mod_CFLAGS): Likewise.
32788 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32789 * include/pupa/misc.h (pupa_strncpy): New prototype.
32790 (pupa_strcat): Likewise.
32791 (pupa_strncmp): Likewise.
32792 * kern/misc.c (pupa_strcat): Enable function.
32793 (pupa_strncpy): New function.
32794 (pupa_strncmp): Likewise.
32795 * fs/ext2.c: New file.
f19dbdb7 32796
bfd30f06 32797 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32798 when the read failed before retrying.
32799 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32800 (_FILE_OFFSET_BITS): Likewise.
32801 * configure.ac: Added AC_SYS_LARGEFILE.
32802
98d15063 328032003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32804
32805 * genmk.rb (PModule#rule): Make sure to get only symbol names
32806 from the output of nm.
59cad637 32807 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32808
18d9c7cd 328092003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32810
32811 I forgot to check in these changes for a long time. This adds
32812 incomplete support for VGA console, and this is still very
32813 buggy. Also, a lot of consideration is required for I18N,
32814 UNICODE, and VGA font issues. Therefore, assume that this is
32815 such that "better than nothing".
f19dbdb7 32816
18d9c7cd 32817 * font/manager.c: New file.
32818 * include/pupa/font.h: Likewise.
32819 * include/pupa/i386/pc/vga.h: Likewise.
32820 * term/i386/pc/vga.c: Likewise.
32821 * util/unifont2pff.rb: Likewise.
32822
32823 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32824 (pkgdata_MODULES): Added vga.mod and font.mod.
32825 (vga_mod_SOURCES): New variables.
32826 (vga_mod_CFLAGS): Likewise.
32827 (font_mod_SOURCES): Likewise.
32828 (font_mod_CFLAGS): Likewise.
32829
32830 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32831
32832 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32833 (struct pupa_term): Added init and fini.
18d9c7cd 32834 Changed the argument of putchar to pupa_uint32_t.
32835
32836 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32837 (pupa_console_real_putchar): New prototype.
32838 (pupa_console_putchar): Removed.
32839 (pupa_console_checkkey): Exported.
32840 (pupa_console_getkey): Likewise.
32841
32842 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32843 characters.
32844
32845 * kern/term.c (pupa_term_set_current): Rewritten.
32846 (pupa_putchar): Likewise.
32847 (pupa_putcode): New function.
32848
32849 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32850 (pupa_console_real_putchar): ... this.
32851 (pupa_vga_set_mode): New function.
32852 (pupa_vga_get_font): Likewise.
32853
32854 * normal/command.c: Include pupa/term.h.
32855 (terminal_command): New function.
32856 (pupa_command_init): Register the command "terminal".
32857
32858 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32859 (DISP_UP): Likewise.
32860 (DISP_RIGHT): Likewise.
32861 (DISP_DOWN): Likewise.
32862 (DISP_HLINE): Likewise.
32863 (DISP_VLINE): Likewise.
32864 (DISP_UL): Likewise.
32865 (DISP_UR): Likewise.
32866 (DISP_LL): Likewise.
32867 (DISP_LR): Likewise.
32868
32869 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 32870
977329f5 328712003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32872
32873 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32874 FIX. Reverse the path_list.
32875
32876 * include/pupa/normal.h: Export pupa_register_command and
32877 pupa_unregister_command.
32878
32879 * hello/hello.c (pupa_cmd_hello): New module.
32880 * conf/i386-pc.rmk: Added hello.mod.
32881
1f5ab428 328822003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32883
32884 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 32885
1f5ab428 32886 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32887 (compress_kernel): New variable.
32888 (generate_image): Heavily modified to support compressing a
32889 large part of the core image.
32890
32891 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32892 leak.
32893 (pupa_util_load_image): New function.
32894
32895 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32896 (pupa_compressed_size): New variable.
32897 (codestart): Enable Gate A20 here.
32898 Decompress the compressed part of the core image.
32899 Rearrange the code to put functions and variables which are
32900 required for initialization in the non-compressed part.
32901 Include lzo1x.S.
32902
32903 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32904 here.
32905
32906 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32907
f19dbdb7 32908 * include/pupa/i386/pc/kernel.h
1f5ab428 32909 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32910 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32911 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32912 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32913 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32914
32915 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32916
32917 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32918 (Utility#rule): Likewise.
32919
32920 * configure.ac: Check if LZO is available.
32921
ce5bf700 329222003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
32923
32924 * include/pupa/normal.h: New file.
32925 * include/pupa/setjmp.h: Likewise.
32926 * include/pupa/i386/setjmp.h: Likewise.
32927 * normal/cmdline.c: Likewise.
32928 * normal/command.c: Likewise.
32929 * normal/main.c: Likewise.
32930 * normal/menu.c: Likewise.
32931 * normal/i386/setjmp.S: Likewise.
f19dbdb7 32932
ce5bf700 32933 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
32934 (pupa_rescue_cmd_initrd): Likewise.
32935
32936 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
32937 Likewise.
32938
32939 * kern/i386/pc/startup.S (translation_table): New variable.
32940 (translate_keycode): New function.
32941 (pupa_console_getkey): Call translate_keycode.
32942
32943 * kern/rescue.c (attempt_normal_mode): New function.
32944 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
32945 it failed, print a message.
32946
32947 * kern/mm.c (pupa_real_malloc): Print more information when a
32948 free magic is broken.
32949 (pupa_free): If the first free header is not free actually, set
32950 it to P.
32951
32952 * kern/main.c (pupa_load_normal_mode): Just load the module
32953 "normal".
32954 (pupa_main): Don't print the message
32955 "Entering into rescue mode..." here.
32956
32957 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
32958 Declared.
32959 (pupa_rescue_cmd_initrd): Likewise.
32960 (pupa_rescue_cmd_initrd): Likewise.
32961
32962 * include/pupa/symbol.h (FUNCTION): Specify the type.
32963 (VARIABLE): Likewise.
32964
32965 * include/pupa/err.h (pupa_err_t): Added
32966 PUPA_ERR_UNKNOWN_COMMAND.
32967
32968 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
32969 (pupa_dl_get_prefix): Likewise.
32970
32971 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
32972 Added _chain.mod and _linux.mod instead of chain.mod and
32973 linux.mod.
32974 (chain_mod_SOURCES): Renamed to ...
32975 (_chain_mod_SOURCES): ... this.
32976 (chain_mod_CFLAGS): Renamed to ...
32977 (_chain_mod_CFLAGS): ... this.
32978 (linux_mod_SOURCES): Renamed to ...
32979 (_linux_mod_SOURCES): ... this.
32980 (linux_mod_CFLAGS): Renamed to ...
32981 (_linux_mod_CFLAGS): ... this.
32982 (normal_mod_SOURCES): New variable.
32983 (normal_mod_CFLAGS): Likewise.
32984 (normal_mod_ASFLAGS): Likewise.
32985
329862003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
32987
32988 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
32989 possible.
32990
fe6b695a 32991 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 32992 recursively.
32993 (pupa_dl_unref): Unrefer depending modules recursively.
32994 Don't call pupa_dl_unload implicitly, because PUPA can crash if
32995 a module is unloaded before one depending on that module is
32996 unloaded.
32997 (pupa_dl_unload): Unload depending modules explicitly,
32998 if possible.
32999
c04da074 330002003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
33001
33002 * include/pupa/i386/pc/linux.h: New file.
33003 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 33004
c04da074 33005 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
33006 Removed.
33007 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
33008 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
33009 of PUPA_CHAINLOADER_BOOT_SECTOR.
33010
33011 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
33012 (pupa_linux_prot_size): New variable.
33013 (pupa_linux_tmp_addr): Likewise.
33014 (pupa_linux_real_addr): Likewise.
33015 (pupa_linux_boot_zimage): New function.
33016 (pupa_linux_boot_bzimage): Likewise.
33017
33018 * kern/i386/pc/init.c (struct mem_region): New structure.
33019 (MAX_REGIONS): New macro.
33020 (mem_regions): New variable.
33021 (num_regions): Likewise.
33022 (pupa_os_area_addr): Likewise.
33023 (pupa_os_area_size): Likewise.
33024 (pupa_lower_mem): Likewise.
33025 (pupa_upper_mem): Likewise.
33026 (add_mem_region): New function.
33027 (compact_mem_regions): Likewise.
33028 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
33029 the size of the conventional memory and that of so-called upper
33030 memory (before the first memory hole).
33031 Instead of adding each found region to free memory, use
33032 add_mem_region and add them after removing overlaps.
33033 Also, add only 1/4 of the upper memory to free memory. The rest
33034 is used for loading OS images. Maybe this is ad hoc, but this
33035 makes it much easier to relocate OS images when booting.
33036
33037 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
33038 (pupa_enter_rescue_mode): Don't register initrd and module.
33039
33040 * kern/mm.c: Include pupa/dl.h.
33041
33042 * kern/main.c: Include pupa/file.h and pupa/device.h.
33043
33044 * kern/loader.c (pupa_loader_load_module_func): Removed.
33045 (pupa_loader_load_module): Likewise.
33046
33047 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
33048 ``.o''.
33049
33050 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
33051 (pupa_linux_tmp_addr): Likewise.
33052 (pupa_linux_real_addr): Likewise.
33053 (pupa_linux_boot_zimage): Likewise.
33054 (pupa_linux_boot_bzimage): Likewise.
33055
33056 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
33057 (pupa_upper_mem): Likewise.
33058 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
33059 module is too dangerous.
33060
33061 * include/pupa/loader.h (pupa_os_area_addr): Declared.
33062 (pupa_os_area_size): Likewise.
33063 (pupa_loader_set): Remove the first argument. Loader doesn't
33064 manage modules or initrd any longer.
33065 (pupa_loader_load_module): Removed.
33066
33067 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
33068 (linux_mod_SOURCES): New variable.
33069 (linux_mod_CFLAGS): Likewise.
33070
a13f9237 330712003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
33072
33073 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
33074 the length of a blocklist correctly.
33075
33076 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
33077 Use ioctl only if the OS file is a block device.
33078 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
33079 not very useful for normal files.
33080
33081 * kern/main.c (pupa_set_root_dev): New function.
33082 (pupa_load_normal_mode): Likewise.
33083 (pupa_main): Call those above.
33084
33085 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
33086 pupa_uint16_t.
33087
33088 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
33089
a5ffe966 330902003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33091
33092 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
33093 (setup): Configure the installed partition information and the
33094 dl prefix.
33095
33096 * loader/i386/pc/chainloader.c (my_mod): New variable.
33097 (pupa_chainloader_unload): New function.
33098 (pupa_rescue_cmd_chainloader): Refer itself.
33099 (PUPA_MOD_INIT): Save its own module in MY_MOD.
33100
33101 * kern/i386/pc/startup.S (install_partition): Removed.
33102 (version_string): Likewise.
33103 (config_file): Likewise.
33104 (pupa_install_dos_part): New variable.
33105 (pupa_install_bsd_part): Likewise.
33106 (pupa_prefix): Likewise.
33107 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
33108
33109 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
33110 and pupa/misc.h.
33111 (make_install_device): New function.
33112 (pupa_machine_init): Set the dl prefix.
33113
33114 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
33115 (buf): Renamed to ...
33116 (linebuf): ... this.
33117 (pupa_rescue_cmd_prefix): New function.
33118 (pupa_rescue_cmd_insmod): Likewise.
33119 (pupa_rescue_cmd_rmmod): Likewise.
33120 (pupa_rescue_cmd_lsmod): Likewise.
33121 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
33122 rmmod and lsmod.
33123
33124 * kern/mm.c (pupa_memalign): If failed even after invalidating
33125 disk caches, unload unneeded modules and retry.
33126
33127 * kern/misc.c (pupa_memmove): New function.
33128 (pupa_memcpy): Removed.
33129 (pupa_strcpy): New function.
33130 (pupa_itoa): Made static.
33131
33132 * kern/dl.c (pupa_dl_iterate): New function.
33133 (pupa_dl_ref): Likewise.
33134 (pupa_dl_unref): Likewise.
33135 (pupa_dl_unload): Return if succeeded or not.
33136 (pupa_dl_unload_unneeded): New function.
33137 (pupa_dl_unload_all): Likewise.
33138 (pupa_dl_init): Renamed to ...
33139 (pupa_dl_set_prefix): ... this.
33140 (pupa_dl_get_prefix): New function.
33141
33142 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
33143 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
33144 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33145 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33146 (pupa_install_dos_part): Declared.
33147 (pupa_install_bsd_part): Likewise.
33148 (pupa_prefix): Likewise.
33149 (pupa_boot_drive): Likewise.
33150
33151 * include/pupa/types.h: Fix a typo.
33152
33153 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
33154 pupa_memmove.
33155 (pupa_memmove): Declared.
33156 (pupa_strcpy): Likewise.
33157
33158 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
33159 pupa_mod_init takes one argument, its own module.
33160 (pupa_dl_unload_unneeded): Declared.
33161 (pupa_dl_unload_all): Likewise.
33162 (pupa_dl_ref): Likewise.
33163 (pupa_dl_unref): Likewise.
33164 (pupa_dl_iterate): Likewise.
33165 (pupa_dl_init): Renamed to ...
33166 (pupa_dl_set_prefix): ... this.
33167 (pupa_dl_get_prefix): Declared.
33168
33169 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 33170 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 33171 unloaded.
33172 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
33173 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
33174
33175 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
33176 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
33177
012d7999 331782003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33179
33180 * util/i386/pc/pupa-setup.c (setup): Define the internal
33181 function find_first_partition_start at the top level, because GCC
33182 3.0.x cannot compile internal functions in deeper scopes
33183 correctly.
33184 (find_root_device): Use lstat instead of stat.
33185 Don't follow symbolic links.
33186 Fix the path-constructing code.
33187
33188 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
33189 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
33190 by a BLKGETSIZE ioctl first, because block devices don't fill
33191 the member st_mode of the structure stat on Linux.
33192 [__linux__] (linux_find_partition): Use a temporary buffer
33193 REAL_DEV for the working space. Copy it to DEV before returning.
33194 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
33195 buffer cache consistent.
33196 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
33197 strncmp. The previous value was merely wrong.
33198 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
33199
33200 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
33201 FAT size is 12. The previous value was merely wrong.
33202
33203 * kern/main.c (pupa_main): Don't split the starting message from
33204 newlines.
33205
33206 * kern/term.c (pupa_putchar): Put CR after LF instead of before
33207 LF, because BIOS goes crazy about character attributes in this
33208 case.
33209
1cc73a62 332102003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33211
33212 * include/i386/pc/util/biosdisk.h: New file.
33213 * util/i386/pc/biosdisk.c: Likewise.
33214 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 33215
1cc73a62 33216 * Makefile.in (INCLUDE_DISTFILES): Added
33217 include/pupa/i386/pc/util/biosdisk.h.
33218 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
33219 directory util/i386/pc.
33220 (install-local): Added a rule for sbin_UTILITIES.
33221 (uninstall): Likewise.
33222
33223 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
33224
33225 * util/misc.c (xrealloc): New function.
33226 (pupa_malloc): Likewise.
33227 (pupa_free): Likewise.
33228 (pupa_realloc): Likewise.
33229 (pupa_stop): Likewise.
33230 (pupa_putchar): Likewise.
33231
33232 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
33233
33234 * include/pupa/util/misc.h (xrealloc): Declared.
33235
33236 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
33237 macro.
33238 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
33239 (PUPA_BOOT_MACHINE_BPB_END): ... this.
33240
33241 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
33242 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33243
33244 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
33245 way should be implemented.
33246 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33247
33248 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
33249 the size of NAME for safety.
33250 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
33251 0x88.
33252
33253 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
33254 (pupa_setup_SOURCES): Likewise.
33255
33256 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
33257
08b70fe8 332582002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33259
33260 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
33261 bunch of pushl's from pusha, because this destroys the return
33262 value.
33263
62ddcc8f 332642002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33265
33266 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
33267 This means that any missing prototypes could be fatal. Also, you
33268 must take care when writing assembly code. See the comments at
33269 the beginning of startup.S, for more details.
f19dbdb7 33270
62ddcc8f 33271 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
33272 compilation mechanism.
33273 (pupa_chainloader_real_boot): Likewise.
33274 (pupa_biosdisk_rw_int13_extensions): Likewise.
33275 (pupa_biosdisk_rw_standard): Likewise.
33276 (pupa_biosdisk_check_int13_extensions): Likewise.
33277 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
33278 (pupa_biosdisk_get_diskinfo_standard): Likewise.
33279 (pupa_get_memsize): Likewise.
33280 (pupa_get_mmap_entry): Likewise.
33281 (pupa_console_putchar): Likewise.
33282 (pupa_console_setcursor): Likewise.
33283 (pupa_getrtsecs): Use pushl instead of push.
33284
33285 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
33286 memory instead of the stack for a mmap entry, because some
33287 BIOSes may ignore the maximum size and overflow.
33288
33289 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
33290
33291 * genmk.rb (PModule#rule): Compile automatically generated
33292 sources with module-specific CFLAGS as well as other sources.
33293
9962ed99 332942002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33295
33296 * configure.ac: Check ld.
33297 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
33298 respectively, before checking endianness and sizes.
33299
33300 * Makefile.in (LD): New variable.
f19dbdb7 33301
abdfc3c5 333022002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33303
33304 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
33305
6a161fa9 333062002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33307
33308 * Changelog: New file.
33309