]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
[grub2.git] / ChangeLog
CommitLineData
24b7938b
CW
12010-12-04 Colin Watson <cjwatson@ubuntu.com>
2
3 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
4 rather than `/ 2', as the latter requires -Wa,--divide which would
5 require bumping our minimum binutils version.
6
bddc3ef6
BC
72010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
8
9 * util/grub-script-check.c (main): Print script line number on
10 error.
11
bf78d5b2
RM
122010-12-01 Robert Millan <rmh@gnu.org>
13
14 * grub-core/fs/zfs/zfs.c: New file.
15 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
16 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
17 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
18 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19
20 * include/grub/zfs/dmu.h: Likewise.
21 * include/grub/zfs/dmu_objset.h: Likewise.
22 * include/grub/zfs/dnode.h: Likewise.
23 * include/grub/zfs/dsl_dataset.h: Likewise.
24 * include/grub/zfs/dsl_dir.h: Likewise.
25 * include/grub/zfs/sa_impl.h: Likewise.
26 * include/grub/zfs/spa.h: Likewise.
27 * include/grub/zfs/uberblock_impl.h: Likewise.
28 * include/grub/zfs/vdev_impl.h: Likewise.
29 * include/grub/zfs/zap_impl.h: Likewise.
30 * include/grub/zfs/zap_leaf.h: Likewise.
31 * include/grub/zfs/zfs.h: Likewise.
32 * include/grub/zfs/zfs_acl.h: Likewise.
33 * include/grub/zfs/zfs_znode.h: Likewise.
34 * include/grub/zfs/zil.h: Likewise.
35 * include/grub/zfs/zio.h: Likewise.
36 * include/grub/zfs/zio_checksum.h: Likewise.
37
38 * Makefile.util.def: Build ZFS into libgrubmods.
39 * grub-core/Makefile.core.def: Build zfs.mod.
40
3f0f3831
SJ
412010-11-30 Szymon Janc <szymon@janc.net.pl>
42
43 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
44 variable.
45 * grub-core/commands/wildcard.c (match_files): Likewise.
46
3a4253b2
RM
472010-11-30 Robert Millan <rmh@gnu.org>
48
49 * grub-core/loader/i386/bsd.c
50 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
51 whether kernel is loaded using grub_loader_is_loaded(), rather
52 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
53 certain error conditions.
54
8c317b27
RM
552010-11-30 Robert Millan <rmh@gnu.org>
56
c5c9cd3e
RM
57 * grub-core/commands/echo.c: Include `<grub/term.h>'.
58 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 59
49d3ab46
VS
602010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
61
62 Avoid using tricks for initialising endian variables.
63
64 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
65 Make const.
66 (GRUB_MOD_INIT): Don't byte-swap.
67 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
68 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
69 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
70 (grub_swap_bytes32_compile_time): Likewise.
71 (grub_cpu_to_le32_compile_time): Likewise.
72 (grub_cpu_to_le16_compile_time): Likewise.
73
f420a804
VS
742010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * util/grub-setup.c (setup): Stop recommending --force. People who
77 understand the dangers of blocklists are able to find this option
78 anyway and the ones who don't shouldn't use it anyway.
79
4e7db17b
RM
802010-11-26 Robert Millan <rmh@gnu.org>
81
82 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
83 Update all users.
84
9be57a0d
CW
852010-11-26 Colin Watson <cjwatson@ubuntu.com>
86
87 Fix LVM-on-RAID probing.
88
89 * util/grub-probe.c (probe): Remember which disk was detected as
90 RAID (perhaps an LVM physical volume). Use that disk's raidname
91 rather than that of the top-level disk.
92
2c7859b3 932010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 94
d7647bb6
BC
95 Fix cmdline argument quotes for setparams command of menuentry
96 definitions.
7e623b0d
BC
97
98 * grub-core/commands/menuentry.c (setparams_prefix): Use single
99 quotes for arguments.
f866fe80 100 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 101 grub_strchrsub function instead.
f866fe80 102
7955bea0 103 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 104
74f72a64
CW
1052010-11-24 Colin Watson <cjwatson@ubuntu.com>
106
107 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
108 effort by skipping "." and ".." entries up-front.
109 Suggested by: Michael Lazarev.
110
5a407278
CW
1112010-11-24 Colin Watson <cjwatson@ubuntu.com>
112
113 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
114 ldflags to ldadd, to fix link line ordering.
115 (none_decompress): Likewise.
116
3030d8ec
CW
1172010-11-24 Colin Watson <cjwatson@ubuntu.com>
118
119 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
120 platforms.
121 (grub-emu-lite): Remove kern/emu/cache.S.
122
b7fbac12
CW
1232010-11-23 Colin Watson <cjwatson@ubuntu.com>
124
125 * util/deviceiter.c (compare_devices): If the by-id link for a
126 device couldn't be resolved, fall back to sorting by the by-id link
127 rather than segfaulting.
128 Reported and tested by: Daniel Mierswa.
129
5225f328
CW
1302010-11-23 Colin Watson <cjwatson@ubuntu.com>
131
132 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
133 ldflags, to fix link line ordering.
134
038b3ce8
CW
1352010-11-23 Colin Watson <cjwatson@ubuntu.com>
136
137 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
138 linkers are picky about this.
139
bf16e98e
CW
1402010-11-23 Colin Watson <cjwatson@ubuntu.com>
141
142 * grub-core/Makefile.am (command.lst): Adjust sed expression
143 ordering so that extended and priority commands aren't treated as
144 ordinary commands.
145
7242bab6
CW
1462010-11-23 Colin Watson <cjwatson@ubuntu.com>
147
148 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
149 Remove byte-swapping function calls, which are not valid in
150 structure initialisers.
151 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
152 non-const.
153 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
154 grub_gpt_partition_type_bios_boot.
155
14e8b279
CW
1562010-11-22 Colin Watson <cjwatson@ubuntu.com>
157
158 Fix test program build on GNU/kFreeBSD.
159
160 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
161 $(LIBNVPAIR)' library dependencies.
162
e6f63338 1632010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
164
165 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
166
cf8ffc38
CW
1672010-11-22 Colin Watson <cjwatson@ubuntu.com>
168
169 * util/grub-install.in: Remove excessive quoting that broke
170 installations to RAID devices.
171
7f8b0fd7
VS
1722010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
175 bootloader version instead of 0.
176
dfd240b1
VS
1772010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
178
179 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
180 warning.
181
7b61e609
VS
1822010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
185 retrieve the metadat sector if size isn't known.
186 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
187
9dfe92d0
RM
1882010-11-18 Robert Millan <rmh@gnu.org>
189
190 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
191 with grub_memcmp().
192
41cc919e
VS
1932010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
196 arrow.
197 Reported by: Jordan Uggla.
198
1afcc914
VS
1992010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
200
201 Make better UTF compliant.
202
203 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
204 sequences as incorrect.
205 (grub_is_valid_utf8): Likewise.
206 (grub_utf8_to_ucs4): Likewise.
207 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
208 (grub_ucs4_to_utf8_alloc): Likewise.
209 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
210
f1808884
VS
2112010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Make legacy_source behave like source.
214
215 * grub-core/commands/legacycfg.c (legacy_file): Don't call
216 grub_show_menu.
217 (grub_cmd_legacy_source): Call grub_show_menu if needed.
218
24ec575b
CW
2192010-11-16 Colin Watson <cjwatson@debian.org>
220
221 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
222 (-Wunused implies -Wunused-parameter, but not vice versa).
223
72b7c7aa
CW
2242010-11-16 Colin Watson <cjwatson@ubuntu.com>
225
226 * configure.ac: Make error messages less confusing by testing for
227 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
228 accepted, but produces a diagnostic if something else is wrong).
229
e98937aa
VS
2302010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
231
232 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
233 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
234 (now unused).
235 (grub_keyboard_controller_init)
236 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
237 read the initial state since controller isn't inited yet.
238
f6bbabc3
VS
2392010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
242 allocate_regbeg may need to create new chunk header.
243
22e7dbb2
VS
2442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
245
246 Fix quoting in legacy parser.
247
248 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
249 single quotes.
250 (grub_legacy_parse): Likewise.
251 Reported by: Jordan Uggla.
252 Tested by: Jordan Uggla.
253
03f80960
VS
2542010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
255
256 Don't add -lgcc on i386 and x86_64.
257
258 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
259 * conf/Makefile.common (LDADD_KERNEL): Likewise.
260 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
261
779dc15b
VS
2622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * configure.ac: Add -Wno-trampolines when supported.
265
d20a3b37
MV
2662010-11-14 Modestas Vainius <modax@debian.org>
267
268 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
269 fakeraid.
270
e5360933
GC
2712010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
272
273 Add generic logical block size support for UDF.
274
275 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
276 (GRUB_UDF_BLKSZ): Removed.
277 (struct grub_udf_data): New field "lbshift" to hold the logical block
278 size of the file system in log2 format. All users updated.
279 (sblocklist): Change type to unsigned.
280 (grub_udf_mount): Change type of "sblklist" to unsigned.
281 Move AVDP search before VRS recognition, because the latter requires
282 knowledge of the logical block size, which is detected during the
283 former.
284 Detect and validate logical block size during AVDP search, adding
285 support for block sizes 512, 1024 and 4096.
286 Make VRS recognition independent of block size.
287
cb0229c5
GC
2882010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
289
290 Properly handle deleted files on UDF.
291
292 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
293 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
294 set.
295
406858a8
GC
2962010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
297
298 Support reading files larger than 2 GiB.
299
300 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
301 "offset" to grub_off_t.
302 (grub_udf_read_file): Likewise for parameter "pos".
303
130da6a7
VS
3042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
307 unavailable.
308 (Simple configuration): Refer to Changes from GRUB Legacy about
309 save_env availability.
310
65e93f6b
VS
3112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * util/grub-install.in: Ignore empty partition table detection
314 instead of trying to include part_ module.
315
1fd08bf1
VS
3162010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
319 LVM on RAID support.
320
de1a024f
VS
3212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
322
323 Properly define WORDS_BIGENDIAN in wrapped environments.
324
325 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
326 definition.
327 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
328
329 Reported by: Manoel Rebelo Abranches.
330 Tested by: Manoel Rebelo Abranches.
331
bc5dd0b9
VS
3322010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * util/grub-mkconfig.in: Fix quoting.
335
58c184be
VS
3362010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
337
338 Support big ext2 files.
339
340 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
341 (grub_ext2_read_block): Support triple indirect blocks.
342 (grub_ext2_read_file): Use 64-bit types and read size_high.
343 (grub_ext2_open): Read size_high.
344 Reported by: Ximin Luo.
345 Tested by: Manoel Rebelo Abranches.
346
5f0c02b3
VS
3472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * util/grub-install.in: Handle filenames containing spaces.
350 Reported by: Jordan Uggla.
351 Tested by: Jordan Uggla.
352
4417aae6
VS
3532010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * util/grub-mkconfig.in (grub_script_check): New variable.
356 Use grub_script_check instead of grub-script-check.
357 Reported by: Barry Jackson.
358
7625a68e
VS
3592010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * docs/grub.texi (menu): Correct the order.
362 Reported by: D. Hugh Redelmeier.
363
10001ac5
VS
3642010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
367 jump.
368
9c4cf53b
MRA
3692010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
370
10001ac5
VS
371 * include/grub/elfload.h (grub_elf32_size): New parameter.
372 All users updated.
9c4cf53b
MRA
373 Return maximum segments alignment.
374 (grub_elf64_size): Likewise.
375 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
376 Return maximum segments alignment.
377 (grub_elf64_size): Likewise.
378 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
379 (grub_linux_claimmap_iterate): New function. Uses the
380 "available" property in the "memory" node for memory allocation
381 for kernel in the PowerPC loader.
9c4cf53b
MRA
382 (grub_linux_load32): Correctly find linux entry point offset.
383 (grub_linux_load64): Likewise.
384
d2bf06bf
RM
3852010-11-07 Robert Millan <rmh@gnu.org>
386
387 On mips-yeeloong, build with -march=loongson2f when this flag is
388 available (GCC >= 4.4).
389 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
390 `-march=mips3'.
391 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
392 or otherwise add -march=mips3.
393
898c99a2
BC
3942010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
395
87220a68
BC
396 Suppress shell expansion on echo '*' and echo "*" like cases.
397 Reported by: Jordan Uggla.
898c99a2
BC
398
399 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
400 string arguments before shell expansion.
401 * tests/grub_cmd_echo.in: New testcases.
402
4f9b406a
RM
4032010-11-07 Robert Millan <rmh@gnu.org>
404
405 * conf/mips-qemu-mips.rmk: Remove stale file from previous
406 transition.
407
80c6d25e
VS
4082010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/kern/emu/hostdisk.c
411 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
412
4a1a0153
VS
4132010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
416 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
417 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
418
34706ddc
VS
4192010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
422
6972dea9
VS
4232010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * util/grub-install.in: Replace useless recomendation to pass
426 --modules with a recomendation to report a bug.
427
9c693bd6
VS
4282010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
429
430 Properly register serial terminfo.
431 Reported by: Jordan Uggla
432
433 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
434 const.
435 (grub_serial_terminfo_output_template): Likewise.
436 (grub_cmd_serial): Register "serial" with terminfo.
437 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
438 grub_serial_terminfo_output.
439
6c9e4c0c
RM
4402010-11-05 Robert Millan <rmh@gnu.org>
441
442 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
443 needed).
444
b9b3839f
RM
4452010-11-05 Robert Millan <rmh@gnu.org>
446
447 On Yeeloong, pass machine type information to Linux.
448
449 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
450 (LOONGSON_MACHTYPE): New macro, set to
451 "machtype=lemote-yeeloong-2f-8.9inches".
452 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
453 additional argument to Linux.
454
1a3aaff4
RM
4552010-11-04 Robert Millan <rmh@gnu.org>
456
457 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
458 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
459 (its SATA disks are detected as slaveless IDE master drives on
460 kFreeBSD).
461 Reported by Carsten Aulbert.
462
a75f4f62
CW
4632010-11-02 Colin Watson <cjwatson@ubuntu.com>
464
465 * util/bin2h.c (main): Fix spelling error in generated output.
466
33b4b0c6
GS
4672010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
468
469 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
470
2b36fbf4
VS
4712010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
474 vga= option is supplied.
475
74aaf558
VS
4762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
479 * util/grub.d/10_kfreebsd.in: Likewise.
480 * util/grub.d/10_linux.in: Likewise.
481 * util/grub.d/20_linux_xen.in: Likewise.
482
6428dec3
VS
4832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
486 argument as an argument to no-argument option.
487
f8729d98
VS
4882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * util/grub.d/10_linux.in: Add missing load_video with explicit
491 GRUB_GFXPAYLOAD_LINUX.
492
89d68fa6
VS
4932010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
496
3a1197cd
VS
4972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
500 elements with invlid index.
501 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
502 * grub-core/disk/raid.c (insert_array): Automatically reallocate
503 members.
504 * include/grub/raid.h (grub_raid_member): New struct.
505 (grub_raid_array): Transform devices and start_sector into usage of
506 grub_raid_member. All users updated
507 (allocated_devs): New member.
508
71574288
VS
5092010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
512 is modified
513
8d40ec65
BC
5142010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
515
516 NetBSD build fix for getline function conflict from gnulib.
517
518 * Makefile.util.def (libgrubkern.a): New library for grub kernel
519 components that depend on gnulib headers.
520 (libgrubmods.a): Renamed from earlier libgrub.a.
521 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
522
95b9257e
VS
5232010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
526 install rather than creating a broken install.
527
26c53dc6
VS
5282010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * util/grub-setup.c (argp): Remove misleading example of installing to
531 a partition.
532
4171b3c5
VS
5332010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * util/grub-setup.c (setup): Clarify the error message.
536
18568d18
VS
5372010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
540
4f6a2e21
VS
5412010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * grub-core/kern/emu/misc.c
544 (grub_make_system_path_relative_to_its_root)
545 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
546
5472010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
548
549 * grub-core/kern/emu/misc.c
550 (grub_make_system_path_relative_to_its_root): Revert r2882.
551
e138c458
VS
5522010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
555 useless field head. All users updated.
556 (free_subchunk): Correct handling of IN_REGION subchunk.
557
0cbcdf0e
CW
5582010-10-22 Colin Watson <cjwatson@ubuntu.com>
559
560 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
561 (Supported kernels): Likewise.
562
b65ea155
GS
5632010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
564
565 Make mktemp invocations portable.
566
567 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
568 exit if mktemp fails.
569 * tests/grub_script_blockarg.in: Likewise.
570 * tests/partmap_test.in: Likewise.
571 * tests/util/grub-shell-tester.in: Likewise.
572 * tests/util/grub-shell.in: Likewise.
573 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
574 * Makefile.am: Likewise, and chain shell commands with `&&'
575 instead of ';'.
576 * util/grub-mkrescue.in: Use the same explicit template as above, and
577 exit if mktemp fails.
578
05f43cdd
BC
5792010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
580
581 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
582 Linux kernel, reported by Dennis Schridde.
583
800e6a9b
SJ
5842010-10-17 Szymon Janc <szymon@janc.net.pl>
585
586 * grub-core/normal/auth.c (grub_auth_check_authentication):
587 Set-but-not-used variable removed.
588
d82df574
VS
5892010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * docs/grub.texi (GNU/Linux): Document APM unavailability with
592 32-bit linux protocol.
593
7bced458
VS
5942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
597 cursor shape for sanity.
598
5b027690
VS
5992010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
600
601 * docs/grub.texi (Installation): Document buggy BIOS install.
602
ba5f65cf
VS
6032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * docs/grub.texi (Installation): Indent.
606
fdf2ec9c
VS
6072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/grub-setup.c (setup): New parameter allow_floppy.
610 (arguments): New member allow_floppy.
611 (argp_parser): Handle --allow-floppy.
612 (main): Pass allow_floppy.
613 * util/grub-install.in: New option --allow-floppy passed though to
614 grub-setup.
615
861dfd4c
VS
6162010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * util/grub-install.in: Handle partitionless disks.
619
f77a8c24
VS
6202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * util/grub-setup.c (setup): Don't clean blocklists before readability
623 verfification.
624
27d9ee32
VS
6252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * docs/grub.texi (Installation): Document embedding zone. Remove
628 obsolete grub-install example.
629
6bdda8f8
SJ
6302010-10-16 Szymon Janc <szymon@janc.net.pl>
631
632 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
633 Set-but-not-used variable ifdef'ed.
634 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
635 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
636 variable removed.
637 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
638 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
639 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
640 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
641 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
642 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
643 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
644 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
645 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
646 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
647 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
648 Likewise.
649
e19b016b
VS
6502010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
653 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
654 enum value.
655
6c8d3002
VS
6562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
659 synonym to _S5_. Needed for some DSDTs.
660
c32b51c9
VS
6612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
662
663 Userspace ACPI parser debugging.
664
665 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
666 headers and add relevant defines. Don't include standard headers.
667 (main) [GRUB_DSDT_TEST]: New function.
668 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
669 Don't declare functions.
670
fbfbeb39
VS
6712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
672
673 Remove dead grub_efi_mm_fini.
674
675 * grub-core/kern/efi/mm.c (allocated_page): Removed.
676 (ALLOCATED_PAGES_SIZE): Likewise.
677 (MAX_ALLOCATED_PAGES): Likewise.
678 (allocated_pages): Likewise.
679 (grub_efi_allocate_pages): Don't record allocated pages.
680 (grub_efi_free_pages): Likewise.
681 (grub_efi_mm_init): Likewise.
682 (grub_efi_mm_fini): Removed.
683
65f7ed7c
VS
6842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
687 (grub_efi_mm_init): Take into account the memory map size increase.
688
24977b44
VS
6892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
692 (serial_hw_put): Wait based on real time rather than port reads. Don't
693 roken ports.
694 * include/grub/serial.h (grub_serial_port): New field broken.
695
1eb01cd2
RM
6962010-10-16 Robert Millan <rmh@gnu.org>
697
698 * grub-core/kern/emu/misc.c
699 (grub_make_system_path_relative_to_its_root): Fix premature return
700 when processing non-root ZFS filesystems.
5f8b440b 701 Reported by Sergio Talens-Oliag.
1eb01cd2 702
2d5fed60
RM
7032010-10-15 Robert Millan <rmh@gnu.org>
704
705 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
706 guarantee compressed ones are processed first.
707
d0f4c1ea
VS
7082010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
711 grub_efiemu_autocore.
712
d87c681f
VS
7132010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
716 rather than 0x1b.
717 (grub_console_getkey): Use correct jae opcode rather than ja.
718
219b3564
RM
7192010-10-12 Robert Millan <rmh@gnu.org>
720
721 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
722 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
723 variable. All references updated.
724
725 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
726
20c6bb7e
VS
7272010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
728
729 Correctly distinguish mdraid flavours.
730
731 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
732 (insert_array): New argument raid.
733 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
734 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
735 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
736
74baff84
VS
7372010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
740 handling of special keys.
741
3ef068df 7422010-10-02 Aleš Nesrsta <starous@volny.cz>
743
c7980ad9
VS
744 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
745 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 746
a9455194 7472010-10-02 Aleš Nesrsta <starous@volny.cz>
748
c7980ad9
VS
749 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
750 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
751 users updated.
a9455194 752 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 753 Use right endpoint when querying descriptor.
a9455194 754
441cfe65
VS
7552010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
756
757 Clear out 0x80 color bit on EFI.
758 Tested by: decoder
759 Reported by: decoder and meta tech.
760
761 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
762 (grub_console_setcolorstate): Clear out 0x80 bit.
763 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
764 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
765 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
766
bf26bcc4
VS
7672010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
770 Set to "auto".
771
6e3c515d
VS
7722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
775 mo_file after freeing.
776
e6d983ba
VS
7772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
780
74ccb5b5
VS
7812010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
784 flags.
785
17821956
VS
7862010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
789 usage.
790
ee74fa48
VS
7912010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
792
793 Put terminfo into core on ieee1275 and yeeloong (needed for console).
794
795 * gentpl.py: New groups terminfoinkernel and terminfomodule.
796 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
797 and terminfo.h when needed.
798 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
799 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
800 (terminfo): Enable only on terminfokernel.
801 (extcmd): Likewise.
802 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
803 * include/grub/lib/arg.h: Likewise.
804 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
805 incorrect usage of ->.
806
aa438e68
VS
8072010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
810 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
811
57994012
VS
8122010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
813
814 Fix coreboot compilation.
815
816 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
817 Take VBE info into account even if only text is supported.
818 (fill_vbe_info): Take into account the case when only VGA text
819 is supported.
820 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
821 on coreboot, multiboot and qemu.
822
2a406611
VS
8232010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
826 debug messages.
827 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
828
d33613fc
VS
8292010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
832 parameters.
833
44a1b432
VS
8342010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
837 if they were BSD-style.
838
edde54e6
VS
8392010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/boot/i386/pc/lnxboot.S: Replace
842 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
843 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
844
b65830fa
VS
8452010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
846
847 Write embedding zone using Reed-Solomon.
848
849 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
850 * grub-core/Makefile.am (rs_decoder.S): New target.
851 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
852 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
853 (multiboot): Move to RS part.
854 (post_reed_solomon): New label.
855 (grub_boot_drive): Move to non-RS part since it's modified in memory
856 on boot.
857 Include rs_decoder.S.
858 * grub-core/lib/reed_solomon.c: New file.
859 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
860 New definition.
861 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
862 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
863 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
864 * include/grub/partition.h (grub_partition_map): Change prototype of
865 embed to allow returning additional sectors.
866 * include/grub/reed_solomon.h: New file.
867 * util/grub-setup.c (setup): Handle Reed-Solomon.
868
0b4b227f
CW
8692010-09-28 Colin Watson <cjwatson@ubuntu.com>
870
871 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
872 i386 and x86-64 definedness tests.
873
f772623b
YB
8742010-09-27 Yves Blusseau <blusseau@zetam.org>
875
876 Fix generation of kernel_syms.lst
877
878 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
879 ASM_PREFIX
880
8e57a6ca
RM
8812010-09-26 Robert Millan <rmh@gnu.org>
882
883 Support degraded ZFS arrays in "grub-probe -t device" resolution.
884
885 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
886 the pool is an array of devices, iterate through it and return the
887 first device that passes a stat() test (instead of blindly returning
888 the first one).
889
f9130836
RM
8902010-09-26 Robert Millan <rmh@gnu.org>
891
892 Build fixes for GNU/kFreeBSD.
893
894 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
895 to programs that require ZFS conversion.
896 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
897 kernels that don't have FLOPPY_MAJOR.
898
96510faf
BC
8992010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
900
901 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
902
449333eb
BC
9032010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
904
905 Fix grub-emu build.
906
907 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
908 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
909 mdraid09 and mdraid1x.
910
e1fd1939
CW
9112010-09-24 Colin Watson <cjwatson@ubuntu.com>
912
913 Re-enable grub-extras.
914
915 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
916 avoid confusing Automake. Run autogen only twice, once for the top
917 level and once for grub-core. Add Makefile.util.def and
918 Makefile.core.def from extra modules to the appropriate autogen
919 invocations. If Makefile.common exists in an extra module, include
920 it in both Makefile.util.am and grub-core/Makefile.core.am;
921 similarly, include any Makefile.util.common file in Makefile.util.am
922 and any Makefile.core.common file in grub-core/Makefile.core.am.
923 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
924 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
925 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
926 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
927
928 * gentpl.py (gvar_add): Turn GVARS into a set.
929 (global_variable_initializers): Sort global variables on output.
930 (vars_init): New function.
931 (first_time): Likewise.
932 (library): Ensure that non-global variable initialisations are
933 emitted before the first time we emit code for a library block.
934 Append to variables rather than setting them. Only emit
935 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
936 each conditional path.
937 (program): installdir() emits an Autogen macro, so must be passed to
938 var_add rather than gvar_add.
939 (data): Likewise.
940 (script): Likewise.
941 (rules): New function, centralising handling for different target
942 types. Set up Guile association lists for first_time and vars_init,
943 and send most output to a diversion so that variable initialisations
944 can be emitted first.
945 (module_rules): Use new rules function.
946 (kernel_rules): Likewise.
947 (image_rules): Likewise.
948 (library_rules): Likewise.
949 (program_rules): Likewise.
950 (script_rules): Likewise.
951 (data_rules): Likewise.
952
953 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
954
955 * .bzrignore: Add contrib and grub-core/contrib. Remove
956 grub-core/Makefile.gcry.am.
957
1d12cf29
YB
9582010-09-24 Yves Blusseau <blusseau@zetam.org>
959
960 * grub-core/lib/LzFind.c: Add missing include.
961 * grub-core/lib/LzmaEnc.c: Likewise.
962 * grub-core/script/lexer.c: Likewise.
963 * grub-core/script/yylex.l: Likewise.
964 * util/grub-macho2img.c: Likewise.
965 * util/grub-menulst2cfg.c: Likewise.
966 * util/grub-mklayout.c: Likewise.
967 * util/grub-mkpasswd-pbkdf2.c
968 * util/grub-mkrelpath.c: Likewise.
969 * util/resolve.c: Likewise.
970
dd363028
BC
9712010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
972
973 * Makefile.util.def (example_unit_test): Add
974 grub-core/gnulib/libgnu.a.
975
f5a109e2
GS
9762010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
977
978 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
979
6d0fa83c
VS
9802010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Support xz compression on yeeloong.
983
984 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
985 * configure.ac: Check for LZMA.
986 * grub-core/Makefile.core.def (xz_decompress): New target.
987 (none_decompress): Likewise.
988 * grub-core/boot/decompressor/minilib.c: New file.
989 * grub-core/boot/decompressor/none.c: Likewise.
990 * grub-core/boot/decompressor/xz.c: Likewise.
991 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
992 * grub-core/kern/mips/cache_flush.S: Likewise.
993 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
994 * grub-core/kern/mips/startup.S: Move first stage to ...
995 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
996 nomacro.
997 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
998 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
999 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
1000 Allocate statically.
1001 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
1002 Allocate statically or use scratch. Don't check CRC32.
1003 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
1004 Allocate statically. Don't check CRC32.
1005 * include/grub/decompressor.h: New file.
1006 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
1007 Removed.
1008 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
1009 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
1010 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
1011 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
1012 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
1013 * util/grub-mkimage.c (grub_compression_t): New type.
1014 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
1015 (image_target_desc): New field default_compression.
1016 (image_targets): Adjust yeeloong targets.
1017 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
1018 (compress_kernel): New parameter comp.
1019 (generate_image): Likewise. Handle new compression case.
1020 (options): New option --compression
1021 (help): Likewise.
1022 (main): Handle new option.
1023
1b655af6
GS
10242010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
1025
1026 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
1027
8f03f0b5
CW
10282010-09-22 Colin Watson <cjwatson@ubuntu.com>
1029
1030 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1031 typo in __i386__ conditional.
1032
7835dfd3
VS
10332010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1034
1035 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
1036 include.
1037
e255597e
VS
10382010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1039
6d0fa83c 1040 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
1041
1042 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
1043 new tags as supported.
1044 (acpiv2_size): New function.
1045 (grub_multiboot_get_mbi_size): Take new tags into account.
1046 (grub_multiboot_make_mbi): Add new tags.
1047 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 1048
6cc14051 10492010-09-21 Aleš Nesrsta <starous@volny.cz>
1050
1051 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
1052 Added missing configuration of USB device.
1053
df7769d8
CW
10542010-09-21 Colin Watson <cjwatson@ubuntu.com>
1055
1056 * grub-core/normal/menu_entry.c (run): Make sure we always return
1057 a value.
1058
b031012d
CW
10592010-09-21 Colin Watson <cjwatson@ubuntu.com>
1060
1061 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
1062 NumberOfPages is UINT64 according to the UEFI specification, not
1063 UINTN. Fix printf format.
1064
174de8f3
CW
10652010-09-21 Colin Watson <cjwatson@ubuntu.com>
1066
1067 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
1068 `err' to grub_usb_err_t.
1069 Reported and tested by: KESHAV P.R.
1070
d7dbe923
CW
10712010-09-21 Colin Watson <cjwatson@ubuntu.com>
1072
1073 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
1074 tpart non-const, so that we can assign to it. (Since this is a
1075 typedef, the constness refers to the pointer rather than what it
1076 points to.)
1077
8d5e2af3
CW
10782010-09-21 Colin Watson <cjwatson@ubuntu.com>
1079
1080 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
1081 $(top_srcdir)/grub-core/gnulib as well as
1082 $(top_builddir)/grub-core/gnulib.
1083 Reported by: KESHAV P.R.
1084
5c527783
CW
10852010-09-21 Colin Watson <cjwatson@ubuntu.com>
1086
1087 * util/grub-install.in: Fix the bootloader ID option to be
1088 consistently --bootloader-id, not --bootloader_id.
1089 Reported by: KESHAV P.R.
1090
d309a16e
CW
10912010-09-21 Colin Watson <cjwatson@ubuntu.com>
1092
1093 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
1094 check hash checksum." consistently translatable.
1095
b830cd16
YB
10962010-09-21 Yves Blusseau <blusseau@zetam.org>
1097
1098 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
1099 $(top_builddir).
1100
c4fe27a8
CW
11012010-09-21 Colin Watson <cjwatson@ubuntu.com>
1102
1103 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
1104 (GRUB_MOD_INIT): Register sha1sum command.
1105 (GRUB_MOD_FINI): Unregister sha1sum command.
1106
a4c1d277
YB
11072010-09-21 Yves Blusseau <blusseau@zetam.org>
1108
1109 Keep boot and grub directory names in sync with utils scripts
1110
1111 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
1112 * config.h.in: Add previous macros.
1113 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
1114 * util/grub-install.in: Use $bootdir and $grubdir variables.
1115
4eff79d2
CW
11162010-09-21 Colin Watson <cjwatson@ubuntu.com>
1117
1118 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
1119 convert partition names to disk names if the new `convert' parameter
1120 is set.
1121 (grub_util_biosdisk_get_grub_dev): If opening the disk device
1122 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
1123 disk in its own right. This can happen with Xen disk images.
1124
934d7e44
YB
11252010-09-21 Yves Blusseau <blusseau@zetam.org>
1126
1127 * util/grub-editenv.c: Update strings to avoid warnings when generating
1128 grub.pot file.
1129 * util/grub-setup.c: Likewise.
934d7e44 1130
df3367cc
VS
11312010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 * configure.ac: Change version to 1.99~beta0.
1134
77a94e98
VS
11352010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1136
1137 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1138 Add BADRAM.
1139 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
1140 Likewise.
1141 * include/multiboot.h: Resynced with specification.
1142 * include/multiboot2.h: Likewise.
1143
269004c1
CW
11442010-09-21 Colin Watson <cjwatson@ubuntu.com>
1145
1146 Fix po directory handling.
1147
1148 * configure.ac: Create po/Makefile.in rather than po/Makefile.
1149 * grub-core/gnulib/Makefile.am: Import gettext module.
1150 * m4/gnulib-cache.m4: Likewise.
1151 * m4/gnulib-comp.m4: Likewise.
1152 * m4/gettext.m4: New file, from gnulib.
1153 * m4/glibc2.m4: Likewise.
1154 * m4/iconv.m4: Likewise.
1155 * m4/intdiv0.m4: Likewise.
1156 * m4/intl.m4: Likewise.
1157 * m4/intldir.m4: Likewise.
1158 * m4/intlmacosx.m4: Likewise.
1159 * m4/intmax.m4: Likewise.
1160 * m4/inttypes-pri.m4: Likewise.
1161 * m4/lcmessage.m4: Likewise.
1162 * m4/lib-ld.m4: Likewise.
1163 * m4/lib-link.m4: Likewise.
1164 * m4/lib-prefix.m4: Likewise.
1165 * m4/lock.m4: Likewise.
1166 * m4/nls.m4: Likewise.
1167 * m4/po.m4: Likewise.
1168 * m4/printf-posix.m4: Likewise.
1169 * m4/progtest.m4: Likewise.
1170 * m4/threadlib.m4: Likewise.
1171 * m4/uintmax_t.m4: Likewise.
1172 * m4/visibility.m4: Likewise.
1173 * po/Makefile.am: Remove.
1174 * po/Makefile.in.in: New file, from gettext.
1175 ($(DOMAIN).pot-update): Support POTFILES-shell.
1176 * po/Makevars: New file.
1177 * po/POTFILES-shell: Rename to ...
1178 * po/POTFILES-shell.in: ... this. Update.
1179 * po/POTFILES: Rename to ...
1180 * po/POTFILES.in: ... this. Update.
1181 * po/Rules-quot: New file, from gettext.
1182 * po/boldquot.sed: Likewise.
1183 * po/en@boldquot.header: Likewise.
1184 * po/en@quot.header: Likewise.
1185 * po/insert-header.sin: Likewise.
1186 * po/quot.sed: Likewise.
1187 * po/remove-potcdate.sin: Likewise.
1188
3e0fa5d0
VS
11892010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
1192
ade9bd66
VS
11932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * util/grub.d/20_linux_xen.in: Use submenus.
1196
fc55cc4c
VS
11972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 Support submenus.
1200
1201 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
1202 parameter submenu. All users updated.
1203 * grub-core/normal/main.c (free_menu): Rename to ...
1204 (grub_normal_free_menu): ... this. Made global.
1205 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
1206 if requested.
1207 * grub-core/normal/menu_entry.c (screen): New field submenu.
1208 (make_screen): Set submenu.
1209 (run): Open new context if requested.
1210 * include/grub/menu.h (grub_menu_entry): New field submenu.
1211 * include/grub/normal.h (grub_normal_free_menu): New proto.
1212
600cedf7
VS
12132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 Menu entries extractor.
1216
1217 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
1218 variants.
1219 (GRUB_MOD_INIT): Register new variants.
1220 (GRUB_MOD_FINI): Unregister new variants.
1221 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
1222 into grub_cmd_legacy_source.
1223 (grub_cmd_legacy_source): Implement extractor variants.
1224 (GRUB_MOD_INIT): Register new variants.
1225 (GRUB_MOD_FINI): Unregister new variants.
1226 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
1227 as an extractor.
1228 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
1229 search as an extractor.
1230 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
1231 test as an extractor.
1232 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
1233 as an extractor.
1234 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
1235 (grub_env_new_context): New function.
1236 (grub_env_context_open): Likewise.
1237 (grub_env_extractor_open): Likewise.
1238 (grub_env_extractor_close): Likewise.
1239 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1240 grub_extractor_level.
1241 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
1242 * include/grub/env.h (grub_env_extractor_open): New proto.
1243 (grub_env_extractor_close): Likewise.
1244 * include/grub/normal.h (grub_extractor_level): New external variable.
1245
7bda3a87
VS
12462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 Make cutmem accept a region specification.
1249 Suggested by: Samuel Thibault
1250
1251 * grub-core/mmap/mmap.c (parsemem): New function.
1252 (grub_cmd_cutmem): Handle new arguments.
1253
2ea57f88
VS
12542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 New command cutmem.
1257
1258 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
1259 (GRUB_MOD_INIT): Register new command.
1260 (GRUB_MOD_FINI): Unregister new command.
1261
74342e31
VS
12622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 Support some annoying BSD and Minix subpartitions.
1265
1266 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
1267 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1268 Properly handle concatenation.
1269 * grub-core/kern/device.c (grub_device_iterate): Likewise.
1270 * grub-core/normal/completion.c (iterate_partition): Likewise.
1271 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
1272 contain partition. All users updated.
1273 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
1274 struct.
1275 (grub_openbsdlabel_partition_map): Likewise.
1276 (bsdlabel_partition_map_iterate): Rename to ..
1277 (iterate_real): ... this. New arguments sector, freebsd and pmap.
1278 (bsdlabel_partition_map_iterate): New function.
1279 (netopenbsdlabel_partition_map_iterate): Likewise.
1280 (netbsdlabel_partition_map_iterate): Likewise.
1281 (openbsdlabel_partition_map_iterate): Likewise.
1282 (GRUB_MOD_INIT): Register new partmaps.
1283 (GRUB_MOD_FINI): Unregister new partmaps.
1284 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
1285 (grub_partition_msdos_iterate): ... this. All users updated.
1286 Don't support embedding other than in a minix partition.
1287 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
1288 proto.
1289 * include/grub/partition.h (grub_partition): New field msdostype.
1290 * util/grub-install.in: Handle openbsd and netbsd types being in
1291 part_bsd module.
1292
1e8d555b
VS
12932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
1296
1297 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
1298 * grub-core/Makefile.core.def (mdraid): Renamed to ...
1299 (mdraid09): ... this.
1300 (mdraid1x): New module.
1301 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
1302 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
1303
899d8af4
VS
13042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
1307 vsprintf.
1308
40901acd
CW
13092010-09-20 Colin Watson <cjwatson@ubuntu.com>
1310
1311 * grub-core/commands/efi/lsefimmap.c: Correct header.
1312 * NEWS: Update.
1313
dfe3b247
CW
13142010-09-20 Colin Watson <cjwatson@ubuntu.com>
1315
1316 * util/grub-editenv.c (argp_parser): Don't pass translated strings
1317 as printf format strings; the translations might contain '%' which
1318 could cause a crash.
1319 (main): Likewise.
1320 * util/grub-fstest.c (argp_parser): Likewise.
1321 * util/grub-setup.c (argp_parser): Likewise.
1322 (main): Likewise.
1323
3286a4b4
VS
13242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 Use argp in grub-fstest.
1327
1328 * util/grub-fstest.c: Don't include getopt.h.
1329 Include argp.h.
1330 (root): New variable.
1331 (args_count): Likewise.
1332 (nparm): Likewise.
1333 (num_disks): Likewise.
1334 (images): Likewise.
1335 (cmd): Likewise.
1336 (debug_str): Likewise.
1337 (args): Likewise.
1338 (options): Transformed to argp.
1339 (usage): Removed.
1340 (main): Split argument parsing into ...
1341 (argp_parser): ... this. Changed to argp format.
1342 (argp): New variable.
1343 (main): Use argp_parse.
1344
3dccbe4b
TG
13452010-09-20 Tristan Gingold <gingold@free.fr>
13462010-09-20 Robert Millan <rmh.grub@aybabtu.com>
13472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * grub-core/commands/efi/lsefimmap.c: New file.
1350 * grub-core/Makefile.core.def (lsefimmap): New module.
1351 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
1352
38c259a7
VS
13532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 Pause the execution (10s max) if any errors are displayed so the user
1356 has a chance to see them.
1357
1358 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
1359 (grub_print_error): Increment grub_err_printed_errors.
1360 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
1361 execution if any errors were displayed.
1362 (show_menu): Remove old code for pause.
1363 * grub-core/normal/menu_entry.c (run): Likewise.
1364 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
1365 users updated.
1366 (grub_normal_get_char_counter): Likewise.
1367 * include/grub/err.h (grub_err_printed_errors): New external variable.
1368 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
1369
f218b09c
VS
13702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 Support multiboot VBE info.
1373
1374 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1375 Take VBE info into account.
1376 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
1377 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1378 Call fill_vbe_info when appropriate.
1379 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
1380 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
1381 as supported.
1382 (grub_multiboot_get_mbi_size): Take new tags into account.
1383 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
1384 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1385 Call fill_vbe_tag when appropriate.
1386 (grub_multiboot_make_mbi): Properly align tags.
1387 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
1388 function.
1389 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
1390 proto.
1391 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
1392
a9cc5438
VS
13932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 Suport manual terminal geometry specification.
1396
1397 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
1398 Save state in grub_ofconsole_terminfo_output.
1399 (grub_ofconsole_term): Use grub_terminfo_getwh.
1400 (grub_ofconsole_getwh): Removed.
1401 * grub-core/term/serial.c (grub_serial_getwh): Removed.
1402 (grub_serial_term): Use grub_terminfo_getwh.
1403 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
1404 (options): New struct.
1405 (OPTION_*): New enum.
1406 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
1407 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
1408 width and height.
1409 (grub_terminfo_getwh): New proto.
1410 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
1411
1a8fed20
VS
14122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 Handle legacy "terminal" command.
1415
1416 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
1417 and FLAG_TERMINAL.
1418 (legacy_commands): Add terminal and title.
1419 (grub_legacy_parse): Handle terminal. Simplify title handling.
1420
41e9c57d
VS
14212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
1424 parameters overflow.
1425
61c874c5
CW
14262010-09-20 Colin Watson <cjwatson@ubuntu.com>
1427
1428 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
1429 widthspec.h.
1430
1431 * docs/grub.texi (Shell-like scripting): Document `!'.
1432 (Network): Simplify using new i386-pc-pxe format. Mention
1433 grub-mknetdir.
1434
1435 * NEWS: Update.
1436
943682b4
CW
14372010-09-20 Colin Watson <cjwatson@ubuntu.com>
1438
1439 * Makefile.am (SUBDIRS): Restore "."; it's important to force
1440 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
1441 when needed.
1442
6d3d698d
CW
14432010-09-20 Colin Watson <cjwatson@ubuntu.com>
1444
1445 * grub-core/commands/efi/lsefisystab.c: Correct header.
1446 * grub-core/commands/efi/lssal.c: Likewise.
1447 * grub-core/commands/testload.c: Likewise.
1448
c982589f
CW
14492010-09-20 Colin Watson <cjwatson@ubuntu.com>
1450
1451 * util/grub-mkrescue.in: Add explicit root argument to --set to
1452 prevent the UUID being interpreted as an argument to --set (matches
1453 previous change to prepare_grub_to_access_device).
1454
a63c31b6
CW
14552010-09-20 Colin Watson <cjwatson@ubuntu.com>
1456
1457 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
1458 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
1459 the verbosity of later #ifs.
1460 (find_partition_start): Define this function on FreeBSD too.
1461 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
1462 function.
1463 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
1464 on FreeBSD.
1465
6439b8ee
YB
14662010-09-20 Yves Blusseau <blusseau@zetam.org>
1467
1468 * util/grub-editenv.c: Use argp instead of getopt.
1469
c5930ec8
YB
14702010-09-20 Yves Blusseau <blusseau@zetam.org>
1471
1472 * util/grub-setup.c: Use argp instead of getopt.
1473
15c69261
YB
14742010-09-20 Yves Blusseau <blusseau@zetam.org>
1475
1476 Use gnulib-tool to create gnulib source files.
1477
1478 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
1479 grub-core/gnulib directories
1480 * .bzignore: Add **/.deps and autogenerated gnulib files
1481 * configure.ac: Assign auxiliary directory to build-aux, add invocation
1482 of gnulib macros, add grub-core/gnulib/Makefile
1483 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
1484 include m4 directory to aclocal.
1485 * Makefile.util.def: Remove direct compilation of gnulib source files
1486 and use the new grub-core/gnulib/libgnu.a.
1487 * build-aux/config.rpath: move config.rpath from top directory to
1488 build-aux
1489 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
1490 in gnulib headers
1491 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
1492 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
1493 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
1494 header.
1495 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
1496 string.
1497
e511c9f5
YB
14982010-09-20 Yves Blusseau <blusseau@zetam.org>
1499
1500 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
1501 grub-core/genmod.sh and grub-core/gensyminfo.sh
1502
c2dede05
BC
15032010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
1504
1505 Add a test for echo command options.
1506
1507 * tests/grub_cmd_echo.in: New test.
1508 * Makefile.util.def: Rules for new test.
1509
c55f5018
SJ
15102010-09-20 Szymon Janc <szymon@janc.net.pl>
1511
1512 Remove crc.mod and move crc command to hashsum.mod.
1513 Remove lib/crc.c - users updated to use gcrypt implementation.
1514
1515 * grub-core/commands/crc.c: Removed.
1516 * grub-core/Makefile.core.def (crc): Module removed.
1517 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
1518 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
1519 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
1520 * grub-core/lib/crc.c: Removed.
1521 * include/grub/lib/crc.h: Removed.
1522 * Makefile.util.def (crc): Remove lib/crc.c
1523 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
1524 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
1525 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
1526 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
1527 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
1528 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
1529
e0337366
VS
15302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
1533
742f9232
VS
15342010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 Split config.h for util and core.
1537
1538 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
1539 (ADDR32): Likewise.
1540 (DATA32): Likewise.
1541 (BSS_START_SYMBOL): Likewise.
1542 (END_SYMBOL): Likewise.
1543 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1544 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1545 * config.h.in: New file.
1546 * configure.ac: Use config-util.h as config define file.
1547 Rename MACHINE into GRUB_MACHINE. All users updated.
1548 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1549 updated.
1550 (NESTED_FUNC_ATTR): Likewise.
1551 Substitue new variables.
1552 (COND_HAVE_ASM_USCORE): New conditional.
1553 * grub-core/Makefile.am (ASM_PREFIX): New variable.
1554 (kernel_syms.lst): Use ASM_PREFIX.
1555 * grub-core/kern/emu/console.c: Include config-util.h.
1556 * grub-core/kern/emu/misc.c: Likewise.
1557 * grub-core/kern/emu/mm.c: Likewise.
1558 * include/grub/emu/misc.h: Likewise.
1559 * include/grub/libgcc.h: Likewise.
1560
39feb0e8
VS
15612010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
1564 constants usage.
1565 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
1566 Fix GRUB_TERM_KEY_* constants usage.
1567 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
1568
9af6dac3
VS
15692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
1572 print pointer.
1573 * grub-core/bus/usb/uhci.c: Remove empty define.
1574 (grub_uhci_check_transfer): Add missing cast.
1575 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
1576 print pointer.
1577 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
1578 PRIuGRUB_SIZE.
1579 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
1580
d6d94820
VS
15812010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/Makefile.core.def (legacycfg): Add
1584 lib/i386/pc/vesa_modes_table.c on emu.
1585
3572f2b6
BC
15862010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1587
1588 Reduce number of temporary files generated by build system.
1589
1590 * grub-core/gencmdlist.sh: Removed.
1591 * grub-core/genfslist.sh: Removed.
1592 * grub-core/genhandlerlist.sh: Removed.
1593 * grub-core/genmodsrc.sh: Removed.
1594 * grub-core/genpartmaplist.sh: Removed.
1595 * grub-core/genparttoollist.sh: Removed.
1596 * grub-core/gentermiinallist.sh: Removed.
1597 * grub-core/genvideolist.sh: Removed.
1598
1599 * grub-core/genmod.sh.in: New file.
1600 * grub-core/gensyminfo.sh.in: New file.
1601
1602 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1603 * conf/Makefile.extra-dist: Update with new files.
1604 * gentpl.py: Remove rules related to unnecessary temporary files.
1605 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1606 and und-* files.
1607 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1608 genmod.sh scripts.
1609 * grub-core/bus/usb/uhci.c: Remove empty #define.
1610 * grub-core/genmoddep.awk: Updated with new syminfo format.
1611 * util/bash-completion.d/Makefile.am: Add config.log to
1612 CLEANFILES.
1613
c836b030
YB
16142010-09-19 Yves Blusseau <blusseau@zetam.org>
1615
1616 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1617
2f4e8053
BC
16182010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1619
1620 * util/grub-mkconfig.in: Check the config script for syntax errors
1621 before saving.
1622
75831c34
CW
16232010-09-19 Colin Watson <cjwatson@ubuntu.com>
16242010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1627 platforms.
1628 * util/grub-install.in: Add EFI and IEEE1275 support.
1629 * util/i386/efi/grub-install.in: Removed.
1630 * util/ieee1275/grub-install.in: Likewise.
1631
eaf41b25
VS
16322010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1635 (grub_cmd_cmosclean): Likewise.
1636 (GRUB_MOD_INIT): Register command cmosclean.
1637 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1638 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1639
1a9130dd
CPE
16402010-09-18 Carles Pina i Estany <carles@pina.cat>
16412010-09-18 Aleš Nesrsta <starous@volny.cz>
16422010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 Add keyboard layouts support.
1645
1646 * Makefile.util.def (grub-mklayout): New file.
1647 (grub-kbdcomp): New script.
1648 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1649 Add keyboard_layouts.h.
1650 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1651 commands/boot.c on yeeloong.
1652 (keylayouts): New module.
1653 * grub-core/bus/usb/ohci.c
1654 * grub-core/bus/usb/uhci.c
1655 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1656 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1657 (attach_root_port): Likewise.
1658 (poll_nonroot_hub): Likewise.
1659 (grub_usb_poll_devices): Likewise.
1660 (detach_device): Close transfer.
1661 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1662 function.
1663 (grub_usb_bulk_setup_readwrite): Likewise.
1664 (grub_usb_bulk_finish_readwrite): Likewise.
1665 * grub-core/commands/keylayouts.c: New file.
1666 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1667 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1668 aliases.
1669 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1670 support scancode 2.
1671 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1672 * include/grub/keyboard_layouts.h: New file.
1673 * util/grub-mklayout.c: New file.
1674 * util/grub-kbdcomp.in: Likewise.
1675
a1d84a5e
VS
16762010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 Unify memory types.
1679
1680 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1681 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1682 types.
1683 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1684 (grub_upper_mem): Likewise.
1685 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1686 * include/grub/memory.h (grub_memory_type_t): New enum.
1687 All users updated.
1688
9696382e
VS
16892010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * grub-core/Makefile.core.def (lsapm): New module.
1692 * grub-core/commands/i386/pc/lsapm.c: New file.
1693 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1694 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1695 Likewise.
1696 * include/grub/i386/pc/apm.h: New file.
1697 * include/multiboot.h (multiboot_apm_info): New struct.
1698
16992010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 GRUB-legacy configuration file support.
1702
1703 * Makefile.util.def (grub-menulst2cfg): New util.
1704 * docs/man/grub-menulst2cfg.h2m: New file.
1705 * grub-core/Makefile.core.def (legacycfg): New module.
1706 * grub-core/commands/legacycfg.c: New file.
1707 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1708 (grub_normal_add_menu_entry): ... this.
1709 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1710 (grub_normal_set_password): ...this.
1711 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1712 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1713 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1714 * grub-core/lib/legacy_parse.c: New file.
1715 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1716 * include/grub/i386/pc/vesa_modes_table.h: New file.
1717 * include/grub/legacy_parse.h: Likewise.
1718 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1719 * util/grub-menulst2cfg.c: New file.
1720
bf8d1338
CW
17212010-09-17 Colin Watson <cjwatson@ubuntu.com>
1722
1723 * grub-core/kern/emu/hostdisk.c
1724 (convert_system_partition_to_system_disk): Initialise node.
1725
9c0bad2e
CW
17262010-09-17 Colin Watson <cjwatson@ubuntu.com>
1727
1728 * grub-core/kern/emu/hostdisk.c
1729 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1730 leak.
1731 Reported and based on patch by: Modestas Vainius.
1732
a939d135
CW
17332010-09-17 Colin Watson <cjwatson@ubuntu.com>
1734
1735 Fix DM-RAID probing with recent versions of device-mapper udev
1736 rules.
1737
1738 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1739 canonicalise device paths under /dev/mapper/.
1740 (convert_system_partition_to_system_disk): Compare the
1741 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1742 path, since device nodes under /dev/mapper/ are often symlinks.
1743
0f7ee3c9
YB
17442010-09-17 Yves Blusseau <blusseau@zetam.org>
1745
1746 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1747
10854d0d
YB
17482010-09-16 Yves Blusseau <blusseau@zetam.org>
1749
1750 * configure.ac: Avoid some annoying error messages if freetype-config
1751 program is not found.
1752
108538d8
CW
17532010-09-16 Colin Watson <cjwatson@ubuntu.com>
1754
1755 Support RAID on virtio devices, and others.
1756
1757 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1758 Rename to ...
1759 [__MINGW32__] (grub_find_device): ... this.
1760 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1761 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1762 reasonable default if dir is NULL.
1763 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1764 ...
1765 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1766 (grub_guess_root_device): Update callers.
1767 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1768
1769 * util/raid.c (grub_util_getdiskname): Remove.
1770 (grub_util_raid_getmembers): Use grub_find_device rather than
1771 grub_util_getdiskname.
1772
e5bfc130
CW
17732010-09-16 Colin Watson <cjwatson@ubuntu.com>
1774
1775 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1776 needing to be compiled with serial support.
1777 (ls): Indicate that multiple files are accepted.
1778 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1779 indicate that multiple files are accepted.
1780
be458ae2
CW
17812010-09-16 Colin Watson <cjwatson@ubuntu.com>
1782
1783 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1784 libgrub_a_init.c, and util/bash-completion.d/grub.
1785
cb731b5e
VS
17862010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * util/grub-setup.c (setup): Fix incorrect container semantics.
1789
35139e8a
VS
17902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1793 misusage.
1794 Reported by: J. Nick Terry
1795
e50fca4a
VS
17962010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 Move embedding routines to partmap sources files.
1799
1800 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1801 [GRUB_UTIL]: New variable.
1802 (gpt_partition_map_iterate): Set part.parent.
1803 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1804 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1805 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1806 New function.
1807 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1808 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1809 (grub_partition_map) [GRUB_UTIL]: New field embed.
1810 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1811 (setup): Use ->embed.
1812
f00478b7
VS
18132010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1816 function.
1817 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1818 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1819
2b94e3ff
YB
18202010-09-15 Yves Blusseau <blusseau@zetam.org>
1821
1822 Add function to get completions from usage.
1823
1824 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1825 completions from usage. Use LC_ALL=C to get options properly.
1826
2e04a006
VS
18272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/gnulib/basename-lgpl.c: Imported.
1830 * grub-core/gnulib/basename.c: Likewise.
1831 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1832 * grub-core/gnulib/dirname.c: Likewise.
1833 * grub-core/gnulib/dirname.h: Likewise.
1834 * grub-core/gnulib/stripslash.c: Likewise.
1835
5dcdf93a
VS
18362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/gnulib/error.c: Resynced.
1839 * grub-core/gnulib/getopt.c: Likewise.
1840 * grub-core/gnulib/getopt_int.h: Likewise.
1841 * grub-core/gnulib/regex.h: Likewise.
1842 * grub-core/gnulib/regex_internal.c: Likewise.
1843 * grub-core/gnulib/regex_internal.h: Likewise.
1844
014f47b7
SJ
18452010-09-15 Szymon Janc <szymon@janc.net.pl>
1846
1847 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1848 CRC calculations and validity checks.
1849 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1850 calculations.
1851
dd521a4a
SJ
18522010-09-15 Szymon Janc <szymon@janc.net.pl>
1853
1854 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1855
79c4eeb9
VS
18562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 Fix incorrect echo options handling.
1859 Reported by: Yves Blusseau.
1860
1861 * include/grub/command.h (grub_command_flags_t): New flags
1862 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1863 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1864 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1865
ed80f7d5
VS
18662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1869 users updated.
1870 (GRUB_COMMAND_FLAG_MENU): Likewise.
1871 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1872 (GRUB_COMMAND_FLAG_TITLE): Removed.
1873 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1874 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1875 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1876 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1877 (grub_command_flags_t): New enum. All users updated.
1878
5fe7620a
SG
18792010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1880
1881 Fix solaris compilation.
1882
1883 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1884 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1885 (grub-emu-list): Likewise.
1886
545b752f
VS
18872010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 Remove deprecated root command.
1890
1891 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1892 updated.
1893
6c1a338c
VS
18942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * util/i386/pc/grub-setup.c: Merge this ...
1897 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1898 * util/grub-setup.c: ... into this.
1899 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1900 New struct.
1901
19022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1905 possible.
1906
d2ea4551
VS
19072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1910 allocate p.
1911
3c3b5040
VS
19122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1915 explicit root argument to set to prevent UUID to be interpreted as
1916 argument to set.
1917
b71c3fae
VS
19182010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1921
275433e6
VS
19222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 Don't export grub_gate_a20.
1925
1926 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1927 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
1928 to ...
1929 (grub_gate_a20): ... this. All users updated.
1930 * include/grub/i386/pc/init.h: Removed. All users updated.
1931
a5dbb1f1
VS
19322010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 Create euro.pf2 which supports most European languages.
1935
1936 * Makefile.am (grubdata_DATA): Add euro.pf2.
1937 (euro.pf2): New target.
1938 (CLEANFILES): Add euro.pf2.
1939
62a747cb
VS
19402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * configure.ac: Disable emu-usb by default to prevent inadvertent
1943 device takeover.
1944
608e43b1
VS
19452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 Disable usbserial on grub-emu since our libusb code isn't good enough
1948 yet.
1949
1950 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
1951 (usbserial_pl2303): Likewise.
1952 (usbserial_ftdi): Likewise.
1953
94564f81
VS
19542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * include/grub/disk.h (grub_disk): Remove has_partitions.
1957 All users updated.
1958 * disk/loopback.c (grub_loopback): Remove has_partitions.
1959 All users updated.
1960 (options): Remove partitions. All users updated.
1961 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
1962 * util/i386/pc/grub-setup.c (setup): copy partition table only when
1963 actual partition table is found.
1964
3352800b
VS
19652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 Remove readability checks (too many false negatives).
1968
1969 * util/grub-install.in: Remove readability checks.
1970 * util/grub-mkconfig.in: Likewise.
1971 * util/grub.d/10_hurd.in: Likewise.
1972 * util/grub.d/10_kfreebsd.in: Likewise.
1973 * util/grub.d/10_linux.in: Likewise.
1974 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
1975 way.
1976
2419f17a
VS
19772010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 Enable acpi shutdown on all ACPI platforms.
1980
1981 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
1982 on coreboo, multiboot and EFI.
1983 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
1984 (grub_acpi_halt): Likewise.
1985 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
1986 (grub_cmd_halt): Don't call grub_acpi_halt directly.
1987 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
1988 * grub-core/lib/i386/halt.c (grub_halt)
1989 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
1990
0575c7c3
VS
19912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
1994 context.
1995
54ac3cd1
VS
19962010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/video/efi_gop.c: Fix over-80-chars line.
1999 * grub-core/video/efi_uga.c: Likewise.
2000
b2a30ac5
VS
20012010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 Filter devaliases and never open same device twice.
2004
2005 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
2006 (last_ihandle): Likewise.
2007 (ofdisk_hash_ent): New member shortest.
2008 (ofdisk_hash_add): Add canonical path too.
2009 (scan): New function.
2010 (grub_ofdisk_iterate): Iterate over hashed entries.
2011 (compute_dev_path): Don't add :0.
2012 (grub_ofdisk_open): Don't really open the disk.
2013 (grub_ofdisk_close): Avoid closing unrelated disk.
2014 (grub_ofdisk_read): Implement reopen logic.
2015 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
2016 New function.
2017 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
2018 New proto.
2019
fb53b340
VS
20202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 Fix sparc64.
2023
2024 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
2025 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
2026 right address. Add sparc64_ieee1275_ldflags.
2027 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
2028 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
2029 to grub_host_to_target_addr
2030 (load_image): Likewise.
2031
f452b040
VS
20322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/normal/completion.c (complete_file): Handle device
2035 containing slash.
2036 Fix based on patch by Doug Nazar.
2037
9b5b2541
VS
20382010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 grub-mknetdir script.
2041
2042 * Makefile.util.def (grub-mknetdir): New module.
2043 * tests/util/grub-shell.in: Support boot=net
2044 * util/grub-mknetdir.in: New file.
2045
9d2be652
VS
20462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 videoinfo on non-vbe.
2049
2050 * grub-core/Makefile.core.def (vbeinfo): Removed.
2051 (vbetest): Removed.
2052 (videoinfo): New module.
2053 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
2054 * grub-core/commands/i386/pc/vbetest.c: Removed.
2055 * grub-core/commands/videoinfo.c: New file.
2056 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
2057 specification.
2058 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
2059 as vbetest.
2060 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
2061 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
2062 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
2063 mode_number. New parameter mode. All users updated.
2064 (grub_video_gop_iterate): New function.
2065 (grub_video_efi_gop): New member iterate.
2066 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
2067 (grub_vbe_set_video_mode): Remove setting useless fields.
2068 (vbe2videoinfo): New function.
2069 (grub_video_vbe_iterate): Likewise.
2070 (grub_video_vbe_setup): Use vbe2videoinfo.
2071 (grub_video_vbe_print_adapter_specific_info): New function.
2072 (grub_video_vbe_adapter): New fields iterate and
2073 print_adapter_specific_info.
2074 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
2075 All users updated.
2076 (grub_video_mode_info): New field mode_number.
2077 (grub_video_adapter): New fields iterate and
2078 print_adapter_specific_info.
2079
179503f5
TG
20802010-09-13 Tristan Gingold <gingold@free.fr>
20812010-09-13 Robert Millan <rmh.grub@aybabtu.com>
20822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/commands/efi/lsefisystab.c: New file.
2085 * grub-core/commands/efi/lssal.c: Likewise.
2086 * grub-core/Makefile.core.def (lsacpi): New module.
2087 (lsefisystab): Likewise.
2088 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
2089 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
2090 (grub_efi_sal_system_table): New struct.
2091 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
2092 (grub_efi_sal_system_table_memory_descriptor): Likewise.
2093 (grub_efi_sal_system_table_platform_features): Likewise.
2094 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
2095 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
2096 (grub_efi_sal_system_table_ap_wakeup): Likewise.
2097 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
2098
cf9827de
VS
20992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Support explicit user claim that a device is BIOS-visible.
2102
2103 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
2104 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
2105 * grub-core/kern/emu/hostdisk.c
2106 (convert_system_partition_to_system_disk): Support mdX.
2107 (find_system_device): New parameter add. All users updated.
2108 (grub_util_biosdisk_is_present): New function.
2109 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
2110 proto.
2111
53f0eb1f
VS
21122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Search hints support.
2115
2116 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
2117 All users updated.
2118
b23ffd70
YB
21192010-09-13 Yves Blusseau <blusseau@zetam.org>
2120
2121 Bash completion script for util commands
2122
2123 * Makefile.am: Add util/bash-completion.d directory
2124 * configure.ac: Likewise.
2125 * util/bash-completion.d/Makefile.am: New file.
2126 * util/bash-completion.d/grub-completion.bash.in: Likewise.
2127
d547dc28
VS
21282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
2131 (print_backlog): set backlog_ucs4 and backlog_glyphs.
2132 Reported by: Yves Blusseau.
2133
2fc8ccb9
VS
21342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
2137 partition size and offset.
2138
d8a84076
VS
21392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
2142
84fb3b3d
VS
21432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
2146
768ec2e2
VS
21472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
2150 (grub_xvasprintf): Likewise.
2151
4870900f
VS
21522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
2155
faca6bec
VS
21562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
2159 args ending with NULL.
2160
21612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
2162
2163 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
2164 pointer.
2165
3c70f225
SJ
21662010-09-11 Szymon Janc <szymon@janc.net.pl>
2167
2168 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
2169
4df7996d
VS
21702010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 Shutdown using ACPI.
2173
2174 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
2175 * grub-core/commands/acpihalt.c: New file.
2176 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
2177 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
2178 (grub_acpi_halt): New proto.
2179 (GRUB_ACPI_SLP_EN): New const.
2180 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
2181 (GRUB_ACPI_OPCODE_*): New enum.
2182 (GRUB_ACPI_EXTOPCODE_*): Likewise.
2183
126b4c32
TG
21842010-09-11 Tristan Gingold <gingold@free.fr>
21852010-09-11 Robert Millan <rmh.grub@aybabtu.com>
21862010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * commands/lsacpi.c: New file.
2189 * grub-core/Makefile.core.def (lsacpi): New module.
2190 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
2191 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
2192 (grub_acpi_madt_entry_header): New struct.
2193 (grub_acpi_madt): Likewise.
2194 (grub_acpi_madt_entry_interrupt_override): Likewise.
2195 (grub_acpi_madt_entry_sapic): Likewise.
2196 (grub_acpi_madt_entry_lsapic): Likewise.
2197 (grub_acpi_madt_entry_platform_int_source): Likewise.
2198 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
2199 (PRIuGRUB_UINT32_T): Likewise.
2200 (PRIxGRUB_UINT64_T): Likewise.
2201
1aa4fe88
VS
22022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 Implement loading palette on ieee1275_fb.
2205
2206 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
2207 (have_setcolors): Likewise.
2208 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
2209 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
2210 (grub_video_ieee1275_set_palette): Implement.
2211
25761e13
VS
22122010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22132010-09-11 Colin Watson <cjwatson@ubuntu.com>
2214
2215 * util/grub-install.in (grub_partition): New variable.
2216 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
2217 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
2218 Fixes a bug reported by Yves Blusseau.
2219
050abaea
VS
22202010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 Fix emu on mipsel.
2223
2224 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
2225 =grub_cpu_flush_cache on all mips and not only yeeloong.
2226 * configure.ac (COND_mips): New conditional.
2227 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
2228 platforms.
2229 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
2230 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
2231 [GRUB_LINKER_HAVE_INIT]: New function.
2232 (grub_emu_post_init): Likewise.
2233 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
2234 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
2235 * include/grub/cache.h (_mips): Include mips/cache.h.
2236 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
2237 LVM and RAID prototypes.
2238 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
2239 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
2240 function.
2241
5ed7d816
CW
22422010-09-10 Colin Watson <cjwatson@ubuntu.com>
2243
2244 * util/grub-install.in: Don't try to verify core.img until after
2245 running grub-mkimage to create it.
2246
90367e04
RM
22472010-09-10 Robert Millan <rmh@gnu.org>
2248
2249 * util/grub.d/10_hurd.in: Add misc readability checks.
2250 * util/grub.d/10_kfreebsd.in: Likewise.
2251 * util/grub.d/10_linux.in: Likewise.
2252
c452fa66
CW
22532010-09-10 Colin Watson <cjwatson@ubuntu.com>
2254
2255 * util/grub-install.in: ${imgext} won't be defined here until the
2256 install branch is merged. For the meantime, only verify core.img on
2257 i386-pc and sparc64-ieee1275 platforms.
2258
c38fe9f4
RM
22592010-09-10 Robert Millan <rmh@gnu.org>
2260
2261 Solaris support in grub_find_zpool_from_dir(). Thanks
2262 Seth Goldberg for referring to getextmntent() facility.
2263
2264 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
2265 `sys/mkdev.h'.
2266 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
2267 `<sys/mnttab.h>'.
2268 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
2269 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
2270 method for finding zpool name.
2271
905f7773
CW
22722010-09-10 Colin Watson <cjwatson@ubuntu.com>
2273
2274 grub-fstest needs the host and hostfs modules while other utilities
2275 actively require those modules to be absent, so grub-fstest needs
2276 its own initialisation and finalisation code.
2277
2278 * Makefile.am (grub_fstest.pp): New target.
2279 (grub_fstest_init.lst): Likewise.
2280 (grub_fstest_init.c): Likewise.
2281 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
2282
fb90b546
RM
22832010-09-10 Robert Millan <rmh@gnu.org>
2284
2285 * configure.ac: Check for `struct statfs.f_fstypename' and
2286 `struct statfs.f_mntfromname'.
2287
2288 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
2289 kFreeBSD-specific code.
2290
66d4bea5
RM
22912010-09-10 Robert Millan <rmh@gnu.org>
2292
2293 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
2294 on ZFS. Now non-main filesystems are supported as / too.
2295
b6a690ee
CW
22962010-09-09 Colin Watson <cjwatson@ubuntu.com>
2297
2298 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
2299 and grub-core/disk/host.c to ...
2300 (grub-fstest): ... here. Having the host disk implementation
2301 present confuses grub-probe and other utility programs.
2302
2303 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
2304 when writing to a file, not when writing to stdout.
2305
8901b00c 23062010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
2307
2308 * tests/partmap_test.in: New test for partitions.
2309 * Makefile.util.def: Rules for new test.
2310
7bf45fdd
RM
23112010-09-09 Robert Millan <rmh@gnu.org>
2312
2313 * util/grub-probe.c (probe): Fix a pair of unhandled error
2314 conditions.
2315
4dfbc574
RM
23162010-09-09 Robert Millan <rmh@gnu.org>
2317
2318 Basic Btrfs support (detection and UUID).
2319
2320 * grub-core/fs/btrfs.c: New file.
2321 * Makefile.util.def (library): Register btrfs.c.
2322 * grub-core/Makefile.core.def: Likewise.
2323
6b8e78ae
RM
23242010-09-08 Robert Millan <rmh@gnu.org>
2325
2326 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
2327 with (optional) parameters to specify device and relative path.
2328 * util/grub-install.in: Use is_path_readable_by_grub() to
2329 verify readability of a few critical files.
2330 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
2331 verify readability of grub.cfg.new.
2332
27f21a8b
VS
23332010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 Split minix.mod into minix.mod and minix2.mod.
2336
2337 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
2338 * grub-core/Makefile.core.def (minix2): New module.
2339 * grub-core/fs/minix.c: Use definitions instead of runtime version
2340 checking.
2341 * grub-core/fs/minix2.c: New file.
2342
c0e53ea5
YB
23432010-09-08 Yves Blusseau <blusseau@zetam.org>
2344
2345 Add new --boot-directory option to replace --root-directory
2346
2347 * util/grub-install.in: Add new --boot-directory option
2348 * util/grub-reboot.in: Likewise.
2349 * util/grub-set-default.in: Likewise.
2350
b9fe6ea2
YB
23512010-09-08 Yves Blusseau <blusseau@zetam.org>
2352
2353 * util/grub-mkconfig.in: Use new variable.
2354
d87aedff
YB
23552010-09-08 Yves Blusseau <blusseau@zetam.org>
2356
2357 * configure.ac: Define some useful variables.
2358
e55e8495
VS
23592010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2362 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
2363 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
2364 Use terminfo and don't use cursor-on/cursor-off unless it's known
2365 to work.
2366 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
2367 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
2368
6fa6d675
CW
23692010-09-08 Colin Watson <cjwatson@ubuntu.com>
2370
2371 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
2372 starts with "(,", fill the drive containing the loaded image in
2373 between those two characters, but expect that a full partition
2374 specification including partition map names will follow.
2375
92f2aef0
RM
23762010-09-08 Robert Millan <rmh@gnu.org>
2377
2378 * configure.ac: Remove `--enable-grub-fstest' option.
2379 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
2380
2381 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
2382 `grub-fstest' instead of `grub-probe' for readability verification.
2383 * util/grub-probe.c (probe): Remove readability verification kludge.
2384
99fd620d
RM
23852010-09-08 Robert Millan <rmh@gnu.org>
2386
2387 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
2388 initializing `GRUB_FS'.
2389
058e30ac 23902010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
2391
2392 Not command (!) support to GRUB script.
2393
2394 * tests/grub_script_not.in: New test.
2395 * Makefile.util.def: Rules for new test.
2396
2397 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2398 ! command as a special case.
2399 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
2400
b61d05ed 24012010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2402
058e30ac 2403 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
2404 grub_free.
b61d05ed 2405
4d69c786 24062010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2407
2408 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
2409
aa3119c4 24102010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2411
2412 * docs/grub.texi (Shell-like scripting): Documentation for break,
2413 continue, shift and return commands.
2414
db0f7e3d
VS
24152010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 Rename CD-ROM to cd on BIOS.
2418
2419 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
2420 "cd".
2421 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2422
88b87c93
VS
24232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
2426 * util/grub-probe.c (main): Likewise.
2427 * util/i386/pc/grub-setup.c (main): Likewise.
2428 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2429 Reported and debugged by: alexxy
2430
294f324d
VS
24312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
2434 diagnostic info.
2435
d7ee3441
JS
24362010-09-05 Jo Shields <directhex@apebox.org>
2437
2438 * util/grub.d/30_os-prober.in: Add missing classes.
2439
d7e06c1f
VS
24402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * docs/grub.texi (Theme file format): Document new position format.
2443
fc157e53
VS
24442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
2447 a table. Use @code instead of @verbatim.
2448
506e9a1c
CB
24492010-09-05 Colin D Bennett <colin@gibibit.com>
2450
2451 Gfxmenu documentation.
2452
2453 * docs/grub.texi (Theme file format): New chapter.
2454
f0aff67c
SJ
24552010-09-05 Szymon Janc <szymon@janc.net.pl>
2456
2457 * grub-core/Makefile.core.def (xzio): New module.
2458 * grub-core/io/xzio.c: New file.
2459 * grub-core/lib/xzembed/xz.h: New file (from xembed).
2460 * grub-core/lib/xzembed/xz_config.h: Likewise.
2461 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
2462 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
2463 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
2464 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
2465 * grub-core/lib/xzembed/xz_private.h: Likewise.
2466 * grub-core/lib/xzembed/xz_stream.h: Likewise.
2467 * include/grub/file.h (grub_file_filter_id): New compression filter
2468 GRUB_FILE_FILTER_XZIO.
2469
82a85062
VS
24702010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
2473 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
2474 size.
2475
3579415d
VS
24762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
2479 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2480
5124ae6d
VS
24812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 Uncompressed checksum support.
2484
2485 * grub-core/commands/hashsum.c (options): Add option --uncompress.
2486 (check_list): New parameter uncompress.
2487 (grub_cmd_hashsum): Handle --uncompress.
2488
9aadb3d1
VS
24892010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 Reintroduce testload.
2492
2493 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
2494 from here ...
2495 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
2496 (GRUB_MOD_INIT): New function.
2497 (GRUB_MOD_FINI): Likewise.
2498 * grub-core/Makefile.core.def (testload): New module.
2499
a17792c3
SJ
25002010-09-05 Szymon Janc <szymon@janc.net.pl>
2501
2502 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
2503 (uint8_t): New type.
2504 (uint16_t): Likewise.
2505 (uint32_t): Likewise.
2506 (uint64_t): Likewise.
2507
b81e40a3
SJ
25082010-09-05 Szymon Janc <szymon@janc.net.pl>
2509
2510 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
2511
fc2ef117
VS
25122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
2515 Made static.
2516 (grub_gzfile_open): Removed. All users updated.
2517 (GRUB_MOD_INIT): New function.
2518 (GRUB_MOD_FINI): Likewise.
2519 * grub-core/kern/file.c (grub_file_filters_all): New variable.
2520 (grub_file_filters_enabled): Likewise.
2521 (grub_file_open): Handle filters.
2522 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
2523 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
2524 * include/grub/file.h (grub_file_filter_id_t): New type.
2525 (grub_file_filter_t): Likewise.
2526 (grub_file_filters_all): New extern variable.
2527 (grub_file_filters_enabled): Likewise.
2528 (grub_file_filter_register): New inline function.
2529 (grub_file_filter_unregister): Likewise.
2530 (grub_file_filter_disable): Likewise.
2531 (grub_file_filter_disable_compression): Likewise.
2532 * include/grub/gzio.h: Removed.
2533
35ee15e0
BC
25342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2535
2536 Filename expansion support for wildcards in GRUB script.
2537
2538 * tests/grub_script_expansion.in: New test.
2539 * Makefile.util.def: Rule for new test.
2540
2541 * grub-core/commands/wildcard.c: New file, implements filename
2542 expansion support for GRUB script.
2543 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2544 * grub-core/script/argv.c: Cosmetic changes.
2545 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2546 Refactored to perform wildcard expansion on arguments.
2547 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2548 struct.
2549
2550 * tests/util/grub-shell.in: Fix quoting for read input.
2551
5f0c4aca
BC
25522010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2553
2554 Support for updating environment variables with matched substrings
2555 of regexp.
2556
2557 * tests/grub_cmd_regexp.in: New test.
2558 * Makefile.util.def: Rule for new test.
2559
2560 * grub-core/commands/regexp.c: New option -s to update environment
2561 variables with regexp matches.
2562
3759a35f
SJ
25632010-09-04 Szymon Janc <szymon@janc.net.pl>
2564
2565 * include/grub/file.h (grub_file): New member not_easly_seekable.
2566 (grub_file_seekable): New inline function.
2567 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
2568 easily seekable.
2569 (grub_gzio_open): Set not_easly_seekable.
2570 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
2571 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2572
ed8c6dec
BC
25732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2574
2575 Support for options to appear multiple times on cmdline.
2576
2577 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
2578 * grub-core/commands/extcmd.c: Support for repeatable option.
2579 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
2580 repeatable option support.
2581
2582 Refactor menuentry into a regular command.
2583
2584 * grub-core/commands/menuentry.c: New file, menuentry command
2585 implementation.
2586 * grub-core/Makefile.core.def: Rule update for normal.mod.
2587 * grub-core/normal/main.c: Moved menuentry creation to
2588 grub-core/commands/menuentry.c.
2589 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2590 (grub_menu_execute_entry_real): Removed.
2591 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2592 function.
2593 (grub_script_execute_menuentry): Removed.
2594 * grub-core/script/parser.y (menuentry): Removed.
2595 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2596 * grub-core/script/yylex.l (menuentry): Removed.
2597 * include/grub/menu.h (grub_menu_init): New prototype.
2598 (grub_menu_fini): New prototype.
2599 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2600 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2601 (grub_script_execute_sourcecode): New prototype.
2602
dacd0cf0
BC
26032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2604
2605 "return" command for GRUB script functions.
2606
2607 * tests/grub_script_return.in: New test.
2608 * Makefile.util.def: Rules for new test.
2609
2610 * grub-core/script/execute.c (grub_script_return): New function.
2611 * grub-core/script/main.c: Register/unregister return commaond.
2612 * include/grub/script_sh.h (grub_script_return): New prototype.
2613
52e72f9d
BC
26142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2615
2616 "setparams" command to update positional parameters.
2617
2618 * tests/grub_script_setparams.in: New test.
2619 * Makefile.util.def: Rules for new test.
2620
2621 * grub-core/script/argv.c (grub_script_argv_make): New function.
2622 * grub-core/script/execute.c (replace_scope): New function.
2623 (grub_script_setparams): New function.
2624 * grub-core/script/lexer.c: Remove unused variables.
2625 * grub-core/script/main.c: Register/unregister setparams command.
2626 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2627 (grub_script_setparams): New prototype.
2628
25b60c91
BC
26292010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2630
2631 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2632 grub_free order.
2633
37e7bf68
BC
26342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2635
2636 Support for passing block of commands as an argument to extcmds.
2637
2638 * Makefile.util.def: Rules for new test.
2639 * tests/grub_script_blockarg.in: New test.
2640 * grub-core/tests/test_blockarg.c: New file, block argument
2641 command used in the test.
2642
2643 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2644 (grub_register_extcmd_prio): New function prototype.
2645 (grub_extcmd_dispatcher): New function prototype.
2646 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2647 type.
2648 * include/grub/script_sh.h (struct grub_script): New members
2649 `children', `next_siblings' and `refcnt' for block arguments and
2650 reference counting.
2651 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2652 (grub_script_arg): New member `script' for block argument.
2653 (grub_script_argv): New member `script' for block argument.
2654 (grub_parser_param): New member `scripts' for block argument.
2655 (grub_script_mem_free): New extern function prototype.
2656 (grub_script_ref): New function prototype.
2657 (grub_script_unref): New function prototype.
2658
2659 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2660 extcmd form to support block arguments.
2661 * grub-core/script/argv.c: Block arguments support.
2662 * grub-core/script/execute.c: Likewise.
2663 * grub-core/script/lexer.c: Likewise.
2664 * grub-core/script/main.c: Likewise.
2665 * grub-core/script/script.c: Likewise.
2666 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2667 non-terminals.
2668
2669 * grub-core/commands/acpi.c: Update extcmd implementations with
2670 grub_extcmd_context_t.
2671 * grub-core/commands/cat.c: Likewise.
2672 * grub-core/commands/echo.c: Likewise.
2673 * grub-core/commands/extcmd.c: Likewise.
2674 * grub-core/commands/hashsum.c: Likewise.
2675 * grub-core/commands/hdparm.c: Likewise.
2676 * grub-core/commands/help.c: Likewise.
2677 * grub-core/commands/hexdump.c: Likewise.
2678 * grub-core/commands/i386/cpuid.c: Likewise.
2679 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2680 * grub-core/commands/i386/pc/halt.c: Likewise.
2681 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2682 * grub-core/commands/iorw.c: Likewise.
2683 * grub-core/commands/keystatus.c: Likewise.
2684 * grub-core/commands/loadenv.c: Likewise.
2685 * grub-core/commands/ls.c: Likewise.
2686 * grub-core/commands/lspci.c: Likewise.
2687 * grub-core/commands/memrw.c: Likewise.
2688 * grub-core/commands/probe.c: Likewise.
2689 * grub-core/commands/search_wrap.c: Likewise.
2690 * grub-core/commands/setpci.c: Likewise.
2691 * grub-core/commands/sleep.c: Likewise.
2692 * grub-core/disk/loopback.c: Likewise.
2693 * grub-core/hello/hello.c: Likewise.
2694 * grub-core/loader/i386/bsd.c: Likewise.
2695 * grub-core/loader/xnu.c: Likewise.
2696 * grub-core/term/gfxterm.c: Likewise.
2697 * grub-core/term/serial.c: Likewise.
2698 * grub-core/tests/lib/functional_test.c: Likewise.
2699
888d1500
BC
27002010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2701
2702 Multi-line quoted strings support.
2703
2704 * grub-core/script/lexer.c (append_newline): Removed.
2705 (grub_script_lexer_yywrap): Refactored.
2706 (grub_script_lexer_init): Refactored.
2707 * grub-core/script/yylex.l (yywrap): New function.
2708 (grub_lexer_resplit): New function.
2709 (grub_lexer_unput): New function.
2710 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2711 and resplit.
2712 * tests/grub_script_echo1.in: Added few more testcases.
2713
dda060dd
VS
27142010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * grub-core/kern/misc.c: Don't add abort alias in utils.
2717 Reported by: echoline.
2718
6556eba9
BC
27192010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2720
2721 Add missing files into "make dist" tarball for other platforms.
2722
2723 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2724 * conf/Makefile.common (dist_noinst_DATA): New variable.
2725 * conf/Makefile.extra-dist: Added missing make dist files.
2726 * grub-core/Makefile.core.def: Likewise.
2727
c8e7bf5f
VS
27282010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2729
2730 Compress grub_prefix.
2731
2732 * grub-core/boot/i386/pc/lnxboot.S: Use
2733 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2734 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2735 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2736 GRUB_MACHINE_PREFIX_END. All users updated.
2737 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2738 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2739 + 0x40.
2740 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2741 * util/grub-mkimage.c (image_target_desc): Change data_end to
2742 prefix_end. All users updated.
2743
a7c00cdb
VS
27442010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2747 value.
2748 (grub_openbsd_boot): Likewise.
2749 (grub_netbsd_boot): Likewise.
2750 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2751 (grub_xnu_boot): Likewise.
2752
9f915872
VS
27532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * configure.ac: Clean LIBS variable after tests.
2756
efa1bee7
CW
27572010-09-02 Colin Watson <cjwatson@ubuntu.com>
2758
2759 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2760
61d720e5
VS
27612010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2764 echo if libdevmapper will be used.
2765
ef8e0ec8
IT
27662010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2767
2768 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2769 constant for the same file.
2770
03e261d8
VS
27712010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2774
c2a4eba6
CW
27752010-09-02 Colin Watson <cjwatson@ubuntu.com>
2776
2777 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2778 grub-core/*.pp.
2779
9056cbf3
CW
27802010-09-02 Colin Watson <cjwatson@ubuntu.com>
2781
2782 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2783 required by the boot protocol.
2784
2785 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2786 ebp and edi members.
2787 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2788 state.ebp and state.edi.
2789 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2790 %ebp and %edi according to grub_relocator32_ebp and
2791 grub_relocator32_edi respectively.
2792 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2793 and state.edi.
2794
529cc99a
VS
27952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 Add i386-pc-pxe image target.
2798
2799 * util/grub-mkimage.c (image_target_desc): New enum value
2800 IMAGE_I386_PC_PXE.
2801 (image_targets): New target i386-pc-pxe.
2802 (generate_image): Handle i386-pc-pxe image.
2803
9a093920
VS
28042010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Fix grub_pxe_scan.
2807
2808 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2809 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2810 All users updated.
2811 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2812 (grub_pxe_pxenv): Correct type.
2813
f9cefc4e
CW
28142010-09-01 Colin Watson <cjwatson@ubuntu.com>
2815
2816 * NEWS: Document most of the important changes since 1.98.
2817
4066f57f
CW
28182010-09-01 Colin Watson <cjwatson@ubuntu.com>
2819
2820 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2821 generated manual page) a little.
2822
da2891f9
CW
28232010-09-01 Colin Watson <cjwatson@ubuntu.com>
2824
2825 * docs/grub.texi: Add myself as an author.
2826
ad717fae
VS
28272010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * Makefile.util.def (libgrub.a): Add missing sunpc.
2830 Reported by: Seth Goldberg.
2831
eefe8abd
VS
28322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 Interrupt wrapping and code simplifications.
2835
9494ef9a
VS
2836 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2837 x86_noieee1275 which are functionaly equivalent in this case.
2838 (grub-install): Make source on each platform explicit. Enable on
2839 all noemu.
2840 * gentpl.py (x86_efi_pc): Removed group.
2841 (x86_noefi): Likewise.
2842 (i386_noefi): Likewise.
2843 (x86_noieee1275): Likewise.
2844 (i386_noieee1275): Likewise.
2845 (i386_noefi_noieee1275): Likewise.
2846 (i386_pc_qemu_coreboot): Likewise.
2847 (i386_coreboot_multiboot): Likewise.
2848 (i386_pc_coreboot_multiboot_qemu): Likewise.
2849 (x86_noefi_mips): Likewise.
2850 (noieee1275): Likewise.
2851 (ieee1275_mips): Likewise.
2852 (noemu_noieee1275): Likewise.
2853 (cmos): New group.
2854 (usb): Likewise.
2855 (videoinkernel): Likewise.
2856 (videomodules): Likewise.
eefe8abd 2857 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
2858 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2859 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2860 include/grub/loader.h, include/grub/msdos_partition.h,
2861 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2862 include/grub/machine/console.h, include/grub/machine/vga.h,
2863 include/grub/machine/vbe.h, include/grub/machine/init.h,
2864 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2865 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 2866 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
2867 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2868 * grub-core/Makefile.core.def (kernel): Explicit the source for
2869 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2870 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2871 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2872 Use videoinkernel tag.
2873 (usb): Enable on all usb.
2874 (usbserial_common): Likewise.
2875 (usbserial_pl2303): Likewise.
2876 (usbserial_ftdi): Likewise.
2877 (uhci): Enable on all x86.
2878 (ohci): Enable on all pci.
2879 (cmostest): Enable on all CMOS.
2880 (acpi): Include commands/acpi.c on all platforms.
2881 (halt): Add relevant lib/*/halt.c.
2882 (hdparm): Enable on all pci.
2883 (lspci): Likewise.
2884 (usbtest): Enable on all usb.
2885 (ata): Enable on all pci.
2886 (ata_pthru): Likewise.
2887 (usbms): Enable on all usb.
2888 (usb_keyboard): Likewise.
2889 (font): Use tag videomodules.
2890 (bufio): Likewise.
2891 (datetime): Use tag cmos. Enable on all noemu.
2892 (mmap): Use tags common and x86.
2893 (gfxterm): Use tag videomodules.
2894 (bitmap): Likewise.
2895 (bitmap_scale): Likewise.
2896 (video_fb): Likewise.
2897 (video): Likewise.
2898 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2899 adjust padding accordingly. All users updated.
2900 (grub_ohci_transaction): Fix bad format specification.
2901 (GRUB_MOD_INIT): Add asserts for struct size.
2902 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2903 (grub_alloc_td): Likewise.
2904 (grub_free_queue): Likewise.
2905 (grub_uhci_transfer): Likewise.
2906 (grub_uhci_transaction): Fix bad format specification.
2907 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2908 (grub_usb_bulk_readwrite): Likewise.
2909 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2910 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2911 Made static.
2912 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2913 Made static.
2914 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2915 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2916 Transformed into C.
2917 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2918 Moved from here ...
2919 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2920 ... here. Transformed into C. Made static.
2921 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2922 Moved from here ...
2923 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2924 ... here. Transformed into C. Made static.
2925 * grub-core/kern/i386/pc/startup.S
2926 (grub_biosdisk_check_int13_extensions): Moved from here ...
2927 * grub-core/disk/i386/pc/biosdisk.c
2928 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
2929 Made static.
2930 * grub-core/kern/i386/pc/startup.S
2931 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
2932 * grub-core/disk/i386/pc/biosdisk.c
2933 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
2934 Transformed into C. Made static.
2935 * grub-core/kern/i386/pc/startup.S
2936 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
2937 * grub-core/disk/i386/pc/biosdisk.c
2938 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
2939 Transformed into C. Made static.
2940 * grub-core/kern/i386/pc/startup.S
2941 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
2942 * grub-core/disk/i386/pc/biosdisk.c
2943 (grub_biosdisk_get_diskinfo_standard): ... here.
2944 Transformed into C. Made static.
2945 * grub-core/kern/i386/pc/startup.S
2946 (grub_biosdisk_get_num_floppies): Moved from here ...
2947 * grub-core/disk/i386/pc/biosdisk.c
2948 (grub_biosdisk_get_num_floppies): ... here.
2949 Transformed into C. Made static.
2950 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
2951 New function.
2952 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
2953 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
2954 Transformed into C. Made static.
2955 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
2956 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
2957 Transformed into C. Made static.
2958 * grub-core/kern/i386/ieee1275/init.c: Removed.
2959 * grub-core/kern/i386/misc.S: Likewise.
2960 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
2961 Splitted from here ...
2962 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
2963 Transformed into C. Made static. All users updated.
2964 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
2965 Transformed into C. Made static. All users updated.
2966 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
2967 Moved from here...
2968 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
2969 Transformed into C. Made static. All users updated.
2970 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
2971 Moved from here...
2972 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
2973 Transformed into C. Made static. All users updated.
2974 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
2975 Removed (replaced by C version).
2976 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
2977 Moved from here...
2978 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
2979 Transformed into C. Made static.
2980 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
2981 Moved from here...
2982 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
2983 ... here. Transformed into C.
2984 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
2985 Moved from here...
2986 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
2987 ... here. Transformed into C.
2988 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
2989 Moved from here...
2990 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
2991 ... here. Transformed into C. Made static.
2992 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
2993 Moved from here...
2994 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
2995 ... here. Transformed into C.
21ed554b
VS
2996 * grub-core/kern/i386/pc/startup.S
2997 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
2998 * grub-core/video/i386/pc/vbe.c
2999 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
3000 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
3001 Moved from here...
3002 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
3003 ... here. Transformed into C.
3004 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
3005 Moved from here...
3006 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
3007 ... here. Transformed into C.
3008 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
3009 Moved from here...
3010 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
3011 ... here. Transformed into C.
3012 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
3013 Moved from here...
3014 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
3015 ... here. Transformed into C.
3016 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
3017 Moved from here...
3018 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
3019 ... here. Transformed into C. Made static.
3020 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
3021 Moved from here...
3022 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
3023 ... here. Transformed into C. Made static.
3024 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
3025 Moved from here...
3026 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
3027 ... here. Transformed into C. Made static.
3028 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
3029 pxe_rm_entry as third argument.
3030 (grub_bios_interrupt): New function.
3031 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
3032 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
3033 of calling grub_stop.
3034 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
3035 * grub-core/lib/efi/halt.c (grub_halt): ...here.
3036 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
3037 * grub-core/lib/emu/halt.c (grub_halt): ... here.
3038 * grub-core/lib/i386/halt.c: Moved from here ...
3039 * grub-core/lib/i386/halt.c: ... here.
3040 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
3041 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
3042 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
3043 grub_stop_floppy.
3044 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
3045 * include/grub/i386/coreboot/init.h: Removed.
3046 * include/grub/i386/multiboot/init.h: Likewise.
3047 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
3048 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
3049 * include/grub/i386/pc/int.h: New file.
3050 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
3051 (grub_pxe_scan): Removed.
3052 (grub_pxe_call): Update prototype.
3053 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
3054 prototypes.
3055 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
3056 * include/grub/i386/qemu/init.h: Removed.
3057 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
3058 noreturn.
3059 (grub_halt): Likewise.
3060 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
3061 (grub_reboot): Likewise.
3062 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
3063 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
3064 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
3065
215dd471
RM
30662010-08-30 Robert Millan <rmh@gnu.org>
3067
3068 * NEWS: Document addition of ZFS support in `grub-install' and
3069 `grub-mkconfig'.
3070
ebd65b82
BC
30712010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
3072
3073 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
3074 dprintf output.
3075
11721d19
VS
30762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 Remove leftover embedding of font objects.
3079
3080 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3081 * util/grub-install.in (font): Removed.
3082 * util/grub-mkimage.c (generate_image): Remove font support. All users
3083 updated.
3084
37837d4e
VS
30852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 Remove leftover embedding of font objects.
3088
3089 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3090 * util/grub-install.in (font): Removed.
3091 * util/grub-mkimage.c (generate_image): Remove font support. All users
3092 updated.
3093
b4c1aae0
VS
30942010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 3097 Reported by: Ian Turner
b4c1aae0 3098
8920a08d
VS
30992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
3102 timeout to avoid indefinite boot stalling.
3103
f21db033
VS
31042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
3107 (grub_env_write_color_highlight): Likewise.
3108
9a9de209
VS
31092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3110
3111 * grub-core/normal/term.c (print_more): Return to normal and not
3112 to standard state after printing "---MORE---".
3113
3dca01d7
VS
31142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3115
3116 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
3117 Mask out the bit 0x80 since it has other meaning that specifiing color.
3118
0b986c40
VS
31192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 New relocator. Allows for more kernel support and more straightforward
3122 loader writing.
3123
3124 * Makefile.am (BOOTTARGET): New variable.
3125 (QEMU32): Likewise.
3126 (linux.init.x86_64): New target.
3127 (linux.init.i386): Likewise.
3128 (multiboot.elf): Likewise.
3129 (kfreebsd.elf): Likewise.
3130 (kfreebsd.aout): Likewise.
3131 (pc-chainloader.elf): Likewise.
3132 (pc-chainloader.bin): Likewise.
3133 (ntldr.elf): Likewise.
3134 (ntldr.bin): Likewise.
3135 (multiboot2.elf): Likewise.
3136 (kfreebsd.init.x86_64): Likewise.
3137 (kfreebsd.init.i386): Likewise.
3138 (knetbsd.init.i386): Likewise.
3139 (kopenbsd.init.i386): Likewise.
3140 (knetbsd.init.x86_64): Likewise.
3141 (kopenbsd.init.x86_64): Likewise.
3142 (linux-initramfs.i386): Likewise.
3143 (linux-initramfs.x86_64): Likewise.
3144 (kfreebsd-mfsroot.i386.img): Likewise.
3145 (knetbsd.image.i386): Likewise.
3146 (kopenbsd.image.i386): Likewise.
3147 (kopenbsd.image.x86_64): Likewise.
3148 (knetbsd.miniroot-image.i386.img): Likewise.
3149 (kfreebsd-mfsroot.x86_64.img): Likewise.
3150 (knetbsd.image.x86_64): Likewise.
3151 (knetbsd.miniroot-image.x86_64.img): Likewise.
3152 (kfreebsd-mfsroot.i386.gz): Likewise.
3153 (bootcheck-kfreebsd-i386): Likewise.
3154 (kfreebsd-mfsroot.x86_64.gz): Likewise.
3155 (bootcheck-kfreebsd-x86_64): Likewise.
3156 (knetbsd.miniroot-image.i386.gz): Likewise.
3157 (bootcheck-knetbsd-i386): Likewise.
3158 (bootcheck-kopenbsd-i386): Likewise.
3159 (bootcheck-kopenbsd-x86_64): Likewise.
3160 (knetbsd.miniroot-image.x86_64.gz): Likewise.
3161 (bootcheck-knetbsd-x86_64): Likewise.
3162 (bootcheck-linux-i386): Likewise.
3163 (bootcheck-linux-x86_64): Likewise.
3164 (bootcheck-linux16-i386): Likewise.
3165 (bootcheck-linux16-x86_64): Likewise.
3166 (bootcheck-multiboot): Likewise.
3167 (bootcheck-multiboot2): Likewise.
3168 (bootcheck-kfreebsd-aout): Likewise.
3169 (bootcheck-pc-chainloader): Likewise.
3170 (bootcheck-ntldr): Likewise.
3171 (CLEANFILES): Add new targets.
3172 (BOOTCHECKS): New variable.
3173 (.PHONY): Add bootchecks.
3174 (SUCCESSFUL_BOOT_STRING): New variable.
3175 (BOOTCHECK_TIMEOUT): Likewise.
3176 (bootcheck): New target
3177 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
3178 * configure.ac: Correct efiemu excuse.
3179 * docs/grub.texi (Supported kernels): New chapter.
3180 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
3181 include/grub/mm_private.h. Simplify inclusion of
3182 include/grub/boot.h, include/grub/loader.h
3183 and include/grub/msdos_partition.h
3184 (KERNEL_HEADER_FILES) [i386_coreboot]:
3185 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
3186 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
3187 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
3188 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
3189 include/grub/machine/loader.h.
3190 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
3191 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
3192 extra_dist.
3193 (pci.mod): Enable on i386-multiboot.
3194 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
3195 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
3196 i386-qemu.
3197 (relocator.mod): Rewritten.
3198 (aout.mod): Enable on all x86.
3199 (bsd.mod): Likewise.
3200 (ntldr.mod): New module.
3201 (linux.mod): Use loader/i386/linux.c on all x86.
3202 (xnu.mod): Enable on all x86.
3203 (vga_text.mod): disable on EFI and QEMU.
3204 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
3205 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
3206 * grub-core/efiemu/loadcore.c: Likewise.
3207 * grub-core/efiemu/main.c: Likewise.
3208 (grub_efiemu_exit_boot_services): Removed.
3209 (grub_efiemu_finish_boot_services): Likewise.
3210 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
3211 function.
3212 * grub-core/efiemu/i386/nocfgtables.c: New file.
3213 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
3214 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
3215 (grub_efi_finish_boot_services): Moved from here ...
3216 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
3217 Fille finish memory map and related data.
3218 (finish_mmap_buf): New variable.
3219 (grub_efi_uintn_t finish_mmap_size): Likewise.
3220 (grub_efi_uintn_t finish_key): Likewise.
3221 (grub_efi_uintn_t finish_desc_size): Likewise.
3222 (grub_efi_uint32_t finish_desc_version): Likewise.
3223 (grub_efi_is_finished): Likewise.
3224 (grub_efi_get_memory_map): Use saved memory map if EFI is already
3225 finished.
3226 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
3227 (grub_elf64_phdr_iterate): Likewise.
3228 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
3229 (grub_os_area_size): Likewise.
3230 (grub_machine_init): Don't reserve os area.
3231 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
3232 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3233 * grub-core/kern/i386/loader.S: Removed.
3234 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
3235 (grub_os_area_size): Likewise.
3236 (grub_machine_init): Don't reserve os area.
3237 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3238 Don't call grub_dl_unload_all.
3239 Don't include loader.S.
3240 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3241 Declare the memory after _end as available.
3242 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 3243 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 3244 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
3245 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
3246 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
3247 * include/grub/mm_private.h (grub_mm_header): ... here.
3248 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
3249 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
3250 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
3251 (grub_mm_region): ..here. Removed addr. Added pre_size.
3252 All users updated.
3253 * grub-core/kern/mm.c (base): Renamed to ...
3254 (grub_mm_base): ... this. Made global.
3255 (grub_real_malloc): Alloc from end of region.
3256 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
3257 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
3258 * grub-core/kern/powerpc/cache_flush.S: ... here.
3259 * grub-core/lib/efi/relocator.c: New file.
3260 * grub-core/lib/i386/relocator.c: Rewritten.
3261 * grub-core/lib/i386/relocator16.S: New file.
3262 * grub-core/lib/i386/relocator32.S: Likewise.
3263 * grub-core/lib/i386/relocator64.S: Likewise.
3264 * grub-core/lib/i386/relocator_asm.S: Rewritten.
3265 * grub-core/lib/i386/relocator_common.S: New file.
3266 * grub-core/lib/ieee1275/relocator.c: Likewise.
3267 * grub-core/lib/mips/relocator.c: Rewritten.
3268 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
3269 stylistic adjustments.
3270 * grub-core/lib/powerpc/relocator.c: New file.
3271 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
3272 * grub-core/lib/relocator.c: Rewritten.
3273 * grub-core/lib/x86_64/relocator_asm.S: New file.
3274 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
3275 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
3276 (bsd_tag): New struct.
3277 (tags): New variable.
3278 (tags_last): Likewise.
3279 (netbsd_module): New struct.
3280 (netbsd_mods): New variable.
3281 (netbsd_mods_last): Likewise.
3282 (openbsd_opts): New parameter "serial".
3283 (OPENBSD_SERIAL_ARG): New definition.
3284 (netbsd_opts): New parameter "serial".
3285 (NETBSD_SERIAL_ARG): New definition.
3286 (grub_freebsd_add_meta): Reorganised into ...
3287 (grub_bsd_add_meta): ...this. All users updated.
3288 (grub_freebsd_add_mmap): Reorganised into ...
3289 (generate_e820_mmap): ...this...
3290 (grub_bsd_add_mmap): ...and this. All users updated.
3291 (grub_freebsd_list_modules): Use tags.
3292 (grub_netbsd_add_meta_module): New function.
3293 (grub_netbsd_list_modules): Likewise.
3294 (grub_freebsd_boot): Use relocator and finish EFI.
3295 (grub_openbsd_boot): Likewise.
3296 (grub_netbsd_setup_video): New function.
3297 (grub_netbsd_add_modules): Likewise.
3298 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
3299 and finish EFI.
3300 (grub_bsd_unload): Unload tags.
3301 (grub_bsd_load_aout): Use relocator.
3302 (grub_bsd_elf32_size_hook): New function.
3303 (grub_bsd_elf32_hook): Use relocator.
3304 (grub_bsd_elf64_size_hook): New function.
3305 (grub_bsd_elf64_hook): Use relocator.
3306 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
3307 (grub_bsd_load): Zero-out openbsd_ramdisk.
3308 (grub_bsd_load): Use relocator.
3309 (grub_cmd_openbsd): Support serial.
3310 (grub_cmd_netbsd): Support modules.
3311 (grub_cmd_freebsd_module): Use relocator.
3312 (grub_netbsd_module_load): New function.
3313 (grub_cmd_netbsd_module): Likewise.
3314 (grub_cmd_openbsd_ramdisk): Likewise.
3315 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
3316 kopenbsd_ramdisk.
3317 (GRUB_MOD_FINI): Unregister new commands.
3318 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
3319 (grub_freebsd_load_elfmodule_obj): Use relocator.
3320 (grub_freebsd_load_elfmodule): Likewise.
3321 (grub_freebsd_load_elf_meta): Likewise.
3322 (grub_netbsd_load_elf_meta): New function.
3323 (grub_openbsd_find_ramdisk): Likewise.
3324 * grub-core/loader/i386/bsd_helper.S: Removed.
3325 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
3326 * grub-core/loader/i386/bsd_trampoline.S: Removed.
3327 * grub-core/loader/i386/efi/linux.c: Likewise.
3328 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
3329 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
3330 (DEFAULT_VIDEO_MODE): Likewise.
3331 (real_mode_target): New variable.
3332 (prot_mode_target): Likewise.
3333 (initrd_mem_target): Likewise.
3334 (relocator): Likewise.
3335 (efi_mmap_buf): Likewise.
3336 (efi_mmap_size): Likewise.
3337 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
3338 (free_pages): Use relocator.
3339 (allocate_pages): Account for efi_mmap and use relocator. Return error.
3340 (grub_linux_setup_video): Return error.
3341 (grub_linux_trampoline_start): Removed.
3342 (grub_linux_trampoline_end): Likewise.
3343 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
3344 andd video parameters depending on firmware.
3345 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
3346 [GRUB_MACHINE_EFI]: Pass EFI parameters.
3347 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
3348 (grub_cmd_initrd): Use relocator.
3349 * grub-core/loader/i386/linux_trampoline.S: Removed.
3350 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
3351 (elf_sec_entsize): Likewise.
3352 (elf_sec_shstrndx): Likewise.
3353 (elf_sections): Likewise.
3354 (grub_multiboot_load): Use relocator.
3355 (grub_multiboot_get_mbi_size): Account for sections.
3356 (grub_multiboot_make_mbi): Use relocator and support sections.
3357 (grub_multiboot_add_elfsyms): New function.
3358 (grub_multiboot_free_mbi): Free sections.
3359 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
3360 (grub_linux_real_target): Likewise.
3361 (grub_linux_real_chunk): Likewise.
3362 (grub_linux16_prot_size): Likewise.
3363 (grub_linux16_boot): Use relocator.
3364 (grub_linux_unload): Unload relocator.
3365 (grub_cmd_linux): Use relocator.
3366 (grub_cmd_initrd): Likewise.
3367 * grub-core/loader/i386/pc/ntldr.c: New file.
3368 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
3369 Don't try to guess CPU frequency.
3370 (grub_xnu_set_video): Stretch bitmap.
3371 (grub_xnu_boot): Use relocator.
3372 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
3373 (grub_linux_unload): Free relocator.
3374 (grub_linux_load32): Use relocator.
3375 (grub_linux_load64): Likewise.
3376 (grub_cmd_initrd): Likewise.
3377 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
3378 (grub_multiboot_unload): Unload relocator.
3379 (grub_cmd_multiboot): Use relocator.
3380 (grub_cmd_module): Likewise.
3381 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
3382 Use relocator and support sections.
3383 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
3384 (elf_sec_entsize): Likewise.
3385 (elf_sec_shstrndx): Likewise.
3386 (elf_sections): Likewise.
3387 (grub_multiboot_load): Use relocator.
3388 (grub_multiboot_get_mbi_size): Account for sections.
3389 (grub_multiboot_make_mbi): Use relocator and support sections.
3390 (grub_multiboot_add_elfsyms): New function.
3391 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
3392 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
3393 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
3394 Prototype changed. All users updated.
3395 (grub_xnu_align_heap): Simplified.
3396 (grub_xnu_writetree_toheap): Likewise.
3397 (grub_xnu_unload): Unload relocator.
3398 (grub_cmd_xnu_kernel): Use relocator.
3399 (grub_cmd_xnu_kernel64): Likewise.
3400 (grub_xnu_register_memory): Simplified.
3401 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
3402 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
3403 EFI is finished.
3404 (grub_console_checkkey): Likewise.
3405 (grub_console_getkey): Likewise.
3406 (grub_console_getwh): Likewise.
3407 (grub_console_getxy): Likewise.
3408 (grub_console_gotoxy): Likewise.
3409 (grub_console_cls): Likewise.
3410 (grub_console_setcolorstate): Likewise.
3411 (grub_console_setcursor): Likewise.
3412 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
3413 * grub-core/tests/boot/kbsd.init-i386.S: New file.
3414 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
3415 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
3416 * grub-core/tests/boot/kernel-8086.S: Likewise.
3417 * grub-core/tests/boot/kernel-i386.S: Likewise.
3418 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
3419 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
3420 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
3421 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
3422 * grub-core/tests/boot/knetbsd.cfg: Likewise.
3423 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
3424 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
3425 * grub-core/tests/boot/linux.cfg: Likewise.
3426 * grub-core/tests/boot/linux.init-i386.S: Likewise.
3427 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
3428 * grub-core/tests/boot/linux16.cfg: Likewise.
3429 * grub-core/tests/boot/multiboot.cfg: Likewise.
3430 * grub-core/tests/boot/multiboot2.cfg: Likewise.
3431 * grub-core/tests/boot/ntldr.cfg: Likewise.
3432 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
3433 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
3434 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
3435 New definition.
3436 * include/grub/dl.h (grub_dl_unload_all): Removed.
3437 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
3438 (grub_efi_finish_boot_services): Change prototype.
3439 (grub_efi_is_finished): New variable.
3440 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
3441 Changed prototype.
3442 (grub_efiemu_finish_boot_services): Removed.
3443 (grub_machine_efiemu_init_tables): New prototype.
3444 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
3445 (grub_elf64_phdr_iterate): Likewise.
3446 * include/grub/i386/bsd.h: Include relocator.h.
3447 (freebsd_tag_header): New struct.
3448 (grub_openbsd_bios_mmap): Removed.
3449 (grub_unix_real_boot): Removed.
3450 (grub_freebsd_load_elfmodule32): Changed prototype.
3451 (grub_freebsd_load_elfmodule_obj64): Likewise.
3452 (grub_freebsd_load_elf_meta32): Likewise.
3453 (grub_freebsd_load_elf_meta64): Likewise.
3454 (grub_freebsd_add_meta): Removed.
3455 (grub_netbsd_load_elf_meta32): New prototype.
3456 (grub_netbsd_load_elf_meta64): Likewise.
3457 (grub_bsd_add_meta): Likewise.
3458 (grub_openbsd_ramdisk_descriptor): New struct.
3459 (grub_openbsd_find_ramdisk32): New prototype.
3460 (grub_openbsd_find_ramdisk64): Likewise.
3461 * include/grub/i386/coreboot/loader.h: Removed.
3462 * include/grub/i386/efi/loader.h: Likewise.
3463 * include/grub/i386/ieee1275/loader.h: Likewise.
3464 * include/grub/i386/linux.h (linux_kernel_header): Change void *
3465 to grub_uint32_t.
3466 * include/grub/i386/loader.h: Removed.
3467 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
3468 value.
3469 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
3470 (grub_phys_addr_t): New type.
3471 (grub_vtop): New inline function.
3472 (grub_map_memory): Likewise.
3473 (grub_unmap_memory): Likewise.
3474 * include/grub/i386/multiboot/loader.h: Removed.
3475 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
3476 (NETBSD_BTINFO_CONSOLE): New definition.
3477 (NETBSD_BTINFO_SYMTAB): Likewise.
3478 (NETBSD_BTINFO_MODULES): Likewise.
3479 (NETBSD_BTINFO_FRAMEBUF): Likewise.
3480 (grub_netbsd_bootinfo): New struct.
3481 (grub_netbsd_btinfo_common): Use explicit bitsize.
3482 (grub_netbsd_btinfo_mmap_entry): Removed.
3483 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
3484 (grub_netbsd_btinfo_bootdisk): New struct.
3485 (grub_netbsd_btinfo_symtab): Likewise.
3486 (grub_netbsd_btinfo_serial): Likewise.
3487 (grub_netbsd_btinfo_modules): Likewise.
3488 (grub_netbsd_btinfo_framebuf): Likewise.
3489 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
3490 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
3491 Likewise.
3492 (grub_openbsd_bootargs): Use explicit bitsize.
3493 (grub_openbsd_bootarg_console): New struct.
3494 (GRUB_OPENBSD_COM_MAJOR): New definition.
3495 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
3496 * include/grub/i386/pc/efiemu.h: Removed.
3497 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
3498 * include/grub/i386/qemu/loader.h: Removed.
3499 * include/grub/i386/relocator.h: Rewritten.
3500 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
3501 * include/grub/mips/memory.h: New file.
3502 * include/grub/mips/multiboot.h: Rewritten.
3503 * include/grub/mips/relocator.h: Rewritten.
3504 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
3505 (grub_vtop): New function.
3506 (grub_map_memory): Likewise.
3507 (grub_unmap_memory): Likewise.
3508 * include/grub/misc.h (ALIGN_DOWN): New definition.
3509 * include/grub/mm.h (grub_mm_check_real): New proto.
3510 (GRUB_MM_CHECK): New definition.
3511 * include/grub/mm_private.h: New file.
3512 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
3513 (grub_multiboot_get_mbi_size): Removed.
3514 (grub_multiboot_make_mbi): Change prottype.
3515 (grub_multiboot_set_accepts_video): New proto.
3516 (grub_multiboot_add_elfsyms): Likewise.
3517 (grub_multiboot_payload_eip): New variable.
3518 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
3519 New prototype.
3520 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
3521 New definition.
3522 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
3523 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
3524 * include/grub/powerpc/ieee1275/loader.h: Removed.
3525 * include/grub/powerpc/memory.h: New file.
3526 * include/grub/powerpc/relocator.h: Likewise.
3527 * include/grub/relocator.h: Likewise.
3528 * include/grub/relocator_private.h: Likewise.
3529 * include/grub/sparc64/ieee1275/loader.h: Removed.
3530 * include/grub/x86_64/memory.h: New file.
3531 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
3532 (grub_xnu_heap_malloc): Likewise.
3533 (grub_xnu_heap_real_start): Removed.
3534 (grub_xnu_heap_start): Likewise.
3535 (grub_xnu_relocator): New variable.
3536 (grub_xnu_heap_target_start): Likewise.
3537 * tests/util/grub-shell.in: Support non-pc.
3538 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 3539
5303b85d
VS
35402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3543 on malloc error.
3544 (grub_bidi_logical_to_visual): Check that malloc succeded.
3545 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3546 puts.
3547 (grub_xputs_normal): Likewise.
3548
d768d159
VS
35492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
3552 extra_dist.
3553
35542010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/efiemu/runtime/efiemu.sh: Removed.
3557
5bf84df4
VS
35582010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
3561
3626810e
VS
35622010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3563
3564 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
3565 dprintf.
3566
a7363f53
BC
35672010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
3568
3569 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
3570
902f75f6
VS
35712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3572
3573 * grub-core/normal/term.c (print_more): Fix a memory leak.
3574 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
3575 (grub_xputs_normal): Likewise.
3576
3c707967
VS
35772010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
3580 the begining of the string
3581
2053cc07
VS
35822010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/script/script.c (grub_script_parse): Free parsed on
3585 failure.
3586
46422ebf
VS
35872010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3590 on failure.
3591
9e0fa3f6
VS
35922010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3595 return.
3596
3393cf16
VS
35972010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3600 (scroll_up): Fix a memory leak.
3601
b17540cb
VS
36022010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3603
3604 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3605 errors.
3606
67140446
VS
36072010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 Handle USB pendrives exposed as floppies.
3610
3611 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3612 floppy.
3613 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3614 Check for partitions on all devices.
3615
e35e46fc
VS
36162010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3619 (readkey): Likewise.
3620
d24c6190
BC
36212010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3622
3623 Multiple variable names support to "export" command.
3624
3625 * normal/context.c (grub_cmd_export): "export" command supports
3626 multiple variable names.
3627
04ddcc6a
ST
36282010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3629
3630 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3631 --target=drive output to Mach device name.
3632
0c8b61d8
BC
36332010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3634
3635 New Automake based build system for GRUB.
3636
3637 * ABOUT-NLS: New file.
3638 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3639 in Makefile.util.def file.
3640 * Makefile.util.def: New file. Autogen build definitions file for
3641 GRUB host utils.
3642 * conf/Makefile.common: New file. Common variables for GRUB host
3643 utils and target modules.
3644 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3645 * docs/Makefile.am: New file. Automake file for docs.
3646 * gentpl.py: New file. Python script to generate Autogen
3647 template.
3648 * grub-core/Makefile.am: New file. GRUB target modules' rules
3649 that doesn't fit in Makefile.core.def file.
3650 * grub-core/Makefile.core.def: New file. Autogen build
3651 definitions file for GRUB target modules.
3652 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3653 specific setjmp.S file.
3654 * po/Makefile.am: New file.
3655
3656 * .bzrignore: New ignores.
3657 * INSTALL: New requirements, without Ruby.
3658 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3659 * autogen.sh: Updated to invoke autogen as necessary.
3660 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3661 and defines for Automake conditionals.
3662 * geninit.sh: Refactoring.
3663
3664 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3665 necessary.
3666 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3667 New prototype.
3668
3669 * include/grub/test.h: Fix functional test modules' naming.
3670 * grub-core/tests/example_functional_test.c: Fix test module name.
3671
3672 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3673 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3674 * util/grub-editenv.c: Likewise.
3675 * util/grub-fstest.c: Likewise.
3676 * util/grub-mkdevicemap.c: Likewise.
3677 * util/grub-mkfont.c: Likewise.
3678 * util/grub-mkimage.c: Likewise.
3679 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3680 * util/grub-probe.c: Likewise.
3681 * util/grub-script-check.c: Likewise.
3682 * util/i386/pc/grub-setup.c: Likewise.
3683 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3684
3685 * tests/util/grub-shell.in: Fix override directory path.
3686 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3687 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3688
3689 * util/lvm.c: Update #includes.
3690 * util/raid.c: Likewise.
3691 * util/resolve.c: Likewise.
3692 * grub-core/bus/emu/pci.c: Likewise.
3693 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3694 * grub-core/lib/posix_wrap/string.h: Likewise.
3695 * grub-core/kern/emu/main.c: Likewise.
3696
3697 * grub-core/gensymlist.sh: New file. Script for generating kernel
3698 symbols file.
3699 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3700
3701 * grub-core/gentrigtables.c: Fix unused variable warnings.
3702
3703 * Makefile.in: Removed.
3704 * conf/any-emu.rmk: Removed.
3705 * conf/common.rmk: Removed.
3706 * conf/i386-coreboot.rmk: Removed.
3707 * conf/i386-efi.rmk: Removed.
3708 * conf/i386-ieee1275.rmk: Removed.
3709 * conf/i386-multiboot.rmk: Removed.
3710 * conf/i386-pc.rmk: Removed.
3711 * conf/i386-qemu.rmk: Removed.
3712 * conf/i386.rmk: Removed.
3713 * conf/mips-yeeloong.rmk: Removed.
3714 * conf/mips.rmk: Removed.
3715 * conf/powerpc-ieee1275.rmk: Removed.
3716 * conf/sparc64-ieee1275.rmk: Removed.
3717 * conf/tests.rmk: Removed.
3718 * conf/x86-efi.rmk: Removed.
3719 * conf/x86_64-efi.rmk: Removed.
3720 * gendistlist.sh: Removed.
3721 * geninitheader.sh: Removed.
3722 * genkernsyms.sh.in: Removed.
3723 * genmk.rb: Removed.
3724 * gensymlist.sh.in: Removed.
3725 * mkinstalldirs: Removed.
3726 * boot: Moved ...
3727 * grub-core/boot: ... to here.
3728 * bus: Moved ...
3729 * grub-core/bus: ... to here.
3730 * commands: Moved ...
3731 * grub-core/commands: ... to here.
3732 * disk: Moved ...
3733 * grub-core/disk: ... to here.
3734 * efiemu: Moved ...
3735 * grub-core/efiemu: ... to here.
3736 * font: Moved ...
3737 * grub-core/font: ... to here.
3738 * fs: Moved ...
3739 * grub-core/fs: ... to here.
3740 * gencmdlist.sh: Moved ...
3741 * grub-core/gencmdlist.sh: ... to here.
3742 * genemuinit.sh: Moved ...
3743 * grub-core/genemuinit.sh: ... to here.
3744 * genemuinitheader.sh: Moved ...
3745 * grub-core/genemuinitheader.sh: ... to here.
3746 * genfslist.sh: Moved ...
3747 * grub-core/genfslist.sh: ... to here.
3748 * genhandlerlist.sh: Moved ...
3749 * grub-core/genhandlerlist.sh: ... to here.
3750 * genmoddep.awk: Moved ...
3751 * grub-core/genmoddep.awk: ... to here.
3752 * genmodsrc.sh: Moved ...
3753 * grub-core/genmodsrc.sh: ... to here.
3754 * genpartmaplist.sh: Moved ...
3755 * grub-core/genpartmaplist.sh: ... to here.
3756 * genparttoollist.sh: Moved ...
3757 * grub-core/genparttoollist.sh: ... to here.
3758 * genterminallist.sh: Moved ...
3759 * grub-core/genterminallist.sh: ... to here.
3760 * gentrigtables.c: Moved ...
3761 * grub-core/gentrigtables.c: ... to here.
3762 * genvideolist.sh: Moved ...
3763 * grub-core/genvideolist.sh: ... to here.
3764 * gettext: Moved ...
3765 * grub-core/gettext: ... to here.
3766 * gfxmenu: Moved ...
3767 * grub-core/gfxmenu: ... to here.
3768 * gnulib: Moved ...
3769 * grub-core/gnulib: ... to here.
3770 * hello: Moved ...
3771 * grub-core/hello: ... to here.
3772 * hook: Moved ...
3773 * grub-core/hook: ... to here.
3774 * io: Moved ...
3775 * grub-core/io: ... to here.
3776 * kern: Moved ...
3777 * grub-core/kern: ... to here.
3778 * lib: Moved ...
3779 * grub-core/lib: ... to here.
3780 * loader: Moved ...
3781 * grub-core/loader: ... to here.
3782 * mmap: Moved ...
3783 * grub-core/mmap: ... to here.
3784 * normal: Moved ...
3785 * grub-core/normal: ... to here.
3786 * partmap: Moved ...
3787 * grub-core/partmap: ... to here.
3788 * parttool: Moved ...
3789 * grub-core/parttool: ... to here.
3790 * script: Moved ...
3791 * grub-core/script: ... to here.
3792 * term: Moved ...
3793 * grub-core/term: ... to here
3794 * tests/example_functional_test.c: Moved ...
3795 * grub-core/tests/example_functional_test.c: ... to here.
3796 * tests/lib/functional_test.c: Moved ...
3797 * grub-core/tests/lib/functional_test.c: ... to here.
3798 * tests/lib/test.c: Moved ...
3799 * grub-core/tests/lib/test.c: ... to here.
3800 * video: Moved ...
3801 * grub-core/video: ... to here.
3802
645586e6
BC
38032010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3804
3805 Replace --enable-grub-emu-modules with grub-emu-lite.
3806
3807 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3808 cache.S.
3809
3810 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3811 * kern/emu/full.c: New file. For grub-emu specific initialization.
3812 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3813 * kern/emu/main.c: Call initialization function grub_emu_init.
3814
3815 * Makefile.in: Include grub-emu-lite in install.
3816 * commands/parttool.c: Use grub_no_autoload to differentiate
3817 between grub-emu and grub-emu-lite.
3818 * include/grub/misc.h: New variable grub_no_autoload.
3819
3820 * conf/any-emu.rmk: New rules for grub-emu-lite.
3821 * configure.ac: Remove --enable-grub-emu-modules.
3822 * genmk.rb: Cleanup unnecessary rules.
3823 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3824
3825 * normal/main.c: Don't load list files on grub-emu-lite.
3826 * util/misc.c (grub_arch_sync_caches): Removed.
3827
f86a4030
CW
38282010-08-23 Colin Watson <cjwatson@ubuntu.com>
3829
3830 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3831 grub-mkimage rather than grub-mkelfimage.
3832 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3833
06776944
VS
38342010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3837 a key after CapsLock or NumLock. It's just a qemu bug.
3838
df262419
VS
38392010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3842 needed by libusb wrapper.
3843
b40ea81b
ST
38442010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3845
3846 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3847
dee50575
VS
38482010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3851 --nounzip is passed.
3852
fb1d7b79
VS
38532010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 USB hotunplugging and USB serial support.
3856
3857 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3858 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3859 (grub_uhci_transfer): Respect timeout and set *actual.
3860 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3861 non-standard length.
3862 (grub_usb_device_attach): Autoload modules.
3863 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3864 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3865 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3866 users updated.
3867 (grub_usb_add_hub): Fill nports and children.
3868 (attach_root_port): Receive hub instead of controller.
3869 All users updated. Fill hub->devices.
3870 (grub_usb_root_hub): Allocate hub->devices.
3871 (detach_device): New function.
3872 (poll_nonroot_hub): Fill children and detach devices.
3873 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3874 actual arguments. All users updated.
3875 (grub_usb_bulk_read_extended): New function.
3876 * bus/usb/serial/common.c: New file.
3877 * bus/usb/serial/ftdi.c: Likewise.
3878 * bus/usb/serial/pl2303.c: Likewise.
3879 * commands/terminal.c (handle_command): Support wildcard.
3880 * commands/usbtest.c: Output "Unknown" instead of empty string.
3881 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3882 (usbserial_common_mod_SOURCES): New variable.
3883 (usbserial_common_mod_CFLAGS): Likewise.
3884 (usbserial_common_mod_LDFLAGS): Likewise.
3885 (pkglib_MODULES): Add usbserial_pl2303.mod.
3886 (usbserial_pl2303_mod_SOURCES): New variable.
3887 (usbserial_pl2303_mod_CFLAGS): Likewise.
3888 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3889 (pkglib_MODULES): Add usbserial_ftdi.mod.
3890 (usbserial_ftdi_mod_SOURCES): New variable.
3891 (usbserial_ftdi_mod_CFLAGS): Likewise.
3892 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3893 (pkglib_MODULES): Add serial.mod.
3894 (serial_mod_SOURCES): New variable.
3895 (serial_mod_CFLAGS): Likewise.
3896 (serial_mod_LDFLAGS): Likewise.
3897 * conf/i386-pc.rmk: Likewise.
3898 * conf/mips-yeeloong.rmk: Likewise.
3899 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3900 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3901 * disk/usbms.c (first_available_slot): New variable.
3902 (grub_usbms_attach): Don't reuse free slots due to potential cache
3903 problems.
3904 * include/grub/serial.h: Moved to ..
3905 * include/grub/ns8250.h: ...this.
3906 * include/grub/serial.h: New file.
3907 * include/grub/term.h (grub_term_poll_usb): New variable.
3908 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3909 readkey. All users updated.
3910 (grub_terminfo_output_state): Pass term to put.
3911 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3912 (grub_usb_controller_dev): Add timeout and actual arguments to
3913 transfer. All users updated.
3914 (grub_usb_interface): New field detach_data.
3915 (grub_usb_device): New fields children and nports.
3916 (grub_usb_ep_type_t): New type.
3917 (grub_usb_get_ep_type): New function.
3918 (grub_usb_bulk_read_extended): Likewise.
3919 * include/grub/usbdesc.h (grub_usb_desc): New type.
3920 * include/grub/usbserial.h: New file.
3921 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3922 * kern/term.c (grub_term_poll_usb): New variable.
3923 (grub_getkey): Call grub_term_poll_usb if set.
3924 (grub_checkkey): Likewise.
3925 (grub_getkeystatus): Likewise.
3926 * term/serial.c: Moved controller-specific parts to ...
3927 * term/ns8250.c: ... here.
3928 * term/serial.c: Mostly rewritten.
3929 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
3930 according to spec.
3931
21a313de
RM
39322010-08-20 Robert Millan <rmh@gnu.org>
3933
3934 Make kFreeBSD code more generic to support ext2fs as root, ufs as
3935 a separate module and maybe other interesting combinations.
3936
3937 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
3938 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
3939 (kfreebsd_entry): Add generic filesystem module load routine.
3940 Map GRUB `ext2' to kFreeBSD `ext2fs'.
3941
63c734a6
CW
39422010-08-20 Colin Watson <cjwatson@ubuntu.com>
3943
3944 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
3945 "numcenter" (I misunderstood the purpose of this entry).
3946 * docs/grub.texi (sendkey): Likewise.
3947
c4d16542
CW
39482010-08-20 Colin Watson <cjwatson@ubuntu.com>
3949
3950 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
3951 status flag options; simply omitting the option is equivalent and
3952 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
3953 (keysym_table): Rename "num5numlock" to "numlock".
3954 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
3955 can uniformly say that only the last of multiple `sendkey'
3956 invocations has any effect.
3957 * docs/grub.texi (sendkey): New section.
3958
93541d66
CW
39592010-08-19 Colin Watson <cjwatson@ubuntu.com>
3960
3961 * commands/i386/pc/sendkey.c (options): Fix three typos.
3962
b4ece5e1
VS
39632010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Implement sendkey support.
3966
3967 * commands/i386/pc/sendkey.c: New file.
3968 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
3969 (sendkey_mod_SOURCES): New variable.
3970 (sendkey_mod_CFLAGS): Likewise.
3971 (sendkey_mod_LDFLAGS): Likewise.
3972
51f1f5af
CW
39732010-08-18 Colin Watson <cjwatson@ubuntu.com>
3974
3975 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
3976 fix warnings from Autoconf.
3977
9da94e05
CW
39782010-08-18 Colin Watson <cjwatson@ubuntu.com>
3979
3980 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
3981 to avoid false positives with some assemblers that output things
3982 like "someprefix_func" as part of their output.
3983
729a0f2e
RM
39842010-08-15 Robert Millan <rmh@gnu.org>
3985
3986 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
3987 errors.
3988 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
3989 grub_get_libzfs_handle() errors.
3990
f3710e08
RM
39912010-08-14 Robert Millan <rmh@gnu.org>
3992
3993 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
3994 filesystem is not ZFS.
3995
7a3c13de
BC
39962010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
3997
3998 Fix for misspelled color names defaulting to black/black (bug
3999 reported by Doug Nazar)
4000
4001 * include/grub/normal.h (grub_parse_color_name_pair): Add return
4002 status to prototype.
4003 * normal/color.c (grub_parse_color_name_pair): Return failure
4004 status.
4005 (grub_env_write_color_normal): Ignore bad color names.
4006 (grub_env_write_color_highlight): Likewise.
4007 * normal/main.c (GRUB_MOD_INIT): Set default color names.
4008
ab8ba50d
BC
40092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4010
4011 "shift" command support to GRUB script.
4012
4013 * include/grub/script_sh.h (grub_script_shift): New prototype.
4014 * script/execute.c (grub_script_shift): New function.
4015 * script/main.c (grub_script_init): Register shift command.
4016 (grub_script_fini): Unregister shift command.
4017 * util/grub-script-check.c (grub_script_cmd_shift): New function.
4018
4019 * tests/grub_script_shift.in: New testcase.
4020 * conf/tests.rmk: Rules for new testcase.
4021
4d61999e
BC
40222010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4023
4024 "continue" command support to GRUB script.
4025
4026 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
4027 (grub_script_break): Continue support.
4028 * script/main.c (grub_script_init): Register continue command.
4029 (grub_script_fini): Unregister continue command.
4030
4031 * tests/grub_script_continue.in: New testcase.
4032 * conf/tests.rmk: Rules for new testcase.
4033
4df51e00
BC
40342010-08-12 BVK Chaitanya <bvk@dbook>
4035
4036 "break" command support to GRUB script.
4037
4038 * conf/common.rmk: Rule updates to grub-script-check.
4039 * include/grub/misc.h (grub_min): New function.
4040 * include/grub/script_sh.h (grub_script_init): New prototype.
4041 (grub_script_fini): New prototype.
4042 (grub_script_break): New prototype.
4043 * script/main.c (grub_script_init): New function.
4044 (grub_script_fini): New function.
4045 * script/execute.c (grub_script_break): New function.
4046 * normal/main.c: Calls to grub_script_{init,fini}.
4047 * util/grub-script-check.c (grub_script_break): New function.
4048
4049 * tests/grub_script_break.in: New testcase.
4050 * conf/tests.rmk: Rules for new test case.
4051
f12c8420
BC
40522010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4053
4054 Function parameters support to GRUB script.
4055
4056 * script/yylex.l (VARIABLE): Regular expression update.
4057 * script/function.c (grub_script_function_call): Moved ...
4058 * script/execute.c (grub_script_function_call): ... to here.
4059 (grub_script_execute_arglist_to_argv): Removed.
4060 (grub_script_arglist_to_argv): New function.
4061 * script/argv.c: New file.
4062 (grub_script_argv_free): New function.
4063 (grub_script_argv_next): Likewise.
4064 (grub_script_argv_append): Likewise.
4065 (grub_script_argv_split_append): Likewise.
4066 * include/grub/script_sh.h (grub_script_argv): New struct.
4067 (grub_script_argv_free): New function.
4068 (grub_script_argv_next): Likewise.
4069 (grub_script_argv_append): Likewise.
4070 (grub_script_argv_split_append): Likewise.
4071
4072 * conf/common.rmk (normal.mod): New source script/argv.c.
4073
4074 * tests/grub_script_echo1.in: More tests.
4075 * tests/grub_script_vars1.in: Likewise.
4076 * tests/grub_script_functions.in: New test case.
4077 * conf/tests.rmk: Rules for new testcase.
4078
8022b748
BC
40792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4080
4081 Remove grub_script_cmdblock struct.
4082
4083 * include/grub/script_sh.h: Remove grub_script_cmdblock.
4084 * script/parser.y: Likewise.
4085 * script/execute.c: Rename cmdblock suffix to cmdlist.
4086 * script/script.c: Likewise.
4087 * util/grub-script-check.c: Likewise.
4088
79a6ba61
YB
40892010-08-11 Yves Blusseau <blusseau@zetam.org>
4090
4091 * .bzrignore: add grub-macho2img
4092
d04b9414
VS
40932010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
4096
f947ab49
VS
40972010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4098
4099 Remove the dump of sm712 initialisation sequence.
4100
4101 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
4102 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
4103 (GRUB_VGA_IO_MISC_WRITE): Likewise.
4104 (GRUB_VGA_CR_*): Added many registers.
4105 (GRUB_VGA_SR_*): Likewise.
4106 (GRUB_VGA_GR_*): Likewise.
4107 (grub_vga_write_arx): New function.
4108 (grub_video_hw_config): New struct.
4109 (grub_vga_set_geometry): New function.
4110 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
4111 GRUB_PCI_CLASS_SUBCLASS_VGA.
4112 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
4113 * video/sm712.c (grub_sm712_write_reg): New function
4114 (grub_sm712_read_reg): Likewise.
4115 (grub_sm712_sr_write): Likewise.
4116 (grub_sm712_gr_write): Likewise.
4117 (grub_sm712_cr_write): Likewise.
4118 (grub_sm712_write_arx): Likewise.
4119 (grub_sm712_cr_shadow_write): Likewise.
4120 (grub_sm712_write_dda_lookup): Likewise.
4121 (grub_video_sm712_setup): Initialise the video rather then
4122 blindly replay the dump.
4123 (main) [TEST]: Add a routine to be able to compile as standalone for
4124 tests.
4125 * video/sm712_init.c (sm712_init): Removed.
4126 (sm712_sr_seq1): New array.
4127 (sm712_sr_seq2): Likewise.
4128
f0206638
VS
41292010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4130
4131 * include/grub/vga.h: Add missing grub/pci.h include.
4132
2764da3b
YB
41332010-08-10 Yves Blusseau <blusseau@zetam.org>
4134
4135 * util/grub-macho2img.c (main): fix typo
4136
cf0c775e
VS
41372010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
4140 (grub_vga_gr_read): Likewise.
4141 (grub_vga_cr_write): Likewise.
4142 (grub_vga_cr_read): Likewise.
4143 (grub_vga_sr_write): Likewise.
4144 (grub_vga_sr_read): Likewise.
4145 (grub_vga_palette_read): Likewise.
4146 (grub_vga_palette_write): Likewise.
4147 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
4148 (grub_sm712_sr_read): New function.
4149 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
4150 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
4151
07f360e9
RM
41522010-08-09 Robert Millan <rmh@gnu.org>
4153
4154 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
4155 out unused variables on non-ZFS build.
4156
346c2072
RM
41572010-08-08 Robert Millan <rmh@gnu.org>
4158
4159 Fix path generation for sub-filesystems in ZFS.
4160
4161 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
4162 missing slash.
4163
71175420
RM
41642010-08-08 Robert Millan <rmh@gnu.org>
4165
4166 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
4167
0d8286f3
RM
41682010-08-08 Robert Millan <rmh@gnu.org>
4169
4170 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
4171 exist, issue a proper error message (rely on `ls' for translated
4172 strings).
4173
55dd2924
RM
41742010-08-08 Robert Millan <rmh@gnu.org>
4175
4176 Fix grub-probe invocation.
4177
4178 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
4179
d3dd9e80
RM
41802010-08-04 Robert Millan <rmh@gnu.org>
4181
4182 * configure.ac: Remove checks for getfsstat() and getmntany().
4183 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
4184 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
4185 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
4186 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
4187 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
4188 function.
4189 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
4190 via find_mount_point_from_dir() and getfsstat() / getmntany().
4191
0de22aa9
RM
41922010-08-04 Robert Millan <rmh@gnu.org>
4193
4194 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4195 (grub_find_zpool_from_mount_point): Merge into ...
4196 (grub_find_zpool_from_dir): ... this.
4197 * kern/emu/misc.c: Likewise.
4198
4199 * kern/emu/misc.c
4200 (grub_make_system_path_relative_to_its_root): Replace
4201 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
4202 with grub_find_zpool_from_dir().
4203 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
4204
62858144
RM
42052010-08-04 Robert Millan <rmh@gnu.org>
4206
4207 Support OpenSolaris in ZFS device resolution.
4208
4209 * configure.ac: Check for getmntany().
4210 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
4211 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
4212 support.
4213
9dd6fd50
RM
42142010-08-03 Robert Millan <rmh@gnu.org>
4215
4216 Fix grub-emu build.
4217
4218 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
4219 * include/grub/emu/misc.h: ... here.
4220
4221 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
4222 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
4223
4224 * util/misc.c: Remove `<grub/util/libzfs.h>'.
4225 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
4226 (grub_get_libzfs_handle): Move to ...
4227 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
4228 (grub_get_libzfs_handle): ... here.
4229
c9f7ff97
BC
42302010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
4231
4232 * script/execute.c (grub_script_execute_cmdline): Check for NULL
4233 as command name case.
4234
a870a783
CW
42352010-08-02 Colin Watson <cjwatson@ubuntu.com>
4236
4237 * disk/raid.c (insert_array): Select unique numbers for named arrays
4238 as well, for use as keys in the disk cache.
4239
c7db243b
RM
42402010-08-01 Robert Millan <rmh@gnu.org>
4241
4242 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
4243 kFreeBSD device name, except on ZFS where the filesystem label is
4244 used.
4245 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
4246 `/boot/zfs/zpool.cache'.
4247 Set mountfrom kernel variable using ${kfreebsd_device}.
4248
f7abdefb
RM
42492010-08-01 Robert Millan <rmh@gnu.org>
4250
4251 Make it even harder to use uninitialized `libzfs_handle' (and
4252 make the interface a bit simpler).
4253
4254 * include/grub/util/misc.h (grub_util_init_libzfs)
4255 (libzfs_handle): Remove.
4256 (grub_get_libzfs_handle): New prototype.
4257
4258 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
4259 attribute.
4260 (grub_util_init_libzfs): Remove.
4261 (grub_get_libzfs_handle): New function.
4262
4263 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
4264 grub_get_libzfs_handle() to obtain a libzfs handle instead of
4265 accessing `libzfs_handle' directly.
4266
c882acc0
RM
42672010-08-01 Robert Millan <rmh@gnu.org>
4268
4269 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4270 (grub_find_zpool_from_mount_point): New function prototypes.
4271
4272 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4273 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4274
4275 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4276 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4277 `static' attribute.
4278
4279 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4280 finding zpool from mount point into ...
4281 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4282
4283 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4284 requested path is part of a ZFS pool, use
4285 grub_find_zpool_from_mount_point() to detect its filesystem name,
4286 and generate a path with `/fsname@path' syntax.
4287
8bfe31d8
CW
42882010-08-01 Colin Watson <cjwatson@ubuntu.com>
4289
4290 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
4291 (void) rather than () so that this is a proper prototype.
4292
553df63d
VS
42932010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
4296
8687cf07
VS
42972010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
4300 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
4301
ea9be8ea
CW
43022010-08-01 Colin Watson <cjwatson@ubuntu.com>
4303
4304 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
4305
6eea041a
CW
43062010-08-01 Colin Watson <cjwatson@ubuntu.com>
4307
4308 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
4309
2cfb45df
CW
43102010-08-01 Colin Watson <cjwatson@ubuntu.com>
4311
4312 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
4313 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
4314 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
4315 disable gfxpayload.
4316 (Shell-like scripting): Add real content.
4317 (Serial terminal): Suggest `terminal_input serial; terminal_output
4318 serial' rather than putting the two commands on separate lines,
4319 since console input will be inoperative after the first command.
4320 (menuentry): Document --class, --users, and --hotkey options.
4321 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
4322 Vladimir Serbinenko).
4323
7decd202
VS
43242010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
43252010-08-01 Colin Watson <cjwatson@ubuntu.com>
4326
4327 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
4328
c882acc0
RM
43292010-08-01 Robert Millan <rmh@gnu.org>
4330
4331 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4332 (grub_find_zpool_from_mount_point): New function prototypes.
4333
4334 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4335 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4336
4337 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4338 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4339 `static' attribute.
4340
4341 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4342 finding zpool from mount point into ...
4343 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4344
4345 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4346 requested path is part of a ZFS pool, use
4347 grub_find_zpool_from_mount_point() to detect its filesystem name,
4348 and generate a path with `/fsname@path' syntax.
4349
deb0caa3
RM
43502010-08-01 Robert Millan <rmh@gnu.org>
4351
4352 Prevent accidental use of uninitialized libzfs_handle.
4353
4354 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
4355 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
4356 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
4357
ce04ef47
CW
43582010-08-01 Colin Watson <cjwatson@ubuntu.com>
4359
4360 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
4361 util/grub.d/10_linux.in). Fixes Debian bug #591093.
4362
ebf53056
RM
43632010-08-01 Robert Millan <rmh@gnu.org>
4364
4365 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 4366
3710bb6b
RM
43672010-07-31 Robert Millan <rmh@gnu.org>
4368
4369 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
4370
8072efeb
RM
43712010-07-31 Robert Millan <rmh@gnu.org>
4372
4373 * kern/emu/misc.c: Add missing license header.
4374
3169f4c7
RM
43752010-07-31 Robert Millan <rmh@gnu.org>
4376
4377 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
4378
4379 * include/grub/util/libnvpair.h: Include `<config.h>'.
4380 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
4381 declaring libnvpair prototypes ourselves.
4382 * include/grub/util/libzfs.h: Include `<config.h>'.
4383 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
4384 declaring libzfs prototypes ourselves.
4385
4386 (libzfs_handle): Moved to ...
4387 * include/grub/util/misc.h (libzfs_handle): ... here.
4388 Include `<grub/util/libzfs.h>'.
4389
c9a00aee
RM
43902010-07-30 Robert Millan <rmh@gnu.org>
4391
4392 * include/grub/emu/misc.h: Add missing license header.
4393
a184f9c8
RM
43942010-07-30 Robert Millan <rmh@gnu.org>
4395
4396 Enable `grub-probe -t device' resolution on ZFS.
4397
4398 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
4399 * include/grub/util/libnvpair.h: New file.
4400 * include/grub/util/libzfs.h: New file.
4401
4402 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
4403 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
4404 `<grub/util/libnvpair.h>'.
4405 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
4406
4407 (find_mount_point_from_dir): New static function.
4408 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
4409 function.
4410 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
4411 find_root_device_from_libzfs() before ressorting to find_root_device().
4412
4413 * include/grub/util/misc.h (grub_util_init_libzfs): New function
4414 prototype.
4415 * util/misc.c: Include `<grub/util/libzfs.h>'.
4416 (grub_util_init_libzfs): New function.
4417 [HAVE_LIBZFS] (libzfs_handle): New global variable.
4418 [HAVE_LIBZFS] (fini_libzfs): New static function.
4419 (grub_util_init_libzfs): New function.
4420 * util/grub-probe.c (main): Call grub_util_init_libzfs().
4421
f7790cdd
RM
44222010-07-30 Robert Millan <rmh@gnu.org>
4423
4424 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
4425 (xmalloc, xrealloc, xstrdup, xasprintf): Add
4426 `warn_unused_result' attribute.
4427 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
4428 (grub_xasprintf, grub_xvasprintf): Likewise.
4429 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
4430
0806b63c
RM
44312010-07-29 Robert Millan <rmh@gnu.org>
4432
4433 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
4434 (probe): Handle `PRINT_FS_LABEL'.
4435 (main): Handle `-t fs_label'.
4436
9f841f5c
RM
44372010-07-29 Robert Millan <rmh@gnu.org>
4438
4439 * configure.ac: Remove grub-mkisofs checks.
4440
46371121
VS
44412010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * util/ieee1275/grub-install.in: Don't use empty grub_device.
4444 Reported by: Lennart Sorensen.
4445
44462010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
4449 prior to terminal_input/terminal_output separation. It's been over 1.5
4450 years and those versions weren't widely deployed.
4451
a9600892
CW
44522010-07-22 Colin Watson <cjwatson@ubuntu.com>
4453
4454 * disk/raid.c (insert_array): Don't count named arrays when looking
4455 for unused array numbers.
697e053c 4456 Reported and tested by: Michael Guntsche.
a9600892 4457
c03507df
CW
44582010-07-20 Colin Watson <cjwatson@ubuntu.com>
4459
4460 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
4461 implementation of this so that grub-emu links again, with a note
4462 that this should support hotplugging in the future.
4463
b26f1c11
CW
44642010-07-20 Colin Watson <cjwatson@ubuntu.com>
4465
4466 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4467
efc9d7f1
CW
44682010-07-20 Colin Watson <cjwatson@ubuntu.com>
4469
4470 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
4471 handle on failure.
4472 (grub_loopback_close): Remove empty function.
4473 (grub_loopback_dev): Remove close method.
4474
dd8ff5c9
CW
44752010-07-20 Colin Watson <cjwatson@ubuntu.com>
4476
4477 Disable EFI cursor when the EFI console becomes inactive.
4478
4479 * term/efi/console.c (grub_efi_console_init): New function.
4480 (grub_efi_console_fini): New function.
4481 (grub_console_term_output): Register init and fini methods.
4482
5e3bec67
VS
44832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * tests/util/grub-shell-tester.in: Remove bashism and declare as
4486 sh script.
4487
afaec079
VS
44882010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * disk/loopback.c (grub_loopback): Replace filename with file.
4491 (delete_loopback): Handle new semantics.
4492 (grub_cmd_loopback): Likewise.
4493 (grub_loopback_iterate): Likewise.
4494 (grub_loopback_close): Likewise.
4495
a6a11f3c
VS
44962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
4499 with -p "".
4500 Reported by: Tito Keitel.
4501
64a638b0
VS
45022010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * docs/grub.texi (Naming convention): Document new naming convention.
4505
ab8ba957
VS
45062010-07-20 Vadim Solomin <vadic052@gmail.com>
45072010-07-20 Colin Watson <cjwatson@ubuntu.com>
4508
4509 Generate device.map in something closer to the old ordering.
4510
4511 * util/deviceiter.c (struct device): New declaration.
4512 (compare_file_names): Rename to ...
4513 (compare_devices): ... this. Sort by kernel name in preference to
4514 the stable by-id name, but keep the latter as a fallback comparison.
4515 Update header comment.
4516 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
4517 of `struct device' rather than of plain file names.
4518
a29d6a4b
TF
45192010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
4520
4521 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
4522 on i386.
4523
39d824e8
VS
45242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * commands/acpi.c (setup_common_tables): Use sizeof instead of
4527 hardcoding size.
4528 (setv1table): Likewise.
4529
f058276b
FZ
45302010-07-20 Colin Watson <cjwatson@ubuntu.com>
4531
4532 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
4533 removing the homehost if present.
4534 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
4535 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
4536 removing the homehost if present.
4537 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
4538 if possible.
4539 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4540
4541 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4542 parameter. Set its pointer target to 0.
4543 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4544 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4545 `data_offset' value from the superblock for 1.x metadata.
4546 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4547 data on the device.
4548 (insert_array): Record the start sector of data on the device.
4549 (grub_raid_register): Pass start_sector parameters to
4550 grub_raid_list->detect and insert_array.
4551 * include/grub/raid.h (struct grub_raid_array): Add start_sector
4552 member.
4553 (struct grub_raid): Add start_sector parameter to `detect'.
4554
4555 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
4556 __attribute__ ((packed)), leaving a comment.
4557 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
4558 (grub_mdraid_detect_09): ... here and ...
4559 (grub_mdraid_detect_1x): ... here.
4560
45612010-07-20 Peter Henn <peter.henn@web.de>
4562
4563 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
4564 chunk size and disk size, which are already given as sector counts
4565 as distinct from the 0.90 units. Fetch the correct device number
4566 from the role table instead of using the table index.
4567
45682010-07-20 Felix Zielcke <fzielcke@z-51.de>
4569
4570 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
4571 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
4572 (WriteMostly1): New macro.
4573 Set array->name to NULL for metadata format 0.90. Add support for
4574 metadata 1.x. Fix some comments.
4575 * disk/raid.c (): Add support for name based RAID arrays. Fix a
4576 few comments.
4577 * util/getroot.c (grub_util_get_grub_dev): Add support for
4578 /dev/md/name style devices.
4579
4b761da9
CW
45802010-07-20 Colin Watson <cjwatson@ubuntu.com>
4581
4582 * .bzrignore: Ignore 20_linux_xen.
4583
5771289a
CW
45842010-07-17 Colin Watson <cjwatson@ubuntu.com>
4585
4586 * util/import_unicode.py: Remove unnecessary imports.
4587
5dab68df
AN
45882010-07-17 Aleš Nesrsta <starous@volny.cz>
4589
4590 Hotplugging and USB hub support.
4591
4592 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4593 (grub_ohci): Likewise.
4594 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4595 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4596 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4597 (GRUB_OHCI_CTRL_EDS): Likewise.
4598 (GRUB_OHCI_BULK_EDS): Likewise.
4599 (GRUB_OHCI_TDS): Likewise.
4600 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4601 (grub_ohci_ed_phys2virt): New function.
4602 (grub_ohci_virt_to_phys): Likewise.
4603 (grub_ohci_td_phys2virt): Likewise.
4604 (grub_ohci_td_virt2phys): Likewise.
4605 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4606 attachment.
4607 (grub_ohci_find_ed): New function.
4608 (grub_ohci_alloc_td): Likewise.
4609 (grub_ohci_free_td): Likewise.
4610 (grub_ohci_free_tds): Likewise.
4611 (grub_ohci_transfer): Use previously allocated memory.
4612 (grub_ohci_portstatus): Reset status changed bit.
4613 (grub_ohci_detect_dev): Supply status changed.
4614 (grub_ohci_fini_hw): Free memory.
4615 (grub_ohci_restore_hw): Reallocate memory.
4616 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4617 Reset status change.
4618 (grub_uhci_detect_dev): Supply status_change.
4619 * bus/usb/usb.c (attach_hooks): New var.
4620 (grub_usb_device_attach): New function.
4621 (grub_usb_register_attach_hook_class): Likewise.
4622 (grub_usb_unregister_attach_hook_class): Likewise.
4623 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4624 (grub_usb_add_hub): Reset connection changed bit.
4625 (attach_root_port): New function.
4626 (grub_usb_root_hub): Likewise.
4627 (poll_nonroot_hub): Likewise.
4628 (grub_usb_poll_devices): Likewise.
4629 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4630 * disk/usbms.c (grub_usbms_open): Use device hooks.
4631 (grub_usbms_iterate) :Poll devices.
4632 (grub_usbms_finddevs): Split into ...
4633 (grub_usbms_attach): ... this ...
4634 (grub_usbms_attach): ... and this.
4635 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4636 in detect_dev.
4637 (grub_usb_interface): New fields attached and detach_hook.
4638 (grub_usb_attach_hook_class): New type.
4639 (grub_usb_attach_desc): New struct.
4640 (grub_usb_register_attach_hook_class): New function.
4641 (grub_usb_unregister_attach_hook_class): Likewise.
4642 (grub_usb_poll_devices): Likewise.
4643 (grub_usb_device_attach): Likewise.
4644 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4645 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4646
3222efaf
VS
46472010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4650 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4651 delta determination style. Works with most NetBSD partitions too.
4652
139b714a
VS
46532010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4656 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4657
986aad56
VS
46582010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4659
4660 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4661
99be513c
AB
46622010-07-14 Anton Blanchard <anton@samba.org>
4663
4664 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4665 ET_DYN files.
4666
18075f62
GS
46672010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4668
4669 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4670
8d9a5b15
GS
46712010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4672
4673 * kern/partition.c (grub_partition_check_containment): New function to
4674 check that a partition is physically contained in a parent. Since
4675 offsets are relative (and non-negative), this reduces to checking that
4676 the partition ends before its parent.
4677 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4678 (grub_partition_iterate): Likewise.
4679 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4680 comments.
4681 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4682 partitions that start before their parent, and add debug printfs.
4683
19563c25
CW
46842010-07-13 Colin Watson <cjwatson@ubuntu.com>
4685
4686 * Makefile.in (.SUFFIX): Spell correctly, as ...
4687 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4688 bare module name without `.mod', e.g. `test') tried to invoke a
4689 Modula-2 compiler.
4690
1a1f1e67
CW
46912010-07-13 Colin Watson <cjwatson@ubuntu.com>
4692
4693 * README: Point to the Info manual.
4694
811b0dca
JS
46952010-07-13 Jiro SEKIBA <jir@unicus.jp>
4696
4697 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4698 2nd superblock position from partition size.
4699
e4f4eafc
CW
47002010-07-10 Colin Watson <cjwatson@ubuntu.com>
4701
4702 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4703 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4704 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4705 outputs.
4706
4274c30f
VS
47072010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4708
4709 Restructure SCSI .id handling.
4710 Reported and tested by: Aleš Nesrsta.
4711
4712 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4713 (grub_atapi_dev): Changed .name to "ata". New field .id.
4714 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4715 (grub_usbms_dev): New field .id.
4716 * disk/scsi.c (grub_scsi_iterate): Generate name.
4717 (grub_scsi_open): Parse name.
4718 * include/grub/scsi.h (grub_make_scsi_id): New function.
4719 (grub_scsi_dev): Change iterate and open to number instead of naming
4720 busses. All users updated.
4721 (grub_scsi): Remove name. Add .bus.
4722
5bc24388
VS
47232010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * commands/help.c (grub_cmd_help): Fix a typo.
4726
249975ba
VS
47272010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4730 Reported and tested by: Colin Watson.
4731
3eaac1a1
VS
47322010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4735 in this context.
4736
becce1b1
VS
47372010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4740
f7bf0918
CW
47412010-07-07 Colin Watson <cjwatson@ubuntu.com>
4742
4743 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4744 indentation.
4745
0b0f9620
CW
47462010-07-06 Colin Watson <cjwatson@ubuntu.com>
4747
4748 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4749 and disk/raid6_recover.c.
4750 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4751 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4752
1e545469
CW
47532010-07-06 Colin Watson <cjwatson@ubuntu.com>
4754
4755 * term/gfxterm.c (repaint_schedulded): Rename to ...
4756 (repaint_scheduled): ... this. Update all callers.
4757 (repaint_was_schedulded): Rename to ...
4758 (repaint_was_scheduled): ... this. Update all callers.
4759
5357687a
CW
47602010-07-06 Colin Watson <cjwatson@ubuntu.com>
4761
4762 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4763 which we expect to be handled by upper layers.
4764
29d7e783
BC
47652010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4766
4767 * bus/usb/usbhub.c: #include time.h header.
4768
37582066
CW
47692010-07-06 Colin Watson <cjwatson@ubuntu.com>
4770
4771 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4772 entry_name also for entries without stat blocks (e.g. ".."); fixes
4773 corruption of the first entry in a directory.
4774
c8c06953
CW
47752010-07-06 Colin Watson <cjwatson@ubuntu.com>
4776
4777 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4778 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4779 doesn't work otherwise.
4780
e75056f1
CW
47812010-07-05 Colin Watson <cjwatson@ubuntu.com>
4782
4783 * docs/grub.texi (Features): Update list of supported file systems.
4784 (GNU/Linux): Update for GRUB 2.
4785 (Serial terminal): Remove mention of --disable-serial, which was a
4786 GRUB Legacy configure option. Update instructions to use
4787 `terminal_input' and `terminal_output' rather than `terminal'.
4788 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4789 configuration' and `Installing GRUB using grub-install'.
4790 (Menu entry editor): Update for GRUB 2.
4791 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4792 Document new -a, -u, and -v options.
4793 (initrd): New section.
4794 (initrd16): New section.
4795 (linux): New section.
4796 (linux16): New section.
4797 (search): The `var' argument to `--set' is optional.
4798 (GRUB only offers a rescue shell): Go into a little more detail on
4799 drive ordering.
4800
5cf69151
CW
48012010-07-05 Colin Watson <cjwatson@ubuntu.com>
4802
4803 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4804
e3f90044
CW
48052010-07-05 Colin Watson <cjwatson@ubuntu.com>
4806
4807 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4808 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4809
38d8f4f3
CW
48102010-07-05 Colin Watson <cjwatson@ubuntu.com>
4811
4812 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4813 install_prefix, in line with install_dos_part and install_bsd_part.
4814 Add new prefix variable, which is copied to install_prefix after
4815 comparing core.img in memory with the one read from disk in the
4816 no-embedding case, and use that rather than overwriting
4817 install_prefix immediately when installing to a partition.
4818 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4819 Bicakci.
4820
57ebd41e
GS
48212010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4822
4823 * configure.ac: Avoid == in test command, it's not portable.
4824 * util/grub.d/30_os-prober.in: Likewise.
4825
cb7f64b2
CW
48262010-07-04 Colin Watson <cjwatson@ubuntu.com>
4827
4828 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4829
6b654bb0
GS
48302010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4831
4832 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4833 multiple (top-level) partmaps.
4834
72a2026d
VS
48352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 4838 Reported by: Tino Keitel.
72a2026d 4839
df3eb88f
VS
48402010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 Bidi and diacritics support.
4843
4844 * Makefile.in (widthspec.bin): New target.
4845 (widthspec.h): Likewise.
4846 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4847 * autogen.sh: Generate unidata.c.
4848 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4849 * commands/ls.c (grub_ls_list_devices): Likewise.
4850 (grub_ls_list_files): Likewise.
4851 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4852 (grub_mini_cmd_lsmod): Likewise.
4853 * commands/read.c: Likewise.
4854 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4855 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4856 * lib/arg.c (grub_arg_show_help): Likewise.
4857 * lib/crypto.c (grub_password_get): Likewise.
4858 * normal/auth.c (grub_username_get): Likewise.
4859 * normal/misc.c (grub_normal_print_device_info): Likewise.
4860 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4861 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4862 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4863 (normal/charset.c_DEPENDENCIES): New variable.
4864 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4865 (pkglib_MODULES): Remove charset.mod.
4866 (charset_mod_SOURCES): Removed.
4867 (charset_mod_CFLAGS): Likewise.
4868 (charset_mod_LDFLAGS): Likewise.
4869 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4870 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4871 and term/tparm.c.
4872 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4873 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4874 (kernel_img_HEADERS): Add terminfo.h.
4875 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4876 Fill ->font. Reverse ascii bitmaps.
4877 (grub_font_get_xheight): New function.
4878 * font/font.c (grub_font_get_string_width): Moved from here ...
4879 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4880 * font/font.c (grub_font_draw_string): Moved from here ...
4881 * gfxmenu/font.c (grub_font_draw_string): ... here.
4882 * font/font.c (grub_font_dup_glyph): New function.
4883 (grub_font_blit_glyph): Likewise.
4884 (grub_font_blit_glyph_mirror): Likewise.
4885 (blit_comb): Likewise.
4886 (grub_font_construct_dry_run): Likewise.
4887 (grub_font_get_constructed_device_width): Likewise.
4888 (grub_font_construct_glyph): Likewise.
4889 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4890 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4891 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4892 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4893 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4894 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4895 (grub_font_get_xheight): New proto.
4896 (grub_font_get_constructed_device_width): Likewise.
4897 (grub_font_construct_glyph): Likewise.
4898 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4899 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4900 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4901 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4902 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4903 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4904 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4905 (grub_console_getcharwidth): Likewise.
4906 * include/grub/misc.h (grub_xputs): New proto.
4907 (grub_puts): Inlined.
4908 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4909 (grub_normal_get_line_counter): Removed.
4910 (grub_install_newline_hook): Likewise.
4911 (grub_normal_get_char_counter): New proto.
4912 (grub_normal_reset_more): Likewise.
4913 (grub_xputs_normal): Likewise.
4914 * include/grub/powerpc/ieee1275/console.h: Removed.
4915 * include/grub/sparc64/ieee1275/console.h: Likewise.
4916 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4917 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4918 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4919 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4920 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4921 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4922 (grub_term_input): Pass reference to self. All users updated.
4923 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4924 Pass reference to self. New fields normal_color, highlight_color and
4925 data. All users updated.
4926 (grub_putchar): Removed.
4927 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
4928 (grub_unicode_estimate_width): New function.
4929 (grub_term_getcharwidth): Add defaults.
4930 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
4931 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
4932 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
4933 (grub_cls): Remove EXPORT_FUNC.
4934 (grub_setcolorstate): Inline.
4935 (grub_newline_hook): Removed.
4936 * include/grub/terminfo.h: Rewritten. All users updated.
4937 * include/grub/unicode.h: New file.
4938 * include/grub/video.h (grub_video_signed_rect): New type.
4939 * kern/emu/console.c (grub_console_highlight_color): Removed.
4940 (grub_console_normal_color): Likewise.
4941 (grub_console_standard_color): Made static.
4942 (grub_ncurses_putchar): Remove mapping.
4943 (grub_ncurses_getcharwidth): Removed.
4944 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
4945 (grub_ncurses_setcolor): Removed.
4946 (grub_ncurses_getcolor): Likewise.
4947 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
4948 (grub_console_putchar): ... this.
4949 (grub_console_putchar): Handle argument difference.
4950 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
4951 console_init_early and console_init_lately.
4952 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
4953 * kern/misc.c (grub_puts): Removed.
4954 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
4955 (grub_vsnprintf_real): Remove str = NULL support.
4956 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
4957 * normal/charset.c (grub_utf8_to_ucs4): ... here.
4958 * kern/term.c (grub_putcode): Renamed to ...
4959 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
4960 (grub_putchar): Removed.
4961 (grub_xputs_dumb): New function.
4962 (grub_xputs): New variable.
4963 * lib/charset.c: Move from here ...
4964 * normal/charset.c: ... to here.
4965 (grub_ucs4_to_utf8): New function.
4966 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
4967 (join_types): New variable.
4968 (unpack_join): New function.
4969 (bidi_types): New variable.
4970 (unpack_bidi): New function.
4971 (get_bidi_type): Likewise.
4972 (get_join_type): Likewise.
4973 (is_mirrored): Likewise.
4974 (grub_unicode_get_comb_type): Likewise.
4975 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
4976 (is_type_after): Likewise.
4977 (grub_unicode_aglomerate_comb): Likewise.
4978 (bidi_line_wrap): Likewise.
4979 (grub_bidi_line_logical_to_visual): Likewise.
4980 (grub_bidi_logical_to_visual): Likewise.
4981 (grub_unicode_mirror_code): Likewise.
4982 (grub_unicode_shape_code): Likewise.
4983 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
4984 Don't use grub_putchar.
4985 * normal/main.c (grub_normal_init_page): Use grub_putcode.
4986 (grub_normal_reader_init): Likewise.
4987 (grub_xputs_saved): New variable.
4988 (GRUB_MOD_INIT): Set grub_xputs.
4989 (GRUB_MOD_FINI): Restore grub_xputs.
4990 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
4991 (menu_init): Avoid printing gfxmenu error.
4992 (show_menu): Use grub_normal_get_char_counter.
4993 * normal/menu_entry.c (update_screen): Fix out-of-array.
4994 (complete): Avoid NULL dereferencing.
4995 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
4996 * normal/menu_text.c (print_spaces): Removed.
4997 (grub_print_ucs4): Likewise.
4998 (grub_print_message_indented): Use grub_print_ucs4.
4999 (print_message): Use grub_putcode.
5000 (print_entry): Hanlde diacritics.
5001 * normal/term.c (term_state): New type.
5002 (grub_more_lines): Removed.
5003 (term_states): New variable.
5004 (grub_normal_line_counter): Renamed to ..
5005 (grub_normal_char_counter): ...this. All users updated.
5006 (grub_normal_get_line_counter): Renamed to ...
5007 (grub_normal_get_char_counter): ... this.
5008 (grub_normal_reset_more): New function.
5009 (process_newline): Removed.
5010 (print_more): New function.
5011 (grub_install_newline_hook): Removed.
5012 (map_code): New function.
5013 (grub_puts_terminal): Use grub_print_ucs4.
5014 (putglyph): New function.
5015 (putcode_real): Likewise.
5016 (grub_putcode): Use putcode_real.
5017 (get_maxwidth): New function.
5018 (get_startwidth): Likewise.
5019 (print_ucs4_terminal): Likewise.
5020 (find_term_state): Likewise.
5021 (put_glyphs_terminal): Likewise.
5022 (print_backlog): Likewise.
5023 (print_ucs4_real): Likewise.
5024 (grub_print_ucs4): Likewise.
5025 (grub_xputs_normal): Likewise.
5026 * term/efi/console.c (grub_console_putchar): Output diacritics.
5027 (grub_console_getcharwidth): Removed.
5028 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5029 * term/gfxterm.c (clear_char): Free chars.
5030 (scroll_up): Avoid leaking memory.
5031 (grub_gfxterm_putchar): Support diacritics.
5032 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5033 * term/i386/pc/console.c (grub_console_term_output): Declare as
5034 GRUB_TERM_CODE_TYPE_VGA.
5035 * term/i386/pc/vga.c (grub_vga_term): Declare as
5036 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
5037 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
5038 GRUB_TERM_CODE_TYPE_VGA.
5039 * term/i386/vga_common.c (map_char): Removed.
5040 (grub_console_putchar): Likewise.
5041 (grub_console_getcharwidth): Likewise.
5042 * term/ieee1275/ofconsole.c: Simplify using terminfo.
5043 (colors): Reordered to match terminfo.
5044 (grub_ofconsole_normal_color): Removed.
5045 (grub_ofconsole_writeesc): Likewise.
5046 (grub_ofconsole_highlight_color): Likewise.
5047 (grub_ofconsole_getcharwidth): Likewise.
5048 (grub_ofconsole_setcolorstate): Likewise.
5049 (grub_ofconsole_setcolor): Likewise.
5050 (grub_ofconsole_getcolor): Likewise.
5051 (grub_ofconsole_readkey): Renamed to ...
5052 (readkey): ... this. Remove escape sequence handling. Return -1 on no
5053 key.
5054 (grub_ofconsole_checkkey): Removed.
5055 (grub_ofconsole_getkey): Likewise.
5056 (grub_ofconsole_getxy): Likewise.
5057 (grub_ofconsole_gotoxy): Likewise.
5058 (grub_ofconsole_cls): Likewise.
5059 (grub_ofconsole_refresh): Likewise.
5060 (grub_ofconsole_terminfo_input): New struct.
5061 (grub_ofconsole_terminfo_output): Likewise.
5062 (grub_ofconsole_term_input): Use terminfo.
5063 (grub_ofconsole_term_output): Likewise.
5064 (grub_console_init): Split into ...
5065 (grub_console_init_early): ...this and ...
5066 (grub_console_init_lately): ...this. Use terminfo.
5067 (grub_ofconsole_putchar): Renamed to ...
5068 (put): ... this. Remove mapping.
5069 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5070 * term/serial.c: Simplify using terminfo.
5071 (xpos): Removed.
5072 (ypos): Likewise.
5073 (keep_track): Likewise.
5074 (registered): Likewise.
5075 (input_buf): Likewise.
5076 (npending): Likewise.
5077 (serial_translate_key_sequence): Likewise.
5078 (fill_input_buf): Likewise.
5079 (grub_serial_checkkey): Likewise.
5080 (grub_serial_getkey): Likewise.
5081 (grub_serial_getxy): Likewise.
5082 (grub_serial_gotoxy): Likewise.
5083 (grub_serial_putchar): Likewise.
5084 (grub_serial_cls): Likewise.
5085 (grub_serial_setcolorstate): Likewise.
5086 (grub_serial_setcursor): Likewise.
5087 (serial_hw_init): Use serial_hw_fetch.
5088 (grub_serial_terminfo_input): New variable.
5089 (grub_serial_terminfo_output): Likewise.
5090 (grub_serial_term_input): Use terminfo.
5091 (grub_serial_term_output): Likewise.
5092 * term/terminfo.c (putstr): Use put.
5093 (grub_terminfo_all_free): New function
5094 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
5095 (grub_terminfo_output_register): New function.
5096 (grub_terminfo_output_unregister): Likewise.
5097 (grub_terminfo_getxy): Likewise.
5098 (grub_terminfo_readkey): Likewise.
5099 (grub_terminfo_checkkey): Likewise.
5100 (grub_terminfo_getkey): Likewise.
5101 (grub_terminfo_input_init): Likewise.
5102 (print_terminfo): Likewise.
5103 (grub_cmd_terminfo): Handle encoding.
5104 (grub_terminfo_gotoxy): Track position.
5105 (grub_terminfo_cls): Likewise.
5106 (grub_terminfo_putchar): Likewise.
5107 (grub_terminfo_setcolorstate): Handle colors
5108 (grub_terminfo_cursor_on): This ...
5109 (grub_terminfo_cursor_off): ... and this merged into ...
5110 (grub_terminfo_setcursor): ... this.
5111 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
5112 * unicode/ArabicShaping.txt: New file (imported from Unicode).
5113 * unicode/BidiMirroring.txt: Likewise.
5114 * unicode/UnicodeData.txt: Likewise.
5115 * unicode/COPYING: Likewise.
5116 * util/grub-editenv.c (grub_putchar): Removed.
5117 (grub_xputs_real): New function.
5118 (grub_xputs): New variable.
5119 * util/grub-fstest.c (grub_putchar): Removed.
5120 (grub_xputs_real): New function.
5121 (grub_xputs): New variable.
5122 * util/grub-mkdevicemap.c (grub_putchar): Removed.
5123 (grub_xputs_real): New function.
5124 (grub_xputs): New variable.
5125 * util/grub-probe.c (grub_putchar): Removed.
5126 (grub_xputs_real): New function.
5127 (grub_xputs): New variable.
5128 * util/grub-script-check.c (grub_putchar): Removed.
5129 (grub_xputs_real): New function.
5130 (grub_xputs): New variable.
5131 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
5132 (grub_xputs_real): New function.
5133 (grub_xputs): New variable.
5134 * util/import_unicode.py: New file.
5135 * util/grub-mkfont.c (ft_errmsgs): New array.
5136 (grub_glyph_info): Make bitmap a pointer.
5137 (file_formats): New type WIDTH_SPEC.
5138 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
5139 (options): Add width-spec.
5140 (help): Likewise.
5141 (add_char): Renamed to ...
5142 (add_glyph): ... this.
5143 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
5144 (glyph_replace): New type.
5145 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
5146 (add_char): New function.
5147 (add_subst): Likewise.
5148 (process_cursive): Likewise.
5149 (add_font): Handle GSUB.
5150 (write_font_width_spec): New function.
5151 (main): Sort glyphs.
5152 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
5153 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
5154 * kern/term.c (grub_cls): Moved from here...
5155 * normal/term.c (grub_cls): ... here.
5156
50f0bcda
CW
51572010-07-02 Colin Watson <cjwatson@ubuntu.com>
5158
5159 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
5160 suitable for using within the format argument of printf when
5161 converting grub_size_t.
5162 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
5163 "x" to convert grub_size_t arguments.
5164
40372103
VS
51652010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
5168 too long captions.
5169 (list_get_minimal_size): Take selection box into account.
5170
942a10c7
VS
51712010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
5174 NULL font.
5175
2bdb2892
CW
51762010-07-02 Colin Watson <cjwatson@ubuntu.com>
5177
5178 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
5179 devices when iterating over /dev/disk/by-id; they will be handled
5180 later if appropriate, which they aren't always (e.g. LVM).
5181
e03ed6c1
CW
51822010-07-02 Colin Watson <cjwatson@ubuntu.com>
5183
5184 * include/grub/misc.h (grub_reboot): Declare as noreturn.
5185 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
5186 fails.
5187 (grub_halt): Likewise.
5188 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
5189 reset-all fails.
5190 (grub_halt): Don't return, even if all of shut-down, power-off, and
5191 poweroff fail.
5192
47695765
CW
51932010-07-02 Colin Watson <cjwatson@ubuntu.com>
5194
5195 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
5196 arguments, not three.
5197
507736c8
CW
51982010-07-02 Colin Watson <cjwatson@ubuntu.com>
5199
5200 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
5201 * util/grub.d/10_linux.in: Use it to check for LVM, so that
5202 LVM-on-RAID is handled correctly.
5203
e3c8cd37
CW
52042010-07-02 Colin Watson <cjwatson@ubuntu.com>
5205
5206 * docs/grub.texi (Changes from GRUB Legacy): New section.
5207 (Future): Fix typo.
5208
8d4a2fec
CW
52092010-07-02 Colin Watson <cjwatson@ubuntu.com>
5210
5211 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
5212 grub.d/README accidentally ends up executable for one reason or
5213 another. Ignore it.
5214
1c4827be
VS
52152010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
5218 (gpt_partition_map_iterate): Support non-512B sectors.
5219
d9a0c941
VS
52202010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * kern/efi/init.c (grub_efi_init): Disable watchdog.
5223 Tested by: Seth Goldberg.
5224
48f27e87
VS
52252010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
5228 Properly align mbi.
5229 Reported by: Seth Goldberg.
5230
b0c4f956
VS
52312010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * util/grub-mkrescue.in: Avoid module duplication.
5234
105a2e8c
SF
52352010-07-01 Sean Finney <seanius@seanius.net>
5236
5237 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
5238
5944958c
SF
52392010-07-01 Sean Finney <seanius@seanius.net>
5240
5241 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
5242
52432010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * disk/lvm.c (grub_lvm_checkvalue): New function.
5246 (grub_lvm_check_flag): Likewise.
5247
b79889ba
RM
52482010-07-01 Robert Millan <rmh@gnu.org>
5249
5250 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
5251 Support 'p' as partition separator on kernel of FreeBSD (used
5252 with GPT labels).
5253 (grub_util_biosdisk_get_grub_dev): Likewise.
5254
ec1d04f1
VS
52552010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 Yeeloong firmware port.
5258
5259 * boot/mips/yeeloong/fwstart.S: New file.
5260 * bus/cs5536.c (gpiodump): New const.
5261 (set_io_space): New function.
5262 (set_iod): Likewise.
5263 (set_p2d): Likewise.
5264 (grub_cs5536_init_geode): Likewise.
5265 * commands/mips/yeeloong/lsspd.c: New file.
5266 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
5267 (serial_mod_SOURCES): New variable.
5268 (serial_mod_CFLAGS): Likewise.
5269 (serial_mod_LDFLAGS): Likewise.
5270 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
5271 term/terminfo.c and term/tparm.c.
5272 (pkglib_IMAGES): Add fwstart.img.
5273 (fwstart_img_SOURCES): New variable.
5274 (fwstart_img_CFLAGS): Likewise.
5275 (fwstart_img_ASFLAGS): Likewise.
5276 (fwstart_img_LDFLAGS): Likewise.
5277 (fwstart_img_FORMAT): Likewise.
5278 (pkglib_MODULES): Add lsspd.mod.
5279 (lsspd_mod_SOURCES): New variable.
5280 (lsspd_mod_CFLAGS): Likewise.
5281 (lsspd_mod_LDFLAGS): Likewise.
5282 (pkglib_MODULES): Add halt.mod.
5283 (halt_mod_SOURCES): New variable.
5284 (halt_mod_CFLAGS): Likewise.
5285 (halt_mod_LDFLAGS): Likewise.
5286 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
5287 (serial_mod_SOURCES): Removed.
5288 (serial_mod_CFLAGS): Likewise.
5289 (serial_mod_LDFLAGS): Likewise.
5290 * disk/ata.c (check_device): New function.
5291 (grub_ata_device_initialize): Use check_device.
5292 (grub_ata_iterate): Recheck devices.
5293 (grub_ata_open): Likewise.
5294 (grub_atapi_iterate): Likewise.
5295 (grub_atapi_open): Likewise.
5296 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
5297 (GRUB_ATA_CH1_PORT1): Likewise.
5298 (GRUB_ATA_CH0_PORT2): Likewise.
5299 (GRUB_ATA_CH1_PORT2): Likewise.
5300 * include/grub/mips/loongson.h: New file.
5301 * include/grub/mips/yeeloong/ec.h: Likewise.
5302 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
5303 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
5304 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
5305 * include/grub/misc.h (grub_halt): Declare as noreturn.
5306 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
5307 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
5308 (UART_ENABLE_FIFO_TRIGGER1): New definition.
5309 (UART_ENABLE_DTRRTS): Likewise.
5310 (UART_ENABLE_MODEM): Removed.
5311 (UART_ENABLE_OUT2): New const.
5312 * include/grub/term.h (grub_term_register_input_active): New function.
5313 (grub_term_register_output_active): Likewise.
5314 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
5315 argument.
5316 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
5317 (init_pci): New function.
5318 (grub_machine_init): Execute platform init when firmware. Init serial.
5319 (grub_halt): Implement.
5320 (grub_exit): Likewise.
5321 (grub_reboot): Likewise.
5322 * term/serial.c (serial_hw_init): Update macros.
5323 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
5324 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
5325 (image_targets): New target mipsel-yeeloong-flash.
5326 (generate_image): Support IMAGE_YEELOONG_FLASH.
5327 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
5328 (grub_video_sm712_setup): Init card.
5329 (grub_video_sm712_set_palette): Removed.
5330 * video/sm712_init.c: New file.
5331
ff4a70d2
CW
53322010-06-30 Colin Watson <cjwatson@ubuntu.com>
5333
5334 * Makefile.in (install-local): Temporarily prepend $(builddir) to
5335 PATH when running help2man and then run it on the unadorned
5336 executable names, rather than passing $(builddir)/* paths to
5337 help2man. This avoids the build directory ending up in generated
5338 manual pages.
5339
1246efeb
CW
53402010-06-29 Colin Watson <cjwatson@ubuntu.com>
5341
5342 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
5343 to avoid accidents when debugging with 'sh -x'.
5344 * util/grub-mkrescue.in: Likewise.
5345 * util/grub.d/00_header.in: Likewise.
5346 * util/grub.d/10_hurd.in: Likewise.
5347 * util/grub.d/10_kfreebsd.in: Likewise.
5348 * util/grub.d/10_linux.in: Likewise.
5349 * util/grub.d/10_netbsd.in: Likewise.
5350 * util/grub.d/10_windows.in: Likewise.
5351 * util/grub.d/20_linux_xen.in: Likewise.
5352 * util/grub.d/30_os-prober.in: Likewise.
5353 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5354
1ba9b889
CW
53552010-06-29 Colin Watson <cjwatson@ubuntu.com>
5356
5357 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
5358 last character in the buffer.
5359 Reported by: Vladimir Serbinenko.
5360
dccaf99d
RM
53612010-06-29 Robert Millan <rmh@gnu.org>
5362
5363 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
5364 (Command-line and menu entry commands): Document `badram' command.
5365
d500ed12
RM
53662010-06-28 Robert Millan <rmh@gnu.org>
5367
5368 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
5369 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
5370 command using ${GRUB_BADRAM} as parameter.
5371
20bc84a6
CW
53722010-06-28 Colin Watson <cjwatson@ubuntu.com>
5373
5374 * docs/grub.texi (Device map): New section.
5375 (Themes): New section (stub).
5376 * Makefile.in (docs/grub.info): The info documentation now builds
5377 without errors. Make sure it stays that way.
5378
4045dee1
VS
53792010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 Use normal parser for menu entries.
5382 Reported by: Thomas Frauendorfer
5383
5384 * include/grub/parser.h (grub_parser_execute): Don't export.
5385 * normal/menu.c (grub_menu_execute_entry_real): New function.
5386 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
5387
bca58c7b
CW
53882010-06-28 Colin Watson <cjwatson@ubuntu.com>
5389
5390 * docs/grub.texi (Embedded configuration): New section (replacing
5391 old "Preset Menu" stub).
5392 (Images): New section.
5393 (configfile): Note that any menu entries defined in `file' are shown
5394 immediately.
5395
dec53e63
JT
53962010-06-28 Josh Triplett <josh@joshtriplett.org>
5397
5398 * mmap/i386/pc/mmap_helper.S: Set CF on return.
5399
c06e40f7
CW
54002010-06-28 Colin Watson <cjwatson@ubuntu.com>
5401
5402 * util/grub-install.in: Add --debug-image= option.
5403
cb88052b
CW
54042010-06-28 Colin Watson <cjwatson@ubuntu.com>
5405
5406 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
5407 possible on Linux.
5408
5409 * util/deviceiter.c (check_device): Rename to ...
5410 (check_device_readable_unique): ... this. Update all callers.
5411 Maintain and check a list of which devices (by canonicalized name)
5412 have already been seen.
5413 (clear_seen_devices): New function.
5414 (compare_file_names) [__linux__]: New function.
5415 (grub_util_iterate_devices): Clear the list of seen devices on exit
5416 and (just in case) on entry.
5417 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
5418 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
5419 seen-devices list, superseded by general code in check_device.
5420
bbe34652
CW
54212010-06-28 Colin Watson <cjwatson@ubuntu.com>
5422
5423 * commands/cat.c (options): New variable.
5424 (grub_cmd_cat): Parse options. If the --dos option is given, print
5425 DOS-style "\r\n" line endings as simple newlines (Debian bug
5426 #586358).
5427 (GRUB_MOD_INIT): Use extcmd.
5428 (GRUB_MOD_FINI): Likewise.
5429 * docs/grub.texi (cat): Document --dos.
5430
412e09f3
VS
54312010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5432
5433 XEN with Linux grub-mkconfig support.
5434
5435 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
5436 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
5437 GRUB_CMDLINE_XEN_DEFAULT.
5438 * util/grub.d/20_linux_xen.in: New file.
5439
53f3ef38 54402010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
5441
5442 Initialise VGA video on qemu ourselves.
5443
5444 * boot/i386/qemu/boot.S: Don't call 0xc000.
5445 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
5446 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
5447 (kernel_img_HEADERS): Add pci.h.
5448 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
5449 * configure.ac: Force unifont on qemu and yeeloong.
5450 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
5451 (grub_vga_palette_write): Use correct register.
5452 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
5453 Call grub_qemu_init_cirrus.
5454 * kern/i386/qemu/init.c: New file.
5455 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
5456
5457 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
5458
c75be4fb
PR
54592010-06-26 Pavel Roskin <proski@gnu.org>
5460
5461 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
5462 13.
5463
d8034603
CW
54642010-06-26 Colin Watson <cjwatson@ubuntu.com>
5465
5466 * docs/grub.texi (Simple configuration): Explain that
5467 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
5468 set to `true' to disable their respective recovery entries, not
5469 merely set.
5470
3fa06487
CW
54712010-06-26 Colin Watson <cjwatson@ubuntu.com>
5472
5473 Make the `source' command slightly faster.
5474
5475 * normal/main.c (grub_normal_execute): Don't re-read list files when
5476 nested.
5477
e9b29642
CW
54782010-06-23 Colin Watson <cjwatson@ubuntu.com>
5479
5480 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
5481 field position and mask size to red fields from mode_info, not
5482 green.
5483 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
5484 Remove redundant tag->common.framebuffer_type assignment.
5485 Reported by: Seth Goldberg.
5486
e726542f
CW
54872010-06-23 Colin Watson <cjwatson@ubuntu.com>
5488
5489 Sync up other versions of the Linux loader with Robert Millan's
5490 change of 2010-01-09, "Make loader output a bit more user-friendly".
5491
5492 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
5493 grub_dprintf().
5494 (grub_cmd_linux): Likewise.
5495 (grub_cmd_initrd): Likewise.
5496 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
5497 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5498
d6e98a17
CW
54992010-06-21 Colin Watson <cjwatson@ubuntu.com>
5500
5501 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
5502 larger than MEMORY_MAP_SIZE.
5503
14d3f08e
BC
55042010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
5505
5506 Fix parallel build.
5507
5508 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
5509 dependency.
5510 * script/parser.y: #include grub_script.tab.h header.
5511
4f9613a3
VS
55122010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 Support >3GiB and <16MiB RAM in i386-qemu.
5515
5516 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
5517 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
5518 (grub_lower_mem): Removed.
5519 (grub_upper_mem): Likewise.
5520 (mem_size): Made static.
5521 (above_4g): New variable.
5522 (grub_machine_mmap_init): Detect small mem_size and above_4g.
5523 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
5524 support.
5525
05e51879
VS
55262010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 Cirrus 5446 and Bochs video cards support.
5529
5530 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
5531 video_bochs.mod
5532 (video_cirrus_mod_SOURCES): New variable.
5533 (video_cirrus_mod_CFLAGS): Likewise.
5534 (video_cirrus_mod_LDFLAGS): Likewise.
5535 (video_bochs_mod_SOURCES): Likewise.
5536 (video_bochs_mod_CFLAGS): Likewise.
5537 (video_bochs_mod_LDFLAGS): Likewise.
5538 * include/grub/vga.h: New file.
5539 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5540 (grub_video_fb_set_page_t): New type.
5541 (grub_video_fb_setup): New prototype.
5542 (grub_video_fb_swap_buffers): Likewise.
5543 (grub_video_fb_get_info_and_fini): Likewise.
5544 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5545 (CRTC_DATA_PORT): Likewise.
5546 (CRTC_CURSOR): Likewise.
5547 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5548 (CRTC_CURSOR_ADDR_LOW): Likewise.
5549 (CRTC_CURSOR_DISABLE): Likewise.
5550 (update_cursor): Use grub_vga_cr_write.
5551 (grub_vga_text_setcursor): Likewise.
5552 * video/bochs.c: New file.
5553 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
5554 (palette): Likewise.
5555 (palette_size): Likewise.
5556 (framebuffer): New variable.
5557 (grub_video_fb_init): Use 'framebuffer'.
5558 (grub_video_fb_fini): Likewise.
5559 (grub_video_fb_get_info): Likewise.
5560 (grub_video_fb_get_palette): Likewise.
5561 (grub_video_fb_set_palette): Likewise.
5562 (grub_video_fb_set_viewport): Likewise.
5563 (grub_video_fb_get_viewport): Likewise.
5564 (grub_video_fb_map_color): Likewise.
5565 (grub_video_fb_map_rgb): Likewise.
5566 (grub_video_fb_map_rgba): Likewise.
5567 (grub_video_fb_unmap_color): Likewise.
5568 (grub_video_fb_unmap_color_int): Likewise.
5569 (grub_video_fb_fill_rect): Likewise.
5570 (grub_video_fb_blit_bitmap): Likewise.
5571 (grub_video_fb_blit_render_target): Likewise.
5572 (grub_video_fb_scroll): Likewise.
5573 (grub_video_fb_create_render_target): Likewise.
5574 (grub_video_fb_doublebuf_blit_init): Likewise.
5575 (grub_video_fb_set_active_render_target): Handle doublebuffering.
5576 (doublebuf_pageflipping_update_screen): New function.
5577 (doublebuf_pageflipping_init): Likewise.
5578 (grub_video_fb_setup): Likewise.
5579 (grub_video_fb_swap_buffers): Likewise.
5580 (grub_video_fb_get_info_and_fini): Likewise.
5581 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
5582 All users updated.
5583 (doublebuf_pageflipping_commit): Restructured into ...
5584 (doublebuf_pageflipping_set_page): ... this.
5585 (doublebuf_pageflipping_update_screen): Removed.
5586 (doublebuf_pageflipping_init): Likewise.
5587 (double_buffering_init): Likewise.
5588 (grub_video_vbe_setup): Use grub_video_fb_setup.
5589 (grub_video_vbe_swap_buffers): Removed.
5590 (grub_video_vbe_set_active_render_target): Likewise.
5591 (grub_video_vbe_get_active_render_target): Likewise.
5592 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5593 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5594 grub_video_fb_set_active_render_target and
5595 grub_video_fb_get_active_render_target.
5596 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5597 (SEQUENCER_DATA_PORT): Likewise.
5598 (MAP_MASK_REGISTER): Likewise.
5599 (CRTC_ADDR_PORT): Likewise.
5600 (CRTC_DATA_PORT): Likewise.
5601 (START_ADDR_HIGH_REGISTER): Likewise.
5602 (START_ADDR_LOW_REGISTER): Likewise.
5603 (GRAPHICS_ADDR_PORT): Likewise.
5604 (GRAPHICS_DATA_PORT): Likewise.
5605 (READ_MAP_REGISTER): Likewise.
5606 (INPUT_STATUS1_REGISTER): Likewise.
5607 (INPUT_STATUS1_VERTR_BIT): Likewise.
5608 (get_map_mask): Use grub_vga_sr_read.
5609 (set_map_mask): Use grub_vga_sr_write.
5610 (set_read_map): Use grub_vga_gr_write.
5611 (set_start_address): Use grub_vga_cr_write.
5612 * video/sm712.c (framebuffer): Remove leftover fields.
5613
4321c64a
CW
56142010-06-20 Colin Watson <cjwatson@ubuntu.com>
5615
5616 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5617 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5618 instead. Replace the gfxterm backend check with a check that
5619 ${GRUB_PREFIX}/video.lst is non-empty.
5620 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5621 again.
5622 (load_video): New generated function. Call it before loading
5623 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5624 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5625 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5626 * docs/grub.texi (Simple configuration): Document
5627 GRUB_VIDEO_BACKEND.
5628
56292010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 Use video functions in linux and xnu loaders.
5632
5633 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5634 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5635 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5636 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5637 loader/i386/pc/linux.c.
5638 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5639 (find_line_len): Removed.
5640 (find_framebuf): Likewise.
5641 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5642 * loader/i386/efi/xnu.c: Removed.
5643 * loader/i386/pc/xnu.c: Moved from here...
5644 * loader/i386/xnu.c: ...here.
5645
5646 Enable priorities in video drivers.
5647
5648 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5649 (grub_video_adapter): New field prio.
5650 (grub_video_register): Respect prio when inserting.
5651 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5652 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5653 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5654 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5655 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5656 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5657 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5658
5659 Fix SDL driver ID.
5660
5661 * include/grub/video.h (grub_video_driver_id_t): New value
5662 GRUB_VIDEO_DRIVER_SDL.
5663 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5664
7d24e434
CW
56652010-06-17 Colin Watson <cjwatson@ubuntu.com>
5666
5667 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5668 argument to printf.
5669 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5670
c88a83f6
CW
56712010-06-17 Colin Watson <cjwatson@ubuntu.com>
5672
5673 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5674 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5675
094dfb69
CW
56762010-06-17 Colin Watson <cjwatson@ubuntu.com>
5677
5678 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5679 directly, and recommend grub-install instead.
5680 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5681
2164da6b
CW
56822010-06-17 Colin Watson <cjwatson@ubuntu.com>
5683
5684 Fix i386-pc prefix handling with nested partitions (Debian bug
5685 #585068). Note that the case where the core image is booted using
5686 multiboot and relocated from its original location still requires
5687 more work.
5688
5689 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5690 with "(,", fill the boot drive in between those two characters, but
5691 expect that a full partition specification including partition map
5692 names will follow.
5693 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5694 specified, write a prefix without the drive name but including a
5695 full partition specification.
5696
044e2e60
CW
56972010-06-16 Colin Watson <cjwatson@ubuntu.com>
5698
5699 * util/grub-mkconfig.in: Ignore non-option arguments, for
5700 compatibility with older versions (before 2010-06-12) which did the
5701 same. In particular, this makes it easier to ship an update-grub
5702 wrapper which is compatible with that used with GRUB Legacy (Debian
5703 bug #586056).
5704
5591324f
GS
57052010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5706
5707 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5708 for manual page generation.
5709
662e24d5
GS
57102010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5711
5712 * po/POTFILES: Remove leftover commands/handler.c.
5713
8d70754e
CW
57142010-06-14 Colin Watson <cjwatson@ubuntu.com>
5715
5716 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5717 left this script non-functional.
5718
41160e2e
CW
57192010-06-14 Colin Watson <cjwatson@ubuntu.com>
5720
5721 * docs/man/grub-emu.h2m: New file.
5722
b5309cc1
CW
57232010-06-13 Colin Watson <cjwatson@ubuntu.com>
5724
5725 * docs/grub.texi (Commands): Document reduced command set in rescue
5726 mode.
5727 (cpuid): New section.
5728
fcb2d090
GS
57292010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5730
5731 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5732 new partition naming style.
5733 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5734
96e5c556
BC
57352010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5736
5737 Add "-o grub.iso" like cmdline options support.
5738
5739 * util/grub-install.in: Improve cmdline option parsing.
5740 * util/grub-mkconfig.in: Likewise.
5741 * util/grub-mkrescue.in: Likewise.
5742 * util/grub-reboot.in: Likewise.
5743 * util/grub-set-default.in: Likewise.
5744 * util/i386/efi/grub-install.in: Likewise.
5745 * util/ieee1275/grub-install.in: Likewise.
5746 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5747
c16be99b
CW
57482010-06-12 Colin Watson <cjwatson@ubuntu.com>
5749
5750 * .bzrignore: Ignore 41_custom.
5751
ce08a9fb
TS
57522010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5753
5754 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5755
7beac90c
CW
57562010-06-12 Colin Watson <cjwatson@ubuntu.com>
5757
5758 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5759 prototype declarations.
5760
5761 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5762 generating fs, partmap, and video lists.
5763 * include/grub/fs.h (grub_fs_register): Omit prototype if
5764 GRUB_LST_GENERATOR is defined.
5765 * include/grub/partition.h (grub_partition_map_register): Likewise.
5766 * include/grub/video.h (grub_video_register): Likewise.
5767
1c8f0f8d
JM
57682010-06-12 Javier Martín <lordhabbit@gmail.com>
5769
5770 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5771
a6085973
TS
57722010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5773
5774 * util/grub-mkrescue.in: Support --xorriso argument.
5775
25c56d29
VS
57762010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5779 Suggested by: Thomas Schmitt.
5780
e03e4b24
VS
57812010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5784 Suggested by: Thomas Schmitt.
5785
57711df6
VS
57862010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 custom.cfg support.
5789
5790 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5791 * util/grub.d/41_custom.in: New file.
5792
ee62c427
CW
57932010-06-12 Colin Watson <cjwatson@ubuntu.com>
5794
5795 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5796 been merged back into normal.
5797
283af07a
CW
57982010-06-11 Colin Watson <cjwatson@ubuntu.com>
5799
5800 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5801 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5802
56a0d956
CW
58032010-06-11 Colin Watson <cjwatson@ubuntu.com>
5804
5805 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5806 when generating manual pages.
5807 * docs/man/grub-bin2h.h2m: New file.
5808 * docs/man/grub-editenv.h2m: New file.
5809 * docs/man/grub-fstest.h2m: New file.
5810 * docs/man/grub-install.h2m: New file.
5811 * docs/man/grub-macho2img.h2m: New file.
5812 * docs/man/grub-mkconfig.h2m: New file.
5813 * docs/man/grub-mkdevicemap.h2m: New file.
5814 * docs/man/grub-mkfont.h2m: New file.
5815 * docs/man/grub-mkimage.h2m: New file.
5816 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5817 * docs/man/grub-mkrelpath.h2m: New file.
5818 * docs/man/grub-mkrescue.h2m: New file.
5819 * docs/man/grub-ofpathname.h2m: New file.
5820 * docs/man/grub-pe2elf.h2m: New file.
5821 * docs/man/grub-probe.h2m: New file.
5822 * docs/man/grub-reboot.h2m: New file.
5823 * docs/man/grub-script-check.h2m: New file.
5824 * docs/man/grub-set-default.h2m: New file.
5825 * docs/man/grub-setup.h2m: New file.
5826
3a37e322
VS
58272010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 Use FOR_* macros instead of *_iterate whenever possible.
5830
5831 * commands/handler.c: Removed.
5832 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5833 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5834 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5835 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5836 (grub_probe_SOURCES): Remove kern/parser.c.
5837 (util/grub-script-check.c_DEPENDENCIES): Removed.
5838 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5839 and grub_script_check_init.c.
5840 (grub_script_check_init.lst): Removed.
5841 (grub_script_check_init.h): Likewise.
5842 (grub_script_check_init.c): Likewise.
5843 (pkglib_MODULES): Remove handler.mod and sh.mod.
5844 (handler_mod_SOURCES): Removed.
5845 (handler_mod_CFLAGS): Likewise.
5846 (handler_mod_LDFLAGS): Likewise.
5847 (normal_mod_SOURCES): Remove normal/handler.c.
5848 Add script/main.c, script/script.c, script/execute.c,
5849 script/function.c, script/lexer.c, grub_script.tab.c
5850 and grub_script.yy.c.
5851 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5852 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5853 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5854 (grub_setup_SOURCES): Remove kern/parser.c.
5855 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5856 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5857 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5858 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5859 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5860 (grub_setup_SOURCES): Remove kern/parser.c.
5861 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5862 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5863 * include/grub/command.h (grub_command_iterate): Removed.
5864 (FOR_COMMANDS): New macro.
5865 * include/grub/dl.h (grub_dl): New member next.
5866 (grub_dl_iterate): Removed.
5867 (grub_dl_head): New variable declaration.
5868 (FOR_DL_MODULES): New macro.
5869 * include/grub/fs.h: Include list.h.
5870 (grub_fs): Make next first element.
5871 (grub_fs_list): New variable declaration.
5872 (grub_fs_register): Make inline.
5873 (grub_fs_unregister): Likewise.
5874 (grub_fs_iterate): Removed.
5875 (FOR_FILESYSTEMS): New macro.
5876 * include/grub/handler.h: Removed.
5877 * include/grub/list.h (grub_list_hook_t): Removed.
5878 (grub_list_test_t): Likewise.
5879 (grub_list_pop): Likewise.
5880 (grub_list_iterate): Likewise.
5881 (grub_list_insert): Likewise.
5882 (FOR_LIST_ELEMENTS): New macro.
5883 * include/grub/parser.h (grub_parser_class): Removed.
5884 (grub_parser_register): Likewise.
5885 (grub_parser_unregister): Likewise.
5886 (grub_parser_get_current): Likewise.
5887 (grub_parser_set_current): Likewise.
5888 (grub_register_rescue_parser): Likewise.
5889 (grub_rescue_parse_line): New function.
5890 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5891 * include/grub/script_sh.h (grub_script_function_list): New variable
5892 declaration.
5893 (FOR_SCRIPT_FUNCTIONS): New macro.
5894 (grub_script_function_iterate): Removed.
5895 (grub_normal_parse_line): New prototype.
5896 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5897 (FOR_DISABLED_TERM_INPUTS): Likewise.
5898 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5899 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5900 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5901 element.
5902 (grub_video_register): Inline.
5903 (grub_video_unregister): Likewise.
5904 (grub_video_adapter_list): New variable declaration.
5905 (grub_video_iterate): Removed.
5906 (FOR_VIDEO_ADAPTERS): New macro.
5907 * kern/dl.c (grub_dl_list): Removed. All users updated.
5908 (grub_dl_iterate): Removed.
5909 * kern/fs.c (grub_fs_list): Make global.
5910 (grub_fs_register): Removed.
5911 (grub_fs_unregister): Likewise.
5912 (grub_fs_iterate): Likewise.
5913 * kern/handler.c: Removed.
5914 * kern/list.c (grub_list_pop): Removed.
5915 (grub_list_iterate): Likewise.
5916 (grub_list_insert): Likewise.
5917 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5918 (grub_prio_list_insert): Don't use grub_list_insert.
5919 * kern/main.c (grub_register_rescue_parser): Don't call
5920 grub_register_rescue_parser.
5921 * kern/parser.c (grub_parser_class): Removed.
5922 (grub_parser_execute): Use grub_rescue_parse_line.
5923 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5924 (grub_rescue_parser): Removed.
5925 (grub_register_rescue_parser): Likewise.
5926 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5927 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
5928 (grub_auth_check_authentication): Likewise.
5929 * normal/completion.c (iterate_command): Removed.
5930 (grub_normal_do_completion): Use FOR_COMMANDS.
5931 * normal/handler.c: Removed.
5932 * normal/main.c (read_config_file): Remove parser changing.
5933 (grub_normal_execute): Don't call read_handler_list.
5934 (grub_normal_read_line_real): Statically allocate prompt.
5935 (grub_cmdline_run): Use grub_normal_parse_line.
5936 (GRUB_MOD_FINI): Don't call free_handler_list.
5937 * normal/menu_entry.c (run): Likewise.
5938 * script/function.c (grub_script_function_list): Make global.
5939 (grub_script_function_iterate): Removed.
5940 * script/main.c (grub_normal_parse_line): Make global.
5941 (grub_sh_parser): Removed.
5942 (GRUB_MOD_INIT): Likewise.
5943 (GRUB_MOD_FINI): Likewise.
5944 * tests/lib/functional_test.c (grub_functional_test): Use
5945 FOR_LIST_ELEMENTS.
5946 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
5947 (grub_test_run): Use FOR_LIST_ELEMENTS.
5948 * tests/lib/unit_test.c (main): Likewise.
5949 * util/deviceiter.c (grub_util_iterate_devices): Don't use
5950 grub_list_pop.
5951 * util/grub-fstest.c (grub_term_input_class): Removed.
5952 (grub_term_output_class): Likewise.
5953 * util/grub-probe.c: Likewise.
5954 * util/i386/pc/grub-setup.c: Likewise.
5955 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5956 * util/grub-script-check.c (main): Don't call grub_init_all and
5957 grub_fini_all.
5958 * video/video.c (grub_video_adapter_list): Make global.
5959 (grub_video_register): Removed.
5960 (grub_video_unregister): Likewise.
5961 (grub_video_iterate): Likewise.
5962
6289c3a7
VS
59632010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
5966 reported by Henrique Ferreiro.
5967
91460247
RM
59682010-06-09 Robert Millan <rmh@gnu.org>
5969
5970 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
5971 ones, when both are available.
5972
0ea7c4f9
GS
59732010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5974
5975 Make --version uniform and avoid hard-coded program name.
5976
5977 * util/grub-mkimage.c (main): Use `program_name' instead of
5978 hard-coded string.
5979 * util/i386/pc/grub-setup.c (main): Likewise.
5980 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
5981 * util/grub-install.in: Save the basename of $0 in $self, and use the
5982 latter in informational messages. Use the same format for --version
5983 as the binary programs.
5984 * util/grub-mkconfig.in: Likewise.
5985 * util/grub-mkrescue.in: Likewise.
5986 * util/grub-reboot.in: Likewise.
5987 * util/grub-set-default.in: Likewise.
5988 * util/i386/efi/grub-install.in: Likewise.
5989 * util/ieee1275/grub-install.in: Likewise.
5990 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5991
e8a6f3b6
GS
59922010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5993
5994 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
5995 embedding area. Use <= instead of == when checking for non-emptiness.
5996
f4d095d7
GS
59972010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5998
5999 * configure.ac: Add `.' to the directories searched for unifont.
6000
50e532ca
CW
60012010-06-08 Colin Watson <cjwatson@ubuntu.com>
6002
6003 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
6004 grub_script.yy.h.
6005
d39f3dec
CW
60062010-06-08 Colin Watson <cjwatson@ubuntu.com>
6007
6008 * docs/grub.texi (History): Expand to cover GRUB 2.
6009 (Serial terminal): Refer to `terminal_input' and `terminal_output'
6010 commands, not `terminal'.
6011 (serial): Likewise.
6012 (terminal_input): New section.
6013 (terminal_output): New section.
6014 (uppermem): New section (stub).
6015 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
6016
6ef0ddb4
CW
60172010-06-08 Colin Watson <cjwatson@ubuntu.com>
6018
6019 * docs/grub.texi (Security): Menu entries are unrestricted by
6020 default, not restricted to superusers as I had previously thought.
6021 Reword to account for this.
6022
e0f4c438
CW
60232010-06-07 Colin Watson <cjwatson@ubuntu.com>
6024
6025 * kern/emu/misc.c (device_mapper_null_log): New function.
6026 (grub_device_mapper_supported): New function.
6027 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
6028 prototype.
6029 * kern/emu/hostdisk.c (find_partition_start): Check whether
6030 device-mapper is supported before trying to use it.
6031 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
6032
da908200
CW
60332010-06-07 Colin Watson <cjwatson@ubuntu.com>
6034
6035 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
6036 (File name syntax): Likewise.
6037 (help): --all is no longer supported in GRUB 2. Be more precise
6038 about pattern matching.
6039
fb55c3ac
CW
60402010-06-07 Colin Watson <cjwatson@ubuntu.com>
6041
6042 * normal/completion.c (grub_normal_do_completion): When completing
6043 arguments to "set" and the current word contains an equals sign,
6044 skip to after the equals sign before starting completion.
6045
258c2573
CW
60462010-06-07 Colin Watson <cjwatson@ubuntu.com>
6047
6048 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
6049
ee75515e
CW
60502010-06-07 Colin Watson <cjwatson@ubuntu.com>
6051
6052 * docs/grub.texi (Network): New section.
6053 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
6054 `(nd)' as in GRUB Legacy.
6055 (pxe_unload): New section.
6056
a6a700aa
CW
60572010-06-07 Colin Watson <cjwatson@ubuntu.com>
6058
6059 * docs/grub.texi (Troubleshooting): `echo' is not usually available
6060 in the rescue shell, so recommend using `set' instead. Thanks,
6061 Jordan Uggla.
6062
4003dd38
CW
60632010-06-07 Colin Watson <cjwatson@ubuntu.com>
6064
6065 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
6066 (password): New section.
6067 (password_pbkdf2): New section.
6068 (search): New section.
6069 (Security): New section.
6070 (Troubleshooting): New section, currently very incomplete.
6071 (Invoking grub-mkpasswd-pbkdf2): New section.
6072 (Internals): New section, currently very incomplete.
6073
e1cbcc40
CW
60742010-06-07 Colin Watson <cjwatson@ubuntu.com>
6075
6076 * util/grub.d/00_header.in: Add some more quoting (of
6077 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
6078 work again.
6079 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
6080
db8fa1ad
CW
60812010-06-07 Colin Watson <cjwatson@ubuntu.com>
6082
6083 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
6084 to `count', fixing variable shadowing that broke the -c option.
6085
60862010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
6087
6088 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
6089 in case they contain spaces.
6090
f28a9212
CW
60912010-06-04 Colin Watson <cjwatson@ubuntu.com>
6092
6093 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
6094 "part_" to partmap module names, in line with grub-install.
6095 Reported by: Jindřich Makovička (Debian bug #584426).
6096
9cdfe32f
CW
60972010-06-04 Colin Watson <cjwatson@ubuntu.com>
6098
6099 * util/grub-mkimage.c: Make target-related error messages slightly
6100 more helpful; -O talks about "format". Explicitly point to the use
6101 of -O if no target is specified.
6102 Reported by: Didier Raboud (Debian bug #584415).
6103
795b593a
CW
61042010-06-03 Colin Watson <cjwatson@ubuntu.com>
6105
6106 * INSTALL: Document several build requirements for optional features
6107 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
6108
9d9b5833
GS
61092010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6110
6111 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
6112 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
6113 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
6114
0819fec8
CW
61152010-06-02 Colin Watson <cjwatson@ubuntu.com>
6116
6117 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
6118 Thanks to Jordan Uggla for spotting this.
6119
49396b4f
VS
61202010-06-02 Aleš Nesrsta <starous@volny.cz>
6121
6122 Finally make USB usable.
6123
6124 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
6125 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
6126 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
6127 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
6128 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
6129 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
6130 (GRUB_OHCI_FSMPS): Likewise.
6131 (GRUB_OHCI_PERIODIC_START): Likewise.
6132 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
6133 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
6134 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
6135 (GRUB_OHCI_SET_PORT_RESET): Likewise.
6136 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
6137 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
6138 (grub_ohci_transaction): Likewise.
6139 (grub_ohci_transfer): Improve condition detection algorithms.
6140 Handle toggle property. Program the transactions correctly.
6141 Improve error handling. Various important fixups.
6142 (grub_ohci_portstatus): Put register writes in right order.
6143 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
6144 (grub_uhci_transfer): Don't show "failed" message on success.
6145 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
6146 array.
6147 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
6148 determine its size.
6149 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
6150 before initialization is completed. Use IN direction for empty
6151 transfers. Use last_trans and compute toggle.
6152 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
6153 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
6154 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
6155 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
6156 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
6157 (grub_usb_device): Increase toggle to 256.
6158 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
6159 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
6160 GRUB_USBMS_SUBCLASS_SFF8070.
6161 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
6162 (grub_scsi_inquiry): New member page and alloc_length.
6163 (grub_scsi_request_sense): New structure.
6164 (grub_scsi_request_sense_data): Likewise.
6165 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
6166 control.
6167 * disk/scsi.c (grub_scsi_request_sense): New function.
6168 (grub_scsi_test_unit_ready): Likewise.
6169 (grub_scsi_inquiry): Fill new fields.
6170 (grub_scsi_read_capacity): Likewise.
6171 (grub_scsi_read10): Add request sense at the end.
6172 (grub_scsi_read12): Likewise.
6173 (grub_scsi_write10): Likewise.
6174 (grub_scsi_write12): Likewise.
6175 (grub_scsi_open): Add Test Unit Ready.
6176 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
6177 Support additional subclasses. Con't clear halt yet. Activate the
6178 proper config. Calculate LUNs correctly.
6179 (grub_usbms_transfer): Various important fixups.
6180
61812010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
6184 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
6185 (grub_ohci_fini_hw): New function.
6186 (grub_ohci_restore_hw): Likewise.
6187 (GRUB_MOD_INIT(ohci)): Register preboot hook.
6188 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
6189 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
6190
61912010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 Dedicated DMA allocations.
6194
6195 * bus/pci.c (grub_memalign_dma32): New function
6196 (grub_dma_free): Likewise.
6197 (grub_dma_get_virt): Likewise.
6198 (grub_dma_get_phys): Likewise.
6199 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
6200 (grub_ohci_pci_iter): Use dma32_alloc.
6201 (grub_ohci_transfer): Likewise.
6202 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6203 (grub_usb_bulk_readwrite): Likewise.
6204 * include/grub/pci.h: Add declarations.
6205
62062010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 CS5536 support.
6209
6210 * bus/cs5536.c: New file.
6211 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
6212 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
6213 (cs5536_mod_SOURCES): New variable.
6214 (cs5536_mod_CFLAGS): Likewise.
6215 (cs5536_mod_LDFLAGS): Likewise.
6216 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
6217 machine/pci.h.
6218 (kernel_img_SOURCES): Add bus/cs5536.c.
6219 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
6220 usb_keyboard.mod.
6221 (usb_mod_SOURCES): New variable.
6222 (usb_mod_CFLAGS): New variable.
6223 (usb_mod_LDFLAGS): New variable.
6224 (usbtest_mod_SOURCES): New variable.
6225 (usbtest_mod_CFLAGS): New variable.
6226 (usbtest_mod_LDFLAGS): New variable.
6227 (ohci_mod_SOURCES): New variable.
6228 (ohci_mod_CFLAGS): New variable.
6229 (ohci_mod_LDFLAGS): New variable.
6230 (usbms_mod_SOURCES): New variable.
6231 (usbms_mod_CFLAGS): New variable.
6232 (usbms_mod_LDFLAGS): New variable.
6233 (usb_keyboard_mod_SOURCES): New variable.
6234 (usb_keyboard_mod_CFLAGS): New variable.
6235 (usb_keyboard_mod_LDFLAGS): New variable.
6236 * include/grub/smbus.h: New file.
6237 * include/grub/cs5536.h: New file.
6238
0b35b2a9
CW
62392010-06-02 Colin Watson <cjwatson@ubuntu.com>
6240
6241 * util/grub.d/00_header.in: Add safety check to make sure that
6242 ${locale_dir} exists before trying to probe it.
6243
ca0afd5b
CW
62442010-06-02 Colin Watson <cjwatson@ubuntu.com>
6245
6246 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
6247 per the GNU Coding Standards; this is now too obscure to be worth
6248 documenting.
6249 (QNX): Likewise.
6250 (chainloader): Remove cross-reference to `SCO UnixWare'.
6251
1c41aa78
CW
62522010-06-02 Colin Watson <cjwatson@ubuntu.com>
6253
6254 * docs/grub.texi (Chain-loading): New section.
6255 (DOS/Windows): New section, borrowed from GRUB Legacy with details
6256 adjusted for GRUB 2.
6257 (SCO UnixWare): Likewise.
6258 (QNX): Likewise.
6259 (chainloader): Add reference to `Block list syntax'.
6260 (drivemap): New section.
6261 (parttool): New section.
6262
bb8ea0f5
CW
62632010-06-02 Colin Watson <cjwatson@ubuntu.com>
6264
6265 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
6266 the grub shell'.
6267 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
6268 (Installing GRUB using grub-install): Remove reference to the grub
6269 shell; mention `grub-mkimage' and `grub-setup' instead.
6270 (Invoking grub-install): Likewise.
6271 (Interface): Add reference to `Menu entry editor'.
6272 (serial): Remove `--device' option.
6273
288dd6ed
CW
62742010-06-02 Colin Watson <cjwatson@ubuntu.com>
6275
6276 * docs/grub.texi (Configuration): New section, documenting
6277 configuration file generation using grub-mkconfig. I've left a slot
6278 for documenting the full shell scripting format but have not yet
6279 started on writing that up.
6280 (Invoking grub-mkconfig): New section.
6281
34c9f0e9
CW
62822010-06-02 Colin Watson <cjwatson@ubuntu.com>
6283
6284 * docs/grub.texi (direntry): Remove grub-terminfo reference.
6285 (GNU GRUB manual): Likewise.
6286 (General commands): Update description of `terminfo' for GRUB 2.
6287
9121567e
CW
62882010-06-02 Colin Watson <cjwatson@ubuntu.com>
6289
6290 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
6291 (GRUB_MOD_INIT): Fix capitalisation.
6292 * docs/grub.texi (Command-line and menu entry commands): Document
6293 gettext and gptsync commands.
6294
ab631611
CW
62952010-06-02 Colin Watson <cjwatson@ubuntu.com>
6296
6297 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
6298 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
6299
bde4a9ac
CW
63002010-06-01 Colin Watson <cjwatson@ubuntu.com>
6301
6302 Add btrfs probing support, currently only in the single-device case.
6303
6304 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
6305 function.
6306 (grub_guess_root_device): Call find_root_device_from_mountinfo
6307 before looking in /dev.
6308
b1d17e10
VS
63092010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
6312 GRUB_DISK_SIZE_UNKNOWN.
6313 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
6314
dfbfe004
JS
63152010-05-31 Jiro SEKIBA <jir@unicus.jp>
6316
6317 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
6318 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
6319 corrupted or not synced properly.
6320
c2ffc8e9
VS
63212010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
6324 Reported by: Seth Goldberg.
6325
56293166
VS
63262010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6327
6328 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
6329 addition of dest.
6330 Reported by: Seth Goldberg.
6331
7620e7de
VS
63322010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
6335 Reported by: Seth Goldberg.
6336
c837af3f
VS
63372010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
6340 64-bit address as signed on MIPS.
6341
c7c75cf4
CW
63422010-05-28 Colin Watson <cjwatson@ubuntu.com>
6343
6344 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
6345 to the empty string.
6346
fa4b8490
BC
63472010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
6348
6349 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
6350
6351 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
6352 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
6353 * kern/misc.c (__enable_execute_stack): Disable on
6354 GRUB_MACHINE_EMU.
6355
a33075b9
CW
63562010-05-28 Colin Watson <cjwatson@ubuntu.com>
6357
6358 Make grub-probe work with symbolic links under /dev/mapper as well
6359 as with real block devices. The Linux world seems to be (at best)
6360 in transition here, and GRUB shouldn't get caught in the middle.
6361
6362 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
6363 /dev/mapper.
6364
d8708134
CW
63652010-05-27 Colin Watson <cjwatson@ubuntu.com>
6366
6367 * util/grub-script-check.c (main): Ensure defined behaviour on empty
6368 input files (in which case exit zero).
6369
db2102a0
CW
63702010-05-27 Colin Watson <cjwatson@ubuntu.com>
6371
6372 * kern/emu/misc.c (canonicalize_file_name): realpath can still
6373 return NULL for various reasons even if it has a maximum-length
6374 buffer: for example, there might be a symlink loop, or the path
6375 might exceed PATH_MAX. If this happens, return NULL.
6376
5fdba519
RM
63772010-05-27 Robert Millan <rmh@gnu.org>
6378
6379 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
6380 partmap module to handle cross-partmap setups.
6381 Reported by Orestes Mas. Gràcies!
6382
d1d368e4
CW
63832010-05-27 Colin Watson <cjwatson@ubuntu.com>
6384
6385 * util/grub-mkrescue.in: Initialise override_dir rather than
6386 assuming that it's unset or empty in the environment.
6387
95ac3c73
GS
63882010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
6389
6390 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
6391 variable index into p_index to suppress a warning with -Wshadow.
6392
7d8c0213
BC
63932010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
6394
6395 * INSTALL: Added flex >= 2.5.35 requirement.
6396
db4d5813
VS
63972010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
6400
f24f4300
VS
64012010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 cmostest support.
6404
6405 * commands/i386/cmostest.c: New file.
6406 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
6407 (cmostest_mod_SOURCES): New variable.
6408 (cmostest_mod_CFLAGS): Likewise.
6409 (cmostest_mod_LDFLAGS): Likewise.
6410 * conf/i386-pc.rmk: Likewise.
6411 * docs/grub.texi (Vendor power-on keys): New section.
6412 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
6413 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
6414 and GRUB_BUTTON_CMOS_ADDRESS.
6415 * util/grub.d/00_header.in: Handle powering-on by separate button.
6416
ad603f61
VS
64172010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
6420 Removed drawing_scrollbar argument. All users updated
6421 Fixes #29792.
6422 Reported by Jo Shields
6423
3ecb080a
VS
64242010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
6427 buffer since gfxterm handles double repaint.
6428
5f2316c1
VS
64292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6430
6431 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
6432 * term/gfxterm.c (real_scroll): Likewise.
6433
9a25f885
VS
64342010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
6437 before calling BIOS.
6438
39fbb79a
VS
64392010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6440
6441 * include/grub/i18n.h: Always enable grub_gettext.
6442
228cfa97
VS
64432010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6444
6445 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
6446 partition naming style.
6447
21717c8f
CW
64482010-05-21 Colin Watson <cjwatson@ubuntu.com>
6449
6450 * util/grub-mkconfig.in: Fix handling of -o so that it works when
6451 not the first option.
6452
c0f48e65
CW
64532010-05-20 Colin Watson <cjwatson@ubuntu.com>
6454
6455 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
6456
96779aec
CW
64572010-05-20 Colin Watson <cjwatson@ubuntu.com>
6458
6459 * util/misc.c: Move inclusion of <limits.h> to ...
6460 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
6461
fa9d256e
GS
64622010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6463
6464 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
6465 Fix merge error in NetBSD code.
6466 (find_partition_start) [__NetBSD__]: Likewise.
6467
123b7a85
BC
64682010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
6469
6470 Fix grub-mkrescue usage unit testing.
6471
6472 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
6473
74276c0d
CF
64742010-05-18 Christian Franke <franke@computer.org>
6475
6476 * util/grub.d/10_windows.in: Use path names instead of
6477 drive letters to prevent warning from Cygwin 1.7.
6478 Add drivemap command to menuentry if needed.
6479
c4f7b523
ST
64802010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
6481
6482 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
6483 gnumach and gnumach.gz.
6484
95b97950
VS
64852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * include/grub/i18n.h (gettext): Inline instead of using #define.
6488 (grub_gettext): Likewise.
6489 (_): Likewise.
6490
01b8d2d7
VS
64912010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
6494 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
6495 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
6496 (main): Add a slash after pkglibdirroot.
6497
654e1d1e
VS
64982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * util/grub-install.in: Add missing "in" keyword.
6501
26966aeb
VS
65022010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
6505 Reported by: Seth Goldberg.
6506
75006747
VS
65072010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
6510
74cbf5bd
CW
65112010-05-18 Colin Watson <cjwatson@ubuntu.com>
6512
6513 * configure.ac: Check for Linux device-mapper support.
6514
6515 * util/hostdisk.c (device_is_mapped): New function.
6516 (find_partition_start): New function, partly broken out from
6517 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
6518 device-mapper support added.
6519 (linux_find_partition): Use find_partition_start.
6520 (convert_system_partition_to_system_disk): Add `st' argument.
6521 Support Linux /dev/mapper/* devices if device-mapper support is
6522 available; only DM-RAID devices are understood at present.
6523 (find_system_device): Add `st' argument. Pass it to
6524 convert_system_partition_to_system_disk.
6525 (grub_util_biosdisk_get_grub_dev): Pass stat result to
6526 find_system_device and convert_system_partition_to_system_disk. Use
6527 find_partition_start.
6528
6529 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
6530 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
6531 * util/deviceiter.c [__linux__]: Define MINOR.
6532 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
6533 * util/mkdevicemap.c (grub_putchar): New function.
6534 (grub_getkey): New function.
6535 (grub_refresh): New function.
6536 (main): Set debug=all if -v -v is used.
6537
355b51e9
CW
65382010-05-18 Colin Watson <cjwatson@ubuntu.com>
6539
6540 Fix build with non-GNU libcs.
6541
6542 * util/misc.c (canonicalize_file_name): Move to ...
6543 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6544 grub_make_system_path_relative_to_its_root.
6545
7fb5c25f
CW
65462010-05-18 Colin Watson <cjwatson@ubuntu.com>
6547
6548 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6549 we handle finding grub-mkimage. Default to finding grub-mkimage in
6550 ${bindir} with program_transform_name applied, and provide a
6551 --grub-mkimage option to override this.
6552
1d3293d6
VS
65532010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 Remove grub-mkisofs.
6556
6557 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
6558 (grub_mkisofs_SOURCES): Removed.
6559 (grub_mkisofs_CFLAGS): Removed.
6560 * util/mkisofs/defaults.h: Removed.
6561 * util/mkisofs/eltorito.c: Likewise.
6562 * util/mkisofs/exclude.h: Likewise.
6563 * util/mkisofs/hash.c: Likewise.
6564 * util/mkisofs/include/: Likewise.
6565 * util/mkisofs/include/fctldefs.h: Likewise.
6566 * util/mkisofs/include/mconfig.h: Likewise.
6567 * util/mkisofs/include/prototyp.h: Likewise.
6568 * util/mkisofs/include/statdefs.h: Likewise.
6569 * util/mkisofs/iso9660.h: Likewise.
6570 * util/mkisofs/joliet.c: Likewise.
6571 * util/mkisofs/match.c: Likewise.
6572 * util/mkisofs/match.h: Likewise.
6573 * util/mkisofs/mkisofs.c: Likewise.
6574 * util/mkisofs/mkisofs.h: Likewise.
6575 * util/mkisofs/msdos_partition.h: Likewise.
6576 * util/mkisofs/multi.c: Likewise.
6577 * util/mkisofs/name.c: Likewise.
6578 * util/mkisofs/rock.c: Likewise.
6579 * util/mkisofs/tree.c: Likewise.
6580 * util/mkisofs/write.c: Likewise.
6581
5dde9afe
VS
65822010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 Unify grub-mkimage accross platforms.
6585
6586 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6587 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6588 (grub_mkelfimage_SOURCES): Removed.
6589 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6590 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6591 (bin_UTILITIES): Add grub-mkimage.
6592 (grub_mkimage_SOURCES): New variable.
6593 (kernel_img_HEADERS): Remove machine/kernel.h.
6594 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6595 (pkglib_PROGRAMS): Add kernel.img.
6596 (kernel_img_HEADERS): Add machine/kernel.h.
6597 (kernel_img_FORMAT): Removed.
6598 (bin_UTILITIES): Remove grub-mkimage.
6599 (grub_mkimage_SOURCES): Removed.
6600 (grub_mkimage_CFLAGS): Likewise.
6601 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6602 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6603 (pkglib_PROGRAMS): Add kernel.img.
6604 (bin_UTILITIES): Remove grub-mkimage.
6605 (grub_mkimage_SOURCES): Removed.
6606 (grub_mkimage_CFLAGS): Likewise.
6607 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6608 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6609 (pkglib_PROGRAMS): Add kernel.img.
6610 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6611 (pkglib_PROGRAMS): Add kernel.img.
6612 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6613 (grub_mkimage_SOURCES): Removed.
6614 (grub_mkimage_CFLAGS): Likewise.
6615 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6616 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6617 (pkglib_PROGRAMS): Add kernel.img.
6618 (bin_UTILITIES): Remove grub-mkimage.
6619 (grub_mkimage_SOURCES): Removed.
6620 (grub_mkimage_CFLAGS): Likewise.
6621 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6622 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6623 (grub_mkimage_SOURCES): Removed.
6624 (grub_mkimage_CFLAGS): Likewise.
6625 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6626 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6627 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6628 (grub_pe32_optional_header): ... this.
6629 (grub_pe64_optional_header): ... and this. All users updated.
6630 (GRUB_PE32_PE32_MAGIC): Split into ..
6631 (GRUB_PE32_PE32_MAGIC): .. this.
6632 (GRUB_PE32_PE64_MAGIC): .. and this.
6633 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6634 * include/grub/elf.h (PT_GNU_STACK): New definition.
6635 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6636 * include/grub/i386/efi/kernel.h: Likewise.
6637 * include/grub/i386/kernel.h: Likewise.
6638 * include/grub/i386/pc/kernel.h: Likewise.
6639 * include/grub/i386/qemu/boot.h: Likewise.
6640 * include/grub/mips/kernel.h: Likewise.
6641 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6642 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6643 * include/grub/powerpc/kernel.h: Likewise.
6644 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6645 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6646 * include/grub/sparc64/kernel.h: Likewise.
6647 * include/grub/x86_64/efi/kernel.h: Likewise.
6648 * include/grub/x86_64/kernel.h: Likewise.
6649 * include/grub/offsets.h: New file.
6650 * include/grub/kernel.h (grub_module_info): Split into ...
6651 (grub_module_info32): ... this.
6652 (grub_module_info64): ... and this.
6653 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6654 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6655 (grub_boot_blocklist): Moved from here ...
6656 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6657 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6658 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6659 * include/grub/types.h (grub_target_to_host16): Removed.
6660 (grub_target_to_host32): Likewise.
6661 (grub_target_to_host64): Likewise.
6662 (grub_host_to_target16): Likewise.
6663 (grub_host_to_target32): Likewise.
6664 (grub_host_to_target64): Likewise.
6665 (grub_host_to_target_addr): Likewise.
6666
6667 Support grub-mkrescue for efi, coreboot and qemu.
6668
6669 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6670 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6671 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6672 * util/grub-mkrawimage.c: Moved from here ...
6673 * util/grub-mkimage.c: ... here. All users updated.
6674 (ALIGN_ADDR): Use image_target.
6675 (TARGET_NO_FIELD): New const.
6676 (image_target_desc): New type.
6677 (image_targets): New array.
6678 (grub_target_to_host64): Use image_target.
6679 (grub_target_to_host32): Likewise.
6680 (grub_target_to_host16): Likewise.
6681 (grub_host_to_target64): Likewise.
6682 (grub_host_to_target32): Likewise.
6683 (grub_host_to_target16): Likewise.
6684 (grub_host_to_target_addr): Likewise.
6685 (generate_image): Handle multiimage.
6686 (main): Require -O parameter. All users updated.
6687 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6688 util/efi/grub-mkimage.c
6689 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6690 New option --rom-directory.
6691 Use xorriso.
6692 * util/i386/efi/grub-mkimage.c: Removed.
6693 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6694 (grub_target_to_host32): Likewise.
6695 (grub_target_to_host64): Likewise.
6696 (grub_host_to_target16): Likewise.
6697 (grub_host_to_target32): Likewise.
6698 (grub_host_to_target64): Likewise.
6699 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6700 (grub_target_to_host32): Likewise.
6701 (grub_target_to_host64): Likewise.
6702 (grub_host_to_target16): Likewise.
6703 (grub_host_to_target32): Likewise.
6704 (grub_host_to_target64): Likewise.
6705
f4fc97d0
BC
67062010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6707
6708 Source tree is reorganized for emu build.
6709
6710 * include/grub/util/console.h: Move from here...
6711 * include/grub/emu/console.h: ...to here.
6712 * include/grub/util/getroot.h: Move from here...
6713 * include/grub/emu/getroot.h: ...to here.
6714 * include/grub/util/hostdisk.h: Move from here...
6715 * include/grub/emu/hostdisk.h: ...to here.
6716 * util/console.c: Move from here...
6717 * kern/emu/console.c: ...to here.
6718 * util/getroot.c: Move from here...
6719 * kern/emu/getroot.c: ...to here.
6720 * util/grub-emu.c: Move from here...
6721 * kern/emu/main.c: ...to here.
6722 * util/hostdisk.c: Move from here...
6723 * kern/emu/hostdisk.c: ...to here.
6724 * util/hostfs.c: Move from here...
6725 * kern/emu/hostfs.c: ...to here.
6726 * util/mm.c: Move from here...
6727 * kern/emu/mm.c: ...to here.
6728 * util/pci.c: Move from here...
6729 * bus/emu/pci.c: ...to here.
6730 * util/sdl.c: Move from here...
6731 * video/emu/sdl.c: ...to here.
6732 * util/time.c: Move from here...
6733 * kern/emu/time.c: ...to here.
6734 * util/usb.c: Move from here...
6735 * bus/usb/emu/usb.c: ...to here.
6736
6737 * include/grub/emu/misc.h: New header for grub-emu functions.
6738 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6739
6740 * conf/any-emu.rmk: Rule updates for above renames.
6741 * conf/common.rmk: Likewise.
6742 * conf/i386-pc.rmk: Likewise.
6743 * conf/i386-qemu.rmk: Likewise.
6744 * conf/mips.rmk: Likewise.
6745 * conf/sparc64-ieee1275.rmk: Likewise.
6746 * conf/x86-efi.rmk: Likewise.
6747
6748 * disk/lvm.h: #include updates for above renames.
6749 * util/grub-mkrelpath.c: Likewise.
6750 * util/grub-probe.c: Likewise.
6751 * util/i386/pc/grub-setup.c: Likewise.
6752 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6753 * kern/emu/console.c: Likewise.
6754 * kern/emu/getroot.c: Likewise.
6755 * kern/emu/hostdisk.c: Likewise.
6756 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6757
6758 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6759 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6760 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6761 * util/misc.c: Remove grub-emu functions.
6762
cced9145
VS
67632010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 Fix gfxmenu crash.
6766 Reported by: Thorsten Grützmacher.
6767
6768 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6769 timeout hook.
6770 (circprog_set_property): Register and unregister timeout hook.
6771 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6772 (label_destroy): Free template. and unregister hook.
6773 (label_set_state): New function.
6774 (label_set_property): Handle templates and hooks.
6775 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6776 timeout hook.
6777 (progress_bar_set_property): Register and unregister timeout hook.
6778 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6779 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6780 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6781 (update_timeout_visit): Removed.
6782 (update_timeouts): New function.
6783 (redraw_timeouts): Likewise.
6784 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6785 (grub_gfxmenu_clear_timeout): Likewise.
6786 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6787 (grub_gfxmenu_timeout_notify): Likewise.
6788 (grub_gfxmenu_timeout_notifications): New external variable.
6789 (grub_gfxmenu_timeout_register): New function.
6790 (grub_gfxmenu_timeout_unregister): Likewise.
6791
c6e5caab
VS
67922010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 Transform (broken) vga terminal into (working) vga video driver.
6795
6796 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6797 video/i386/pc/vga.c.
6798 * include/grub/video.h (grub_video_driver_id):
6799 Add GRUB_VIDEO_DRIVER_VGA.
6800 * term/i386/pc/vga.c: Renamed to ...
6801 * video/i386/pc/vga.c: ...this
6802 (DEBUG_VGA): Removed.
6803 (CHAR_WIDTH): Likewise.
6804 (CHAR_HEIGHT): Likewise.
6805 (TEXT_WIDTH): Likewise.
6806 (TEXT_HEIGHT): Likewise.
6807 (DEFAULT_FG_COLOR): Likewise.
6808 (DEFAULT_BG_COLOR): Likewise.
6809 (colored_char): Likewise.
6810 (xpos): Likewise.
6811 (ypos): Likewise.
6812 (cursor_state): Likewise.
6813 (fg_color): Likewise.
6814 (bg_color): Likewise.
6815 (text_buf): Likewise.
6816 (page): Likewise.
6817 (font): Likewise.
6818 (framebuffer): New variable.
6819 (set_read_map): Disabled.
6820 (setup): New variable.
6821 (is_target): Likewise.
6822 (grub_vga_mod_init): Likewise.
6823 (grub_vga_mod_fini): Likewise.
6824 (check_vga_mem): Likewise.
6825 (write_char): Likewise.
6826 (write_cursor): Likewise.
6827 (scroll_up): Likewise.
6828 (grub_vga_putchar): Likewise.
6829 (grub_vga_getcharwidth): Likewise.
6830 (grub_vga_getwh): Likewise.
6831 (grub_vga_getxy): Likewise.
6832 (grub_vga_gotoxy): Likewise.
6833 (grub_vga_cls): Likewise.
6834 (grub_vga_setcolorstate): Likewise.
6835 (grub_vga_setcursor): Likewise.
6836 (grub_video_vga_init): New function.
6837 (grub_video_vga_setup): Likewise.
6838 (grub_video_vga_fini): Likewise.
6839 (update_target): Likewise.
6840 (grub_video_vga_blit_bitmap): Likewise.
6841 (grub_video_vga_blit_render_target): Likewise.
6842 (grub_video_vga_set_active_render_target): Likewise.
6843 (grub_video_vga_get_active_render_target): Likewise.
6844 (grub_video_vga_swap_buffers): Likewise.
6845 (grub_video_vga_set_palette): Likewise.
6846 (grub_video_vga_get_info_and_fini): Likewise.
6847 (grub_vga_term): Removed.
6848 (grub_video_vga_adapter): New variable.
6849 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6850 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6851
2bf61a98
VS
68522010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 * video/readers/jpeg.c: Indented.
6855
09ddcd11
VS
68562010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 Various jpeg cleanups.
6859
6860 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6861 (grub_jpeg_decode_quan_table): Use sizeof.
6862 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6863
e5507505
PH
68642010-05-05 Peter Hurley <No e-mail available> (tiny change)
6865
6866 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6867 tables. Ignore non-last ac bit.
6868 (grub_jpeg_decode_quan_table): Likewise.
6869
7e720a9b
VS
68702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6871
6872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6873 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6874 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6875 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6876 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6877 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6878
a7fc080b
VS
68792010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6882 error.
6883
2bf6012d
VS
68842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6887
265d68cd
VS
68882010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6891 condition.
6892
68932010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6894
6895 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6896 part.
6897
265d68cd 68982010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6899
6900 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6901 pointers.
6902
265d68cd 69032010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6904
6905 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6906
d1b61374
CF
69072010-05-01 Christian Franke <franke@computer.org>
6908
6909 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6910 Remove broken Cygwin path conversion.
6911 * util/misc.c: [__CYGWIN__] Add include and define.
6912 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6913 for Cygwin 1.7.
6914 (make_system_path_relative_to_its_root): Simplify loop, replace early
6915 return by break.
6916 [__CYGWIN__] Add conversion to win32 path.
6917 Include "/" case in trailing slash removal.
6918
3558c6e9
VS
69192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6922 Reported by: Seth Goldberg
6923
f5f3ff93
VS
69242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * commands/help.c (grub_cmd_help): Fix a typo.
6927 Reported by: Seth Goldberg
6928
d8b5cd40
VS
69292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
6932 name and add N_.
6933 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
6934 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
6935 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
6936 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
6937 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
6938 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
6939 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
6940 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
6941 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
6942 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
6943 * normal/context.c (GRUB_MOD_INIT): Likewise.
6944 * normal/main.c (GRUB_MOD_INIT): Likewise.
6945 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
6946 * term/serial.c (GRUB_MOD_INIT): Likewise.
6947 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
6948
88c14915
VS
69492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6950
6951 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
6952 extra == 0.
6953
165134bc
VS
69542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 * commands/iorw.c: New file.
6957 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
6958 (iorw_mod_SOURCES): New variable.
6959 (iorw_mod_CFLAGS): Likewise.
6960 (iorw_mod_LDFLAGS): Likewise.
6961
c5ac9b32
VS
69622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 Hotkey support
6965
6966 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
6967 * normal/main.c (hotkey_aliases): New variable.
6968 (grub_normal_add_menu_entry): Parse "--hotkey".
6969 * normal/menu_text.c (run_menu): Handle hotkeys.
6970
ce60689c
VS
69712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * kern/i386/coreboot/init.c (grub_machine_init): Call
6974 grub_machine_mmap_init on qemu.
6975
0359d006
VS
69762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * boot/i386/qemu/boot.S: Add a missing .code16.
6979
7819a456
VS
69802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 Use LBIO on coreboot.
6983
6984 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
6985 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
6986 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
6987 New declaration.
6988 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
6989 grub_machine_mmap_init on coreboot.
6990 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
6991 GRUB_LINUXBIOS_MEMBER_LINK.
6992 (grub_machine_mmap_iterate): Fix declaration.
6993 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
6994
7210dca9
VS
69952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 Split coreboot and multiboot ports.
6998
6999 * conf/i386-multiboot.rmk: New file.
7000 * configure.ac: Add multiboot port.
7001 * include/grub/i386/multiboot/boot.h: New file.
7002 * include/grub/i386/multiboot/console.h: Likewise.
7003 * include/grub/i386/multiboot/init.h: Likewise.
7004 * include/grub/i386/multiboot/kernel.h: Likewise.
7005 * include/grub/i386/multiboot/loader.h: Likewise.
7006 * include/grub/i386/multiboot/memory.h: Likewise.
7007 * include/grub/i386/multiboot/serial.h: Likewise.
7008 * include/grub/i386/multiboot/time.h: Likewise.
7009 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
7010 * loader/multiboot.c: Likewise.
7011 * loader/multiboot_mbi2.c: Likewise.
7012 * util/grub-mkrescue.in: Generate multiboot rescue.
7013
6f8aaf68
VS
70142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7015
3080f7a7
VS
7016 * kern/parser.c (grub_parser_execute): Cope with read-only config.
7017
70182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
7021
7022 * commands/terminal.c (abstract_terminal): New struct.
7023 (handle_command): New function. Based on grub_cmd_terminal_input.
7024 (grub_cmd_terminal_input): Use handle_command.
7025 (grub_cmd_terminal_output): Use handle_command.
7026
a8ebb841
BC
70272010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
7028
7029 Fix comment handling.
7030
7031 * tests/grub_script_comments.in: New testcase.
7032 * conf/tests.rmk: Rules for new testcase.
7033 * script/yylex.l: Updated flex rules.
7034
bb06ba08
ST
70352010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
7036
7037 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
7038 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
7039 if argc is 1.
bb06ba08 7040
cc9d2425
VS
70412010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
7044 autogen issues.
7045
460d8402
CF
70462010-04-26 Christian Franke <franke@computer.org>
7047
7048 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
7049 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
7050 (grub_get_prefix): Remove function.
7051 * util/grub-emu.c (main): Replace grub_get_prefix () call by
7052 make_system_path_relative_to_its_root ().
7053 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7054
553c01f9
CF
70552010-04-24 Christian Franke <franke@computer.org>
7056
7057 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
7058 (kernel_img_LDFLAGS): Remove -static-libgcc.
7059
2aec1692
CF
70602010-04-24 Christian Franke <franke@computer.org>
7061
7062 * configure.ac: Do not CHECK_BSS_START_SYMBOL
7063 and CHECK_END_SYMBOL if grub-emu is built.
7064 Unset TARGET_OBJ2ELF if grub-emu is built
7065 without module support.
7066
f67dc308
JS
70672010-04-24 Jiro SEKIBA <jir@unicus.jp>
7068
7069 Nilfs2 support.
7070
7071 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
7072 (grub_fstest_SOURCES): Likewise.
7073 (pkglib_MODULES): Add nilfs2.mod.
7074 (nilfs2_mod_SOURCES): New variable.
7075 (nilfs2_mod_CFLAGS): Likewise.
7076 (nilfs2_mod_LDFLAGS): Likewise.
7077 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7078 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7079 * fs/nilfs2.c: New file.
7080
4ba8d354
VS
70812010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
7084 is not supported.
7085
0d2c20c6
GS
70862010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
7087
7088 Add grub-mkconfig support for NetBSD.
7089
7090 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
7091 * util/grub-mkconfig.in: export new NetBSD specific variables.
7092 * po/POTFILES-shell: added 10_netbsd.in.
7093 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
7094
bc4a2d83
BC
70952010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
7096
7097 Fix emu build with grub-emu-pci and grub-emu-modules.
7098
7099 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
7100 functions.
7101 * include/grub/libpciaccess.h: New file.
7102 * conf/any-emu.rmk: Update kernel headers for emu build.
7103
f48c87aa
VS
71042010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
7107
18959385
VS
71082010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
7111
0037de3f
VS
71122010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
7115 Retrieve chosen/bootpath if bootpath isn't hardcoded.
7116 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
7117 util/ieee1275/ofpath.c.
7118 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
7119 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
7120 * include/grub/sparc64/ieee1275/boot.h
7121 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
7122 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
7123 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
7124 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
7125 const char *.
7126 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
7127 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
7128 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
7129 install.
7130
38e55e90
GS
71312010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7132
7133 * util/grub-mkconfig.in: Corrected two == equality tests.
7134 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
7135 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
7136 expect a number appended to it.
7137 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
7138 expects a number appended to it.
7139
a9e6ff28
VS
71402010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
7143
0b830b8f
VS
71442010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 * util/hostdisk.c (make_device_name): Change to new partition naming.
7147
0973daeb
VS
71482010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
7151
460d8402 71522010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
7153
7154 * Makefile.in: Add missing localedir setting.
7155
0b456309
CW
71562010-04-14 Colin Watson <cjwatson@ubuntu.com>
7157
7158 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
7159 mistake in r2156. Noticed by Anthony Fok.
7160
7161 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
7162 @localedir@.
7163 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7164
08f46d62
BC
71652010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
7166
7167 Fix a spurious, uninitialized variable warning.
7168
7169 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
7170 Initialize variable, shdr.
7171 (grub_freebsd_load_elfmodule): Likewise.
7172 (grub_freebsd_load_elf_meta): Likewise.
7173
8c4a72d4
BC
71742010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
7175
7176 Fix for escaped dollar in double quoted strings.
7177
7178 * script/yylex.l: Updated flex rules.
7179 * conf/tests.rmk: Rule for new testcase.
7180 * tests/grub_script_dollar.in: New testcase.
7181
ce44826e
CPE
71822010-04-13 Carles Pina i Estany <carles@pina.cat>
71832010-04-13 Colin Watson <cjwatson@ubuntu.com>
7184
7185 Enclose all translated strings in grub.cfg in single quotes, and
7186 escape them appropriately (Ubuntu bug #552921).
7187
7188 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
7189 * util/grub.d/10_hurd.in: Use it.
7190 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7191 * util/grub.d/10_linux.in (linux_entry): Likewise.
7192
4b0cd8f8
VS
71932010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 Fix cygwin compilation.
7196
7197 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
7198 * include/grub/misc.h (__register_frame_info)
7199 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
7200 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7201 * kern/misc.c (__register_frame_info)
7202 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
7203 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7204
01fcf061
VS
72052010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
7208
5d04b11e
VS
72092010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 Unify libgcc processing.
7212
7213 * Makefile.in (kernel_img_LDFLAGS): New variable.
7214 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
7215 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
7216 overwriting.
7217 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
7218 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
7219 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
7220 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
7221 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
7222 overwriting. Remove -lgcc and -static-libgcc
7223 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
7224 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7225 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7226 (kernel_img_LDFLAGS): Append instead of overwriting.
7227 Remove -lgcc and -static-libgcc
7228 * conf/sparc64-ieee1275.rmk: Likewise.
7229 * include/grub/powerpc/libgcc.h: Move to ...
7230 * include/grub/libgcc.h: .. this.
7231 * include/grub/libgcc.h: Don't export most of the function on x86.
7232 (__bswapsi2): New export.
7233 (__bswapdi2): Likewise.
7234 * include/grub/mips/libgcc.h: Removed.
7235 * include/grub/sparc64/libgcc.h: Likewise.
7236
b7f3ac29
VS
72372010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7238
7239 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
7240 disk_info_msg (conflicts with gettexting into languages with cases).
7241
2c7031b1
GS
72422010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7243
7244 Add grub-probe support for NetBSD.
7245
7246 * util/getroot.c (find_root_device): Convert block device to
7247 character device on NetBSD.
7248 * util/probe.c (probe): Require character device on NetBSD.
7249 * util/hostdisk.c: NetBSD specific headers.
7250 (configure_device_driver): new function to tune device driver
7251 parameters (currently only for NetBSD floppy driver).
7252 (grub_util_biosdisk_open): NetBSD specific code (get disk size
7253 via disklabel ioctl).
7254 (open_device): call configure_device_driver on NetBSD.
7255 (convert_system_partition_to_system_disk): NetBSD specific code.
7256 (device_is_wholedisk): Likewise.
7257 (grub_util_biosdisk_get_grub_dev): Likewise.
7258 (make_device_name): Fixed a typo in bsd_part_str.
7259 * configure.ac: check for opendisk() and getrawpartition() on
7260 NetBSD and set LIBUTIL.
7261 * Makefile.in: add LIBUTIL to LIBS.
7262
f516290c
BC
72632010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7264
7265 Documentation fix.
7266
7267 * util/grub-script-check.c: Better help message.
7268
d8dcc0df
BC
72692010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7270
7271 Fix FreeBSD build.
7272
7273 * configure.ac: Flex version check.
7274 * conf/common.rmk: Add -Wno-error to sh.mod.
7275 * script/yylex.l: Remove all #pragma.
7276
6734334a
VS
72772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * include/grub/util/misc.h (canonicalise_file_name): Add missing
7280 prototype.
7281 Reported by: Seth Goldberg.
7282
daea6abd
VS
72832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
7286 Rename "module" to "module2".
7287 Reported by: Seth Goldberg.
7288
f2fd9d2b
VS
72892010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
7292 EXPORT_FUNC.
7293 Reported by: Seth Goldberg.
7294
be124579
VS
72952010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 * lib/posix_wrap/locale.h: Add missing file.
7298 Reported by: Seth Goldberg.
7299
ef5da797
VS
73002010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 grub-emu module load support.
7303
7304 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
7305 NO_DYNAMIC_MODULES switched to this.
7306 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
7307 (CFLAGS): Likewise.
7308 * conf/any-emu.rmk: Generate symlist.
7309 (kernel_img_HEADERS): Add util/datetime.h.
7310 (kernel_img_HEADERS) [sdl]: Add sdl.h.
7311 (kernel_img_HEADERS) [libusb]: Add libusb.h.
7312 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
7313 kern/$(target_cpu)/cache.S.
7314 * configure.ac (grub-emu-modules): New option.
7315 * genmk.rb: Handle multiple source lists.
7316 * include/grub/sdl.h: New file.
7317 * include/grub/libusb.h: Likewise.
7318 * util/grub-emu.c (main): Hanle (host) root.
7319 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
7320 GRUB_ERR_UNKNOWN_DEVICE.
7321 * util/misc.c: Move mm functions to ...
7322 * util/mm.c: ... here. All users updated.
7323
47822096
VS
73242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
7327 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
7328 missing files.
7329 (maintainer-clean): Remove libgcrypt-grub.
7330
5d7e7445
VS
73312010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
7334
25f4e252
EC
73352010-04-09 EFI Coder <eficoder@hotmail.com>
7336
7337 * normal/menu_text.c (print_message): Clean up the message and show
7338 the Fn information when on EFI
7339 * term/efi/console.c (grub_console_checkkey): Add F4 support.
7340
027de555
VS
73412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
7344 All users updated.
7345 * normal/crypto.c (read_crypto_list): Likewise.
7346 * normal/dyncmd.c (read_command_list): Likewise.
7347 * normal/term.c (read_terminal_list): Likewise.
7348 * normal/main.c (read_lists): Use explicit prefix.
7349 (read_lists_hook): Use read_lists.
7350 (grub_normal_execute): Likewise.
7351
47779711
VS
73522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
7355 Reported by: Thomas Schmitt.
7356 Add -no-emul-boot to grub-mkisofs parameters.
7357
1118c32e
VS
73582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 * font/font.c: Indented.
7361
7d652447
BC
73622010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7363
7364 Elif support to GRUB script (by Deepak Vankadaru).
7365
7366 * tests/grub_script_if.in: New testcase.
7367 * conf/tests.rmk: Rule for new testcase.
7368 * script/parser.y: Grammar rules for elif.
7369
34bb22df
BC
73702010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7371
7372 While and until loops support to GRUB script.
7373
7374 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
7375 (grub_script_create_cmdwhile): New function prototype.
7376 (grub_script_execute_cmdwhile): New function prototype.
7377 * script/execute.c (grub_script_execute_cmdwhile): New function.
7378 * script/parser.y (command): New commands.
7379 (whilecmd): New grammar rule.
7380 (untilcmd): New grammar rule.
7381 * script/script.c (grub_script_create_cmdwhile): New function.
7382 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
7383 function.
7384
7385 * tests/grub_script_while1.in: New testcase.
7386 * conf/tests.rmk: Rule for new testcase.
7387
e215d8e0
VS
73882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7389
7390 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
7391 as *.jpg.
7392
d7c43ba1
MV
73932010-04-09 Mario Vazquez <mariovazq@gmail.com>
7394
7395 GRUB_BACKGROUND support.
7396
7397 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
7398 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
7399
d64795c0
VS
74002010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 7403 Idea by: Mario Vazquez
d64795c0
VS
7404
7405 * util/grub.d/00_header.in: Load pf2 and image modules.
7406
f267f83a
VS
74072010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 grub-mkconfig multiple terminal support.
7410
7411 * util/grub-mkconfig.in: Handle multiple terminals correctly.
7412 * util/grub.d/00_header.in: Likewise.
7413
b7841ceb
VS
74142010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7415
7416 * Makefile.in: Specify files explicitly instead of using $< and $@ since
7417 we use cd $(srcdir).
7418
df60998c
CW
74192010-04-08 Colin Watson <cjwatson@ubuntu.com>
7420
7421 * util/grub.d/10_linux.in: Only use the first word of
7422 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
7423 spaces in GRUB_DISTRIBUTOR.
7424 * util/grub.d/10_kfreebsd.in: Likewise.
7425 * util/grub.d/10_hurd.in: Likewise.
7426
fa09c82e
BC
74272010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
7428
14e18ae3 7429 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
7430
7431 * tests/util/grub-shell.in: Remove -serial stdio option.
7432
daf892b3
BC
74332010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 POSIX header file wrappers.
7436
7437 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
7438 equivalents.
7439 * lib/posix_wrap/ctype.h: Likewise.
7440 * lib/posix_wrap/errno.h: Likewise.
7441 * lib/posix_wrap/langinfo.h: Likewise.
7442 * lib/posix_wrap/limits.h: Likewise.
7443 * lib/posix_wrap/localcharset.h: Likewise.
7444 * lib/posix_wrap/stdint.h: Likewise.
7445 * lib/posix_wrap/stdio.h: Likewise.
7446 * lib/posix_wrap/stdlib.h: Likewise.
7447 * lib/posix_wrap/string.h: Likewise.
7448 * lib/posix_wrap/sys/types.h: Likewise.
7449 * lib/posix_wrap/unistd.h: Likewise.
7450 * lib/posix_wrap/wchar.h: Likewise.
7451 * lib/posix_wrap/wctype.h: Likewise.
7452 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
7453 (grub_script.yy.h): Likewise.
7454 * script/yylex.l: Remove POSIX emulation #defines.
7455 * Makefile.in (POSIX_CFLAGS): New variable.
7456 (GNULIB_UTIL_CFLAGS): Likewise.
7457
7458 Regexp support.
7459
7460 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
7461 (regexp_mod_SOURCES): New variable.
7462 (regexp_mod_CFLAGS): Likewise.
7463 (regexp_mod_LDFLAGS): Likewise.
7464 * commands/regexp.c: New file.
7465 * gnulib/regcomp.c: New file. Imported from gnulib.
7466 * gnulib/regex.c: Likewise.
7467 * gnulib/regex_internal.c: Likewise.
7468 * gnulib/regex_internal.h: Likewise.
7469 * gnulib/regexec.c: Likewise.
7470 * gnulib/regex.h: Likewise.
7471
974ac4f7
VS
74722010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
7475 unsupported video mode types.
7476
2622c3ff
VS
74772010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
7480
064cb524
VS
74812010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
7484 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
7485
a8c3b552
VS
74862010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 Remove unused grub_vga_get_font.
7489
7490 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
7491 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
7492
187bbe3d
GS
74932010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7494
7495 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
7496 * include/grub/misc.h: Likewise.
7497
b9396631
GS
74982010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7499
7500 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
7501 for which failure is fatal.
7502
50479feb
GS
75032010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7504
7505 * util/grub-install.in: Use mkdir -p to create grub directory.
7506 * util/i386/efi/grub-install.in: Likewise.
7507 * util/ieee1275/grub-install.in: Likewise.
7508
b1654fdf
GS
75092010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7510
7511 * Makefile.in (LEX): new variable.
7512
bd5a6415
GS
75132010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7514
7515 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
7516 `=' and added double quotes on operands of this equality test.
7517
3db3a82b
VS
75182010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * Makefile.in (uninstall): Remove a leftover debug echo.
7521 Reported by: Grégoire Sutre
7522
38023412
VS
75232010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 MIPS multiboot2 support.
7526
7527 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
7528 (multiboot2_mod_SOURCES): New variable.
7529 (multiboot2_mod_CFLAGS): Likewise.
7530 (multiboot2_mod_LDFLAGS): Likewise.
7531 (multiboot2_mod_ASFLAGS): Likewise.
7532 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
7533 definition.
7534 (MULTIBOOT_ENTRY_REGISTER): Likewise.
7535 (MULTIBOOT_MBI_REGISTER): Likewise.
7536 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
7537 (MULTIBOOT_ELF32_MACHINE): Likewise.
7538 (MULTIBOOT_ELF64_MACHINE): Likewise.
7539 * include/grub/mips/multiboot.h: New file.
7540 * include/grub/video.h (grub_video_driver_id): New type
7541 GRUB_VIDEO_DRIVER_SM712.
7542 (grub_video_get_info_and_fini): Export.
7543 (grub_video_get_palette): Likewise.
7544 (grub_video_get_driver_id): Likewise.
7545 * include/multiboot2.h: Resynced with spec.
7546 * loader/i386/multiboot.c: Moved from here ...
7547 * loader/multiboot.c: ... here. All users updated.
7548 (grub_multiboot_boot): Use platform-specific macros.
7549 * loader/i386/multiboot_elfxx.c: Moved from here ...
7550 * loader/multiboot_elfxx.c: ... here. All users updated.
7551 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
7552 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
7553 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
7554
47674667
VS
75552010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 Import gnulib argp module.
7558
7559 * gnulib/argp-ba.c: New file.
7560 * gnulib/argp-eexst.c: Likewise.
7561 * gnulib/argp-fmtstream.c: Likewise.
7562 * gnulib/argp-fmtstream.h: Likewise.
7563 * gnulib/argp-fs-xinl.c: Likewise.
7564 * gnulib/argp-help.c: Likewise.
7565 * gnulib/argp-namefrob.h: Likewise.
7566 * gnulib/argp-parse.c: Likewise.
7567 * gnulib/argp-pin.c: Likewise.
7568 * gnulib/argp-pv.c: Likewise.
7569 * gnulib/argp-pvh.c: Likewise.
7570 * gnulib/argp-version-etc.c: Likewise.
7571 * gnulib/argp-version-etc.h: Likewise.
7572 * gnulib/argp-xinl.c: Likewise.
7573 * gnulib/argp.h: Likewise.
7574
495442ed
VS
75752010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * kern/device.c (grub_device_iterate): Clear errors after failed
7578 opening device.
7579
f9fd65df
VS
75802010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7583 returned by firmware.
7584
af09641e
VS
75852010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7588 compilation on coreboot and qemu
7589
016883a5
VS
75902010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * include/multiboot2.h: Resync with spec.
7593
f97e1f7d
VS
75942010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 Multiboot2 tag support
7597
7598 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7599 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7600 Remove loader/multiboot_loader.c.
7601 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7602 (grub_multiboot2_real_boot): Likewise.
7603 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7604 (grub_get_multiboot_mmap_count): New proto.
7605 (grub_fill_multiboot_mmap): Likewise.
7606 (grub_multiboot_set_video_mode): Likewise.
7607 (grub_multiboot_set_console): Likewise.
7608 (grub_multiboot_load): Likewise.
7609 (grub_multiboot_load_elf): Likewise.
7610 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7611 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7612 * include/multiboot.h: Resynced with specification.
7613 * include/multiboot2.h: Resynced with specification.
7614 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7615 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7616 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7617 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7618 users updated.
7619 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7620 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7621 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7622 Removed.
7623 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7624 Moved from here...
7625 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7626 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7627 Moved from here...
7628 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7629 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7630 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7631 All users updated.
7632 * loader/i386/multiboot_mbi2.c: New file.
7633
3506b90b
VS
76342010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 Resync with gnulib.
7637
7638 * Makefile.in (GNULIB_CFLAGS): New variable.
7639 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7640 (grub_script_check_CFLAGS): New variable.
7641 * gnulib/alloca.h: Resync with gnulib.
7642 * gnulib/error.c: Likewise.
7643 * gnulib/error.h: Likewise.
7644 * gnulib/fnmatch.c: Likewise.
7645 * gnulib/fnmatch_loop.c: Likewise.
7646 * gnulib/getdelim.c: Likewise.
7647 * gnulib/getline.c: Likewise.
7648 * gnulib/getopt.c: Likewise.
7649 * gnulib/getopt1.c: Likewise.
7650 * gnulib/getopt_int.h: Likewise.
7651 * gnulib/gettext.h: Likewise.
7652 * gnulib/progname.c: Likewise.
7653 * gnulib/progname.h: Likewise.
7654
394a3120
GS
76552010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7656
7657 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7658 which is the case with --disabled-nls.
7659
7660 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7661 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7662 * util/misc.c: Likewise.
7663 * util/mkisofs/mkisofs.c: Likewise.
7664 * util/mkisofs/mkisofs.h: Likewise.
7665
969d1c78
VS
76662010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 Simplify Apple CC support.
7669
7670 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7671 Add 0 byte at the end not to have a symbol with empty target.
7672 * mmap/i386/pc/mmap_helper.S: Likewise.
7673 * genmk.rb: Ignore errors 2030 and 2050.
7674 * kern/i386/pc/startup.S: Use LOCAL when possible.
7675
8d2977bb
BC
76762010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7677
7678 Testcase and the fix for final semicolon on cmdline.
7679
7680 * tests/grub_script_final_semicolon.in: New testcase.
7681 * conf/tests.rmk: Rules for the new testcase.
7682 * script/parser.y: Grammar fix.
7683
a7bd6915
BC
76842010-03-26 BVK Chaitanya <bvk@localhost>
7685
7686 Blank lines testcase for GRUB script.
7687
7688 * tests/grub_script_blanklines.in: New testcase.
7689 * conf/tests.rmk: Rules for the new testcase.
7690
e4ff6628
VS
76912010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 Don't use __FILE__.
7694
7695 * genmk.rb: Add -DGRUB_FILE to all C targets.
7696 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7697 * include/grub/list.h: Likewise.
7698 * include/grub/misc.h: Likewise.
7699 * include/grub/mm.h: Likewise.
7700 * include/grub/test.h: Likewise.
7701 * kern/mm.c: Likewise.
7702 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7703
6a5cf6b6
VS
77042010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 Sunpc partitions support.
7707
7708 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7709 (grub_fstest_SOURCES): Likewise.
7710 (pkglib_MODULES): Add part_sunpc.mod.
7711 (part_sunpc_mod_SOURCES): New variable.
7712 (part_sunpc_mod_CFLAGS): Likewise.
7713 (part_sunpc_mod_LDFLAGS): Likewise.
7714 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7715 * partmap/sunpc.c: New file.
7716
746d9045
BC
77172010-03-26 BVK Chaitanya <bvk@localhost>
7718
7719 For loop support to GRUB script.
7720
7721 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7722 (grub_script_create_cmdfor): New function prototype.
7723 (grub_script_execute_cmdfor): New function prototype.
7724 * script/execute.c (grub_script_execute_cmdfor): New function.
7725 * script/parser.y (command): New for command.
7726 (forcmd): New grammar rule.
7727 * script/script.c (grub_script_create_cmdfor): New function.
7728 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7729 function.
7730 * tests/grub_script_for1.in: New testcase.
7731 * conf/tests.rmk: Rules for new testcase.
7732
18486b18
VS
77332010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 Nested partitions
7736
7737 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7738 'partition' is NULL, grub_partition_get_start already does that.
7739 * commands/loadenv.c (check_blocklists): Likewise.
7740 (write_blocklists): Likewise.
7741 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7742 (grub_fstest_SOURCES): Likewise.
7743 (pkglib_MODULES): Add part_bsd.mod.
7744 (part_bsd_mod_SOURCES): New variable.
7745 (part_bsd_mod_CFLAGS): Likewise.
7746 (part_bsd_mod_LDFLAGS): Likewise.
7747 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7748 (grub_emu_SOURCES): Likewise.
7749 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7750 * include/grub/bsdlabel.h: New file.
7751 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7752 'get_name'.
7753 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7754 (grub_partition_map_list): New variable.
7755 (grub_partition_map_register): Inline.
7756 (grub_partition_map_unregister): Likewise.
7757 (FOR_PARTITION_MAPS): New macro.
7758 (grub_partition_map_iterate): Removed.
7759 (grub_partition_get_start): Handle nested partitions.
7760 * include/grub/msdos_partition.h: Remove bsd-related entries.
7761 (grub_pc_partition): Remove.
7762 * kern/disk.c (grub_disk_close): Free partition data.
7763 (grub_disk_adjust_range): Handle nested partitions.
7764 * kern/partition.c (grub_partition_map_probe): New function.
7765 (grub_partition_probe): Parse name to number, handle subpartitions.
7766 (get_partmap): New function.
7767 (grub_partition_iterate): Handle subpartitions.
7768 (grub_partition_get_name): Likewise.
7769 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7770 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7771 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7772 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7773 Set 'number'.
7774 (acorn_partition_map_probe): Remove.
7775 (acorn_partition_map_get_name): Likewise.
7776 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7777 Set 'number'.
7778 Set 'index' to 0 since there can be only one partition entry per sector.
7779 (amiga_partition_map_probe): Remove.
7780 (amiga_partition_map_get_name): Likewise.
7781 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7782 Set 'number'.
7783 Set 'offset' and 'index' to real positions of partitions.
7784 (apple_partition_map_probe): Remove.
7785 (apple_partition_map_get_name): Likewise.
7786 * partmap/bsdlabel.c: New file.
7787 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7788 Set 'number'.
7789 Allocate 'data' so it can be correctly freed.
7790 Set 'index' to offset inside sector.
7791 (gpt_partition_map_probe): Remove.
7792 (gpt_partition_map_get_name): Likewise.
7793 * partmap/msdos.c (grub_partition_parse): Remove.
7794 (pc_partition_map_iterate): Don't force raw access.
7795 Set 'number'.
7796 Make 'ext_offset' a local variable.
7797 (pc_partition_map_probe): Remove.
7798 (pc_partition_map_get_name): Remove.
7799 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7800 Set 'number'.
7801 (sun_partition_map_probe): Remove.
7802 (sun_partition_map_get_name): Likewise.
7803 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7804 (grub_pcpart_type): Likewise.
7805 * util/hostdisk.c (open_device): Handle new numbering scheme.
7806 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7807 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7808 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7809 * util/grub-install.in: Insert all subpartition modules.
7810 * util/ieee1275/grub-install.in: Likewise.
7811
a3940f88
AG
78122010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7813
7814 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7815 grammar.
7816
21b99926 78172010-03-24 Colin Watson <cjwatson@ubuntu.com>
7818
7819 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7820
bed1d352
CW
78212010-03-21 Colin Watson <cjwatson@ubuntu.com>
7822
7823 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7824 match where 'make install' puts them.
7825 * util/i386/efi/grub-install.in: Likewise.
7826
c9f58427
CW
78272010-03-19 Colin Watson <cjwatson@ubuntu.com>
7828
7829 * .bzrignore: Add gentrigtables, grub-script-check,
7830 grub_script_check_init.c, grub_script_check_init.h, and
7831 trigtables.c.
7832
f84afb27
VS
78332010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * kern/parser.c: Indented.
7836
ed0e3d30
VS
78372010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7840
0ea81d98
VS
78412010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7844 alpha_mask_size == 0 case.
7845
0cdc2a09
BC
78462010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7847
7848 GRUB shell lexer and parser improvements.
7849
7850 * conf/any-emu.rmk: Build rule updates.
7851 * conf/common.rmk: Likewise.
7852 * conf/i386-coreboot.rmk: Likewise.
7853 * conf/i386-efi.rmk: Likewise.
7854 * conf/i386-ieee1275.rmk: Likewise.
7855 * conf/i386-pc.rmk: Likewise.
7856 * conf/powerpc-ieee1275.rmk: Likewise.
7857 * conf/x86_64-efi.rmk: Likewise.
7858
7859 * configure.ac: Configure check for flex.
7860
7861 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7862 types.
7863 (grub_lexer_param): Struct member updates.
7864 (grub_parser_param): Likewise.
7865 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7866 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7867 (grub_script_lexer_init): Prototype update.
7868 (grub_script_lexer_record_start): Likewise.
7869 (grub_script_lexer_record_stop): Likewise.
7870 (grub_script_lexer_yywrap): New function prototype.
7871 (grub_script_lexer_fini): Likewise.
7872 (grub_script_execute_argument_to_string): Removed by...
7873 (grub_script_execute_argument_to_argv): ...better version.
7874
7875 * script/execute.c (ROUND_UPTO): New macro.
7876 (grub_script_execute_cmdline): Out of memory fixes.
7877 (grub_script_execute_menuentry): Likewise.
7878 (grub_script_execute_argument_to_string): Removed. Update all
7879 users by...
7880 (grub_script_execute_argument_to_argv): ...better version.
7881 * script/function.c (grub_script_function_create): Use
7882 grub_script_execute_argument_to_argv instead of
7883 grub_script_execute_argument_to_string.
7884
7885 * script/lexer.c (check_varstate): Removed.
7886 (check_textstate): Removed.
7887 (grub_script_lexer_record_start): Likewise.
7888 (grub_script_lexer_record_stop): Likewise.
7889 (recordchar): Replaced with...
7890 (grub_script_lexer_record): ...new function.
7891 (nextchar): Removed.
7892 (grub_script_lexer_init): Rewritten.
7893 (grub_script_yylex): Rewritten.
7894 (append_newline): New function.
7895 (grub_script_lexer_yywrap): New function.
7896 (grub_script_lexer_fini): New function.
7897 (grub_script_yyerror): Sets error flag.
7898
7899 * script/yylex.l: New file.
7900 (grub_lexer_yyfree): Wrapper for flex yyffre.
7901 (grub_lexer_yyalloc): Likewise.
7902 (grub_lexer_yyrealloc): Likewise.
7903 * script/parser.y: Refactored.
7904
7905 * script/script.c (grub_script_arg_add): Out of memory fixes.
7906 (grub_script_add_arglist): Likewise.
7907 (grub_script_create_cmdline): Likewise.
7908 (grub_script_create_cmdmenu): Likewise.
7909 (grub_script_add_cmd): Likewise.
7910 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7911 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7912 unnecessary code.
7913
7914 * tests/grub_script_echo1.in: New testcase.
7915 * tests/grub_script_vars1.in: New testcase.
7916 * tests/grub_script_echo_keywords.in: New testcase.
7917
1d63a066
VS
79182010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 Remove some redundancy in build system.
7921
7922 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7923 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7924 (TARGET_LDFLAGS): Add -nostdlib.
7925 (TARGET_IMG_LDFLAGS): Likewise.
7926 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7927 anything since mmap isn't available.
7928 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
7929 Add util/time.c.
7930 (pkglib_MODULES): Remove reboot.mod.
7931 (reboot_mod_SOURCES): Removed.
7932 (reboot_mod_CFLAGS): Likewise.
7933 (reboot_mod_LDFLAGS): Likewise.
7934 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
7935 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
7936 (DEFSYMFILES): Add kernel_syms.lst.
7937 (kernel_img_HEADERS): Add common headers.
7938 (symlist.c): New target.
7939 (kernel_syms.lst): Likewise.
7940 (pkglib_MODULES): Add memdisk.mod.
7941 (memdisk_mod_SOURCES): New variable.
7942 (memdisk_mod_CFLAGS): Likewise.
7943 (memdisk_mod_LDFLAGS): Likewise.
7944 (pkglib_MODULES): Add reboot.mod.
7945 (reboot_mod_SOURCES): New variable.
7946 (reboot_mod_CFLAGS): Likewise.
7947 (reboot_mod_LDFLAGS): Likewise.
7948 (pkglib_MODULES): Add date.mod.
7949 (date_mod_SOURCES): New variable.
7950 (date_mod_CFLAGS): Likewise.
7951 (date_mod_LDFLAGS): Likewise.
7952 (pkglib_MODULES): Add datehook.mod.
7953 (datehook_mod_SOURCES): New variable.
7954 (datehook_mod_CFLAGS): Likewise.
7955 (datehook_mod_LDFLAGS): Likewise.
7956 (pkglib_MODULES): Add lsmmap.mod.
7957 (lsmmap_mod_SOURCES): New variable.
7958 (lsmmap_mod_CFLAGS): Likewise.
7959 (lsmmap_mod_LDFLAGS): Likewise.
7960 (pkglib_MODULES): Add boot.mod.
7961 (boot_mod_SOURCES): New variable.
7962 (boot_mod_CFLAGS): Likewise.
7963 (boot_mod_LDFLAGS): Likewise.
7964 * conf/i386-coreboot.rmk: Removed redundant parts.
7965 * conf/i386-ieee1275.rmk: Likewise.
7966 * conf/i386-pc.rmk: Likewise.
7967 * conf/mips-yeeloong.rmk: Likewise.
7968 * conf/mips.rmk: Likewise.
7969 * conf/powerpc-ieee1275.rmk: Likewise.
7970 * conf/sparc64-ieee1275.rmk: Likewise.
7971 * conf/x86_64-efi.rmk: Likewise.
7972 * conf/i386-coreboot.rmk: Moved qemu parts ..
7973 * conf/i386-qemu.rmk: ... here
7974 * conf/i386-efi.rmk: Moved common parts to...
7975 * conf/x86-efi.rmk: ... here.
7976 * conf/i386.rmk: Added modules common to all x86 variants.
7977 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
7978 * disk/memdisk.c: Remove grub/machine/kernel.h.
7979 * gensymlist.sh.in: Include symbol.h.
7980 * hook/datehook.c: Correct module name.
7981 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
7982 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
7983 * include/grub/i386/efi/serial.h: New file.
7984 * include/grub/x86_64/efi/serial.h: Likewise.
7985 * util/time.c: Likewise.
7986 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
7987
463ac55f
CK
79882010-03-14 Colin King <colin.king@ubuntu.com>
79892010-03-14 Colin Watson <cjwatson@ubuntu.com>
7990
7991 Shrink the pre-partition-table part of boot.img by eight bytes.
7992
7993 * boot/i386/pc/boot.S (ERR): New macro.
7994 (chs_mode): Use ERR.
7995 (geometry_error): Likewise.
7996 (hd_probe_error): Remove. This is only used once, so we wrwite
7997 it inline instead.
7998 (read_error): Instead of printing read_error_string, just set up
7999 %si and fall through to ...
8000 (error_message): ... this new function, also used by ERR.
8001
08e46ede
CW
80022010-03-14 Colin Watson <cjwatson@ubuntu.com>
8003
8004 Speed up consecutive hostdisk operations on the same device.
8005
8006 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
8007 (grub_util_biosdisk_open): Initialise disk->data.
8008 (struct linux_partition_cache): New structure.
8009 (linux_find_partition): Cache partition start positions; these are
8010 expensive to compute on every read and write.
8011 (open_device): Cache open file descriptor in disk->data, so that we
8012 don't have to reopen it and flush the buffer cache for consecutive
8013 operations on the same device.
8014 (grub_util_biosdisk_close): New function.
8015 (grub_util_biosdisk_dev): Set `close' member.
8016
8017 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
8018 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
8019 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8020 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8021 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
8022
4a6d2d06
VS
80232010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8024
8025 Compile parts of grub-emu as modules.
8026
8027 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
8028 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
8029 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
8030 (all-local): Add $(GRUB_EMU).
8031 (install-local): Install $(GRUB_EMU).
8032 (uninstall): Uninstall $(GRUB_EMU).
8033 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
8034 * kern/dl.c: Likewise.
8035 * commands/sleep.c: Not include machine/time.h.
8036 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
8037 (COMMON_CFLAGS): Likewise.
8038 (sbin_UTILITIES): Remove grub-emu.
8039 (grub_emu_SOURCES): Removed.
8040 (kernel_img_RELOCATABLE): New variable.
8041 (pkglib_PROGRAMS): Add kernel.img.
8042 (kernel_img_SOURCES): New variable
8043 (kernel_img_CFLAGS): Likewise.
8044 (kernel_img_LDFLAGS): Likewise.
8045 (TARGET_NO_STRIP): Likewise.
8046 (TARGET_NO_DYNAMIC_MODULES): Likewise.
8047 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
8048 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
8049 (grub-emu): New target.
8050 (GRUB_EMU): New variable.
8051 * configure.ac: Whitelist -emu as possible x86_64 architecture.
8052 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
8053 * loader/xnu.c: Likewise.
8054 * include/grub/pci.h: Likewise.
8055 * genemuinit.sh: New file.
8056 * genemuinitheader.sh: Likewise.
8057 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
8058 Support TARGET_NO_DYNAMIC_MODULES.
8059 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
8060 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
8061 * disk/loopback.c: Likewise.
8062 * font/font_cmd.c: Likewise.
8063 * partmap/acorn.c: Likewise.
8064 * partmap/amiga.c: Likewise.
8065 * partmap/apple.c: Likewise.
8066 * partmap/gpt.c: Likewise.
8067 * partmap/msdos.c: Likewise.
8068 * partmap/sun.c: Likewise.
8069 * parttool/msdospart.c: Likewise.
8070 * term/gfxterm.c: Likewise.
8071 * video/bitmap.c: Likewise.
8072 * video/readers/jpeg.c: Likewise.
8073 * video/readers/png.c: Likewise.
8074 * video/readers/tga.c: Likewise.
8075 * video/video.c: Likewise.
8076 * util/grub-emu.c (read_command_list): Removed.
8077 (main): Don't call util_init_nls.
8078 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
8079 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
8080
91fdd2ed
VS
80812010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8082
8083 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
8084 date.mod, datehook.mod.
8085 (datetime_mod_SOURCES): New variable.
8086 (datetime_mod_CFLAGS): Likewise.
8087 (datetime_mod_LDFLAGS): Likewise.
8088 (date_mod_SOURCES): Likewise.
8089 (date_mod_CFLAGS): Likewise.
8090 (date_mod_LDFLAGS): Likewise.
8091 (datehook_mod_SOURCES): Likewise.
8092 (datehook_mod_CFLAGS): Likewise.
8093 (datehook_mod_LDFLAGS): Likewise.
8094 * conf/sparc64-ieee1275.rmk: Likewise.
8095 * lib/ieee1275/datetime.c: New file.
8096
873ccae6
VS
80972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8098
8099 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
8100 (ieee1275_fb_mod_SOURCES): New variable.
8101 (ieee1275_fb_mod_CFLAGS): Likewise.
8102 (ieee1275_fb_mod_LDFLAGS): Likewise.
8103 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
8104 New proto.
8105 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
8106 (HEAP_MAX_ADDR): Likewise.
8107 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
8108 type.
8109 Correct stop condition.
8110 (grub_ieee1275_devices_iterate): New function.
8111 * video/ieee1275.c: New file.
8112
601c97c0
VS
81132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
8116
8117 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
8118 as scratch.
8119 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
8120 SCRATCH_PAD_DISKBOOT as scratch.
8121 (bootit): Pass Openfirmware pointer in %o4.
8122 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
8123 of 0x200000.
8124 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
8125 with util/grub-mkrawimage.c.
8126 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
8127 * include/grub/aout.h (AOUT_MID_SUN): New definition.
8128 (grub_aout_get_type) [GRUB_UTIL]: Removed.
8129 (grub_aout_load) [GRUB_UTIL]: Likewise.
8130 * include/grub/kernel.h (grub_modules_get_end): New proto.
8131 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
8132 (SCRATCH_PAD_BOOT): New definition.
8133 (SCRATCH_PAD_DISKBOOT): Likewise.
8134 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
8135 * include/grub/sparc64/ieee1275/ieee1275.h
8136 (grub_ieee1275_original_stack): New variable
8137 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
8138 New definition
8139 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
8140 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
8141 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
8142 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
8143 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
8144 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
8145 (grub_platform_image_format_t): New type.
8146 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
8147 * kern/main.c (grub_modules_get_end)
8148 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
8149 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
8150 (codestart): Switch stacks.
8151 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
8152 variable.
8153 (grub_heap_init): Use grub_modules_get_end.
8154 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
8155 stack.
8156 * util/grub-mkrawimage.c (generate_image): Support sparc64.
8157 (main): Likewise.
8158 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
8159
d68b491e
TG
81602010-03-14 Thorsten Glaser <tg@mirbsd.org>
8161
8162 * util/grub-mkrescue.in: Base ISO UUID on UTC.
8163
4e02ed50
MK
81642010-03-08 Matt Kraai <kraai@ftbfs.org>
8165
8166 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
8167 bug #559005).
8168
1f15fc1e
VS
81692010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * genmoddep.awk: Output all missing symbols and not only first.
8172
fce5d8ff
VS
81732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * NEWS: Put the date of 1.98 release.
8176
d1e8a02f
VS
81772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
8180 ft2build.h.
8181
696fd607
VS
81822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
8185 completition in the middle of string.
8186
33e2e6f3
VS
81872010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * util/grub-mkrescue.in: Use mktemp with explicit template.
8190
b1f6d291
VS
81912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
8194
2ac227c7
VS
81952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
8198 right pointer.
8199
8f9a632b
VS
82002010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8201
8202 Fix FreeBSD compilation.
8203
8204 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
8205 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
8206
60b03859
VS
82072010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
8210
48a5a769
VS
82112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
8214
3ab4bd77
VS
82152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
8218
d116e0d8
RM
82192010-03-04 Robert Millan <rmh.grub@aybabtu.com>
8220
8221 Support relative image path in theme file.
8222
8223 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
8224 (image_set_property): Handle theme_dir and relative path.
8225
c7ef54aa
VS
82262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * configure.ac: Alias amd64 to x86_64.
8229
fcee14ed
VS
82302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * NEWS: mention multiboot on EFI.
8233
d0780363
VS
82342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8235
8236 * kern/main.c (grub_load_modules): Handle errors from init functions of
8237 embeded modules.
8238
41168ea4
VS
82392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * normal/autofs.c (autoload_fs_module): Handle errors.
8242
b54d93ac
VS
82432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 Disable linux.mod on qemu-mips since it's not functional and leads
8246 to compilation failure.
8247
8248 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
8249 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
8250 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
8251 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
8252 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
8253 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
8254 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
8255 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
8256 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
8257 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
8258 Reported by: BVK Chaitanya
8259
fc8345da
JU
82602010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
8261
8262 * INSTALL: Add gettext as a dependency and add qemu to a new section
8263 "Prerequisites for make-check".
8264
4760f979
CF
82652010-03-04 Christian Franke <franke@computer.org>
8266
8267 * util/grub-pe2elf.c: Add missing include "progname.h".
8268
f209b5b2
VS
82692010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 * normal/crypto.c (read_crypto_list): Fix a typo.
8272 Reported by: Seth Goldberg.
8273
b4b7be98
VS
82742010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 8277 Reported by: Seth Goldberg.
b4b7be98 8278
c0ee0385
VS
82792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
8282 ascii.bitmaps.
8283
a8efbf64
VS
82842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 8287 Reported by: Seth Goldberg.
a8efbf64 8288
08dcd913
VS
82892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * util/i386/efi/grub-install.in: Copy gettext files.
8292
c4d0b332
VS
82932010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
8296
c6f2fe52
VS
82972010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 Wait for user entry basing on presence of output rather than on errors.
8300
8301 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
8302 (grub_install_newline_hook): Likewise.
8303 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
8304 * normal/menu.c (show_menu): Check line_counter to determine presence
8305 of output.
8306 * normal/term.c (grub_normal_line_counter): New variable.
8307 (grub_normal_get_line_counter): New function.
8308 (grub_install_newline_hook): Likewise.
8309
5382b1e4
VS
83102010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
8313
5519963b
VS
83142010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * configure.ac: Update version to 1.98.
8317
72b28631
VS
83182010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * util/grub.d/10_linux.in (linux_entry): Don't default to
8321 gfxpayload=keep if Linux doesn't support video handover.
8322
c140a180
VS
83232010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 Don't compile video modules on yeeloong since video subsystem is part
8326 of kernel.
8327
8328 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
8329 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
8330 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
8331 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
8332 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
8333 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
8334 * include/grub/bitmap_scale.h: Likewise.
8335 * include/grub/bufio.h: Likewise.
8336 * include/grub/font.h: Likewise.
8337 * include/grub/gfxterm.h: Likewise.
8338 * include/grub/video.h: Likewise.
8339 * include/grub/vbe.h: Don't include video_fb.h.
8340 * video/i386/pc/vbe.c: Include video_fb.h.
8341 * commands/i386/pc/vbetest.c: Include video.h.
8342
a0ca21c2
CW
83432010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
8344
8345 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
8346 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
8347 default entry if GRUB_SAVEDEFAULT=true. This allows using
8348 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
8349 saving a new default on every boot.
8350
4a8a763c
VS
83512010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * normal/crypto.c (read_crypto_list): Fix a memory leak.
8354 * normal/term.c (read_terminal_list): Likewise.
8355 * normal/main.c (grub_normal_init_page): Likewise.
8356 (grub_normal_read_line_real): Likewise.
8357
607ffde2
VS
83582010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
8361 memory leak.
8362 Reported by: Seth Goldberg.
8363
2b8fa975
CW
83642010-02-24 Joey Korkames <joey+lists@kidfixit.com>
8365
8366 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
8367 duplicate declaration of `start'.
8368
618307dd
VS
83692010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
8372 filename.
8373 Reported by: Georgy Buranov
8374
7dd05b96 83752010-02-20 Carles Pina i Estany <carles@pina.cat>
8376
8377 * util/grub-mkrawimage.c (usage): Change string formatting to
8378 improve gettext.
8379
d1484a42
MRA
83802010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8381
8382 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
8383 backspace keys.
8384
42b1d186
VS
83852010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
8388 Reported by: Michael Suchanek.
8389
83902010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
8391
8392 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
8393 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
8394
d9f31a41
VS
83952010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 Remove any reference to non-free fonts.
8398
8399 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
8400 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
8401 uses non-free components.
8402 * font/font.c (grub_font_get_name): Remove example name.
8403 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
8404 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8405 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
8406 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
8407
2793c71e
GB
84082010-02-16 Georgy Buranov <gburanov@gmail.com>
8409
8410 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
8411
402e3779
VS
84122010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8413
8414 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
8415 Double divisor.
8416 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
8417 features.
8418 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
8419
0dd1e0dd
VS
84202010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * gensymlist.sh.in: Use TARGET_CC instead of CC.
8423
6fa7cfce
ST
84242010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8425
8426 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
8427 * docs/grub.texi (Command-line and menu entry commands): Document play
8428 command.
8429
37c8483b
ST
84302010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8431
8432 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
8433 parse arguments as inline tempo and notes. Move code for playing notes
8434 to...
8435 (play): ... new function.
8436
14da0fb7
ST
84372010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8438
8439 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
8440 grub_uint16_t instead of short.
8441 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
8442 disk from little endian to cpu endianness.
8443
04459e70
ST
84442010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
8445
8446 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
8447 GRUB_TICKS_PER_SECOND instead of 120.
8448
a0876943
VS
84492010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8450
8451 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
8452 escape sequence after \e.
8453
e29f95dc
VS
84542010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
8457 non-ASCII characters.
8458
d27859b2
VS
84592010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
8462 set root in single quotes to prevent \, from being unescaped.
8463
bc028f2f
VS
84642010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 Prevent unknown commands from stopping menuentry execution.
8467
8468 * script/execute.c (grub_script_execute_cmdline): Print error after
8469 unknown command.
8470
095f5f82
VS
84712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
8474 Reported by: Pavel Pisa.
8475
8c717950
VS
84762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
8479
904935c3
VS
84802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 Merge grub_ieee1275_map_physical into grub_map and rename to
8483 grub_ieee1275_map
8484
8485 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
8486 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
8487 Remove.
8488 * kern/ieee1275/openfw.c (grub_map): Rename to ...
8489 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
8490 necessary.
8491 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
8492
5b59a4e3
VS
84932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8494
8495 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
8496 opening and not after.
8497
69e137e8
VS
84982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
8501 constants.
8502
2c0fcc36
VS
85032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
8506 (alloc_phys): Use ALIGN_UP instead of align_addr.
8507
8c6052ce
VS
85082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
8511
17cec782
VS
85122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8513
8514 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
8515
e0128bbd
VS
85162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
8519 verbose dprintf.
8520
ca62070b
VS
85212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 Fix over-4GiB seek on sparc64.
8524
8525 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
8526 Replace pos_i and pos_lo with pos. All users updated.
8527 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8528 New constant.
8529 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8530 Likewise.
8531 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
8532 and pos_lo.
8533
bdca2607
VS
85342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * util/grub-mkrawimage.c (main): Call set_program_name.
8537
da278c4d
VS
85382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 Properly align 64-bit targets.
8541
8542 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8543 (generate_image): Use ALIGN_ADDR.
8544
b274d734
VS
85452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8546
8547 Properly create cross-endian images.
8548
8549 * include/grub/types.h (grub_host_to_target_addr): New macro
8550 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8551
82da2062
VS
85522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
8555
7cae4377
VS
85562010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
8559
8560 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
8561 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
8562 (grub_linux_boot): Divide by 64K when on VESA.
8563
65a533e7
VS
85642010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 Support GRUB_GFXPAYLOAD_LINUX.
8567
8568 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
8569 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
8570
dd01d397
VS
85712010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
8574 to show messages instead of discarding them.
8575 Process errors after executing command and not before. Keep old method
8576 too as precaution.
8577
660960d6
VS
85782010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * configure.ac: Check for ft2build.h.
8581
62509f04
VS
85822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8585
473df63d
VS
85862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 * genkernsyms.sh.in: Use TARGET_CC.
8589
c98d2a13
CW
85902010-02-07 Colin Watson <cjwatson@ubuntu.com>
8591
8592 * NEWS: Update.
8593
6e14234c
VS
85942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
8597 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8598 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 8599
b255e9cf
YB
86002010-02-07 Yves Blusseau <blusseau@zetam.org>
8601
6e14234c 8602 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 8603
98e6959d
VS
86042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 Fix warnings in grub-emu when compiling with maximum warning options.
8607
8608 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8609 (grub_arch_modules_addr): Return 0 and not NULL.
8610 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 8611 (xstrdup): Use newstr instead of dup.
f88d801b
VS
8612 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8613 of disk to dsk to avoid shadowing.
74e4934e
VS
8614 (find_free_slot): Fix prototype.
8615 * util/getroot.c (grub_util_is_dmraid): Make static.
8616 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8617 Add missing prototype.
8618 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 8619
74e31b5c
VS
86202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8623 appropriately.
8624
6b2ad14b
VS
86252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8626
8627 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8628 code out.
8629
8f891adc
VS
86302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8633 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8634 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8635 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8636 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8637 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8638
74b45184
VS
86392010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * include/grub/err.h (grub_err_printf): Don't export.
8642
a4bced77
VS
86432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8646
007d0695
VS
86472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8650 * kern/misc.c (grub_gettext_dummy): Make static.
8651
b6c0d9c2
VS
86522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8655 by non-valid ones.
8656 * kern/term.c (grub_putchar): Likewise.
8657
f51a90d0
VS
86582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8661 buggy hook call and memory leak.
8662
6846cec5
VS
86632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8666
468d69fe
VS
86672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8670
51906b8c
VS
86712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8674 modevar.
8675 Return grub_errno on allocation error.
8676
09706ce5
VS
86772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8680
911df80c
YB
86812010-02-06 Yves Blusseau <blusseau@zetam.org>
8682
8683 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8684 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8685
3746a6bc
VS
86862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8689 non-pxe disk.
8690 (grub_pxefs_open): Likewise.
8691
09706ce5
VS
86922010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8693
8694 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8695 * util/grub.d/10_kfreebsd.in: Likewise.
8696 * util/grub.d/10_linux.in: Likewise.
8697
7cc192d9
VS
86982010-02-06 Colin D Bennett <colin@gibibit.com>
8699
8700 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8701 (gfxmenu_mod_SOURCES): New variable.
8702 (gfxmenu_mod_CFLAGS): Likewise.
8703 (gfxmenu_mod_LDFLAGS): Likewise.
8704 * include/grub/term.h (grub_term_set_current_output): Declare
8705 argument as const.
8706 * docs/gfxmenu-theme-example.txt: New file.
8707 * gfxmenu/gfxmenu.c: Likewise.
8708 * gfxmenu/gui_box.c: Likewise.
8709 * gfxmenu/gui_canvas.c: Likewise.
8710 * gfxmenu/gui_circular_progress.c: Likewise.
8711 * gfxmenu/gui_image.c: Likewise.
8712 * gfxmenu/gui_label.c: Likewise.
8713 * gfxmenu/gui_list.c: Likewise.
8714 * gfxmenu/gui_progress_bar.c: Likewise.
8715 * gfxmenu/gui_string_util.c: Likewise.
8716 * gfxmenu/gui_util.c: Likewise.
8717 * gfxmenu/icon_manager.c: Likewise.
8718 * gfxmenu/model.c: Likewise.
8719 * gfxmenu/named_colors.c: Likewise.
8720 * gfxmenu/theme_loader.c: Likewise.
8721 * gfxmenu/view.c: Likewise.
8722 * gfxmenu/widget-box.c: Likewise.
8723 * include/grub/gfxmenu_model.h: Likewise.
8724 * include/grub/gfxmenu_view.h: Likewise.
8725 * include/grub/gfxwidgets.h: Likewise.
8726 * include/grub/gui.h: Likewise.
8727 * include/grub/gui_string_util.h: Likewise.
8728 * include/grub/icon_manager.h: Likewise.
8729
87302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 Agglomerate scrolling in gfxterm.
8733
8734 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8735 (grub_virtual_screen_setup): Initialise 'total_screen'.
8736 (write_char): Split to ...
8737 (paint_char): ... this ...
8738 (write_char): ... and this.
8739 (paint_char): Handle delayed scrolling.
8740 (draw_cursor): Likewise.
8741 (scroll_up): Split to ...
8742 (real_scroll): ... this ...
8743 (scroll_up): ... and this.
8744 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8745 characters.
8746 (grub_gfxterm_refresh): Call real_scroll.
8747
87482010-02-06 Colin D Bennett <colin@gibibit.com>
8749
8750 * include/grub/misc.h (grub_iscntrl): New inline function.
8751 (grub_isalnum): Likewise.
8752 (grub_strtol): Likewise.
8753
87542010-02-06 Colin D Bennett <colin@gibibit.com>
8755
8756 * normal/menu_text.c (get_entry_number): Move from here ...
8757 * normal/menu.c (get_entry_number): ... moved here.
8758 * include/grub/menu.h (grub_menu_get_default_entry_index):
8759 New prototype.
8760 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8761 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8762 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8763 (grub_menu_viewer_should_return): Likewise.
8764 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8765 * normal/menu_text.c (run_menu): Enable menu switching.
8766 * normal/menu_viewer.c (should_return): New variable.
8767 (menu_viewer_changed): Likewise.
8768 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8769 (grub_menu_viewer_should_return): New function.
8770 (menuviewer_write_hook): Likewise.
8771 (grub_menu_viewer_init): Likewise.
8772
87732010-02-06 Colin D Bennet <colin@gibibit.com>
87742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 Support for gfxterm in a window.
8777
8778 * include/grub/gfxterm.h: New file.
8779 * include/grub/video.h (struct grub_video_rect): New declaration.
8780 (grub_video_rect_t): Likewise.
8781 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8782 (refcount): New variable.
8783 (render_target): Likewise.
8784 (window): Likewise.
8785 (repaint_callback): Likewise.
8786 (grub_virtual_screen_setup): Use 'render_target'.
8787 (init_window): New function.
8788 (grub_gfxterm_init_window): Likewise.
8789 (grub_gfxterm_init): Check reference counter.
8790 Use init_window.
8791 (destroy_window): New function.
8792 (grub_gfxterm_destroy_window): Likewise.
8793 (grub_gfxterm_fini): Check reference counter.
8794 Use destroy_window.
8795 (redraw_screen_rect): Restore viewport.
8796 Use 'render_target' and 'window'.
8797 Call 'repaint_callback'.
8798 (write_char): Use 'render_target'.
8799 (draw_cursor): Likewise.
8800 (scroll_up): Restore viewport.
8801 Use 'render_target' and 'window'.
8802 Call 'repaint_callback'.
8803 (grub_gfxterm_cls): Likewise.
8804 (grub_gfxterm_refresh): Use 'window'.
8805 (grub_gfxterm_set_repaint_callback): New function.
8806 (grub_gfxterm_background_image_cmd): Use 'window'.
8807 (grub_gfxterm_get_term): New function.
8808 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8809
88102010-02-06 Colin D Bennett <colin@gibibit.com>
8811
8812 Bitmap scaling support.
8813
8814 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8815 (bitmap_scale_mod_SOURCES): New variable.
8816 (bitmap_scale_mod_CFLAGS): Likewise.
8817 (bitmap_scale_mod_LDFLAGS): Likewise.
8818 * include/grub/bitmap_scale.h: New file.
8819 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8820 (background_image_cmd_options): New variable.
8821 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8822 (cmd): Rename and change type to ...
8823 (background_image_cmd_handle): ... this. All users updated.
8824 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8825 * video/bitmap_scale.c: New file.
8826
88272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 SDL support.
8830
8831 * Makefile.in (LIBSDL): New variable.
8832 (enable_grub_emu_sdl): Likewise.
8833 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8834 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8835 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8836 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8837 * util/sdl.c: New file.
8838
88392010-02-06 Colin D Bennett <colin@gibibit.com>
88402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 Double buffering support.
8843
8844 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8845 * include/grub/video.h: Update comment.
8846 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8847 New type.
8848 (grub_video_fb_doublebuf_blit_init): New prototype.
8849 * term/gfxterm.c (scroll_up): Support double buffering.
8850 (grub_gfxterm_refresh): Likewise.
8851 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8852 (grub_video_fb_doublebuf_blit_init): Likewise.
8853 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8854 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8855 'displayed_page', 'render_page' and 'update_screen'.
8856 (grub_video_vbe_fini): Free offscreen buffer.
8857 (doublebuf_pageflipping_commit): New function.
8858 (doublebuf_pageflipping_update_screen): Likewise.
8859 (doublebuf_pageflipping_init): Likewise.
8860 (double_buffering_init): Likewise.
8861 (grub_video_vbe_setup): Enable doublebuffering.
8862 (grub_video_vbe_swap_buffers): Implement.
8863 (grub_video_vbe_set_active_render_target): Handle double buffering.
8864 (grub_video_vbe_get_active_render_target): Likewise.
8865 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8866 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8867 (grub_video_vbe_enable_double_buffering): Likewise.
8868 (grub_video_vbe_swap_buffers): Use update_screen.
8869 (grub_video_set_mode): Use double buffering.
8870
88712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8872
8873 * maintainance/gentrigtables.py: Remove.
8874 * lib/trig.c: Likewise.
8875
8876 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8877
8878 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8879 `trigtables.c'.
8880 (trigtables.c): New rule.
8881 (gentrigtables): Likewise.
8882 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8883
88842010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8885
8886 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8887 integer constants.
8888
88892010-02-06 Colin D Bennet <colin@gibibit.com>
8890
8891 Trigonometry support.
8892
8893 * include/grub/trig.h: New file.
8894 * lib/trig.c: Likewise.
8895 * maintainance/gentrigtables.py: Likewise.
8896 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8897 (trig_mod_SOURCES): New variable.
8898 (trig_mod_CFLAGS): Likewise.
8899 (trig_mod_LDFLAGS): Likewise.
8900
5562834e
VS
89012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8904 disk devices.
8905
4f8528fc
VS
89062010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8909 error.
8910
2b4068e9
VS
89112010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * util/hostdisk.c (open_device): Don't use partition device when reading
8914 before the partition.
8915 (grub_util_biosdisk_read): Don't read from partition and before the
8916 partition in single operation.
8917 (grub_util_biosdisk_write): Don't write to partition and before the
8918 partition in single operation.
8919
399f6e4d
TL
89202010-02-03 Torsten Landschoff <torsten@debian.org>
8921
8922 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8923 last sectors.
8924
996649b0
VS
89252010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8926
8927 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
8928 CDROM reads.
8929 (grub_biosdisk_write): Refuse to write to CDROM.
8930
3b205d4d
VS
89312010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
8934
61e89d9d
VS
89352010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * font/font.c (find_glyph): Check that bmp_idx is available before
8938 using it.
8939 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
8940 with (font == NULL).
8941
bf7fcba2
CS
89422010-01-28 Christian Schmitt <chris@ilovelinux.de>
8943
8944 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
8945
f45d2663
BC
89462010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
8947
8948 * include/grub/script_sh.h (sourcecode): Add const qualifier.
8949 * util/grub-script-check.c (getline): Fix empty lines case.
8950
ec1444e6
RM
89512010-01-28 Robert Millan <rmh.grub@aybabtu.com>
8952
8953 * Makefile.in (check): Exit with fail status when one of the tests
8954 fails.
8955 * tests/example_functional_test.c (example_test): Fix reversed assert.
8956 * tests/example_unit_test.c (example_test): Likewise.
8957
2e1cb9bb
CW
89582010-01-28 Colin Watson <cjwatson@ubuntu.com>
8959
8960 * util/grub.d/10_linux.in: This script does not use any of the
8961 contents of gettext.sh, only the external command `gettext', so stop
8962 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
8963 the same prefix as GRUB.)
8964 * util/grub.d/10_kfreebsd.in: Likewise.
8965
63533ab0
VS
89662010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8967
8968 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
8969 of the line.
8970
989e1f93
VS
89712010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8974 last sectors.
8975
e709ebe2
VS
89762010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
8979 having a 4KiB and not 32KiB buffer size.
8980
27dea7ed
RM
89812010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8982
8983 * util/hostfs.c: Include `<errno.h>'.
8984 (grub_hostfs_read): Handle errors from fseeko() and fread().
8985
67667b9c
RM
89862010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8987
8988 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
8989 loop when using read hooks on files whose size isn't sector-aligned.
8990
c294d9d8
RM
89912010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8992
8993 Remove unused parameter.
8994
8995 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
8996 (grub_iso9660_open): Remove initialization of `data->length'.
8997
af75a9f1
RM
89982010-01-27 Robert Millan <rmh.grub@aybabtu.com>
8999
9000 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
9001 memleak conditions.
9002
254e2ce5 90032010-01-27 Carles Pina i Estany <carles@pina.cat>
9004
9005 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
9006 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
9007
b510928c 90082010-01-26 Carles Pina i Estany <carles@pina.cat>
9009
9010 * util/bin2h.c (usage): Fix warning (space after backslash).
9011
aa2f9dd2 90122010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 9013
9014 * font/font.c: Include `grub/fontformat.h.
9015 Remove font file format constants.
9016 (grub_font_load): Use the new macros.
9017 * include/grub/fontformat.h: New file.
9018 * util/grub-mkfont.c: Include `grub/fontformat.c'.
9019 (write_font_pf2): Use the new macros.
9020
94e7e712
RM
90212010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9022
9023 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
9024 does.
9025
3973a59a
RM
90262010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9027
9028 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
9029
9030 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
9031 (_start): Macroify `0x7F'.
9032
9033 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
9034 (make_install_device): Use "(pxe)" as fallback prefix when booting
9035 via PXE.
9036
42e0cba3
GS
90372010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * configure.ac: Reset LIBS after check for libgcc symbols.
9040
847effd8
CW
90412010-01-25 Colin Watson <cjwatson@ubuntu.com>
9042
9043 * util/hostdisk.c (open_device): Add trailing newline to debug
9044 message.
9045
ea4a7e35
GS
90462010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
9047
9048 * configure.ac: Check for `limits.h'.
9049 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
9050
67951a53
RM
90512010-01-24 Robert Millan <rmh.grub@aybabtu.com>
9052
9053 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
9054 capitalize error strings.
9055
c273d4ce
ST
90562010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
9057
9058 * util/grub.d/10_hurd.in: Add a recovery mode.
9059
69be5b74
VS
90602010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9061
9062 * configure.ac: Check for libgcc symbols with -nostdlib.
9063
fc9e5810
BC
90642010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
9065
9066 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
9067
4b358c0a
VS
90682010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
9071 stack since heap may be unavailable at that point.
9072 (grub_ofconsole_gotoxy): Likewise.
9073
454fcd1c
VS
90742010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * configure.ac: Check for _restgpr_14_x.
9077 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
9078 and _savegpr_* prototypes.
9079
566863ca
RM
90802010-01-22 Robert Millan <rmh.grub@aybabtu.com>
9081
9082 Use generic grub_reboot() for i386-efi.
9083
9084 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
9085 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
9086 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
9087
bf86e59a
VS
90882010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
9091 presence of "prefix" variable as it breaks when normal.mod is
9092 embedded.
9093
d645e0f8
VS
90942010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
9097 stack since heap is unavailable at that point.
9098
f9ab2e25
VS
90992010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
9102 (grub_freebsd_bootinfo): Rewritten.
9103 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
9104
01fc7054
VS
91052010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
9108
caab4fd6
RM
91092010-01-21 Robert Millan <rmh.grub@aybabtu.com>
9110
9111 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
9112 domain now.
9113
67eb1427
FZ
91142010-01-20 Felix Zielcke <fzielcke@z-51.de>
9115
9116 * util/misc.c (make_system_path_relative_to_its_root): Change the work
9117 around for handling "/" to the correct fix. Fix a memory leak. Use
9118 xstrdup instead of strdup.
9119
a9ed4ff3
VS
91202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
9123
91242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
9125
9126 Optimise glyph lookup by Basic Multilingual Plane lookup array.
9127
9128 * font/font.c (struct grub_font): New member 'bmp_idx'.
9129 (font_init): Initialise 'bmp_idx'.
9130 (load_font_index): Fill 'bmp_idx'.
9131 (find_glyph): Make inline. Use bmp_idx for BMP characters.
9132
48209f4f
VS
91332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
9136 unnecessary calls.
9137
9f0a4bb7
VS
91382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 Move context handling out of the kernel.
9141
9142 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
9143 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
9144 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
9145 * conf/i386-efi.rmk: Likewise.
9146 * conf/i386-ieee1275.rmk: Likewise.
9147 * conf/i386-pc.rmk: Likewise.
9148 * conf/powerpc-ieee1275.rmk: Likewise.
9149 * conf/sparc64-ieee1275.rmk: Likewise.
9150 * conf/x86_64-efi.rmk: Likewise.
9151 * include/grub/env.h: Include grub/menu.h.
9152 (grub_env_var_type): Removed.
9153 (grub_env_var): Replaced field 'type' with 'global'.
9154 (grub_env_find): New prototype.
9155 (grub_env_context_open): Remove EXPORT_FUNC.
9156 (grub_env_context_close): Likewise.
9157 (grub_env_export): Likewise.
9158 (grub_env_set_data_slot): Removed.
9159 (grub_env_get_data_slot): Likewise.
9160 (grub_env_unset_data_slot): Likewise.
9161 (grub_env_unset_menu): New prototype.
9162 (grub_env_set_menu): Likewise.
9163 (grub_env_get_menu): Likewise.
9164 * include/grub/env_private.h: New file.
9165 * include/grub/normal.h (grub_context_init): New prototype.
9166 (grub_context_fini): Likewise.
9167 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
9168 * normal/context.c (grub_cmd_export): ... to here.
9169 * kern/env.c: Include env_private.h.
9170 (HASHSZ): Moved to include/grub/env_private.h.
9171 (grub_env_context): Likewise.
9172 (grub_env_sorted_var): Likewise.
9173 (current_context): Renamed from this ...
9174 (grub_current_context): ...to this. 'static' removed. All users updated.
9175 (grub_env_find): Removed 'static'.
9176 (grub_env_context_open): Moved to normal/context.c.
9177 (grub_env_context_close): Likewise.
9178 (grub_env_export): Likewise.
9179 (mangle_data_slot_name): Removed.
9180 (grub_env_set_data_slot): Likewise.
9181 (grub_env_get_data_slot): Likewise.
9182 (grub_env_unset_data_slot): Likewise.
9183 * kern/main.c (grub_set_root_dev): Don't export root.
9184 It will be done later.
9185 (grub_main): Don't export prefix.
9186 It will be done later.
9187 * normal/context.c: New file.
9188 * normal/main.c (free_menu): Use grub_env_unset_menu.
9189 (grub_normal_add_menu_entry): Use grub_env_get_menu.
9190 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
9191 (GRUB_MOD_INIT(normal)): Call grub_context_init.
9192 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
9193
8dd35b8c
VS
91942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 setpci support.
9197
9198 * commands/setpci.c: New file.
9199 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
9200 (setpci_mod_SOURCES): New variable.
9201 (setpci_mod_CFLAGS): Likewise.
9202 (setpci_mod_LDFLAGS): Likewise.
9203
449193d5
VS
92042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 Byte-addressable PCI configuration space.
9207
9208 * bus/pci.c (grub_pci_make_address): Use byte address instead of
9209 dword address.
9210 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
9211 GRUB_PCI_REG_CACHELINE.
9212 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
9213 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
9214 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
9215 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
9216 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
9217 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
9218 grub_pci_make_address.
9219 (lock_rom_area): Likewise.
9220 * commands/lspci.c (grub_lspci_iter): Use macroses
9221 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
9222 of grub_pci_make_address.
9223 * disk/ata.c (grub_ata_pciinit): Likewise.
9224 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
9225 (GRUB_PCI_REG_VENDOR): Likewise.
9226 (GRUB_PCI_REG_DEVICE): Likewise.
9227 (GRUB_PCI_REG_COMMAND): Likewise.
9228 (GRUB_PCI_REG_STATUS): Likewise.
9229 (GRUB_PCI_REG_REVISION): Likewise.
9230 (GRUB_PCI_REG_CLASS): Likewise.
9231 (GRUB_PCI_REG_CACHELINE): Likewise.
9232 (GRUB_PCI_REG_LAT_TIMER): Likewise.
9233 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
9234 (GRUB_PCI_REG_BIST): Likewise.
9235 (GRUB_PCI_REG_ADDRESSES): Likewise.
9236 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9237 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9238 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9239 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9240 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9241 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9242 (GRUB_PCI_REG_CIS_POINTER): Likewise.
9243 (GRUB_PCI_REG_SUBVENDOR): Likewise.
9244 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
9245 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
9246 (GRUB_PCI_REG_CAP_POINTER): Likewise.
9247 (GRUB_PCI_REG_IRQ_LINE): Likewise.
9248 (GRUB_PCI_REG_IRQ_PIN): Likewise.
9249 (GRUB_PCI_REG_MIN_GNT): Likewise.
9250 (GRUB_PCI_REG_MAX_LAT): Likewise.
9251 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
9252 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
9253 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 9254 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
9255 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
9256 space.
9257
96d73208
RM
92582010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9259
9260 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
9261 can be reliably determined to be supported.
9262
d4484482
RM
92632010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9264
9265 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
9266 that VESA is supported.
9267 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
9268 supported.
9269
00308ecf
VS
92702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
9273
f66924a4
RM
92742010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9275
9276 * util/misc.c (make_system_path_relative_to_its_root): Work around
9277 special-casing of "/", as previous incarnation of this routine did.
9278
cbca0ada
VS
92792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 Fix any-emu compilation.
9282
9283 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
9284 * grub_bin2h_SOURCES: New variable.
9285
34a66d99
RM
92862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9287
9288 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
9289
94fabf58
RM
92902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9291
9292 * util/grub.d/00_header.in: Fix handling of locale_dir.
9293
02cf98ca
VS
92942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
9297 as possible unifont location (Gentoo).
9298 Reported by: Alexander Brüning
9299
327dbcd7
VS
93002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 Don't try to generate lists for kernel.img.
9303
9304 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
9305 (pkglib_MODULES): Remove kernel.img.
9306 (kernel_img_EXPORTS): Removed.
9307 (kernel_img_RELOCATABLE): New variable.
9308 * conf/x86_64-efi.rmk: Likewise.
9309 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
9310
ca467290
VS
93112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
9314 grub_xasprintf or grub_snprintf.
9315 (grub_vsprintf): Likewise.
9316 (grub_snprintf): New proto.
9317 (grub_vsnprintf): Likewise.
9318 (grub_xasprintf): Likewise.
9319 (grub_xvasprintf): Likewise.
9320 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
9321 (grub_sprintf): Removed.
9322 (grub_vsnprintf): New function.
9323 (grub_snprintf): Likewise.
9324 (grub_xvasprintf): Likewise.
9325 (grub_xasprintf): Likewise.
9326 (grub_vsprintf): Renamed to ...
9327 (grub_vsnprintf_real): ...this. New argument max_len.
9328
aca655fd
BC
93292010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
9330
9331 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
9332 fix grub-script-check warning.
9333
7ee92c32
VS
93342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * include/grub/font.h (grub_font_load): Fix prototype.
9337
f80927ca
VS
93382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
9341
119c50ea
VS
93422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * include/grub/x86_64/at_keyboard.h: New file.
9345
47d5f3c1
VS
93462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 * loader/mips/linux.c: Include missing grub/i18n.h.
9349
55ff5266
RM
93502009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9351
9352 * normal/menu.c (notify_execution_failure): Clarify error message.
9353
c893cc87
RM
93542009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9355
9356 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
9357 return value (and revert all return statements). Update users.
9358
917dd370
CW
93592010-01-20 Dan Merillat <debian@dan.merillat.org>
9360
9361 * kern/device.c (grub_device_iterate): Allocate new part_ent
9362 structure based on sizeof (*p) rather than sizeof (p->next), to
9363 account for structure padding.
9364
9365 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
9366 disk is NULL, which might happen for LVM physical volumes with no
9367 LVM signature.
9368
d4a4ee57
RM
93692009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9370
9371 * loader/mips/linux.c (grub_cmd_initrd)
9372 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
9373
93742009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9375
9376 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
9377 (grub_video_video_init, grub_video_bitmap_init)
9378 (grub_font_manager_init, grub_term_gfxterm_init)
9379 (grub_at_keyboard_init): New extern declarations.
9380 (grub_machine_init): Initialize gfxterm and at_keyboard.
9381
9382 * kern/main.c (grub_main): Revert grub_printf delay kludge.
9383
9384 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
9385 `gfxterm.mod' into core image.
9386
9387 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9388 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9389 (kernel_img_FORMAT): Copy to ...
9390
9391 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9392 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9393 (kernel_img_FORMAT): ... here, and ...
9394
9395 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9396 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9397 (kernel_img_FORMAT): ... here.
9398
9399 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
9400 and input (at_keyboard) terminals in kernel.
9401 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
9402
9403 (pkglib_MODULES): Remove `pci.mod'.
9404 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
9405 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
9406 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9407 (at_keyboard_mod_LDFLAGS): Remove variables.
9408
94092010-01-11 Felix Zielcke <fzielcke@z-51.de>
9410
9411 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
9412
94132009-12-10 Robert Millan <rmh.grub@aybabtu.com>
9414
9415 * include/grub/mips/libgcc.h: Only export symbols for functions
9416 that libgcc provides.
9417
94182009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 MIPS support.
9421
9422 * bus/bonito.c: New file.
9423 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
9424 GRUB_PCI_NUM_DEVICES.
9425 * term/i386/pc/serial.c: Move to ...
9426 * term/serial.c: ... here. All users updated.
9427 * util/i386/pc/grub-mkimage.c: Move to ...
9428 * util/grub-mkrawimage.c: ... here. All users updated.
9429 * term/i386/pc/at_keyboard.c: Move to ...
9430 * term/at_keyboard.c: ... here. All users updated.
9431 * conf/mips-qemu-mips.rmk: New file.
9432 * conf/mips-yeeloong.rmk: Likewise.
9433 * conf/mips.rmk: Likewise.
9434 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
9435 mipsel-qemu-mips.
9436 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
9437 to port addresses.
9438 (grub_ata_pciinit): Support CS5536.
9439 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
9440 * font/font_cmd.c (loadfont_command): Open file before passing it to
9441 grub_font_load.
9442 (pseudo_file_read): New function.
9443 (pseudo_file_close): Likewise.
9444 (pseudo_fs): New structure.
9445 (load_font_module): New function.
9446 (GRUB_MOD_INIT(font_manager)): Load embedded font.
9447 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
9448 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
9449 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
9450 * include/grub/i386/at_keyboard.h: Split into ...
9451 * include/grub/at_keyboard.h: ... this ...
9452 * include/grub/i386/at_keyboard.h: ... and this.
9453 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
9454 New prototype.
9455 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
9456 updated.
9457 (grub_elf64_size): Likewise.
9458 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
9459 filename.
9460 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
9461 * include/grub/i386/coreboot/serial.h: Rewritten.
9462 * include/grub/i386/ieee1275/serial.h: Include
9463 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
9464 * include/grub/i386/pc/serial.h: Moved from here ...
9465 * include/grub/serial.h: ... to here. All users updated.
9466 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
9467 (GRUB_PCI_NUM_BUS): Likewise.
9468 (GRUB_PCI_NUM_DEVICES): Likewise.
9469 (grub_pci_device_map_range): Add missing volatile keyword.
9470 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
9471 * include/grub/mips/at_keyboard.h: New file.
9472 * include/grub/mips/cache.h: Likewise.
9473 * include/grub/mips/io.h: Likewise.
9474 * include/grub/mips/kernel.h: Likewise.
9475 * include/grub/mips/libgcc.h: Likewise.
9476 * include/grub/mips/pci.h: Likewise.
9477 * include/grub/mips/qemu-mips/boot.h: Likewise.
9478 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9479 * include/grub/mips/qemu-mips/loader.h: Likewise.
9480 * include/grub/mips/qemu-mips/memory.h: Likewise.
9481 * include/grub/mips/qemu-mips/serial.h: Likewise.
9482 * include/grub/mips/qemu-mips/time.h: Likewise.
9483 * include/grub/mips/relocator.h: Likewise.
9484 * include/grub/mips/time.h: Likewise.
9485 * include/grub/mips/types.h: Likewise.
9486 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
9487 * include/grub/mips/yeeloong/boot.h: Likewise.
9488 * include/grub/mips/yeeloong/kernel.h: Likewise.
9489 * include/grub/mips/yeeloong/loader.h: Likewise.
9490 * include/grub/mips/yeeloong/memory.h: Likewise.
9491 * include/grub/mips/yeeloong/pci.h: Likewise.
9492 * include/grub/mips/yeeloong/serial.h: Likewise.
9493 * include/grub/mips/yeeloong/time.h: Likewise.
9494 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
9495 * kern/elf.c (grub_elf32_size): New parameter. All users
9496 updated.
9497 (grub_elf64_size): Likewise.
9498 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
9499 Load modules before saying "Welcome to GRUB!".
9500 Call grub_refresh after saying "Welcome to GRUB!".
9501 * kern/mips/cache.S: New file.
9502 * kern/mips/cache_flush.S: Likewise.
9503 * kern/mips/dl.c: Likewise.
9504 * kern/mips/init.c: Likewise.
9505 * kern/mips/qemu-mips/init.c: Likewise.
9506 * kern/mips/startup.S: Likewise.
9507 * kern/mips/yeeloong/init.c: Likewise.
9508 * kern/term.c (grub_putcode): Handle NULL terminal.
9509 (grub_getcharwidth): Likewise.
9510 (grub_getkey): Likewise.
9511 (grub_checkkey): Likewise.
9512 (grub_getkeystatus): Likewise.
9513 (grub_getxy): Likewise.
9514 (grub_getwh): Likewise.
9515 (grub_gotoxy): Likewise.
9516 (grub_cls): Likewise.
9517 (grub_setcolorstate): Likewise.
9518 (grub_setcolor): Likewise.
9519 (grub_getcolor): Likewise.
9520 (grub_refresh): Likewise.
9521 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
9522 (write_jump): Add hatch nop.
9523 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
9524 * lib/mips/setjmp.S: New file.
9525 * loader/mips/linux.c: Likewise.
9526 * term/i386/pc/at_keyboard.c: Move from here ...
9527 * term/at_keyboard.c: ... to here.
9528 * term/i386/pc/serial.c: Moved from here ...
9529 * term/serial.c: ... to here. All users updated.
9530 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
9531 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
9532 (serial_translate_key_sequence): Avoid deadlock.
9533 (grub_serial_getkey): Handle backspace.
9534 (grub_serial_putchar): Fix newline handling.
9535 * util/i386/pc/grub-mkimage.c: Move from here ...
9536 * util/grub-mkrawimage.c: ... to here. All users updated.
9537 (generate_image): New parameters 'font_path' and 'format'.
9538 Support embedding font.
9539 Use grub_host_to_target* instead of grub_cpu_to_le*.
9540 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9541 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9542 (options): New option "--font".
9543 (usage): Likewise.
9544 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9545 (main): Handle "--font".
9546 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9547 (grub_virtual_screen_setup): Set bg_color_display.
9548 (redraw_screen_rect): Use bg_color_display instead of incorrect
9549 bg_color.
9550 (grub_gfxterm_cls): Likewise.
9551 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
9552 Support embedding config file.
9553 (add_segments): Likewise.
9554 (options): New option "--config".
9555 (main): Handle "--config".
9556 * video/sm712.c: New file.
9557
25c2b5b3
RM
95582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9559
9560 Fix parallel builds.
9561
9562 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
9563 font.c depend on ascii.h).
9564
95652010-01-12 Carles Pina i Estany <carles@pina.cat>
9566
9567 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
9568
95692010-01-11 Carles Pina i Estany <carles@pina.cat>
9570
9571 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
9572 By default: disabled.
9573 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
9574 parameter.
9575
95762010-01-10 Carles Pina i Estany <carles@pina.cat>
9577
9578 * font/font.c: Update copyright years.
9579 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
9580
95812010-01-10 Carles Pina i Estany <carles@pina.cat>
9582
9583 * font/font.c: Include `ascii.h'.
9584 (ASCII_BITMAP_SIZE): New macro.
9585 (ascii_font_glyph): Define.
9586 (ascii_glyph_lookup): New function.
9587 (grub_font_get_string_width): Change comment. If glyph not found, use
9588 ascii_glyph_lookup.
9589 (grub_font_get_glyph_with_fallback): If glyph not available returns
9590 ascii_glyph_lookup.
9591 * util/grub-mkfont.c (file_formats): New enum.
9592 (options): Add `ascii-bitmaps' new option.
9593 (usage): Add `asii-bitmaps' new option.
9594 (write_font_ascii_bitmap): New function.
9595 (write_font): Rename to ...
9596 (write_font_p2): ... this. Remove print_glyphs call.
9597 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9598 used. Call print_glyphs.
9599 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9600
96012010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9602
9603 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9604 (grub_bin2h_SOURCES): New variable.
9605 * util/bin2h.c: New file.
9606
915fc1b8
VS
96072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * include/multiboot.h: Resynced with spec.
9610 * include/multiboot2.h: Likewise.
9611 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9612 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9613
9444b678
RM
96142010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9615
9616 * include/grub/term.h (grub_term_register_input,
9617 grub_term_register_output): Check return of terminal init()
9618 routines, and abort if errors are raised.
9619
9620 * commands/terminal.c: Update copyright year.
9621
cba98e8d
RM
96222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9623
9624 * commands/terminal.c (grub_cmd_terminal_input)
9625 (grub_cmd_terminal_output): Check return of terminal init()
9626 routines, and abort if errors are raised.
9627
6f7db5d6
VS
96282010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * include/grub/i386/bsd.h: Fix include pathes.
9631
262bff8d
VS
96322010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 Add missing *BSD copyright headers.
9635
9636 * include/grub/aout.h: Add BSD licence.
9637 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9638 * include/grub/i386/freebsd_linker.h: ... here,
9639 * include/grub/i386/freebsd_reboot.h: ... here,
9640 * include/grub/i386/netbsd_bootinfo.h: ... here,
9641 * include/grub/i386/netbsd_reboot.h: ... here,
9642 * include/grub/i386/openbsd_bootarg.h: ... here,
9643 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9644 licence to each file.
9645
b2cab848
RM
96462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9647
9648 * acinclude.m4: Remove `nop' assembly instruction; it's not
9649 implemented by all architectures.
9650
2cb6be4b
RM
96512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9652
9653 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9654 ELILO. This is no longer necessary.
9655
a2eaee15
BC
96562010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9657
9658 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9659
9660 * util/grub-script-check.c: grub-script-check tool.
9661 * conf/common.rmk: Make rules for grub-script-check.
9662
88d17012
RM
96632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9664
9665 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9666 spotting it back in 2008. Shame on me for forgetting he did.
9667
9668 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9669
8040619d
RM
96702010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9671
9672 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9673 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9674 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9675 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9676 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9677 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9678
a0c2a0f6
RM
96792010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9680
9681 * include/grub/test.h: Add license header.
9682 * tests/example_functional_test.c: Likewise.
9683 * tests/example_unit_test.c: Likewise.
9684 * tests/lib/functional_test.c: Likewise.
9685 * tests/lib/test.c: Likewise.
9686 * tests/lib/unit_test.c: Likewise.
9687
b0b13907
VS
96882010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 Use flag-based instead of hook-based video mode selection and "auto"
9691 keyword.
9692
9693 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9694 (grub_video_set_mode): Changed prototype. All users updated.
9695 (grub_video_check_mode_flag): New inline function.
9696 * video/video.c (parse_modespec): New function.
9697 (grub_video_set_mode): Parse flags and keywords.
9698
ea379330 96992010-01-17 Carles Pina i Estany <carles@pina.cat>
9700
9701 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9702 fprintf call.
9703
e15c215e
FZ
97042010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9705
9706 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9707
409ae1c9 97082010-01-16 Carles Pina i Estany <carles@pina.cat>
9709
9710 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9711 string.
9712 * util/grub-emu.c (usage): Likewise.
9713 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9714 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9715 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9716 * util/i386/pc/grub-setup.c (usage): Likewise.
9717
70a14d3d 97182010-01-16 Carles Pina i Estany <carles@pina.cat>
9719
9720 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9721 the message.
9722 (grub_util_info): Likewise.
9723 (grub_util_error): Likewise.
9724 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9725 and/or new lines in `grub_util_warna', `grub_util_info',
9726 `grub_util_error' calls.
9727 * util/getroot.c: Likewise.
9728 * util/grub-editenv.c: Likewise.
9729 * util/grub-emu.c: Likewise.
9730 * util/grub-fstest.c: Likewise.
9731 * util/grub-mkdevicemap.c: Likewise.
9732 * util/grub-mkfont.c: Likewise.
9733 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9734 * util/grub-mkrelpath.c: Likewise.
9735 * util/grub-pe2elf.c: Likewise.
9736 * util/grub-probe.c: Likewise.
9737 * util/hostdisk.c: Likewise.
9738 * util/i386/efi/grub-mkimage.c: Likewise.
9739 * util/i386/pc/grub-mkimage.c: Likewise.
9740 * util/i386/pc/grub-setup.c: Likewise.
9741 * util/ieee1275/ofpath.c: Likewise.
9742 * util/mkisofs/eltorito.c: Likewise.
9743 * util/mkisofs/rock.c: Likewise.
9744 * util/mkisofs/write.c: Likewise.
9745 * util/raid.c: Likewise.
9746 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9747 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9748
a0b766fc
VS
97492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 Enable multiboot on non-pc.
9752
9753 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9754 multiboot.mod and multiboot2.mod to ...
9755 * conf/i386.rmk (pkglib_MODULES): ... here.
9756 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9757 Moved to ...
9758 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9759 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9760 Moved to ...
9761 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9762 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9763 Moved to ...
9764 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9765 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9766 Moved to ...
9767 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9768 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9769 relocator.mod.
9770 (ata_mod_SOURCES): Removed.
9771 (ata_mod_CFLAGS): Likewise.
9772 (ata_mod_LDFLAGS): Likewise.
9773 (relocator_mod_SOURCES): Removed.
9774 (relocator_mod_CFLAGS): Likewise.
9775 (relocator_mod_ASFLAGS): Likewise.
9776 (relocator_mod_LDFLAGS): Likewise.
9777 Include i386.mk.
9778 * include/grub/x86_64/multiboot.h: New file.
9779 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9780 Terminate EFI.
9781
884ade56
VS
97822010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 Video multiboot support.
9785
9786 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9787 New prototype.
9788 * include/multiboot.h: Resynced with multiboot specification.
9789 * include/multiboot2.h: Likewise.
9790 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9791 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9792 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9793 (HAS_VGA_TEXT): Likewise.
9794 (accepts_video): New variable.
9795 (grub_multiboot_set_accepts_video): New function.
9796 (grub_multiboot_get_mbi_size): Account for video structures.
9797 (set_video_mode): New function.
9798 (retrieve_video_parameters): Likewise.
9799 (grub_multiboot_make_mbi): Fill video fields.
9800
0d90e8a6
VS
98012010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9802
9803 Video driver ids.
9804
9805 * include/grub/video.h (grub_video_driver_id): New type.
9806 (grub_video_adapter): New member 'id'. All users updated.
9807 (grub_video_get_driver_id): New proto.
9808 * video/video.c (grub_video_get_driver_id): New function.
9809
5c71db1b 98102010-01-14 Carles Pina i Estany <carles@pina.cat>
9811
9812 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9813 `var=val'.
9814
cca15b52 98152010-01-14 Carles Pina i Estany <carles@pina.cat>
9816
9817 * normal/cmdline.c (print_completion): Gettextizze.
9818
c586fbb2 98192001-01-14 Carles Pina i Estany <carles@pina.cat>
9820
9821 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9822
ba2f6848 98232010-01-14 Carles Pina i Estany <carles@pina.cat>
9824
9825 * gettext/gettext.c (grub_gettext_translate): Push and pop
9826 grub_errno.
9827 (grub_gettext_delete_list): Change comment style.
9828 * kern/err.c (grub_error): Gettextizze.
9829 (grub_fatal): Gettextizze.
9830
0a46429a
RM
98312010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9832
9833 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9834 (grub_linux16_real_boot): ... this.
9835 * kern/i386/loader.S: Likewise.
9836 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9837 (grub_linux16_boot): New function. Switches to text mode and calls
9838 grub_linux16_real_boot().
9839
9840 * loader/i386/bsd.c: Include `<grub/video.h>'.
9841 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9842 text mode before calling grub_unix_real_boot().
9843
9844 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9845 (grub_multiboot_boot): Switch to text mode before calling
9846 grub_relocator32_boot().
9847
9848 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9849 (grub_chainloader_boot): Switch to text mode before calling
9850 grub_chainloader_real_boot().
9851
d6f93a66
RM
98522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
98532010-01-05 Colin Watson <cjwatson@ubuntu.com>
9854
9855 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9856 non-empty value.
9857
98582010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
98592010-01-05 Colin Watson <cjwatson@ubuntu.com>
9860
9861 * util/grub.d/00_header.in: Define a "savedefault" function for use
9862 in menu entries.
9863 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9864
98652010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
98662010-01-05 Colin Watson <cjwatson@ubuntu.com>
9867
9868 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9869 saved_entry if boot_once is unset.
9870 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9871 previous saved entry (i.e. grub-reboot).
9872
98732009-12-08 Colin Watson <cjwatson@ubuntu.com>
9874
9875 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9876
98772009-12-08 Colin Watson <cjwatson@ubuntu.com>
9878
9879 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9880 `var=val'.
9881 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9882
98832009-12-08 Colin Watson <cjwatson@ubuntu.com>
9884
9885 * util/grub-reboot.in: Fix --version output.
9886 * util/grub-set-default.in: Likewise.
9887
98882009-12-08 Colin Watson <cjwatson@ubuntu.com>
9889
9890 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9891 blocks.
9892
98932009-12-08 Colin Watson <cjwatson@ubuntu.com>
9894
9895 * util/grub.d/00_header.in: Quote the value assigned to `default',
9896 in case it contains spaces.
9897
98982009-12-08 Colin Watson <cjwatson@ubuntu.com>
9899
9900 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9901 `save_default_entry' call from the macosx case to the linux case.
9902
99032009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
99042009-10-25 Colin Watson <cjwatson@ubuntu.com>
9905
9906 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9907 in `chosen' environment variable.
9908 * normal/menu_text.c (get_entry_number): Check if the variable
9909 matches the title of a menu entry.
9910 (run_menu): Pass menu to get_entry_number.
9911
9912 * util/grub-reboot.in: New file.
9913 * util/grub-set-default.in: New file.
9914 * conf/common.rmk (grub-reboot): New utility.
9915 (grub-set-default): New utility.
9916
9917 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9918 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9919 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9920 move it to `saved_entry' for the next boot. Load environment on
9921 initialisation.
9922 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9923 * util/grub.d/10_hurd.in: Likewise.
9924 * util/grub.d/10_linux.in (linux_entry): Likewise.
9925 * util/grub.d/10_windows.in: Likewise.
9926 * util/grub.d/30_os-prober.in: Likewise.
9927
9928 * util/grub-install.in: Create environment block.
9929 * util/i386/efi/grub-install.in: Likewise.
9930 * util/ieee1275/grub-install.in: Likewise.
9931 * util/sparc64/ieee1275/grub-install.in: Likewise.
9932
0934d184
BC
99332010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
9934
9935 Unit testing framework for GRUB.
9936
9937 * Makefile.in: Test framework build rules for 'make check'.
9938 * conf/tests.rmk: Build rules for individual tests and framework.
9939
9940 * include/grub/test.h: Header file for whitebox tests.
9941 * tests/lib/functional_test.c: Framework support for whitebox
9942 functional tests.
9943 * tests/lib/test.c: Common whitebox testing code for unit and
9944 functional tests.
9945 * tests/lib/unit_test.c: Framework support for whitebox unit
9946 tests.
9947
9948 * tests/util/grub-shell-tester.in: Support utility for grub-script
9949 tests.
9950 * tests/util/grub-shell.in: Utility to execute grub-script
9951 commands in a Qemu instance.
9952
9953 * tests/example_functional_test.c: Example whitebox functional
9954 test.
9955 * tests/example_grub_script_test.in: Example grub-script test.
9956 * tests/example_scripted_test.in: Example scripted test.
9957 * tests/example_unit_test.c: Example whitebox unit test.
9958
9c4ffeeb
VS
99592010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
9962 Add loader/i386/multiboot_mbi.c.
9963 (multiboot2_mod_SOURCES): Likewise.
9964 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
9965 (multiboot2_mod_SOURCES): Likewise.
9966 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
9967 (grub_multiboot_make_mbi): Likewise.
9968 (grub_multiboot_free_mbi): Likewise.
9969 (grub_multiboot_init_mbi): Likewise.
9970 (grub_multiboot_add_module): Likewise.
9971 (grub_multiboot_set_bootdev): Likewise.
9972 * loader/i386/multiboot.c (mbi): Removed.
9973 (mbi_dest): Likewise.
9974 (alloc_mbi): New variable.
9975 (grub_multiboot_payload_size): Removed. All users updated.
9976 (grub_multiboot_pure_size): New variable.
9977 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
9978 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
9979 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
9980 (grub_fill_multiboot_mmap): Likewise.
9981 (grub_multiboot_get_bootdev): Likewise.
9982 (grub_multiboot): Use multiboot_mbi functions.
9983 * loader/i386/multiboot_mbi.c: New file.
9984
17383dfe
VS
99852010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
9988 it would result in module crash.
9989
c1f28820
VS
99902010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
9993 (grub_ofconsole_getwh): Split to ...
9994 (grub_ofconsole_getwh): ... this.
9995 (grub_ofconsole_dimensions): ...and this.
9996 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
9997
58655a16
RM
99982010-01-13 Robert Millan <rmh.grub@aybabtu.com>
9999
10000 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
10001
10891398
VS
100022010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * loader/i386/pc/multiboot2.c: Removed stalled file.
10005
0b8a223c
VS
100062010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
10009 Reported by: Grégoire Sutre
10010
92ab12b0
RM
100112010-01-11 Robert Millan <rmh.grub@aybabtu.com>
10012
10013 * util/misc.c (canonicalize_file_name): New function.
10014 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
10015 instead of realpath().
10016
a788afb6
CW
100172010-01-11 Colin Watson <cjwatson@ubuntu.com>
10018
10019 * util/grub-install.in (usage): Clarify meaning of --root-directory,
10020 and make it clearer that it's optional. Based on confusion
10021 witnessed on IRC.
10022
ffa8e3d2
VS
100232010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
10026 in premature implicit newline.
10027
e9060a9d
VS
100282010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
10031 which resulted in garbled command line at the end of screen.
10032
f0d0c0b7
RM
100332010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10034
10035 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
10036 initialization with similar approach as with other Linux loaders.
10037
0e60bae7
RM
100382010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10039
10040 Fix i386-ieee1275 build.
10041
10042 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
10043 and grub_term_height() for video_{width,height} initialization.
10044
100452010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
10046
10047 Fix grub-emu build.
10048
10049 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
10050
cdb3f378
RM
100512010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
100522010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10053
10054 Support for multiple terminals.
10055
10056 * Makefile.in (pkglib_DATA): terminal.lst.
10057 (terminal.lst): New target.
10058 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
10059 (GRUB_MOD_INIT(handler)): Likewise.
10060 (GRUB_MOD_FINI(handler)): Likewise.
10061 * commands/help.c (grub_cmd_help): Handle multiple terminals.
10062 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
10063 * commands/sleep.c (do_print): Use grub_term_restore_pos.
10064 (grub_cmd_sleep): Use grub_term_save_pos.
10065 * commands/terminal.c: New file.
10066 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
10067 commands/terminal.c and lib/charset.c.
10068 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
10069 (pkglib_MODULES): Add terminal.mod.
10070 (terminal_mod_SOURCES): New variable.
10071 (terminal_mod_CFLAGS): Likewise.
10072 (terminal_mod_LDFLAGS): Likewise.
10073 * genhandlerlist.sh: Don't handle terminals.
10074 * genmk.rb: Generate terminal-*.lst.
10075 * genterminallist.sh: New file.
10076 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
10077 (grub_is_valid_utf8): Likewise.
10078 (grub_utf8_to_ucs4_alloc): Likewise.
10079 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
10080 (grub_menu_register_viewer): Changed argument.
10081 (grub_menu_try_text): New proto.
10082 (grub_gfxmenu_try_hook): New declaration.
10083 * include/grub/normal.h (grub_normal_exit_level): New declaration.
10084 (grub_menu_init_page): Additional argument term.
10085 (grub_normal_init_page): Likewise.
10086 (grub_cmdline_get): Arguments simplified.
10087 (grub_utf8_to_ucs4_alloc): Removed.
10088 (grub_print_ucs4): Additional argument term.
10089 (grub_getstringwidth): Likewise.
10090 (grub_print_message_indented): Likewise.
10091 (grub_menu_text_register_instances): New proto.
10092 (grub_show_menu): Likewise.
10093 (read_terminal_list): Likewise.
10094 (grub_set_more): Likewise.
10095 * include/grub/parser.h: Include handler.h.
10096 * include/grub/reader.h: Rewritten.
10097 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
10098 (GRUB_TERM_WIDTH): Changed to function.
10099 (GRUB_TERM_HEIGHT): Likewise.
10100 (GRUB_TERM_BORDER_WIDTH): Likewise.
10101 (GRUB_TERM_BORDER_HEIGHT): Likewise.
10102 (GRUB_TERM_NUM_ENTRIES): Likewise.
10103 (GRUB_TERM_ENTRY_WIDTH): Likewise.
10104 (GRUB_TERM_CURSOR_X): Likewise.
10105 (grub_term_input_class): Likewise.
10106 (grub_term_output_class): Likewise.
10107 (grub_term_outputs_disabled): New declaration.
10108 (grub_term_inputs_disabled): Likewise.
10109 (grub_term_outputs): Likewise.
10110 (grub_term_inputs): Likewise.
10111 (grub_term_register_input): Rewritten.
10112 (grub_term_register_output): Likewise.
10113 (grub_term_unregister_input): Likewise.
10114 (grub_term_unregister_output): Likewise.
10115 (FOR_ACTIVE_TERM_INPUTS): New macro.
10116 (FOR_DISABLED_TERM_INPUTS): Likewise.
10117 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10118 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10119 * include/grub/terminfo.h: Add oterm argument to all protypes.
10120 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
10121 Use grub_rescue_run.
10122 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
10123 All users updated.
10124 * kern/reader.c: Removed. All users updated.
10125 * kern/rescue_reader.c (grub_rescue_init): Removed.
10126 (grub_rescue_reader): Likewise.
10127 (grub_register_rescue_reader): Likewise.
10128 (grub_rescue_run): New function based on kern/reader.c.
10129 * kern/term.c: Adapted for multiterm.
10130 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
10131 (grub_is_valid_utf8): Likewise.
10132 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
10133 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
10134 right terminal.
10135 * loader/i386/linux.c (grub_linux_boot): Likewise.
10136 * normal/auth.c (grub_username_get): New function.
10137 (grub_auth_check_authentication): Use grub_username_get.
10138 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
10139 * normal/color.c: Adapt for multiterm.
10140 * normal/main.c (read_config_file): Don't use grub_reader_loop.
10141 (grub_normal_init_page): Additional argument term.
10142 (read_lists): Call read_terminal_lists.
10143 (grub_enter_normal_mode): Call grub_cmdline_run.
10144 Handle grub_normal_exit_level.
10145 (grub_cmd_normal): Make reentrant.
10146 (grub_cmd_normal_exit): New function.
10147 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
10148 * normal/menu.c: Adapt for multiterm.
10149 * normal/menu_entry.c: Likewise.
10150 * normal/menu_text.c: Likewise.
10151 * normal/menu_viewer.c: Removed. All users updated.
10152 * normal/term.c: New file.
10153 * util/console.c: Change order of includes to workaround a bug in
10154 ncurses headers.
10155 * term/terminfo.c: New argument oterm on all exported functions.
10156 All users updated.
10157 * util/grub-editenv.c (grub_term_input_class): Removed.
10158 (grub_term_output_class): Likewise.
10159
1a064917
RM
101602010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10161
10162 Make loader output a bit more user-friendly.
10163
10164 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
10165 is being loaded. Likewise for the Hurd.
10166
10167 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
10168 that kernel of FreeBSD ${version} is being loaded.
10169
10170 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
10171 grub_dprintf().
10172 (grub_cmd_initrd): Likewise.
10173 * util/grub.d/10_linux.in (linux_entry): Print message indicating
10174 that Linux ${version} is being loaded. Likewise for initrd.
10175
5ce0a83a 101762010-01-09 Carles Pina i Estany <carles@pina.cat>
10177
10178 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
10179
809bbfeb 101802010-01-08 Carles Pina i Estany <carles@pina.cat>
10181
10182 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
10183 (GRUB_MOD_INIT): Gettextizze.
10184 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
10185 (GRUB_MOD_INIT): Gettextizze.
10186 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
10187 (grub_cmd_linux): Capitalise Linux.
10188 (GRUB_MOD_INIT): Gettextizze.
10189 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
10190 (grub_cmd_linux): Capitalise Linux.
10191 (GRUB_MOD_INIT): Gettextizze.
10192 * loader/i386/linux.c: Include `<grub/i18n.h>'.
10193 (grub_cmd_linux): Capitalise Linux.
10194 (GRUB_MOD_INIT): Gettextizze.
10195 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
10196 (GRUB_MOD_INIT): Gettextizze.
10197 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
10198 (grub_cmd_linux): Capitalise Linux.
10199 (GRUB_MOD_INIT): Gettextizze.
10200 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
10201 (grub_cpu_xnu_init): Gettextizze.
10202 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
10203 (GRUB_MOD_INIT): Gettextizze.
10204 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
10205 (GRUB_MOD_INIT): Gettextizze.
10206 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
10207 (grub_linux_load64): Capitalise Linux.
10208 (GRUB_MOD_INIT): Gettextizze.
10209 * loader/xnu.c: Include `<grub/i18n.h>'.
10210 (GRUB_MOD_INIT): Gettextizze.
10211 * po/POTFILES: Add `loader/efi/appleloader.c',
10212 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
10213 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
10214 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
10215 `loader/i386/xnu.c', `loader/multiboot_loader.c',
10216 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
10217 and `loader/xnu.c'.
10218
b394b2ca
RM
102192010-01-08 Robert Millan <rmh.grub@aybabtu.com>
10220
10221 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
10222
102232010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
10224
10225 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
10226 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
10227 * util/mkisofs/mkisofs.c (main): Readjust --version output.
10228
bc8b32b3
RM
102292010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10230
10231 Reset Multiboot 2 support. New loader implements the draft in
10232 /branches/multiboot2 and shares as much code as possible with the
10233 production Multiboot 1 implementation.
10234
10235 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
10236 * loader/multiboot2.c: Likewise.
10237 * loader/i386/multiboot_helper.S: Likewise.
10238 * include/multiboot2.h: Replace with latest version from the draft
10239 in /branches/multiboot2.
10240
10241 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
10242 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
10243 and `loader/multiboot2.c'.
10244 (pkglib_MODULES): Add `multiboot2.mod'.
10245 (multiboot2_mod_SOURCES): New variable.
10246 (multiboot2_mod_LDFLAGS): Likewise.
10247 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
10248
10249 * conf/i386-pc.rmk: Likewise.
10250
10251 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10252 (multiboot_mod_SOURCES): Remove variable.
10253 (multiboot_mod_LDFLAGS): Likewise.
10254 (multiboot_mod_CFLAGS): Likewise.
10255
10256 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
10257 `<multiboot2.h>' instead of `<multiboot.h>'.
10258 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
10259 (MULTIBOOT_HEADER_MAGIC): New macros.
10260
10261 * loader/multiboot_loader.c (module_version_status): Remove variable.
10262 (find_multi_boot2_header): Remove function.
10263 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
10264 logic. Always check for the Multiboot version we're compiling for.
10265 (grub_cmd_module_loader): Likewise.
10266 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
10267 command instead of `multiboot'.
10268
5d2c52b8
RM
102692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10270
10271 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
10272 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
10273 all users.
10274
53108d92
RM
102752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
102762010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 Fix breakage introduced with previous commit.
10279
10280 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
10281 commands.
10282 * normal/handler.c (read_handler_list): Revert part of previous commit
10283 affecting this file.
10284 * normal/main.c (read_lists): Move read_handler_list() call back to ...
10285 (grub_normal_execute): ... here.
10286
e2e936b2
RM
102872010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10288
10289 Merge prefix-redefinition-fix branch.
10290
10291 * normal/autofs.c (read_fs_list): Make function capable of being
10292 run multiple times, gracefuly replacing the previous data
10293 structures.
10294 * normal/dyncmd.c (read_command_list): Likewise.
10295 * normal/handler.c (read_handler_list): Likewise.
10296 * normal/main.c (read_lists): New function. Calls all the
10297 list reading functions.
10298 (grub_normal_execute): Use read_lists() instead of calling all
10299 list reading functions explicitly. Register read_lists() as a
10300 variable hook attached to ${prefix}.
10301
607a3701
VS
103022010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 Merge crypto branch.
10305
10306 * Makefile.in (pkglib_DATA): Add crypto.lst.
10307 (crypto.lst): New target.
10308 * commands/hashsum.c: New file.
10309 * commands/password.c (check_password): Use grub_crypto_memcmp.
10310 * commands/password_pbkdf2.c: New file.
10311 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
10312 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
10313 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
10314 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
10315 -I$(srcdir)/lib/libgcrypt_wrap.
10316 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
10317 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
10318 password_pbkdf2.mod.
10319 (crypto_mod_SOURCES): New variable.
10320 (crypto_mod_CFLAGS): Likewise.
10321 (crypto_mod_LDFLAGS): Likewise.
10322 (hashsum_mod_SOURCES): New variable.
10323 (hashsum_mod_CFLAGS): Likewise.
10324 (hashsum_mod_LDFLAGS): Likewise.
10325 (pbkdf2_mod_SOURCES): New variable.
10326 (pbkdf2_mod_CFLAGS): Likewise.
10327 (pbkdf2_mod_LDFLAGS): Likewise.
10328 (password_pbkdf2_mod_SOURCES): New variable.
10329 (password_pbkdf2_mod_CFLAGS): Likewise.
10330 (password_pbkdf2_mod_LDFLAGS): Likewise.
10331 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
10332 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
10333 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
10334 Include conf/gcry.rmk.
10335 * include/grub/auth.h: Rewritten.
10336 * include/grub/crypto.h: New file.
10337 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
10338 * include/grub/normal.h (read_crypto_list): New prototype.
10339 * lib/crypto.c: New file.
10340 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
10341 * lib/pbkdf2.c: Likewise.
10342 * normal/auth.c (grub_auth_strcmp): Removed.
10343 (grub_iswordseparator): Likewise.
10344 (grub_auth_strword): Likewise.
10345 (is_authenticated): Use grub_strword.
10346 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
10347 and grub_strword. Pass entered password to authentication callback.
10348 * normal/crypto.c: New file.
10349 * normal/main.c: Call read_crypto_list.
10350 * util/grub-mkpasswd-pbkdf2.c: New file.
10351 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
10352
42841caa
VS
103532010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 Fix descent and ascent calculation.
10356
10357 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
10358 (options): New option "asce".
10359 (usage): Likewise.
10360 (add_char): Ignore invalid glyphs for descent calculation.
10361 Calculate ascent from actual content.
10362 (print_glyphs): Use 'asce'.
10363 (write_font): Likewise. Allow ascent override.
10364 (main): Handle "asce" option.
10365
e7730de7 103662010-01-06 Carles Pina i Estany <carles@pina.cat>
10367
10368 * kern/err.c: Include `<grub/i18n.h>'.
10369 (grub_print_error): Add full stop. Gettextizze.
10370 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
10371 (grub_bsd_load_elf): Capitalise ELF.
10372 (grub_cmd_freebsd_loadenv): Add `s' in error string.
10373 (grub_cmd_freebsd_module): Likewise.
10374 (grub_cmd_freebsd_module_elf): Likewise.
10375 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
10376
40e3a41f 103772010-01-06 Carles Pina i Estany <carles@pina.cat>
10378
10379 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
10380 * commands/search_file.c (HELP_MESSAGE): New macro.
10381 * commands/search_label.c (HELP_MESSAGE): Likewise.
10382 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
10383 * po/POTFILES: Add `commands/search_file.c',
10384 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
10385 `commands/search.c'.
10386
83507e68
RM
103872010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10388
10389 * config.rpath: Update from Gnulib.
10390
465c787b
YB
103912010-01-05 Yves Blusseau <blusseau@zetam.org>
10392
10393 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
10394
6581dd3a
YB
103952010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
10396
10397 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
10398
3bff18c5
CW
103992010-01-05 Colin Watson <cjwatson@ubuntu.com>
10400
10401 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
10402 arguments to fread so that we get a return value in bytes, rather
10403 than something that will normally be rounded down to 0.
10404 Adjust error handling to avoid producing garbage when size_t is not
10405 the same size as long long.
10406
a1368118
CW
104072010-01-05 Colin Watson <cjwatson@ubuntu.com>
10408
10409 * util/mkisofs/write.c (padblock_write): Check return value of
10410 fread.
10411
7c302978
RM
104122010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10413
10414 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
10415 floppy images now.
10416
10417 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
10418
e33ace06
RM
104192010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10420
10421 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
10422 instead of manual alignment.
10423 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
10424 verbose). Avoid attempts to read past end of the device
10425 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
10426 but GRUB_DISK_CACHE_SIZE may exceed that).
10427
4b856776
RM
104282010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10429
10430 * commands/crc.c (grub_cmd_crc): Abort on read errors.
10431 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
10432 it to upper layer.
10433
52c2d97f
VS
104342010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
10437 New constant.
10438 (grub_efi_piwg_device_path): New structure
10439 (grub_efi_piwg_device_path_t): New type.
10440 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
10441 (devpath_1): Transform to a structure. All users updated.
10442 (devpath_2): Likewise.
10443 (devpath_3): Likewise.
10444 (devpath_4): Likewise.
10445 (devpath_5): Likewise.
10446
98ff6a54
VS
104472010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * loader/efi/appleloader.c: Restored. Update all users.
10450
3a73dcb6
RM
104512010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10452
10453 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
10454
10455 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
10456 (struct boot_blocklist): Move from here ...
10457 * include/grub/i386/pc/boot.h [ASM_FILE]
10458 (struct grub_boot_blocklist): ... to here. Update all users.
10459 (setup): Only initialize `start' member of `first_block'
10460 structure. Add assert() calls to verify the other members.
10461
10462 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
10463 (generate_image): Fix broken blocklist length initialization.
10464 Add assert() call to verify blocklist `segment' field.
10465
ab0eeb0c
RM
104662010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10467
10468 * loader/efi/appleloader.c: Remove. Update all users.
10469
58bc8bd5
RM
104702010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10471
10472 * boot/i386/pc/boot.S: Update copyright year.
10473 * boot/i386/pc/cdboot.S: Likewise.
10474 * boot/i386/pc/diskboot.S: Likewise.
10475 * boot/i386/pc/lnxboot.S: Likewise.
10476 * boot/i386/pc/pxeboot.S: Likewise.
10477 * bus/pci.c: Likewise.
10478 * commands/cmp.c: Likewise.
10479 * commands/help.c: Likewise.
10480 * commands/hexdump.c: Likewise.
10481 * commands/i386/pc/halt.c: Likewise.
10482 * commands/i386/pc/play.c: Likewise.
10483 * commands/i386/pc/vbeinfo.c: Likewise.
10484 * commands/ls.c: Likewise.
10485 * commands/test.c: Likewise.
10486 * disk/dmraid_nvidia.c: Likewise.
10487 * disk/i386/pc/biosdisk.c: Likewise.
10488 * disk/ieee1275/nand.c: Likewise.
10489 * disk/ieee1275/ofdisk.c: Likewise.
10490 * disk/lvm.c: Likewise.
10491 * disk/raid.c: Likewise.
10492 * disk/raid6_recover.c: Likewise.
10493 * disk/scsi.c: Likewise.
10494 * fs/affs.c: Likewise.
10495 * fs/cpio.c: Likewise.
10496 * fs/ext2.c: Likewise.
10497 * fs/hfs.c: Likewise.
10498 * fs/iso9660.c: Likewise.
10499 * fs/ntfs.c: Likewise.
10500 * fs/sfs.c: Likewise.
10501 * fs/udf.c: Likewise.
10502 * fs/ufs.c: Likewise.
10503 * fs/xfs.c: Likewise.
10504 * gencmdlist.sh: Likewise.
10505 * genmk.rb: Likewise.
10506 * include/grub/disk.h: Likewise.
10507 * include/grub/efi/api.h: Likewise.
10508 * include/grub/efi/efi.h: Likewise.
10509 * include/grub/efi/pe32.h: Likewise.
10510 * include/grub/elf.h: Likewise.
10511 * include/grub/fs.h: Likewise.
10512 * include/grub/i386/at_keyboard.h: Likewise.
10513 * include/grub/i386/pc/memory.h: Likewise.
10514 * include/grub/i386/pc/vbe.h: Likewise.
10515 * include/grub/i386/pci.h: Likewise.
10516 * include/grub/i386/tsc.h: Likewise.
10517 * include/grub/ieee1275/ieee1275.h: Likewise.
10518 * include/grub/ntfs.h: Likewise.
10519 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
10520 * include/grub/sparc64/libgcc.h: Likewise.
10521 * include/grub/symbol.h: Likewise.
10522 * include/grub/types.h: Likewise.
10523 * include/multiboot2.h: Likewise.
10524 * io/gzio.c: Likewise.
10525 * kern/device.c: Likewise.
10526 * kern/disk.c: Likewise.
10527 * kern/efi/efi.c: Likewise.
10528 * kern/efi/mm.c: Likewise.
10529 * kern/elf.c: Likewise.
10530 * kern/file.c: Likewise.
10531 * kern/i386/dl.c: Likewise.
10532 * kern/i386/pc/init.c: Likewise.
10533 * kern/i386/pc/startup.S: Likewise.
10534 * kern/ieee1275/ieee1275.c: Likewise.
10535 * kern/ieee1275/init.c: Likewise.
10536 * kern/main.c: Likewise.
10537 * kern/mm.c: Likewise.
10538 * kern/powerpc/dl.c: Likewise.
10539 * kern/sparc64/dl.c: Likewise.
10540 * kern/x86_64/dl.c: Likewise.
10541 * lib/hexdump.c: Likewise.
10542 * loader/efi/appleloader.c: Likewise.
10543 * loader/i386/ieee1275/linux.c: Likewise.
10544 * loader/i386/pc/chainloader.c: Likewise.
10545 * loader/i386/pc/linux.c: Likewise.
10546 * loader/i386/pc/multiboot2.c: Likewise.
10547 * loader/ieee1275/multiboot2.c: Likewise.
10548 * loader/multiboot2.c: Likewise.
10549 * loader/multiboot_loader.c: Likewise.
10550 * loader/powerpc/ieee1275/linux.c: Likewise.
10551 * normal/completion.c: Likewise.
10552 * normal/menu_entry.c: Likewise.
10553 * partmap/apple.c: Likewise.
10554 * util/grub.d/10_hurd.in: Likewise.
10555 * util/hostfs.c: Likewise.
10556 * video/readers/png.c: Likewise.
10557
e2d70b5c
CW
105582010-01-03 Colin Watson <cjwatson@ubuntu.com>
10559
10560 * include/grub/misc.h (GNUC_PREREQ): New macro.
10561 (ATTRIBUTE_ERROR): New macro.
10562 * include/grub/list.h (grub_bad_type_cast_real): Use
10563 ATTRIBUTE_ERROR.
10564
a173283f 105652010-01-03 Carles Pina i Estany <carles@pina.cat>
10566
10567 * normal/menu_text.c (print_message): Change messages.
10568
7fa7ff74 105692010-01-03 Carles Pina i Estany <carles@pina.cat>
10570
10571 * normal/menu_entry.c (store_completion): Gettextizze.
10572
136d24f6 105732010-01-03 Carles Pina i Estany <carles@pina.cat>
10574
10575 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
10576
f936862e 105772010-01-03 Carles Pina i Estany <carles@pina.cat>
10578
10579 * po/POTFILES: Sort correctly.
10580
29c44ad1 105812010-01-03 Carles Pina i Estany <carles@pina.cat>
10582
10583 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10584 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10585 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10586 full stop.
10587 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10588 summary. Gettextizze the strings.
10589 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10590 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10591 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10592 full stop.
10593 (GRUB_MOD_INIT): Remove command name from summary.
10594 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10595 summary.
10596 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10597 * term/i386/pc/serial.c (options): Add full stops.
10598 (GRUB_MOD_INIT): Remove command name from the summary.
10599
77a79592 106002010-01-03 Carles Pina i Estany <carles@pina.cat>
10601
10602 * commands/acpi.c: Gettextizze help strings and/or options. Include
10603 `grub/i18n.h' if needed.
10604 * commands/blocklist.c: Likewise.
10605 * commands/boot.c: Likewise.
10606 * commands/cat.c: Likewise.
10607 * commands/cmp.c: Likewise.
10608 * commands/configfile.c: Likewise.
10609 * commands/crc.c: Likewise.
10610 * commands/date.c: Likewise.
10611 * commands/echo.c: Likewise.
10612 * commands/efi/fixvideo.c: Likewise.
10613 * commands/efi/loadbios.c: Likewise.
10614 * commands/gptsync.c: Likewise.
10615 * commands/halt.c: Likewise.
10616 * commands/handler.c: Likewise.
10617 * commands/hdparm.c: Likewise.
10618 * commands/hexdump.c: Likewise.
10619 * commands/i386/cpuid.c: Likewise.
10620 * commands/i386/pc/drivemap.c: Likewise.
10621 * commands/i386/pc/halt.c: Likewise.
10622 * commands/i386/pc/pxecmd.c: Likewise.
10623 * commands/i386/pc/vbeinfo.c: Likewise.
10624 * commands/i386/pc/vbetest.c: Likewise.
10625 * commands/ieee1275/suspend.c: Likewise.
10626 * commands/keystatus.c: Likewise.
10627 * commands/loadenv.c: Likewise.
10628 * commands/ls.c: Likewise.
10629 * commands/lsmmap.c: Likewise.
10630 * commands/lspci.c: Likewise.
10631 * commands/memrw.c: Likewise.
10632 * commands/minicmd.c: Likewise.
10633 * commands/parttool.c: Likewise.
10634 * commands/password.c: Likewise.
10635 * commands/probe.c: Likewise.
10636 * commands/read.c: Likewise.
10637 * commands/reboot.c: Likewise.
10638 * commands/search.c: Likewise.
10639 * commands/sleep.c: Likewise.
10640 * commands/test.c: Likewise.
10641 * commands/true.c: Likewise.
10642 * commands/usbtest.c: Likewise.
10643 * commands/videotest.c: Likewise.
10644 * commands/xnu_uuid.c: Likewise.
10645 * disk/loopback.c: Likewise.
10646 * hello/hello.c: Likewise.
10647 * loader/i386/bsd.c: Likewise.
10648 * term/i386/pc/serial.c: Likewise.
10649 * po/POTFILES: Add new files.
10650
da8d5c53
CW
106512010-01-02 Colin Watson <cjwatson@ubuntu.com>
10652
10653 * term/i386/pc/at_keyboard.c
10654 (keyboard_controller_wait_untill_ready): Rename to ...
10655 (keyboard_controller_wait_until_ready): ... this. Update all users.
10656
33937904 106572010-01-01 Carles Pina i Estany <carles@pina.cat>
10658
10659 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10660 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10661 string using string width.
10662 * normal/menu_text.c (grub_print_message_indented): Use
10663 grub_print_spaces and not print_spaces.
10664 (print_timeout): Likewise.
10665 (print_spaces): Move to...
10666 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10667
3fd3b8d8
RM
106682010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10669
10670 Import from Gnulib.
10671
10672 * gnulib/getdelim.c: New file.
10673 * gnulib/getline.c: Likewise.
10674
33433555
VS
106752009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10676
10677 * include/grub/list.h (grub_assert_fail): Removed.
10678 (grub_bad_type_cast_real): New function.
10679 (grub_bad_type_cast): New macro.
10680 (GRUB_AS_LIST): Use grub_bad_type_cast.
10681 (GRUB_AS_LIST_P): Likewise.
e44721e8 10682 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10683 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10684 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10685 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10686 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10687
f5a51306
VS
106882009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10691 Fix syntax error.
10692
90d1e879
RM
106932009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10694
10695 * configure.ac: Check for TARGET_CFLAGS initialization before we
10696 initialize it ourselves (sigh).
10697 Move a few modifications to TARGET_CFLAGS to be unconditional
10698 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10699 eh_frame)
10700
10701 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10702 * term/i386/pc/at_keyboard.c
10703 (keyboard_controller_wait_untill_ready): Likewise.
10704 (keyboard_controller_led): Rename `led_status' paramter to avoid
10705 name conflict.
10706
465b5a81 107072009-12-28 Carles Pina i Estany <carles@pina.cat>
10708
10709 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10710 quotes.
10711
c181849b
VS
107122009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10715
9c8739a4
VS
107162009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * normal/menu_text.c (grub_print_message_indented): Prevent
10719 past-the-end-of-array dereference.
10720
3e74249c
VS
107212009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10722
10723 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10724 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10725
64fd18ed 107262009-12-27 Carles Pina i Estany <carles@pina.cat>
10727
10728 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10729 * normal/main.c (grub_normal_read_line): Remove a space from the
10730 default prompt.
10731
714af9b9 107322009-12-27 Carles Pina i Estany <carles@pina.cat>
10733
10734 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10735 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10736 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10737 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10738 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10739 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10740 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10741
82f3e412 107422009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 10743
10744 * video/readers/jpeg.c (cmd): Declare.
10745 (grub_cmd_jpegtest): Use `grub_command_t' type.
10746 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10747 Assign to `cmd'.
10748 (GRUB_MOD_FINI): Use `cmd' to unregister.
10749 * video/readers/png.c (cmd): Declare.
10750 (grub_cmd_pngtest): Use `grub_command_t' type.
10751 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10752 Assign to `cmd'.
10753 (GRUB_MOD_FINI): Use `cmd' to unregister.
10754 * video/readers/tga.c (cmd): Declare.
10755 (grub_cmd_tgatest): Use `grub_command_t' type.
10756 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10757 Assign to `cmd'.
10758 (GRUB_MOD_FINI): Use `cmd' to unregister.
10759
82f3e412 107602009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 10761
10762 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10763 stops.
10764 * kern/corecmd.c (grub_register_core_commands): Likewise.
10765 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10766 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10767 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10768 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10769 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10770 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10771 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10772 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10773 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10774 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10775 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10776 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10777 * normal/handler.c (insert_handler): Likewise.
10778 * normal/main.c (GRUB_MOD_INIT): Likewise.
10779 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10780
fdcdbb66 107812009-12-26 Carles Pina i Estany <carles@pina.cat>
10782
10783 * commands/help.c (grub_cmd_help): Print the command name before the
10784 summary.
10785 (GRUB_MOD_INIT): Remove command name from the summary.
10786 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 10787 string as summary.
fdcdbb66 10788 * lib/arg.c (find_long): Print the command name before the summary.
10789 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10790 summary.
10791 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10792 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10793 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10794 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10795 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10796 * commands/date.c (GRUB_MOD_INIT): Likewise.
10797 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10798 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10799 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10800 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10801 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10802 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10803 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10804 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10805 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10806 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10807 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10808 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10809 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10810 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10811 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10812 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10813 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10814 * commands/password.c (GRUB_MOD_INIT): Likewise.
10815 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10816 * commands/read.c (GRUB_MOD_INIT): Likewise.
10817 * commands/search.c (GRUB_MOD_INIT): Likewise.
10818 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10819 * commands/test.c (GRUB_MOD_INIT): Likewise.
10820 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10821 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10822 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10823 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10824 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10825 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10826 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10827 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10828 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10829 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10830 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10831 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10832 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10833 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10834
9c288be2
VS
108352009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10836
10837 Use search command for preliminar UUID search.
10838
10839 * commands/search.c: Split into ...
10840 * commands/search_wrap.c: ...this
10841 * commands/search.c: ...and this.
10842 * commands/search_file.c: New file.
10843 * commands/search_label.c: New file.
10844 * commands/search_uuid.c: New file.
10845 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10846 Add commands/search_wrap.c, commands/search_file.c,
10847 commands/search_label.c and commands/search_uuid.c.
10848 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10849 (search_mod_SOURCES): Set to commands/search_wrap.c.
10850 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10851 search_label.mod.
10852 (search_fs_file_mod_SOURCES): New variable.
10853 (search_fs_file_mod_CFLAGS): Likewise.
10854 (search_fs_file_mod_LDFLAGS): Likewise.
10855 (search_label_mod_SOURCES): Likewise.
10856 (search_label_mod_CFLAGS): Likewise.
10857 (search_label_mod_LDFLAGS): Likewise.
10858 (search_fs_uuid_mod_SOURCES): New variable.
10859 (search_fs_uuid_mod_CFLAGS): Likewise.
10860 (search_fs_uuid_mod_LDFLAGS): Likewise.
10861 (fs_file_mod_SOURCES): Removed.
10862 (fs_file_mod_CFLAGS): Likewise.
10863 (fs_file_mod_LDFLAGS): Likewise.
10864 (fs_uuid_mod_SOURCES): Removed.
10865 (fs_uuid_mod_CFLAGS): Likewise.
10866 (fs_uuid_mod_LDFLAGS): Likewise.
10867 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10868 Set to util/grub-install.in.
10869 * disk/fs_file.c: Removed.
10870 * disk/fs_uuid.c: Likewise.
10871 * include/grub/search.h: New file.
10872 * util/grub-install.in: Handle sparc64.
10873 Create and use load.cfg.
10874 * util/sparc64/ieee1275/grub-install.in: Removed.
10875
db943399
VS
108762009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10877
10878 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10879 Ignore return status if CF is cleared.
10880 (grub_biosdisk_get_diskinfo_standard): Likewise.
10881
3fdae612
RM
108822009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10883
10884 * term/i386/pc/at_keyboard.c
10885 (keyboard_controller_wait_untill_ready): New function.
10886 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10887 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10888 for keyboard polling, rather than duplicate the same loop. This
10889 saves a few bytes in code size.
10890
7ebaa2b4
VS
108912009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10892
10893 Support for (pxe[:server[:gateway]]) syntax and
10894 use environment variable for PXE.
10895
10896 * commands/i386/pc/pxecmd.c (options): Removed.
10897 (print_ip): Removed.
10898 (grub_cmd_pxe): Removed
10899 (grub_cmd_pxe_unload): New function.
10900 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10901 (grub_pxe_your_ip): Made static.
10902 (grub_pxe_default_server_ip): Likewise.
10903 (grub_pxe_default_gateway_ip): Likewise.
10904 (grub_pxe_blksize): Likewise.
10905 (parse_ip): New function.
10906 (grub_pxe_open): Support server and gateway specification.
10907 (grub_pxe_close): Free disk->data.
10908 (grub_pxefs_open): Use disk->data.
10909 (grub_pxefs_read): Likewise.
10910 (grub_env_write_readonly): New function.
10911 (set_mac_env): Likewise.
10912 (set_env_limn_ro): Likewise.
10913 (parse_dhcp_vendor): Likewise.
10914 (grub_pxe_detect): Set the environment variables.
10915 (set_ip_env): New function.
10916 (write_ip_env): Likewise.
10917 (grub_env_write_pxe_default_server): Likewise.
10918 (grub_env_write_pxe_default_gateway): Likewise.
10919 (grub_env_write_pxe_blocksize): Likewise.
10920 (GRUB_MOD_INIT(pxe)): Set environment variables.
10921 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10922 (grub_pxe_mac_addr_t): ... this. All users updated.
10923 (grub_pxe_your_ip): Removed.
10924 (grub_pxe_server_ip): Likewise.
10925 (grub_pxe_gateway_ip): Likewise.
10926 (grub_pxe_blksize): Likewise.
10927
ec5f98ab 109282009-12-25 Carles Pina i Estany <carles@pina.cat>
10929
10930 * commands/help.c: Include `<grub/i18n.h>'.
10931 (grub_cmd_help): Gettextizze.
10932 (GRUB_MOD_INIT): Likewise.
10933 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
10934 (GRUB_MOD_INIT): Gettextizze.
10935 * commands/search.c: Include `<grub/i18n.h>'.
10936 (options): Gettextizze.
10937 (GRUB_MOD_INIT): Gettextizze.
10938 * lib/arg.c: Include `<grub/i18n.h>'.
10939 (help_options): Gettextizze.
10940 (find_long): Likewise.
10941 (grub_arg_show_help): Likewise.
10942 * normal/dyncmd.c: Include `<grub/i18n.h>'.
10943 (read_command_list): Gettextizze.
10944 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 10945 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 10946
22815526
RM
109472009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10948
10949 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
10950 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
10951 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
10952 (led_status): New variable.
10953 (keyboard_controller_led): New function.
10954 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
10955 update led status for caps lock, num lock and scroll lock.
10956
0ad46fd7
FZ
109572009-12-25 Felix Zielcke <fzielcke@z-51.de>
10958
10959 * util/hostdisk.c (open_device): Fix a comment.
10960
d0e158c2
RM
109612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10962
10963 * util/grub-install.in (host_os): New variable.
10964 * util/i386/efi/grub-install.in (host_os): Likewise.
10965
401c0ad6
RM
109662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10967
10968 * util/mkisofs/write.c (padblock_write): Abort when given an
10969 excedingly large embed image, instead of silently truncating it.
10970
d14d3370
RM
109712009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10972
10973 * include/multiboot.h: Indentation fixes.
10974
eeed10b4
RM
109752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10976
10977 * include/multiboot.h (struct multiboot_aout_symbol_table)
10978 (struct multiboot_elf_section_header_table): New structure
10979 declarations (stolen from GRUB Legacy).
10980 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
10981 table information.
10982
10983 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
10984 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
10985 type aliases.
10986
681c70ab
RM
109872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10988
10989 * include/multiboot.h: Make comments src2texi-friendly.
10990
e4d47d8d
RM
109912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
10992
10993 For consistency with [multiboot]/docs/boot.S.
10994
10995 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
10996 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
10997 (MULTIBOOT_MAGIC2): Rename from this ...
10998 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
10999
a0b70bda
RM
110002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11001
11002 * include/multiboot.h: Remove `<grub/types.h>'.
11003 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
11004 types. Update all users.
11005
61ba42be 110062009-12-25 Carles Pina i Estany <carles@pina.cat>
11007
11008 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
11009 `couldn't' and `can not' by `cannot'.
11010 * commands/i386/pc/drivemap.c: Likewise.
11011 * disk/ata.c: Likewise.
11012 * disk/ieee1275/nand.c: Likewise.
11013 * fs/affs.c: Likewise.
11014 * fs/fat.c: Likewise.
11015 * fs/hfs.c: Likewise.
11016 * fs/hfsplus.c: Likewise.
11017 * fs/iso9660.c: Likewise.
11018 * fs/jfs.c: Likewise.
11019 * fs/minix.c: Likewise.
11020 * fs/reiserfs.c: Likewise.
11021 * fs/sfs.c: Likewise.
11022 * fs/udf.c: Likewise.
11023 * fs/ufs.c: Likewise.
11024 * fs/xfs.c: Likewise.
11025 * loader/powerpc/ieee1275/linux.c: Likewise.
11026 * loader/sparc64/ieee1275/linux.c: Likewise.
11027 * util/grub-probe.c: Likewise.
11028 * util/misc.c: Likewise.
11029
7fd0baee 110302009-12-24 Carles Pina i Estany <carles@pina.cat>
11031
11032 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
11033 grub_errno calls.
11034 * commands/acpi.c: Likewise.
11035 * commands/blocklist.c: Likewise.
11036 * commands/efi/loadbios.c: Likewise.
11037 * commands/i386/pc/drivemap.c: Likewise.
11038 * commands/loadenv.c: Likewise.
11039 * commands/memrw.c: Likewise.
11040 * commands/password.c: Likewise.
11041 * commands/videotest.c: Likewise.
11042 * disk/ata.c: Likewise.
11043 * disk/ata_pthru.c: Likewise.
11044 * disk/dmraid_nvidia.c: Likewise.
11045 * disk/ieee1275/nand.c: Likewise.
11046 * disk/ieee1275/ofdisk.c: Likewise.
11047 * disk/loopback.c: Likewise.
11048 * disk/lvm.c: Likewise.
11049 * disk/mdraid_linux.c: Likewise.
11050 * disk/raid.c: Likewise.
11051 * disk/raid6_recover.c: Likewise.
11052 * disk/scsi.c: Likewise.
11053 * efiemu/main.c: Likewise.
11054 * efiemu/mm.c: Likewise.
11055 * efiemu/pnvram.c: Likewise.
11056 * efiemu/symbols.c: Likewise.
11057 * font/font.c: Likewise.
11058 * fs/cpio.c: Likewise.
11059 * fs/hfsplus.c: Likewise.
11060 * fs/iso9660.c: Likewise.
11061 * fs/jfs.c: Likewise.
11062 * fs/minix.c: Likewise.
11063 * fs/ntfs.c: Likewise.
11064 * fs/ntfscomp.c: Likewise.
11065 * fs/reiserfs.c: Likewise.
11066 * fs/ufs.c: Likewise.
11067 * fs/xfs.c: Likewise.
11068 * gettext/gettext.c: Likewise.
11069 * include/grub/auth.h: Likewise.
11070 * kern/elf.c: Likewise.
11071 * kern/file.c: Likewise.
11072 * kern/ieee1275/init.c: Likewise.
11073 * kern/ieee1275/mmap.c: Likewise.
11074 * kern/ieee1275/openfw.c: Likewise.
11075 * kern/powerpc/dl.c: Likewise.
11076 * kern/sparc64/dl.c: Likewise.
11077 * lib/arg.c: Likewise.
11078 * loader/i386/bsd.c: Likewise.
11079 * loader/i386/bsdXX.c: Likewise.
11080 * loader/i386/efi/linux.c: Likewise.
11081 * loader/i386/efi/xnu.c: Likewise.
11082 * loader/i386/ieee1275/linux.c: Likewise.
11083 * loader/i386/linux.c: Likewise.
11084 * loader/i386/multiboot.c: Likewise.
11085 * loader/i386/pc/linux.c: Likewise.
11086 * loader/i386/pc/multiboot2.c: Likewise.
11087 * loader/i386/xnu.c: Likewise.
11088 * loader/ieee1275/multiboot2.c: Likewise.
11089 * loader/macho.c: Likewise.
11090 * loader/machoXX.c: Likewise.
11091 * loader/multiboot2.c: Likewise.
11092 * loader/multiboot_loader.c: Likewise.
11093 * loader/powerpc/ieee1275/linux.c: Likewise.
11094 * loader/sparc64/ieee1275/linux.c: Likewise.
11095 * loader/xnu.c: Likewise.
11096 * loader/xnu_resume.c: Likewise.
11097 * mmap/i386/pc/mmap.c: Likewise.
11098 * normal/menu_viewer.c: Likewise.
11099 * partmap/acorn.c: Likewise.
11100 * partmap/amiga.c: Likewise.
11101 * partmap/apple.c: Likewise.
11102 * script/lexer.c: Likewise.
11103 * term/gfxterm.c: Likewise.
11104 * term/i386/pc/serial.c: Likewise.
11105 * term/i386/pc/vga.c: Likewise.
11106 * term/ieee1275/ofconsole.c: Likewise.
11107 * term/terminfo.c: Likewise.
11108 * video/bitmap.c: Likewise.
11109 * video/efi_gop.c: Likewise.
11110 * video/efi_uga.c: Likewise.
11111 * video/fb/video_fb.c: Likewise.
11112 * video/i386/pc/vbe.c: Likewise.
11113 * video/readers/tga.c: Likewise.
11114 * video/video.c: Likewise.
11115
0ad46fd7 111162009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
11117
11118 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
11119 * commands/lspci.c: Likewise.
11120 * commands/probe.c: Likewise.
11121 * commands/xnu_uuid.c: Likewise.
11122 * conf/i386-coreboot.rmk: Likewise.
11123 * conf/i386-efi.rmk: Likewise.
11124 * conf/i386-ieee1275.rmk: Likewise.
11125 * conf/i386-pc.rmk: Likewise.
11126 * conf/powerpc-ieee1275.rmk: Likewise.
11127 * conf/sparc64-ieee1275.rmk: Likewise.
11128 * conf/x86_64-efi.rmk: Likewise.
11129 * fs/i386/pc/pxe.c: Likewise.
11130 * gettext/gettext.c: Likewise.
11131 * include/grub/efi/graphics_output.h: Likewise.
11132 * include/grub/i386/pc/memory.h: Likewise.
11133 * kern/env.c: Likewise.
11134 * kern/i386/qemu/startup.S: Likewise.
11135 * lib/i386/pc/biosnum.c: Likewise.
11136 * lib/i386/relocator.c: Likewise.
11137 * lib/i386/relocator_asm.S: Likewise.
11138 * lib/relocator.c: Likewise.
11139 * loader/i386/bsd.c: Likewise.
11140 * loader/i386/multiboot.c: Likewise.
11141 * loader/i386/pc/chainloader.c: Likewise.
11142 * loader/i386/xnu.c: Likewise.
11143 * loader/xnu.c: Likewise.
11144 * normal/main.c: Likewise.
11145 * normal/menu_text.c: Likewise.
11146 * util/getroot.c: Likewise.
11147 * util/grub-mkconfig_lib.in: Likewise.
11148 * util/grub.d/00_header.in: Likewise.
11149 * util/i386/pc/grub-mkimage.c: Likewise.
11150 * util/mkisofs/eltorito.c: Likewise.
11151 * util/mkisofs/exclude.h: Likewise.
11152 * util/mkisofs/hash.c: Likewise.
11153 * util/mkisofs/iso9660.h: Likewise.
11154 * util/mkisofs/joliet.c: Likewise.
11155 * util/mkisofs/mkisofs.c: Likewise.
11156 * util/mkisofs/mkisofs.h: Likewise.
11157 * util/mkisofs/multi.c: Likewise.
11158 * util/mkisofs/name.c: Likewise.
11159 * util/mkisofs/rock.c: Likewise.
11160 * util/mkisofs/tree.c: Likewise.
11161 * util/mkisofs/write.c: Likewise.
11162 * video/efi_gop.c: Likewise.
11163
009ec743
VS
111642009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
11167 size counting.
11168
0ad46fd7 111692009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
11170
11171 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
11172 * genmk.rb (class SCRIPT): Modify the target file instead of source.
11173
d3d30ea0
VS
111742009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
11177 (GRUB_MOD_INIT(memrw)): Update help line.
11178
a34f5c70
VS
111792009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
11182 Use grub_extcmd_t. All users updated.
11183 (options): New variable.
11184 (grub_cmd_read): Restructure for readability. Support "-v" option.
11185 (grub_cmd_write): Restructure for readability.
11186
0ad46fd7 111872009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
11188
11189 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
11190
0ad46fd7 111912009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
11192
11193 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
11194 with the actual contents of the correspondending make variable.
11195 * util/grub-mkrescue.in (pkglib_DATA): New variable.
11196 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
11197 specifying `*.lst' and `efiemu??.o'
11198
0ad46fd7 111992009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
11200
11201 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
11202 after function name.
11203 Noticed by Rene Engelhard <rene@debian.org>.
11204
dc77a799
VS
112052009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
11208 (options): New variable.
11209 (iospace): Likewise.
11210 (grub_lspci_iter): List IO spaces if "-i" was given.
11211 (grub_cmd_lspci): Parse options.
11212 (GRUB_MOD_INIT(lspci)): Use extcmd.
11213 (GRUB_MOD_FINI(lspci)): Likewise.
11214
0ad46fd7 112152009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
11216
11217 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
11218 `function' keyword.
11219 Patch by Tony Mancill <tmancill@debian.org>.
11220
b5d5993b
VS
112212009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11222
11223 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
11224 (grub_uhci_portstatus): Likewise.
11225 (grub_uhci_portstatus): Add necessary delay.
11d18281 11226 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 11227
941903f2 112282009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 11229
941903f2 11230 * commands/acpi.c (options): Fix capitalizations and/or full stops.
11231 (GRUB_MOD_INIT): Likewise.
11232 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 11233 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
11234 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 11235 * commands/efi/loadbios.c (enable_rom_area): Likewise.
11236 (enable_rom_area): Likewise.
11237 (GRUB_MOD_INIT): Likewise.
11238 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11239 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
11240 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11241 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
11242 * commands/hexdump.c (options): Likewise.
11243 * commands/i386/cpuid.c (options): Likewise.
11244 (GRUB_MOD_INIT): Likewise.
11245 * commands/i386/pc/drivemap.c (options): Likewise.
11246 (GRUB_MOD_INIT): Likewise.
11247 * commands/i386/pc/halt (options): Likewise.
11248 (GRUB_MOD_INIT): Likewise.
11249 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11250 * commands/i386/pc/pxecmd.c (options): Likewise.
11251 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
11252 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
11253 * commands/keystatus.c (options): Likewise.
11254 (GRUB_MOD_INIT): Likewise.
11255 * commands/loadenv.c (options): Likewise.
11256 * commands/ls.c (options): Likewise.
11257 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11258 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11259 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11260 * commands/parttool.c (helpmsg): Likewise.
11261 * commands/probe.c (options): Likewise.
11262 * commands/read.c (GRUB_MOD_INIT): Likewise.
11263 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
11264 * commands/search.c (options): Likewise.
11265 * commands/sleep.c (options): Likewise.
11266 * commands/test.c (GRUB_MOD_INIT): Likewise.
11267 * commands/true.c (GRUB_MOD_INIT): Likewise.
11268 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
11269 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
11270 * lib/arg.c (help_options): Likewise.
e9bbb4e7 11271 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
11272 `$(XGETTEXT)'.
98a50553 11273 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 11274
0ad46fd7 112752009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 11276
ef3c2c3a 11277 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
11278 instead of specifying them explicit.
11279
7922f68b
RM
112802009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11281
11282 * NEWS: Add grub-probe support for GNU/Hurd.
11283
537ce47f
RM
112842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11285
11286 * NEWS: gettext was added after 1.97.
11287
9b214e3a
RM
112882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11289
11290 * util/mkisofs/msdos_partition.h: New file (based on
11291 include/grub/msdos_partition.h).
11292 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
11293 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
11294 (ld_options, main): Recognize --protective-msdos-label.
11295 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
11296 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
11297 (padblock_write): If `use_protective_msdos_label' is set, patch a
11298 protective DOS-style label in the output image.
11299
11300 * util/grub-mkrescue.in: Use --protective-msdos-label.
11301
e9309813
RM
113022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11303
11304 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
11305 boot.
11306
0ae56929
RM
113072009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11308
11309 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
11310 variables.
11311 (ld_options, main): Recognize `--embedded-boot'.
11312 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
11313 declarations.
11314 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
11315 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
11316 (padblock_write): Likewise. Rewrite to support embedded boot image.
11317
11318 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
11319 for BIOS-based disk boot instead of only ElTorito.
11320
b15937b1
RM
113212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11322
11323 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
11324 build (not needed for bootstrap).
11325
52cc3ce0
RM
113262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11327
11328 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
11329 from i386-pc build (not needed for bootstrap).
11330 Rewrite a pair of strings.
11331
36f5ff04
RM
113322009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11333
11334 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
11335
973c6c85 113362009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
11337
11338 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
11339
05d21547
AB
113402009-12-21 Andreas Born <futur.andy@googlemail.com>
11341
11342 * kern/env.c (grub_env_context_open): Mark exported variable for
11343 reexport.
11344
0175d51f
AB
113452009-12-21 Andreas Born <futur.andy@googlemail.com>
11346
11347 * kern/env.c (grub_env_export): Create nonexistent variables before
11348 exporting.
11349
7f39d92f 113502009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 11351
7f39d92f 11352 * include/grub/auth.h: Include `<grub/i18n.h>'.
11353 (GRUB_GET_PASSWORD): Gettextizze string.
11354 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
11355 menu_text.c.
11356 (grub_utf8_to_ucs4_alloc): Fix indentation.
11357 (grub_print_ucs4): Likewise.
11358 (grub_getstringwidth): Likewise.
11359 (print_message_indented): New declaration.
11360 * normal/auth.c: Include `<grub/i18n.h>'.
11361 (grub_auth_check_authentication): Gettexttize string.
11362 * normal/cmdline.c: Include `<grub/i18n.h>'.
11363 (grub_cmdline_get): Gettextizze.
11364 * normal/color.c: Include `<grub/i18n.h>'.
11365 (grub_parse_color_name_pair): Gettexttize strings.
11366 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
11367 string (use `print_message_indented').
11368 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
11369 `include/grub/normal.h'.
11370 (print_message_indented): Renamed to ...
11371 (grub_print_message_indented): ... this. Remove `static' qualifer (now
11372 used in normal/main.c).
11373 (print_message): Use `grub_print_message_indented' instead of
11374 `print_message_indented'.
11375 (print_timeout): Likewise.
11376 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
11377 (grub_normal_print_device_info): Gettexttize strings.
11378 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
11379
3041d898
VS
113802009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
11383 of arguments. Return number of tokens and not arguments. All users
11384 updated.
11385
de15bf8e
VS
113862009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11387
11388 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
11389 non-MSDOS paritions.
11390
e0a6ca52
VS
113912009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * include/grub/types.h (UNUSED): Removed since it conflicts with
11394 NetBSD headers. All users changed to direct __attribute__ ((unused)).
11395 Reported by Grégoire Sutre.
11396
b99518d1 113972009-12-19 Carles Pina i Estany <carles@pina.cat>
11398
11399 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
11400 (grub_print_ucs4_alloc): Likewise.
11401 (grub_getstringwidth): Likewise.
11402 * normal/main.c (grub_normal_init_page): Gettextize version string.
11403 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
11404 (getstringwidth): Renamed to ...
11405 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
11406 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
11407 (grub_print_ucs4): Remove `static' qualifer (now used in
11408 normal/main.c).
11409 * po/POTFILES: Add normal/main.c.
11410
bfd5e52b 114112009-12-19 Carles Pina i Estany <carles@pina.cat>
11412
11413 * normal/menu_text.c (STANDARD_MARGIN): New macro.
11414 (print_message_indented): Add `margin_left' and `margin_right'
11415 parameters.
11416 (print_message): Update `print_message_indented' calls. Adds '\n' to the
11417 strings.
11418 (print_timeout): Use `print_message_indented' to print the message.
11419 Deletes `second_stage' parameter.
11420 (run_menu): Update `print_timeout' calls.
11421
5a1ad2b9
VS
114222009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11423
11424 Fix console palette on OpenFirmware.
11425
11426 * term/ieee1275/ofconsole.c (MAX): Removed.
11427 (colors): Redone based on VGA palette.
11428 (grub_ofconsole_setcolor): Discard brightness bit since only 8
11429 colors are supported.
11430 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
11431
b045f00a
VS
114322009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11433
11434 Fix potential EfiEmu double prepare.
11435
11436 * efiemu/main.c (prepared): New variable
11437 (grub_efiemu_unload): Set prepare to '0'.
11438 (grub_efiemu_prepare): Return if already prepared. Set prepared.
11439
11440 set_virtual_address_map support.
11441
11442 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
11443 prototype.
11444 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
11445 prototype.
11446 (grub_efiemu_crc32): Likewise.
11447 (grub_efiemu_crc64): Likewise.
11448 (grub_efiemu_set_virtual_address_map): Likewise.
11449 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
11450 New definition.
11451 (grub_autoefi_set_virtual_address_map): Likewise.
11452 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
11453 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
11454 Restructure flow to accomodate it.
11455 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
11456 (grub_efiemu_crc): Recompute CRC32.
11457 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
11458 (efiemu_ptv_relocated): ... this. Made global. All users updated.
11459 * efiemu/symbols.c (relocated_handle): New variable.
11460 (grub_efiemu_free_syms): Free relocated_handle.
11461 (grub_efiemu_alloc_syms): Allocate relocated_handle.
11462 (grub_efiemu_write_sym_markers): New function.
11463 (grub_efiemu_set_virtual_address_map): Likewise.
11464
11465 Newer XNU parameters.
11466
11467 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
11468 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
11469 (grub_xnu_fill_devicetree): New prototype.
11470 (grub_xnu_heap_real_start): New variable.
11471 * loader/xnu.c (get_name_ptr): New function.
11472 (grub_xnu_load_driver): Fill namelen and name.
11473
11474 64-bit xnu support.
11475
11476 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
11477 and 'loader/macho64.c'.
11478 * conf/i386-pc.rmk: Likewise.
11479 * conf/x86_64-efi.rmk: Likewise.
11480 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
11481 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
11482 * include/grub/macho.h (grub_macho_segment64): New structure.
11483 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
11484 (grub_macho_size32): ... to this.
11485 (grub_macho32_get_entry_point): Renamed from ...
11486 (grub_macho_get_entry_point32): ... to this.
11487 (grub_macho_contains_macho64): New prototype.
11488 (grub_macho_size64): Likewise.
11489 (grub_macho_get_entry_point64): Likewise.
11490 (grub_macho32_load): Renamed from ...
11491 (grub_macho_load32): ... to this.
11492 (grub_macho32_filesize): Renamed from ...
11493 (grub_macho_filesize32): ... to this.
11494 (grub_macho32_readfile): Renamed from ...
11495 (grub_macho_readfile32): ... to this.
11496 (grub_macho_filesize64): New prototype.
11497 (grub_macho_readfile64): Likewise.
11498 (grub_macho_parse32): Likewise.
11499 (grub_macho_parse64): Likewise.
11500 * loader/macho.c: Split into ...
11501 * loader/machoXX.c: ... and this. Replace 32 with XX.
11502 * loader/macho32.c: New file.
11503 * loader/macho64.c: Likewise.
11504 * loader/xnu.c (grub_xnu_is_64bit): New variable.
11505 (grub_cmd_xnu_kernel): Make 32-bit only.
11506 (grub_cmd_xnu_kernel64): New function.
11507 (grub_xnu_load_driver): Support Mach-O 64.
11508 (grub_cmd_xnu_mkext): Likewise.
11509 * util/grub.d/30_os-prober.in (osx_entry): New function.
11510 Generate entries for 64-bit boot too.
11511
11512 Eliminate ad-hoc tree format in XNU and EfiEmu.
11513
11514 * efiemu/main.c (grub_efiemu_prepare): Update comment.
11515 * efiemu/pnvram.c: Rewritten to use environment variables.
11516 All users updated.
11517
11518 Inline utf16_to_utf8.
11519
11520 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
11521 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
11522 All users updated.
11523 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
11524
11525 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
11526 * commands/usbtest.c (grub_usb_get_string): ... move here.
11527 (usb_print_str): Fix error handling.
11528 * include/grub/usb.h (grub_usb_get_string): Remove.
11529
11530 UTF-8 to UTF-16 transformation.
11531
11532 * conf/common.rmk (pkglib_MODULES): Add charset.mod
11533 (charset_mod_SOURCES): New variable.
11534 (charset_mod_CFLAGS): Likewise.
11535 (charset_mod_LDFLAGS): Likewise.
11536 * include/grub/utf.h: New file.
11537 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
11538
11539 Support for device properties.
11540
11541 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11542 (grub_xnu_devprop_device_header): Likewise.
11543 (grub_xnu_devprop_device_descriptor): Likewise.
11544 (grub_xnu_devprop_add_device): New prototype.
11545 (grub_xnu_devprop_remove_device): Likewise.
11546 (grub_xnu_devprop_remove_property): Likewise.
11547 (grub_xnu_devprop_add_property_utf8): Likewise.
11548 (grub_xnu_devprop_add_property_utf16): Likewise.
11549 (grub_cpu_xnu_init): Likewise.
11550 (grub_cpu_xnu_fini): Likewise.
11551 (grub_cpu_xnu_unload): Likewise.
11552 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
11553 (property_descriptor): Likewise.
11554 (devices): New variable.
11555 (grub_xnu_devprop_remove_property): New function.
11556 (grub_xnu_devprop_add_device): Likewise.
11557 (grub_xnu_devprop_remove_device): Likewise.
11558 (grub_xnu_devprop_add_property): Likewise.
11559 (grub_xnu_devprop_add_property_utf8): Likewise.
11560 (grub_xnu_devprop_add_property_utf16): Likewise.
11561 (hextoval): Likewise.
11562 (grub_cpu_xnu_fill_devprop): Likewise.
11563 (grub_cmd_devprop_load): Likewise.
11564 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
11565 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
11566 (cmd_devprop_load): New variable.
11567 (grub_cpu_xnu_init): New function.
11568 (grub_cpu_xnu_fini): Likewise.
11569 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
11570 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
11571 (grub_cmd_xnu_devtree): Likewise.
11572 (hextoval): New function.
11573 (unescape): Likewise.
11574 (grub_xnu_fill_devicetree): Likewise.
11575
11576 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
11577 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
11578
0945f181
VS
115792009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11580
11581 Workaround for broken ATI VBE.
11582
11583 * video/i386/pc/vbe.c (last_set_mode): New variable.
11584 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11585 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11586 (grub_video_vbe_setup): Don't check for reserved flag.
11587
0ad46fd7 115882009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
11589
11590 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11591 the `find' command.
11592
c179ebe4
VS
115932009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 UUID support for HFS.
11596
11597 * fs/hfs.c (grub_hfs_uuid): New function.
11598 (grub_hfs_fs): New value .uuid.
11599 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11600
0ad46fd7 116012009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
11602
11603 Fix a segfault with parsing unknown long options.
11604
11605 * util/grub-mkrelpath.c (options): Zero terminate it.
11606
c4a3e41a
CPE
116072009-12-13 Carles Pina i Estany <carles@pina.cat>
11608
11609 * include/grub/misc.h (grub_puts): New declaration.
11610 (grub_puts_): Likewise.
a22008a6 11611 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
11612 (grub_puts_): Likewise.
11613
2e8a7602
RM
116142009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11615
11616 * util/grub-probe.c (probe): Improve error message.
11617
b50b77b9
RM
116182009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11619
11620 * loader/i386/multiboot_elfxx.c
11621 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11622 initialization.
11623
116242009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 Relocator framework
11627
11628 * loader/i386/xnu_helper.S: Removed. All users updated.
11629 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11630 (relocator_mod_SOURCES): New variable.
11631 (relocator_mod_CFLAGS): Likewise.
11632 (relocator_mod_LDFLAGS): Likewise.
11633 (relocator_mod_ASFLAGS): Likewise.
11634 * conf/x86_64.rmk: Likewise.
11635 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11636 (grub_multiboot_payload_entry_offset): Likewise.
11637 (grub_multiboot_forward_relocator): Likewise.
11638 (grub_multiboot_forward_relocator_end): Likewise.
11639 (grub_multiboot_backward_relocator): Likewise.
11640 (grub_multiboot_backward_relocator_end): Likewise.
11641 (grub_multiboot_payload_eip): New variable.
11642 (grub_multiboot_payload_orig): Likewise.
11643 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11644 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11645 * include/grub/i386/memory.h
11646 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11647 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11648 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11649 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11650 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11651 * include/grub/i386/relocator.h: New file.
11652 * include/grub/x86_64/relocator.h: Likewise.
11653 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11654 (XNU_RELOCATOR): New macro.
11655 (grub_xnu_launcher_start): Remove.
11656 (grub_xnu_launcher_end): Likewise.
11657 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11658 (grub_xnu_heap_real_start): Remove.
11659 (grub_xnu_heap_start): Change to void *. All users updated.
11660 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11661 * lib/i386/relocator.c: New file.
11662 * lib/i386/relocator_asm.S: Likewise.
11663 * lib/i386/relocator_backward.S: Likewise.
11664 * lib/mips/relocator.c: Likewise.
11665 * lib/mips/relocator_asm.S: Likewise.
11666 * lib/relocator.c: Likewise.
11667 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11668 (entry): Removed.
11669 (playground): Likewise.
11670 (grub_multiboot_payload_orig): New variable.
11671 (grub_multiboot_payload_dest): Likewise.
11672 (grub_multiboot_payload_size): Likewise.
11673 (grub_multiboot_payload_eip): Likewise.
11674 (grub_multiboot_payload_esp): Likewise.
11675 (grub_multiboot_boot): Use grub_relocator32_boot.
11676 (grub_multiboot_unload): Free relocators.
11677 (grub_multiboot): Setup stack. Use relocators.
11678 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11679 (grub_multiboot_load_elfXX): Use relocators.
11680 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11681 (grub_multiboot_payload_size): Likewise.
11682 (grub_multiboot_payload_dest): Likewise.
11683 (grub_multiboot_payload_entry_offset): Likewise.
11684 (grub_multiboot_forward_relocator): Likewise.
11685 (grub_multiboot_backward_relocator): Likewise.
11686 (grub_multiboot_real_boot): Likewise.
11687 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11688 (grub_xnu_entry_point): Likewise.
11689 (grub_xnu_arg1): Likewise.
11690 (grub_xnu_stack): Likewise.
11691 (grub_xnu_launch): Removed.
11692 (grub_xnu_boot_resume): New function.
11693 (grub_xnu_boot): Use relocators.
11694 * loader/i386/xnu_helper.S: Removed.
11695 * loader/xnu.c (grub_xnu_heap_start): New variable.
11696 (grub_xnu_heap_size): Likewise.
11697 (grub_xnu_heap_malloc): Use relocators.
11698 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11699
29eb90c6
VS
117002009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11703 anything.
11704
31027430
CPE
117052009-12-13 Carles Pina i Estany <carles@pina.cat>
11706
11707 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11708 GRUB_ERR_NONE before calling grub_env_set.
11709
dc0c71d9
RM
117102009-12-12 Robert Millan <rmh@aybabtu.com>
11711
11712 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11713 * genmk.rb (video): New variable.
11714 (CLEANFILES, VIDEOFILES): Add #{video}.
11715 (#{video}): New target rule.
11716 * genvideolist.sh: New file.
11717 * Makefile.in (pkglib_DATA): Add video.lst.
11718 (video.lst): New target rule.
11719 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11720 `video.lst'.
11721 * util/grub.d/30_os-prober.in: Replace `vbe' with
11722 ${GRUB_VIDEO_BACKEND}.
11723
2a4bfcf0
RM
117242009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11725
11726 * THANKS: Add David Miller.
11727
2a3aa4d5
RM
117282009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11729
11730 libpciaccess support.
11731
11732 * Makefile.in (LIBPCIACCESS): New variable.
11733 (enable_grub_emu_pci): Likewise.
11734 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11735 util/pci.c and commands/lspci.c.
11736 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11737 * configure.ac (grub-emu-pci): New option.
11738 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11739 (grub_pci_device_unmap_range): Likewise.
11740 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11741 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11742 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11743 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11744 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11745 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11746 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11747 * include/grub/pciutils.h: New file.
11748 * util/pci.c: Likewise.
11749
0ad46fd7 117502009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
11751
11752 * util/misc.c: Don't include <errno.h> twice.
11753
0ad46fd7 117542009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
11755
11756 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11757 name in an error message.
11758 (grub_biosdisk_rw): Likewise.
11759
2e59983c
VS
117602009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 Eliminate NTFS 4Gib barrier.
11763
11764 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11765 (read_run_data): Likewise.
11766 (grub_ntfs_read_run_list): Likewise.
11767 (grub_ntfs_read_block): Likewise.
11768 (grub_ntfs_iterate_dir): Likewise.
11769 (read_mft): Likewise.
11770 (read_data): Likewise.
11771 Use COM_LOG_LEN.
11772 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11773 to avoid 64-bit division
11774 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11775 (grub_ntfs_rlst): Use grub_disk_addr_t.
11776
71ee178a
VS
117772009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11778
11779 Eliminate grub-fstest 4Gib barrier.
11780
11781 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11782 (read_file): Fix error reporting.
11783
2520d4b8
VS
117842009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 Eliminate hexdump 4Gib barrier.
11787
11788 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11789 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11790
e1f27065
VS
117912009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11792
11793 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11794 Fixes amarsh bug.
11795
1a0f7f45
RM
117962009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11797
11798 Remove miscellaneous files in distclean target.
11799
11800 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11801
c631d9fb
CW
118022009-12-09 Colin Watson <cjwatson@ubuntu.com>
11803
11804 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11805 if they're already set. This resolves the conflict between my
11806 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11807 fixing the --grub-probe option again.
11808 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11809 change on 2009-10-06, so that we now once again source
11810 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11811
7c7b6106
RM
118122009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11813
11814 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11815 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11816 `util/devicemap.c'.
11817
e3069ec1
CPE
118182009-12-08 Carles Pina i Estany <carles@pina.cat>
11819
11820 * include/grub/misc.h (grub_printf_): New declaration.
11821 * kern/misc.c (grub_printf_): New definition.
11822 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11823 instead of `grub_printf' and `_'.
11824 * normal/menu_entry.c (store_completion): Likewise.
11825 (run): Likewise.
11826 (grub_menu_entry_run): Likewise.
11827 * normal/menu_text.c (grub_wait_after_message): Likewise.
11828 (notify_booting): Likewise.
11829 (notify_fallback): Likewise.
11830 (notify_execution_failure): Likewise.
11831
d6ceebf1
CW
118322009-12-07 Colin Watson <cjwatson@ubuntu.com>
11833
11834 * configure.ac: Check for vasprintf.
11835 * util/misc.c (asprintf): Move allocation from here ...
11836 (vasprintf): ... to here. New function.
11837 (xasprintf): New function.
11838 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11839 prototypes.
11840 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11841 * util/grub-mkfont.c (write_font): Likewise.
11842 * util/grub-probe.c (probe): Likewise.
11843 * util/hostdisk.c (make_device_name): Likewise.
11844
de6daa8b
DM
118452009-12-06 David S. Miller <davem@sunset.davemloft.net>
11846
11847 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11848 anything even prefixed with 'cdrom' as a cdrom.
11849
0ad46fd7 118502009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
11851
11852 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11853 mount points.
11854
98d3dc02
CPE
118552009-12-05 Carles Pina i Estany <carles@pina.cat>
11856
11857 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11858 grub_gettext_msg_list.
11859 (grub_gettext_gettranslation_from_position): Return const char *
11860 and not char *.
a2c1332b 11861 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
11862 returns from the list if existing there.
11863 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11864 (grub_gettext_delete_list): Delete the list.
11865 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11866 lang environment variable is changed.
11867 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11868
b283f108
VS
118692009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 Rename kernel.mod to kernel.img.
11872
11873 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11874 (kernel_mod_EXPORTS): Rename to ...
11875 (kernel_img_EXPORTS): ... this.
11876 (kernel_mod_SOURCES): Rename to ...
11877 (kernel_img_SOURCES): ... this.
11878 (kernel_mod_HEADERS): Rename to ...
11879 (kernel_img_HEADERS): ... this. All users updated.
11880 (kernel_mod_CFLAGS): Rename to ...
11881 (kernel_img_CFLAGS): ... this.
11882 (kernel_mod_ASFLAGS): Rename to ...
11883 (kernel_img_ASFLAGS): ... this.
11884 (kernel_mod_LDFLAGS): Rename to ...
11885 (kernel_img_LDFLAGS): ... this.
11886 * conf/x86_64-efi.rmk: Likewise.
11887 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11888 (read_kernel_image): ... this. All users updated.
11889 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11890
69055f8a
CPE
118912009-12-05 Carles Pina i Estany <carles@pina.cat>
11892
11893 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11894 (print_spaces): New function.
11895 (grub_print_ucs4): New function.
11896 (getstringwidth): New function.
11897 (print_message_indented): New function.
11898 (print_message): Gettexttize strings using print_message_indented.
11899 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11900 width.
11901 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11902 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11903 Gettextize.
11904 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11905 string.
11906 (run): Likewise.
11907 (grub_menu_entry_run): Likewise.
11908 * PO/POTFILES: Add normal/menu_entry.c.
11909
f616f51c
VS
119102009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11913
57bbe3be
CPE
119142009-12-05 Carles Pina i Estany <carles@pina.cat>
11915
11916 * util/grub-install.in: Install gettext .mo files.
11917 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11918
013d67a1
CPE
119192009-12-05 Carles Pina i Estany <carles@pina.cat>
11920
11921 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11922 grub_dprintf.
11923
fb954db0
RM
119242009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11925
11926 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11927 non-firmware-dependant one in realmode.S takes precedence.
11928
6b8474f8
RM
119292009-12-04 Robert Millan <rmh.grub@aybabtu.com>
11930
11931 * commands/halt.c: Replace misc arch-specific headers with
11932 `<grub/misc.h>'.
11933 * commands/reboot.c: Likewise.
11934 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
11935 `<grub/misc.h>'.
11936 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
11937 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
11938 (kernel_img_SOURCES): ... to here.
11939
11940 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
11941 * include/grub/i386/pc/init.h: Likewise.
11942 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11943 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11944
11945 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
11946
11947 * include/grub/i386/halt.h: Remove.
11948 * include/grub/i386/reboot.h: Likewise.
11949
11950 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
11951
4b2e6ca2
DM
119522009-12-03 David S. Miller <davem@sunset.davemloft.net>
11953
11954 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
11955 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
11956 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
11957 "progname.h"
11958 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
11959 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11960 (usage): Add missing comma in printf.
11961
5239348f
RM
119622009-12-02 Robert Millan <rmh.grub@aybabtu.com>
11963
11964 Use the same reboot approach on i386 coreboot and qemu as we do on
11965 BIOS.
11966
11967 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
11968 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
11969 * kern/i386/reboot.c: Remove.
11970 * include/grub/i386/reboot.h (grub_reboot): Export function.
11971 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
11972 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
11973 0xf000:0xfff0 instead of 0xffff:0x0000.
11974 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
11975 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
11976
ef34cbd4
RM
119772009-11-30 Robert Millan <rmh.grub@aybabtu.com>
11978
11979 Fix $srcdir != $objdir build.
11980
11981 * Makefile.in (po/%.po): Rewrite as ...
11982 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
11983
dc9837ea
ST
119842009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
11985
11986 Fix GNU/Hurd grub-install crash.
11987 * util/grub-probe.c (probe): Try to access `path' only when it is not
11988 NULL.
11989
2f857f98
VS
119902009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
11991
11992 Correct module naming.
11993
11994 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11995 (GRUB_MOD_INIT(efi_uga)): ... to this
11996 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
11997 (GRUB_MOD_FINI(efi_uga)): ... to this
11998 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
11999 (GRUB_MOD_INIT(efi_gop)): ... to this
12000 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12001 (GRUB_MOD_FINI(efi_gop)): ... to this
12002
c5448046
RM
120032009-11-28 Robert Millan <rmh.grub@aybabtu.com>
12004
12005 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
12006 translatable.
12007 (usage): Translate `arg' strings using gettext().
12008 Thanks to Jordi Mallach for the suggestion.
12009
c85184ad
VS
120102009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 GOP support. Based on patch from Bean
12013 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12014
12015 * video/efi_gop.c: New file.
12016 * include/grub/efi/graphics_output.h: Likewise.
12017 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
12018 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12019 variables.
12020 * conf/x86_64-efi.rmk: Likewise.
12021
8a4c48d8
VS
120222009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 Rename efi_fb to efi_uga.
12025
12026 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12027 'efi_uga.mod'.
12028 (efi_fb_mod_SOURCES): Rename this ...
12029 (efi_uga_mod_SOURCES): ... to this.
12030 (efi_fb_mod_CFLAGS): Rename this ...
12031 (efi_uga_mod_CFLAGS): ... to this.
12032 (efi_fb_mod_LDFLAGS): Rename this ...
12033 (efi_uga_mod_LDFLAGS): ... to this.
12034 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12035 'efi_uga.mod'.
12036 (efi_fb_mod_SOURCES): Rename this ...
12037 (efi_uga_mod_SOURCES): ... to this.
12038 (efi_fb_mod_CFLAGS): Rename this ...
12039 (efi_uga_mod_CFLAGS): ... to this.
12040 (efi_fb_mod_LDFLAGS): Rename this ...
12041 (efi_uga_mod_LDFLAGS): ... to this.
12042 * video/efi_fb.c: Move this ...
12043 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
12044
fb6c1a7b
RM
120452009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12046
12047 * po/README: New file. Explain our PO file workflow.
12048
3bc7896c
RM
120492009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12050
12051 * po/ChangeLog: Remove. Move relevant entries back to ...
12052 * ChangeLog: ... here.
12053 * po/ca.po: Remove (now handled by TLP).
12054 * po/id.po: Likewise.
12055 * po/zh_CN.po: Likewise.
12056 * Makefile.in (LINGUAS): Initialize in a way that supports
12057 empty set.
12058
9ed4841d
RM
120592009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12060
12061 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
12062 reliing on po/LINGUAS.
12063 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
12064 (po/%.po): ... this.
12065
0ad46fd7 120662009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
12067
12068 * util/i386/efi/grub-mkimage.c: Include "progname.h".
12069 (main): Use `program_name' instead of nonexistent `progname'.
12070
e30dd392
FZ
120712009-11-26 Felix Zielcke <fzielcke@z-51.de>
12072
12073 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12074 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
12075
7656de4f
RM
120762009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12077
12078 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
12079 commit.
12080 * conf/i386-efi.rmk: Likewise.
12081 * conf/i386-ieee1275.rmk: Likewise.
12082 * conf/powerpc-ieee1275.rmk: Likewise.
12083 * conf/sparc64-ieee1275.rmk: Likewise.
12084 * conf/x86_64-efi.rmk: Likewise.
12085
db77c4d4
FZ
120862009-11-26 Felix Zielcke <fzielcke@z-51.de>
12087
12088 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
12089
a755bb04
FZ
120902009-11-26 Felix Zielcke <fzielcke@z-51.de>
12091
12092 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
12093
8a4c07fd
RM
120942009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12095
12096 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
12097 (grub_mkdevicemap_SOURCES): New variable.
12098 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
12099 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
12100 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
12101 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
12102 (grub_mkdevicemap_SOURCES): Remove.
12103 * conf/i386-efi.rmk: Likewise.
12104 * conf/i386-ieee1275.rmk: Likewise.
12105 * conf/i386-pc.rmk: Likewise.
12106 * conf/powerpc-ieee1275.rmk: Likewise.
12107 * conf/sparc64-ieee1275.rmk: Likewise.
12108 * conf/x86_64-efi.rmk: Likewise.
12109 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
12110 (usage): Fix strings to use `program_name'.
12111 (main): Initialize gettext.
12112 * util/grub-editenv.c: Likewise.
12113 * util/grub-emu.c: Likewise.
12114 * util/grub-fstest.c: Likewise.
12115 * util/grub-mkdevicemap.c: Likewise.
12116 * util/grub-mkfont.c: Likewise.
12117 * util/grub-mkrelpath.c: Likewise.
12118 * util/grub-pe2elf.c: Likewise.
12119 * util/grub-probe.c: Likewise.
12120 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12121 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12122 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12123
12124 * util/misc.c: Include `"progname.h"'.
12125 (progname): Remove variable.
12126 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
12127
6f61ed55
FZ
121282009-11-25 Felix Zielcke <fzielcke@z-51.de>
12129
12130 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
12131 printf and print a newline after the menuentry header line.
12132 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12133
f022876b
FZ
121342009-11-25 Felix Zielcke <fzielcke@z-51.de>
12135
12136 autoconf >= 2.60 support $(localedir).
12137
12138 * INSTALL: Note that autoconf 2.60 is required.
12139 * configure.ac (AC_PREREQ): Bump to 2.60.
12140 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
12141 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12142
6717926e
YB
121432009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
12144
12145 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
12146 aclocal is run.
12147
08806a54
RM
121482009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12149
12150 * normal/main.c (grub_normal_read_line): Fix off-by-one
12151 buffer overflow.
12152
13b33fba
RM
121532009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12154
12155 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
12156 "parser.grub" in grub_command_execute() call.
12157
4a8572e9
CPE
121582009-11-24 Carles Pina i Estany <carles@pina.cat>
12159
12160 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
12161 * conf/i386-efi.rmk: Likewise.
12162 * conf/i386-ieee1275.rmk: Likewise.
12163 * conf/i386-pc.rmk: Likewise.
12164 * conf/powerpc-ieee1275.rmk: Likewise.
12165 * conf/sparc64-ieee1275.rmk: Likewise.
12166 * conf/x86_64-efi.rmk: Likewise.
12167 * gettext/gettex.c: Include <grub/i18n.h>.
12168 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
12169 here ...
12170 * include/grub/i18n.h: ... to here
12171 * include/grub/i18n.h: ... to here.
12172 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 12173 (grub_gettext_dummy): Move above user.
4a8572e9 12174
bee48093
FZ
121752009-11-24 Felix Zielcke <fzielcke@z-51.de>
12176
12177 * util/Makefile.in (install-local): Convert a `for' into a normal
12178 shell expansion.
12179
a031e91c
RM
121802009-11-24 Robert Millan <rmh.grub@aybabtu.com>
12181
12182 * autogen.sh: Add automake call.
12183 * config.guess: Remove.
12184 * config.sub: Likewise.
12185 * install-sh: Likewise.
12186
26bec39d
FZ
121872009-11-24 Felix Zielcke <fzielcke@z-51.de>
12188
12189 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
12190
8e2532fd
FZ
121912009-11-24 Felix Zielcke <fzielcke@z-51.de>
12192
12193 * util/Makefile.in (install-local): Convert a make `$(foreach)'
12194 function to a normal shell `for'.
12195
fefa1b7d
FZ
121962009-11-24 Felix Zielcke <fzielcke@z-51.de>
12197
12198 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12199
4501250b
FZ
122002009-11-24 Felix Zielcke <fzielcke@z-51.de>
12201
12202 * util/grub-mkrelpath.c: New file.
12203 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
12204 (grub_mkrelpath_SOURCES): New variable.
12205 * include/grub/util/misc.h: New function prototype.
12206 * util/misc.c (make_system_path_relative_to_its_root): New function.
12207
12208 * util/grub-mkconfig_lib.in (bindir): New variable.
12209 (grub_mkrelpath): Likewise.
12210 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
12211
12212 * util/probe.c (probe): Make the file path relative to its root.
12213 Change a info message to use the GRUB path. Enable again the
12214 check if we can read the file with GRUB facilities.
12215
12216 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
12217 to its root.
12218
11d9778b
FZ
122192009-11-24 Felix Zielcke <fzielcke@z-51.de>
12220
12221 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
12222 platform.
12223
4465287d
FZ
122242009-11-24 Felix Zielcke <fzielcke@z-51.de>
12225
12226 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
12227 strncmp().
12228
62b47f22
FZ
122292009-11-24 Felix Zielcke <fzielcke@z-51.de>
12230
12231 * util/getroot.c (grub_util_is_dmraid): New function.
12232 (grub_util_get_dev_abstraction): Treat dmraid and multipath
12233 devices as normal ones, not as LVM.
12234
1eafb9b9 122352009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
12236
12237 * conf/common.rmk: Add grub-gettext_lib target and updates
12238 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
12239 LDFLAGS.
12240 * gettext/gettext.c: New file. (Reads mo files).
12241 * include/grub/file.h (grub_file_pread): New prototype.
12242 * include/grub/i18n.h (_): New prototype.
12243 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
12244 prototypes.
12245 * kern/misc.c (grub_gettext_dummy): New function.
12246 * normal/menu_text.c: Include <grub/i18n.h>.
12247 * normal/menu_text.c (print_timeout): Gettexttize string.
12248 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
12249 * po/POTFILES: Add `normal/menu_text.c'.
12250 * po/ca.po: Add new translations.
c3ea6bd4
CPE
12251 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
12252 gettext module and defines locale_dir and lang in grub.cfg.
12253 * NEWS: Add gettext support.
12254
0fdb2568
RM
122552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12256
12257 * util/hostdisk.c: Include `<grub/i18n.h>'.
12258 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
12259 (make_device_name): Rewrite using asprintf.
12260 (convert_system_partition_to_system_disk): Replace 0 with NULL.
12261 (find_system_device): If a device is not found, generate one just
12262 by reusing the OS path name.
12263 (read_device_map): Make it permissible for device.map not to exist.
12264
f515aa62
RM
122652009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12266
12267 * script/sh/execute.c: Move from here ...
12268 * script/execute.c: ... to here. Update all users.
12269 * script/sh/function.c: Move from here ...
12270 * script/function.c: ... to here. Update all users.
12271 * script/sh/lexer.c: Move from here ...
12272 * script/lexer.c: ... to here. Update all users.
12273 * script/sh/main.c: Move from here ...
12274 * script/main.c: ... to here. Update all users.
12275 * script/sh/parser.y: Move from here ...
12276 * script/parser.y: ... to here. Update all users.
12277 * script/sh/script.c: Move from here ...
12278 * script/script.c: ... to here. Update all users.
12279
f84b481b
RM
122802009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12281
12282 * configure.ac: Detect all `emu' platforms. Define
12283 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
12284 --enable-grub-emu logic. Disable include/grub/machine
12285 symlink on `emu' platforms.
12286
12287 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
12288 * gensymlist.sh.in: Likewise.
12289
12290 * include/grub/i386/coreboot/machine.h: Remove file.
12291 * include/grub/i386/efi/machine.h: Likewise.
12292 * include/grub/i386/ieee1275/machine.h: Likewise.
12293 * include/grub/i386/pc/machine.h: Likewise.
12294 * include/grub/i386/qemu/machine.h: Likewise.
12295 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12296 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12297 * include/grub/x86_64/efi/machine.h: Likewise.
12298
12299 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
12300 * commands/halt.c: Likewise.
12301 * commands/reboot.c: Likewise.
12302 * include/grub/autoefi.h: Likewise.
12303 * include/grub/i386/at_keyboard.h: Likewise.
12304 * include/grub/i386/kernel.h: Likewise.
12305 * include/grub/i386/loader.h: Likewise.
12306 * include/grub/i386/pc/memory.h: Likewise.
12307 * kern/dl.c: Likewise.
12308 * kern/i386/coreboot/init.c: Likewise.
12309 * loader/i386/bsd.c: Likewise.
12310 * loader/i386/linux.c: Likewise.
12311 * loader/multiboot_loader.c: Likewise.
12312 * term/i386/pc/serial.c: Likewise.
12313 * term/usb_keyboard.c: Likewise.
12314
12315 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
12316 `<grub/machine/machine.h>'
12317 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
12318 * util/misc.c: Remove `<grub/machine/machine.h>' and
12319 `<grub/machine/time.h>'.
12320
12321 * Makefile.in (enable_grub_emu): Remove variable.
12322 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
12323
12324 * conf/any-emu.rmk: New file.
12325 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
12326 (grub_emu_init.c): Move from here ...
12327 * conf/any-emu.rmk: ... to here.
12328
12329 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
12330 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
12331 * conf/any-emu.rmk: ... to here.
12332
4efeab03
RM
123332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12334
12335 * include/grub/parser.h (grub_parser_register): Document need
12336 of `name' parameter.
12337 * normal/main.c (grub_normal_read_line): Simplify prompt string.
12338 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
12339 "sh" to "grub".
12340
ea1dd8bf
RM
123412009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12342
12343 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
12344 `$(XGETTEXT)'.
12345 * include/grub/i18n.h (N_): New macro.
12346 * util/mkisofs/mkisofs.h: Likewise.
12347 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
12348 around N_().
12349 (usage): Use gettext() to translate help strings when printing them.
12350
0c140626
RM
123512009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12352
12353 Based on patch from Bean
12354 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12355
12356 * video/efi_fb.c: New file.
12357 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
12358 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12359 variables.
12360 * conf/x86_64-efi.rmk: Likewise.
12361
87d58298
RM
123622009-11-22 Robert Millan <rmh.grub@aybabtu.com>
12363
12364 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
12365 * util/i386/pc/grub-setup.c: Likewise.
12366
994cc3a3
ST
123672009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12368
12369 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
12370 <hurd/fs.h>
12371 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
12372 file_get_storage_info to implement grub_guess_root_device.
12373
26a61d6a
FZ
123742009-11-21 Felix Zielcke <fzielcke@z-51.de>
12375
12376 * Makefile.in (target): Use make's builtin $(shell) function
12377 instead of calling directly $(SHELL) to create the locale directories,
12378 inside the $(foreach) function.
12379
74ff1dd5
FZ
123802009-11-21 Felix Zielcke <fzielcke@z-51.de>
12381
12382 * util/grub-mkrescue.in: Print an error and usage if output option
12383 has not been given.
12384
0b787d0e
FZ
123852009-11-21 Felix Zielcke <fzielcke@z-51.de>
12386
12387 Patch from Loïc Minier <loic.minier@ubuntu.com>.
12388 * util/grub.d/30_os-prober.in: Cope with Linux entries where
12389 root and /boot are on different devices.
12390
1164b270
RM
123912009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12392
12393 Fix build for srcdir != objdir.
12394
12395 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
12396 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
12397 $(srcdir).
12398 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
12399 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
12400 reference for input.
12401
13774a2f
RM
124022009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12403
12404 * util/grub-mkrescue.in: Use source directory direcly (without copiing
12405 or hardlinking it). Remove -J option, Joliet is not compatible with
12406 multiple source directories.
12407
efda854e
RM
124082009-11-21 Carles Pina i Estany <carles@pina.cat>
124092009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12410
12411 * util/grub-mkrescue.in: Recognize `--override-directory' option.
12412 (process_input_dir): New function. Process an arbitrary input
12413 directory.
12414 Misc adjustments to support both "override mode" and system-wide mode.
12415
6c09890c
FZ
124162009-11-20 Felix Zielcke <fzielcke@z-51.de>
12417
12418 * configure.ac (UNIFONT_BDF): Rename to ...
12419 (FONT_SOURCE): ... this. Update all users.
12420
a797824f
FZ
124212009-11-20 Felix Zielcke <fzielcke@z-51.de>
12422
12423 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
12424 to the list of unifont files to look for.
12425
cd4f42b0
RM
124262009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12427
12428 Patch from Joe Auricchio <jauricchio@gmail.com>
12429 * commands/minicmd.c (grub_mini_cmd_clear): New function.
12430 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
12431 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
12432
393c783d
FZ
124332009-11-19 Felix Zielcke <fzielcke@z-51.de>
12434
12435 * Makefile.in (install-local): Add a missing backslash.
12436
b2f1e327
FZ
124372009-11-19 Felix Zielcke <fzielcke@z-51.de>
12438
12439 * include/grub/x86_64/io.h: New file.
12440
f577f7a0
RM
124412009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12442
12443 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
12444 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
12445 Include `"progname.h"'.
12446 (main): Initialize gettext.
12447 * util/i386/pc/grub-setup.c: Gettexttize.
12448 * util/i386/pc/grub-mkimage.c: Likewise.
12449
12450 * Makefile.in (po/*.po): Redefine as ...
12451 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
12452
3bc7896c
RM
12453 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
12454
c37943b6
RM
124552009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12456
12457 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
12458 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
12459 (program_name): Remove.
12460 (main): Initialize gettext support.
6323f705
RM
12461 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
12462 Include `<libintl.h>'.
12463 (_): New macro.
c37943b6
RM
12464
12465 * util/mkisofs/eltorito.c: Gettexttize.
12466 * util/mkisofs/joliet.c: Likewise.
12467 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
12468 * util/mkisofs/multi.c: Likewise.
12469 * util/mkisofs/rock.c: Likewise.
12470 * util/mkisofs/tree.c: Likewise.
12471 * util/mkisofs/write.c: Likewise.
12472
3bc7896c
RM
12473 * po/POTFILES: Update with new files.
12474
5ce77c6e
RM
124752009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12476
12477 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
12478 * util/mkisofs/iso9660.h: Likewise.
12479 * util/mkisofs/joliet.c: Likewise.
12480 * util/mkisofs/mkisofs.c: Likewise.
12481 * util/mkisofs/mkisofs.h: Likewise.
12482 * util/mkisofs/rock.c: Likewise.
12483 * util/mkisofs/tree.c: Likewise.
12484 * util/mkisofs/write.c: Likewise.
12485
12486 * util/mkisofs/eltorito.c (rcsid): Remove.
12487 * util/mkisofs/hash.c: Likewise.
12488 * util/mkisofs/joliet.c: Likewise.
12489 * util/mkisofs/name.c: Likewise.
12490 * util/mkisofs/rock.c: Likewise.
12491 * util/mkisofs/tree.c: Likewise.
12492 * util/mkisofs/write.c: Likewise.
12493
1dabbc77
RM
124942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12495
12496 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
12497 instead of static allocation.
12498 * util/mkisofs/match.h: Likewise.
12499
633877cb
RM
125002009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12501
3bc7896c
RM
12502 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
12503 and `util/grub.d/10_linux.in'.
633877cb
RM
12504 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
12505 translatable Shell files.
12506
af1c0c85
RM
125072009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12508
12509 * Makefile.in ($(srcdir)/aclocal.m4): New target.
12510
769ae37b
RM
125112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12512
12513 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 12514 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
12515 * util/grub.d/10_kfreebsd.in (bindir): New variable.
12516 Add gettext initialization.
12517 (kfreebsd_entry): Make menuentry output translatable.
12518
125192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12520
12521 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
12522 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
12523 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
12524 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
12525 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 12526 * po/LINGUAS: New file.
769ae37b
RM
12527
125282009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12529
12530 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
12531 other things).
12532 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
12533 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
12534 bindtextdomain() calls for gettext initialization.
12535
125362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12537
12538 * gnulib/progname.c: New file (imported from Gnulib).
12539 * gnulib/progname.h: Likewise.
12540 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12541 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12542 (usage): Replace `progname' with `program_name'.
12543 (main): Use set_program_name() for program name initialization.
12544
125452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12546
12547 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12548 from here ...
12549 * Makefile.in (CPPFLAGS): ... to here.
12550
125512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12552
12553 * aclocal.m4: Move from here ...
12554 * acinclude.m4: ... to here.
12555 * autogen.sh: Add call to `aclocal'.
12556 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
12557
125582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12559
12560 * Makefile.in (CLEANFILES): Add `po/*.mo'.
12561 (LINGUAS): New variable.
12562 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
12563 (install-local): Install MO files.
12564 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
12565 * include/grub/i18n.h: New file.
3bc7896c
RM
12566 * po/POTFILES: New file.
12567 * po/ca.po: New file.
769ae37b
RM
12568 * util/grub.d/10_linux.in (bindir): New variable.
12569 Add gettext initialization.
12570 (linux_entry): Make menuentry output translatable.
12571 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
12572 (usage): Make --help output translatable.
12573 (main): Initialize gettext.
12574
02c0a6ad
RM
125752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12576
12577 * import_gcry.py: New file (written by Vladimir with minor
12578 adjustments).
12579 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
12580 ciphers.
12581 * INSTALL: Document that Python is required for bootstrap.
12582
125832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12584
12585 Import ciphers from libgcrypt 1.4.4.
12586
12587 * lib/libgcrypt/cipher/ChangeLog
12588 * lib/libgcrypt/cipher/ac.c
12589 * lib/libgcrypt/cipher/arcfour.c
12590 * lib/libgcrypt/cipher/bithelp.h
12591 * lib/libgcrypt/cipher/blowfish.c
12592 * lib/libgcrypt/cipher/camellia-glue.c
12593 * lib/libgcrypt/cipher/camellia.c
12594 * lib/libgcrypt/cipher/camellia.h
12595 * lib/libgcrypt/cipher/cast5.c
12596 * lib/libgcrypt/cipher/cipher.c
12597 * lib/libgcrypt/cipher/crc.c
12598 * lib/libgcrypt/cipher/des.c
12599 * lib/libgcrypt/cipher/dsa.c
12600 * lib/libgcrypt/cipher/ecc.c
12601 * lib/libgcrypt/cipher/elgamal.c
12602 * lib/libgcrypt/cipher/hash-common.c
12603 * lib/libgcrypt/cipher/hash-common.h
12604 * lib/libgcrypt/cipher/hmac-tests.c
12605 * lib/libgcrypt/cipher/md.c
12606 * lib/libgcrypt/cipher/md4.c
12607 * lib/libgcrypt/cipher/md5.c
12608 * lib/libgcrypt/cipher/primegen.c
12609 * lib/libgcrypt/cipher/pubkey.c
12610 * lib/libgcrypt/cipher/rfc2268.c
12611 * lib/libgcrypt/cipher/rijndael-tables.h
12612 * lib/libgcrypt/cipher/rijndael.c
12613 * lib/libgcrypt/cipher/rmd.h
12614 * lib/libgcrypt/cipher/rmd160.c
12615 * lib/libgcrypt/cipher/rsa.c
12616 * lib/libgcrypt/cipher/seed.c
12617 * lib/libgcrypt/cipher/serpent.c
12618 * lib/libgcrypt/cipher/sha1.c
12619 * lib/libgcrypt/cipher/sha256.c
12620 * lib/libgcrypt/cipher/sha512.c
12621 * lib/libgcrypt/cipher/tiger.c
12622 * lib/libgcrypt/cipher/twofish.c
12623 * lib/libgcrypt/cipher/whirlpool.c
12624
af2f93ac
RM
126252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12626
12627 Fix build for systems without error().
12628
12629 * gnulib/error.c: New file (imported from Gnulib).
12630 * gnulib/error.h: Likewise.
12631 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12632 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12633 (this variable is now used by error()).
12634
73fb3dd5
FZ
126352009-11-16 Felix Zielcke <fzielcke@z-51.de>
12636
814f5e96
FZ
12637 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12638 instead of relying that char is signed.
73fb3dd5 12639
a691ca33
VS
126402009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12643 blocksize different from specified.
12644 (grub_pxefs_read): Likewise.
12645
2af8f0f4
FZ
126462009-11-16 Felix Zielcke <fzielcke@z-51.de>
12647
12648 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12649
12650 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12651 (grub_ata_readwrite): Likewise. Update 2 format strings.
12652 (grub_atapi_read): Likewise.
12653
12654 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12655 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12656 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12657 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12658 (ata_mod_LDFLAGS): Move from here ...
12659 * conf/i386.rmk: ... to here ...
12660 * conf/x86_64-efi.rmk: ... and here.
12661 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12662 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12663
83bdecaf
RM
126642009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12665
12666 Relicense multiboot.h, with RMS' blessing.
12667
12668 * include/multiboot.h: Change to X11 license.
12669
fd6fd3d7
RM
126702009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12671
12672 Support --version in grub-mkisofs.
12673
12674 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12675 (OPTION_VERSION): New macro.
12676 (ld_options): Recognize --version.
12677 (usage): Move `program_name' from here ...
12678 (program_name): ... to here. Add `static' qualifier.
12679 (main): Recognize `OPTION_VERSION'.
12680
16a88c49
FZ
126812009-11-15 Felix Zielcke <fzielcke@z-51.de>
12682
12683 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12684 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12685
a4158476
RM
126862009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12687
12688 Fix help2man generation for mkisofs.
12689
12690 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12691 (usage): Send output to stdout (rather than stderr).
12692
fc2208b0
RM
126932009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12694
12695 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12696 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12697 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12698 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12699 (bin_SCRIPTS): Add `grub-mkfloppy'.
12700 (grub_mkfloppy_SOURCES): New variable.
12701
12702 * util/grub-mkrescue.in: New file.
12703 * util/i386/pc/grub-mkfloppy.in: New file.
12704
12705 * util/i386/coreboot/grub-mkrescue.in: Remove.
12706 * util/i386/pc/grub-mkrescue.in: Remove.
12707
8d0edf4a
RM
127082009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12709
12710 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12711 from here ...
12712 * include/multiboot.h (struct multiboot_header): ... to here. Update
12713 all users.
12714 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12715 from here ...
12716 * include/multiboot.h (struct multiboot_info): ... to here. Update
12717 all users.
12718 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12719 from here ...
12720 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12721 Update all users.
12722 * include/grub/multiboot.h (struct grub_mod_list): Move
12723 from here ...
12724 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12725 Update all users.
12726
a73f5969
RM
127272009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12728
12729 * include/multiboot2.h (multiboot_word): Rename from this ...
12730 (multiboot2_word): ... to this. Update all users.
12731 (multiboot_header): Rename from this ...
12732 (multiboot2_header): ... to this. Update all users.
12733 (multiboot_tag_header): Rename from this ...
12734 (multiboot2_tag_header): ... to this. Update all users.
12735 (multiboot_tag_start): Rename from this ...
12736 (multiboot2_tag_start): ... to this. Update all users.
12737 (multiboot_tag_name): Rename from this ...
12738 (multiboot2_tag_name): ... to this. Update all users.
12739 (multiboot_tag_module): Rename from this ...
12740 (multiboot2_tag_module): ... to this. Update all users.
12741 (multiboot_tag_memory): Rename from this ...
12742 (multiboot2_tag_memory): ... to this. Update all users.
12743 (multiboot_tag_unused): Rename from this ...
12744 (multiboot2_tag_unused): ... to this. Update all users.
12745 (multiboot_tag_end): Rename from this ...
12746 (multiboot2_tag_end): ... to this. Update all users.
12747
1c8927f0
RM
127482009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12749
12750 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12751 this platform we should support Multiboot1 first.
12752
12753 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12754 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12755 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12756
6e1e0d89
RM
127572009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12758
12759 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12760 of write calls (converting them to fwrite() if they aren't already).
12761 (get_torito_desc): Likewise.
12762 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12763
7f2b34d8
RM
127642009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12765
12766 * util/i386/pc/grub-install.in: Move from here ...
12767 * util/grub-install.in: ... to here. Update all users.
12768
c0ef3311
CW
127692009-11-11 Colin Watson <cjwatson@ubuntu.com>
12770
12771 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12772
e1f240ff
RM
127732009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12774
12775 Support for El Torito without floppy emulation.
12776
12777 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12778 (init_boot_catalog): Improve error handling.
12779 (get_torito_desc): Don't use floppy emulation unless requested by
12780 user. Patch boot information table when requested via
12781 `-boot-info-table'.
12782 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12783 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12784 (use_boot_info_table): New variables.
12785 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12786 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12787 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12788 `--eltorito-emul-floppy'.
12789 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12790 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12791 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12792 (use_boot_info_table, get_731): New prototypes.
12793 * util/mkisofs/write.c (get_731): New function.
12794
af7d4de5
FZ
127952009-11-11 Felix Zielcke <fzielcke@z-51.de>
12796
12797 Fix the generation of the man page.
12798
12799 * util/pc/i386/grub-install.in: Source
12800 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12801
2c55dbc0
RM
128022009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12803
12804 Large file support for grub-mkisofs.
12805
12806 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12807 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12808 (session_start): Upgrade type to `uint64_t'. Update all users.
12809 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12810 (struct directory_entry): Upgrade type of `starting_block' and
12811 `size' to `uint64_t'. Update all users.
12812 (struct deferred): Remove unused structure.
12813 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12814 Update all users.
12815 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12816 file is larger than `UINT32_MAX'.
12817 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12818 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12819 return value.
12820 (struct deferred_write): Upgrade type of `extent' and `size' to
12821 `uint64_t'. Update all users.
12822 (last_extent_written): Upgrade type to `uint64_t'. Update all
12823 users.
12824 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12825 Update all users. Upgrade type of `remain' to `int64_t' and
12826 `use' to `size_t'. Use error() to handle fread() errors.
12827 (write_files): Rely on write_one_file() rather than calling
12828 xfwrite() directly.
12829
6a9cead5
FZ
128302009-11-09 Felix Zielcke <fzielcke@z-51.de>
12831
12832 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12833
4825d790
RM
128342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12835
12836 * util/mkisofs/fnmatch.c: Remove.
12837 * util/mkisofs/getopt1.c: Likewise.
12838 * util/mkisofs/getopt.c: Likewise.
12839 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12840 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12841 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12842 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12843 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12844
12845 * configure.ac: Detect `mingw32msvc' host_os.
12846 Check for lstat(), getuid() and getgid().
12847
12848 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12849 instances of `u_char' with `uint8_t'.
12850
12851 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12852 [!HAVE_GETUID] (getuid): New function (stub).
12853 [!HAVE_GETGID] (getgid): Likewise.
12854 [!HAVE_LSTAT] (lstat): Likewise.
12855 [!S_IROTH] (S_IROTH): New macro (dummy).
12856 [!S_IRGRP] (S_IRGRP): Likewise.
12857
84b860d8
RM
128582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12859
12860 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12861 conditional expression).
12862
66e9b712
RM
128632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12864
12865 Import from Gnulib.
12866
12867 * gnulib/fnmatch.c: New file.
12868 * gnulib/fnmatch.h: Likewise.
12869 * gnulib/fnmatch_loop.c: Likewise.
12870 * gnulib/getopt.c: Likewise.
12871 * gnulib/getopt.h: Likewise.
12872 * gnulib/getopt1.c: Likewise.
12873 * gnulib/getopt_int.h: Likewise.
12874 * gnulib/gettext.h: Likewise.
12875
34f4a5b0
RM
128762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12877
12878 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12879 * normal/handler.c (read_handler_list): Likewise.
12880
ac451143
RM
128812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12882
12883 Misc cleanup.
12884
12885 * kern/command.c (grub_register_command_prio): Use
12886 grub_zalloc() instead of explicitly zeroing data.
12887 * kern/list.c: Include `<grub/mm.h>'.
12888 (grub_named_list_find): Replace `0' with `NULL'.
12889 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12890 (fs_module_list): Change type to `grub_named_list_t'. Update all
12891 users.
12892 * normal/dyncmd.c (read_command_list): Add space between function
12893 call and parenthesis.
12894 * normal/handler.c (read_handler_list): Likewise.
12895
4089b167
RM
128962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12897
12898 * normal/auth.c (punishment_delay): Moved from here ...
12899 (grub_auth_strcmp): ... to here (inside function).
12900
325f5037
RM
129012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12902
12903 * include/grub/list.h (struct grub_named_list): Remove `const'
12904 qualifier from `name'.
12905 (struct grub_prio_list): Likewise.
12906
7aea29a3
RM
129072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12908
12909 * normal/auth.c: Include `<grub/time.h>'.
12910 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12911
3fd6f044
RM
129122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12913
12914 * normal/auth.c (punishment_delay): New variable.
12915 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12916 (grub_auth_check_authentication): Punish failed login attempts with
12917 an incremental (2^N) delay.
12918
a4cd68e4
RM
129192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12920
12921 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12922 path with $(srcdir).
12923
7ad12f43
VS
129242009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12927
c1129f03
RM
129282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12929
12930 * util/i386/coreboot/grub-mkrescue.in: New file.
12931 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
12932 variables.
12933
12934 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
12935 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
12936 * configure.ac: Add header and function checks to satisfy grub-mkisofs
12937 requirements.
12938 * util/mkisofs/defaults.h: New file.
12939 * util/mkisofs/eltorito.c: Likewise.
12940 * util/mkisofs/exclude.h: Likewise.
12941 * util/mkisofs/fnmatch.c: Likewise.
12942 * util/mkisofs/getopt.c: Likewise.
12943 * util/mkisofs/getopt1.c: Likewise.
12944 * util/mkisofs/hash.c: Likewise.
12945 * util/mkisofs/include/fctldefs.h: Likewise.
12946 * util/mkisofs/include/mconfig.h: Likewise.
12947 * util/mkisofs/include/prototyp.h: Likewise.
12948 * util/mkisofs/include/statdefs.h: Likewise.
12949 * util/mkisofs/iso9660.h: Likewise.
12950 * util/mkisofs/joliet.c: Likewise.
12951 * util/mkisofs/match.c: Likewise.
12952 * util/mkisofs/match.h: Likewise.
12953 * util/mkisofs/mkisofs.c: Likewise.
12954 * util/mkisofs/mkisofs.h: Likewise.
12955 * util/mkisofs/multi.c: Likewise.
12956 * util/mkisofs/name.c: Likewise.
12957 * util/mkisofs/rock.c: Likewise.
12958 * util/mkisofs/tree.c: Likewise.
12959 * util/mkisofs/write.c: Likewise.
12960
ec8bb77d
VS
129612009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
12964 being insecure.
12965
3716b12c
RM
129662009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12967
12968 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
12969 `grub-mkimage' (and use $0 when possible).
12970
b97b7b91
RM
129712009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12972
12973 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
12974 error message for excessively large memory map.
12975
04114812
RM
129762009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12977
12978 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
12979 executable bit.
12980
e4eb2373
RM
129812009-11-08 Robert Millan <rmh.grub@aybabtu.com>
12982
12983 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
12984 message for coreboot users.
12985
c926e1d5 129862009-11-07 Robert Millan <rmh.grub@aybabtu.com>
12987
12988 Fix build with GNU gold.
12989
12990 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
12991 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
12992 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
12993 link addresses.
12994 * aclocal.m4: Likewise.
12995
86e5b1db 129962009-11-04 Felix Zielcke <fzielcke@z-51.de>
12997
12998 * configure.ac (AC_PREREQ): Bump to 2.59d.
12999 * INSTALL: Make it more clear when Autoconf and Ruby are
13000 needed and when to run `./autogen.sh'.
13001
246cd78f 130022009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
13003
13004 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
13005 OSes.
13006
4f9dfb37 130072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13008
13009 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
13010
b82bd5e1 130112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13012
13013 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
13014 giving it to GNU Mach.
13015
ff1a9bca 130162009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13017
13018 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
13019 GNU partition number to get internal GRUB partition number.
13020
61697d9c 130212009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13022
13023 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
13024 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
13025
a50569e1 130262009-11-01 Robert Millan <rmh.grub@aybabtu.com>
13027
13028 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
13029 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
13030 case.
13031
5b153867 130322009-11-01 Felix Zielcke <fzielcke@z-51.de>
13033
13034 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
13035
d9e2cd70 130362009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13037
13038 Fix build problem.
13039
13040 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
13041 `-isystem=$(srcdir)/include'.
13042
805111a4 130432009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13044
13045 * util/i386/pc/grub-install.in: Remove hint that device.map should be
13046 checked (grub-install doesn't currently rely on it).
13047
fa6e945f 130482009-10-29 Robert Millan <rmh.grub@aybabtu.com>
13049
13050 Revert SVN r2660.
13051
13052 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
13053 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13054 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
13055 * conf/i386-ieee1275.rmk: Likewise.
13056 * conf/i386-pc.rmk: Likewise.
13057 * conf/powerpc-ieee1275.rmk: Likewise.
13058 * conf/sparc64-ieee1275.rmk: Likewise.
13059 * conf/x86_64-efi.rmk: Likewise.
13060
cee15086 130612009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13062
13063 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
13064
95b9239e 130652009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13066
13067 * include/grub/misc.h: Stop checking for APPLE_CC.
13068
2ed19dfd 130692009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13070
13071 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
13072 doesn't cause an infinite call loop.
13073
fdcdde19 130742009-10-28 Felix Zielcke <fzielcke@z-51.de>
13075
13076 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
13077 strings.
13078
cefabfe1 130792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13080
13081 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
13082 variable.
13083 * Makefile.in: Likewise.
13084
ed96ab6d 130852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13086
13087 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
13088
0579b753 130892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13090
13091 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
13092
478df409 130932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13094
13095 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
13096
083d1679 130972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13098
13099 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
13100 from here ...
13101 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
13102
5947ae32 131032009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13104
13105 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
13106 in $(MAKEINFO) invocation. This makes it clear in output that
13107 errors are being ignored.
13108
94180ff6 131092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13110
13111 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
13112 from here ...
13113 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13114 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
13115 * conf/i386-ieee1275.rmk: Likewise.
13116 * conf/i386-pc.rmk: Likewise.
13117 * conf/powerpc-ieee1275.rmk: Likewise.
13118 * conf/sparc64-ieee1275.rmk: Likewise.
13119 * conf/x86_64-efi.rmk: Likewise.
13120
9031b03a 131212009-10-26 Colin Watson <cjwatson@ubuntu.com>
13122
13123 * util/grub-editenv.c (main): If only a command is given, use
13124 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
13125 (usage): FILENAME is now optional and has a default.
13126
e4f6809b 131272009-10-26 Colin Watson <cjwatson@ubuntu.com>
13128
13129 Improve grub-mkconfig performance when there are several menu
13130 entries on a single filesystem.
13131
13132 * util/grub.d/10_linux.in (linux_entry): Cache the output of
13133 prepare_grub_to_access_device.
13134 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13135 * util/grub.d/30_os-prober.in: Likewise.
13136
67937d4d 131372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13138
13139 * util/grub.d/10_freebsd.in: Remove.
13140 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
13141 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
13142
ee3756cc 131432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13144
5c35048e 13145 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 13146
4dea1c6f 131472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13148
13149 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
13150 grub_util_error() call.
13151
042484d7 131522009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13153
13154 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
13155 `reserved_first_sector' member.
13156 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
13157 `reserved_first_sector' to 1.
13158 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
13159 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
13160 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
13161 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
13162 filesystems which begin at first sector.
13163 (options): New option --skip-fs-probe.
13164 (main): Handle --skip-fs-probe and pass it to setup().
13165
d64448a7 131662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13167
13168 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
13169 (memset): Fix function prototype.
13170
508d42ec 131712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
131722009-10-25 Vasily Averin <vvs@parallels.com>
13173
13174 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
13175 `dirent.direntlen == 0'.
13176
b240e30c 131772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13178
13179 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
13180 `cpio'.
13181 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
13182
346e7fbe 131832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13184
13185 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
13186 `__trampoline_setup' and `__ucmpdi2'.
13187 * include/grub/powerpc/libgcc.h: Only export symbols for functions
13188 that libgcc provides.
13189
cdb308b0 131902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13191
13192 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
13193 * include/grub/sparc64/libgcc.h (memset): Likewise.
13194 * include/grub/misc.h (memset, memcmp): New function prototypes.
13195
fb26abc2 131962009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13197
13198 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
13199 `cpio'.
13200 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
13201
f6693890 132022009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13203
13204 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
13205 * docs/grub.cfg: Compensate for recent change in multiboot
13206 loader (since 2009-08-14 it won't pass filename to payload).
13207 * util/grub.d/10_hurd.in: Likewise.
13208
0933cdc0 132092009-10-21 Felix Zielcke <fzielcke@z-51.de>
13210
13211 * config.guess: Update to latest version from config git
13212 repository.
13213 * config.sub: Likewise.
13214
3b2fe8c2 132152009-10-20 Robert Millan <rmh.grub@aybabtu.com>
13216
13217 Fix build on sparc64.
13218
13219 * configure.ac: Perform checks for libgcc symbols before
13220 adding `-nostdlib' to LDFLAGS.
13221
46695a62 132222009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13223
13224 Let user specify OpenBSD root device.
13225
13226 * loader/i386/bsd.c (openbsd_root): New variable.
13227 (openbsd_opts): New option 'root'.
13228 (OPENBSD_ROOT_ARG): New macro.
13229 (grub_openbsd_boot): Use 'openbsd_root'.
13230 (grub_cmd_openbsd): Fill 'openbsd_root'.
13231
d2b6b7fc 132322009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13233
13234 * NEWS: Misc adjustments.
13235
421bd7ac 132362009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13237
13238 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
13239
f1d29d87 132402009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13241
13242 * configure.ac: Bump version to 1.97.
13243
6f3cd880 132442009-10-16 Colin Watson <cjwatson@ubuntu.com>
13245
13246 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
13247 -mno-3dnow on x86 architectures. Some toolchains enable these
13248 features by default, but they rely on registers that aren't enabled
13249 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
13250
035f7122 132512009-10-15 Robert Millan <rmh.grub@aybabtu.com>
13252
13253 Make entry text a bit more readable.
13254
13255 * util/grub.d/10_linux.in: Add `with' before `Linux'.
13256
44998e58 132572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
13260
cd2851b3 132612009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
13264 operations.
13265
c6f3b249 132662009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13267
13268 * configure.ac: Add missing dollar.
13269
6b5886ba 132702009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
13273
13274 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
13275 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
13276 exports.
13277 * include/grub/sparc64/libgcc.h: Likewise. Use
13278 preprocessor conditionals.
13279
e9d66f6d 132802009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13281
13282 * conf/common.rmk (grub-dumpbios): Remove rule.
13283 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
13284 * util/grub-dumpbios.in: Remove file.
13285
9155bc17 132862009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13287
13288 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
13289 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
13290
13291 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
13292 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
13293 users.
13294
13295 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
13296 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
13297 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
13298 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
13299 users.
13300
bf7f7a18 133012009-10-12 Robert Millan <rmh.grub@aybabtu.com>
13302
13303 * term/tparm.c: Switch to GPLv3.
13304
86564c26 133052009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13306
13307 * include/grub/i386/cpuid.h: Add header protection.
13308
5c936493 133092009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13310
13311 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
13312
13313 * include/grub/i386/cpuid.h: New file.
13314 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
13315 (has_longmode): Rename to ...
13316 (grub_cpuid_has_longmode): ... this. Update all users. Remove
13317 `static' attribute.
13318 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
13319 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
13320 on a CPU that doesn't implement AMD64 instruction set.
13321
186e7cf2 133222009-10-06 Colin Watson <cjwatson@ubuntu.com>
13323
13324 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
13325 that version.texi is rebuilt on version number changes.
13326
83b65c4a 133272009-10-06 Colin Watson <cjwatson@ubuntu.com>
13328
13329 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
13330 Fixes bug #27602.
13331
d244281c 133322009-10-06 Colin Watson <cjwatson@ubuntu.com>
13333
13334 * util/i386/pc/grub-install.in: Source
13335 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
13336 that the --grub-probe option will work.
13337 * util/sparc64/ieee1275/grub-install.in: Likewise.
13338
da25306d 133392009-10-05 Robert Millan <rmh.grub@aybabtu.com>
13340
13341 * configure.ac: Bump version to 1.97~beta4.
13342
e8ee83c0 133432009-10-03 Robert Millan <rmh.grub@aybabtu.com>
13344
13345 Resync grub-mkdevicemap in x86_64-efi.
13346
13347 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
13348 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
13349 `util/devicemap.c'.
13350
50dcabcf 133512009-10-01 Colin Watson <cjwatson@ubuntu.com>
13352
13353 * util/grub-editenv.c (create_envblk_file): Write new block with a
13354 .new suffix and then rename it into place, to ensure atomic
13355 creation.
13356
0e51c3a7 133572009-09-28 Robert Millan <rmh.grub@aybabtu.com>
13358
13359 Do not automatically install headers.
13360
13361 * Makefile.in (include_DATA): Remove. Update all users.
13362
31299a95 133632009-09-26 Robert Millan <rmh.grub@aybabtu.com>
13364
13365 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
13366 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
13367
13368 * util/osdetect.lua: Remove.
13369 * script/lua/lauxlib.c: Likewise.
13370 * script/lua/ldebug.c: Likewise.
13371 * script/lua/grub_main.c: Likewise.
13372 * script/lua/lauxlib.h: Likewise.
13373 * script/lua/ldebug.h: Likewise.
13374 * script/lua/ltablib.c: Likewise.
13375 * script/lua/liolib.c: Likewise.
13376 * script/lua/lstrlib.c: Likewise.
13377 * script/lua/lualib.h: Likewise.
13378 * script/lua/ldo.c: Likewise.
13379 * script/lua/ldump.c: Likewise.
13380 * script/lua/ldo.h: Likewise.
13381 * script/lua/loslib.c: Likewise.
13382 * script/lua/lundump.c: Likewise.
13383 * script/lua/grub_lib.c: Likewise.
13384 * script/lua/ldblib.c: Likewise.
13385 * script/lua/lundump.h: Likewise.
13386 * script/lua/lmem.c: Likewise.
13387 * script/lua/grub_lib.h: Likewise.
13388 * script/lua/lmathlib.c: Likewise.
13389 * script/lua/lstate.c: Likewise.
13390 * script/lua/ltm.c: Likewise.
13391 * script/lua/lvm.c: Likewise.
13392 * script/lua/lmem.h: Likewise.
13393 * script/lua/lstate.h: Likewise.
13394 * script/lua/ltm.h: Likewise.
13395 * script/lua/ltable.c: Likewise.
13396 * script/lua/lvm.h: Likewise.
13397 * script/lua/llex.c: Likewise.
13398 * script/lua/lgc.c: Likewise.
13399 * script/lua/grub_lua.h: Likewise.
13400 * script/lua/loadlib.c: Likewise.
13401 * script/lua/lfunc.c: Likewise.
13402 * script/lua/lopcodes.c: Likewise.
13403 * script/lua/lparser.c: Likewise.
13404 * script/lua/ltable.h: Likewise.
13405 * script/lua/llex.h: Likewise.
13406 * script/lua/lgc.h: Likewise.
13407 * script/lua/lfunc.h: Likewise.
13408 * script/lua/lbaselib.c: Likewise.
13409 * script/lua/lopcodes.h: Likewise.
13410 * script/lua/lparser.h: Likewise.
13411 * script/lua/lzio.c: Likewise.
13412 * script/lua/linit.c: Likewise.
13413 * script/lua/lobject.c: Likewise.
13414 * script/lua/llimits.h: Likewise.
13415 * script/lua/lstring.c: Likewise.
13416 * script/lua/lzio.h: Likewise.
13417 * script/lua/lapi.c: Likewise.
13418 * script/lua/lcode.c: Likewise.
13419 * script/lua/lua.h: Likewise.
13420 * script/lua/lobject.h: Likewise.
13421 * script/lua/lstring.h: Likewise.
13422 * script/lua/lapi.h: Likewise.
13423 * script/lua/lcode.h: Likewise.
13424 * script/lua/luaconf.h: Likewise.
13425
cb8a2c38 134262009-09-26 Colin Watson <cjwatson@ubuntu.com>
13427
13428 * docs/grub.texi (Command-line and menu entry commands): Document
13429 date and echo commands.
13430
6b9b6276 134312009-09-24 Pavel Roskin <proski@gnu.org>
13432
13433 * include/grub/kernel.h (struct grub_module_header): Remove
13434 `grub_module_header_types'. Make `type' unsigned. Make `size'
13435 32-bit on all platforms.
13436 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
13437 8-bit field. Use grub_host_to_target32() for `size'.
13438 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
13439 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
13440 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
13441
4e5a02a7 134422009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13443
13444 Fix "lost keypress" bug in at_keyboard.
13445
13446 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
13447 Checks for readyness of input buffer (without flushing it).
13448 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
13449 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
13450
c6dcedf6 134512009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13452
13453 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
13454 size check within GRUB_MACHINE_PCBIOS section.
13455
74c958b1 134562009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13457
13458 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
13459 return value.
13460 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
13461 KEYBOARD_ISREADY check.
13462 (grub_at_keyboard_checkkey): Rename to ...
13463 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
13464 Remove gratuitous cast.
13465
ff420223 134662009-09-23 Colin Watson <cjwatson@ubuntu.com>
13467
13468 * configure.ac: Call AC_PROG_MKDIR_P.
13469 * Makefile.in (docs/stamp-vti): Create docs directory. Create
13470 version.texi in $(builddir) rather than $(srcdir).
13471 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
13472 to makeinfo's @include search path.
13473
d96875df 134742009-09-23 Felix Zielcke <fzielcke@z-51.de>
13475
13476 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
13477
9b3f8365 134782009-09-23 Felix Zielcke <fzielcke@z-51.de>
13479
13480 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
13481 for `*.dpkg-new'.
13482
c44c90db 134832009-09-21 Colin Watson <cjwatson@ubuntu.com>
13484
13485 Build info documentation. Some code borrowed from Automake.
13486
13487 * configure.ac: Check for makeinfo.
13488 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
13489 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
13490 docs/version.texi.
13491 (MOSTLYCLEANFILES): Add vti.tmp.
13492 (docs/version.texi, docs/stamp-vti): Update automatically.
13493 (docs/grub.info): Build info documentation. Use --force and ignore
13494 errors for now.
13495 (all-local): Add $(INFOS).
13496 (install-local): Install info files.
13497 (uninstall): Uninstall info files.
13498 * docs/version.texi: Remove from revision control. This file is
13499 automatically generated on build now.
13500 * gendistlist.sh: Add `*.info'.
13501
e0b37bb5 135022009-09-21 Felix Zielcke <fzielcke@z-51.de>
13503
13504 * kern/term.c: Fix indentation.
13505
5a78865b 135062009-09-21 Felix Zielcke <fzielcke@z-51.de>
13507
13508 * util/hostdisk.c: Fix a comment.
13509
dace7e8a 135102009-09-20 Robert Millan <rmh.grub@aybabtu.com>
13511
13512 Fix regression introduced in r2539.
13513
13514 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
13515 to 0xA1.
13516
a83d079b 135172009-09-19 Colin Watson <cjwatson@ubuntu.com>
13518
13519 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 13520 os-prober. Under normal operation, it does not print anything to
13521 stderr; if it does, we need to debug it, and throwing away stderr
13522 makes that excessively difficult.
a83d079b 13523
be94a509 135242009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
13527
63f745e8 135282009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13529
13530 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
13531 AC_LANG_PROGRAM from autoconf.
13532 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
13533 prototypes (fixes warning).
13534
13535 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
13536 `--disable-werror' was used.
13537
bbb2a70f 135382009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13539
13540 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13541 uninitialized `lastaddr'.
13542
77c24f1d 135432009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13544
0f0b8c87 13545 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13546
07197f23 135472009-09-14 Colin Watson <cjwatson@ubuntu.com>
13548
13549 * commands/test.c (get_fileinfo): Return immediately if
13550 grub_fs_probe fails.
13551
dabf1798 135522009-09-14 José Martínez <xosemp@gmail.com>
13553
13554 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
13555
d52109a7 135562009-09-14 Colin Watson <cjwatson@ubuntu.com>
13557
13558 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
13559 output.
13560
56532179 135612009-09-13 Robert Millan <rmh.grub@aybabtu.com>
13562
13563 * configure.ac: Remove --enable-grub-pe2elf. Only build
13564 grub-pe2elf when needed by the build system itself.
13565 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
13566
8ef070f5 135672009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13568
13569 * configure.ac: Bump version to 1.97~beta3.
13570 * docs/version.texi: Likewise.
13571
61229557 135722009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13573
13574 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
13575 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
13576 from here ...
13577 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
13578 (grub_linux_setup_video): ... to here (with some adjustments).
13579
5c9f8d84 135802009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13581
13582 Fix memory corruption issue (spotted by Colin Watson).
13583
13584 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13585 causing returned size to be stored in an incorrect memory location.
13586 Fix use of uninitialized value when storing the returned size.
13587
e8f5d6e9 135882009-09-12 Yves Blusseau <blusseau@zetam.org>
13589
13590 Change clean rules to properly remove files
13591
13592 * genmk.rb: add new clean rules
13593 * Makefile.in (clean): add the new targets
13594 (mostlyclean): likewise
13595
cda2a409 135962009-09-11 Colin Watson <cjwatson@ubuntu.com>
13597
13598 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13599 to grub_uint64_t.
13600 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13601 non-resident files.
13602
86695375 136032009-09-11 Colin Watson <cjwatson@ubuntu.com>
13604
13605 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13606 part of bug #27349.
13607
8aa1541a 136082009-09-10 Felix Zielcke <fzielcke@z-51.de>
13609
13610 * util/grub-mkconfig.in: Make the created config mode 400 and
13611 print a warning if it fails.
13612
48d9bb0a 136132009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13614
13615 * util/grub.d/40_custom.in: Ask user to type custom entries below
13616 comment, rather than below 'exec tail' line.
13617
3b0521be 136182009-09-10 Colin Watson <cjwatson@ubuntu.com>
13619
13620 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13621 visible in grub.cfg.
13622
50051d55 136232009-09-10 Colin Watson <cjwatson@ubuntu.com>
13624
13625 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13626 file.
13627
c0d34387 136282009-09-10 Felix Zielcke <fzielcke@z-51.de>
13629
13630 * docs/grub.cfg: Add an example menu entry for memtest86+.
13631
80a608f3 136322009-09-09 Felix Zielcke <fzielcke@z-51.de>
13633
a2094832 13634 * config.guess: Update to latest version from config git.
80a608f3 13635 * config.sub: Likewise.
13636
99423078 136372009-09-08 Colin Watson <cjwatson@ubuntu.com>
13638
13639 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13640 unknown-command case. Fixes bug #27320.
13641
44454e4c 136422009-09-08 Felix Zielcke <fzielcke@z-51.de>
13643
13644 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13645 `help' if the command exists.
13646
e30d87ad 136472009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13648
13649 * INSTALL: Require GCC 4.1.3 or later.
13650
9a86f1ec 136512009-09-06 Yves Blusseau <blusseau@zetam.org>
13652
13653 * Makefile.in (RMKFILES): add i386-qemu.rmk
13654 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13655 $(srcdir)/stamp-h.in
13656
7f26d466 136572009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13658
13659 * util/grub-probe.c (probe): Comment out buggy codepath, which
13660 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13661 should be re-enabled after 1.97.
13662
3a613259 136632009-09-05 Felix Zielcke <fzielcke@z-51.de>
13664
13665 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13666 find searches for.
13667
197f76c7 136682009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13671 unnecessary calls to grub_error.
13672
70ba68ce 136732009-09-04 Colin Watson <cjwatson@ubuntu.com>
13674
13675 * NEWS: Mention `keystatus' and Unicode fonts.
13676
4ff0d7a4 136772009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13678
13679 * configure.ac: Bump version to 1.97~beta2.
13680 * docs/version.texi: Likewise.
13681
77c55a87 136822009-09-03 Colin Watson <cjwatson@ubuntu.com>
13683
13684 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13685 containing unwind information in some cases where it previously did
13686 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13687 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13688 discussion.
13689
f79572cd 136902009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13691
13692 Embedding loadenv module into grub-emu
13693
13694 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13695 commands/loadenv.c
13696 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13697 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13698 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13700 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13701 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13702
93a81088 137032009-09-03 Magnus Granberg <zorry@ume.nu>
13704
13705 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13706 include -fPIE in the default specs.
13707 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13708 to TARGET_CFLAGS.
13709
160034b2 137102009-09-03 Felix Zielcke <fzielcke@z-51.de>
13711
13712 * INSTALL: Note that GNU Bison 2.3 or later is required.
13713
087c07c4 137142009-09-03 Colin Watson <cjwatson@ubuntu.com>
13715
13716 * kern/i386/pc/startup.S: Fix typo.
13717
cbf978c0 137182009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13721 according to GCS.
13722
137232009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 13724
13725 * docs/grub.texi (Naming convention): Describe one-based partition
13726 numbering.
13727 (Device syntax): Likewise.
13728 (File name syntax): Likewise.
13729 (Block list syntax): Likewise.
13730 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13731 menu.lst.
13732 (File name syntax): Likewise.
13733 (Command-line and menu entry commands): Document acpi, blocklist,
13734 crc, export, insmod, keystatus, ls, set, and unset commands.
13735
f3e8cdfd 137362009-09-02 Colin Watson <cjwatson@ubuntu.com>
13737
13738 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13739 to avoid implying that only one of --shift, --ctrl, or --alt may be
13740 used.
13741
c0bc232b 137422009-09-02 Colin Watson <cjwatson@ubuntu.com>
13743
13744 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13745 rather than comparing against S_IFREG, which will almost never work.
13746
aa0f752d 137472009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13750 (write_blocklists): Likewise.
13751
ecb3166a 137522009-09-01 Colin Watson <cjwatson@ubuntu.com>
13753
13754 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13755 argument to grub_printf.
13756
c403a125 137572009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 13758
13759 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 13760 non GNU test.
31aba781 13761
b5e7312c 137622009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 * kern/file.c (grub_file_read): Spelling fix
13765
fe00f472 137662009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13767
13768 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13769 loading of headers in some cases.
13770
cc55302e 137712009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13772
13773 * configure.ac: Bump version to 1.97~beta1.
13774 * docs/version.texi: Likewise.
13775
5c90cdd2 137762009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 13777
13778 * include/grub/i386/xnu.h: Add license header.
13779 include grub/err.h explicitly.
13780
c90edae4 137812009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13782
13783 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13784 to `ufs' in the vfs.root.mountfrom kernel parameter.
13785
d8888b5c 137862009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13787
13788 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13789
13790 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13791 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13792
13793 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13794 `ARRAY_SIZE' macro.
13795
6f07b921 137962009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * kern/file.c (grub_file_read): Check offset.
13799 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13800 * fs/jfs.c (grub_jfs_read_file): Likewise.
13801 * fs/ntfs.c (grub_ntfs_read): Likewise.
13802 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13803 * fs/minix.c (grub_minix_read_file): Correct offset check.
13804 * fs/ufs.c (grub_ufs_read_file): Likewise.
13805
b4f34077 138062009-08-28 Colin Watson <cjwatson@ubuntu.com>
13807
13808 * term/i386/pc/console.c (bios_data_area): Cast
13809 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13810
e7c69859 138112009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 1-bit optimised blitters.
13814
13815 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13816 prototype.
13817 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13818 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13819 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13820 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13821 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13822 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13823 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13824 function.
13825 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13826 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13827 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13828 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13829 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13830 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13831 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13832 when possible.
13833 * video/video.c (grub_video_get_blit_format): Return
13834 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13835
a57da43f 138362009-08-28 Colin Watson <cjwatson@ubuntu.com>
13837
13838 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13839 the first argument to grub_printf.
13840
4cbe67e5 138412009-08-28 Colin Watson <cjwatson@ubuntu.com>
138422009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13843
13844 Add `getkeystatus' terminal method. Add a new `keystatus' command
13845 to query it.
13846
13847 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13848 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13849 modifier key bitmasks.
13850 (struct grub_term_input): Add `getkeystatus' member.
13851 (grub_getkeystatus): Add prototype.
13852 * kern/term.c (grub_getkeystatus): New function.
13853
13854 * include/grub/i386/pc/memory.h
13855 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13856 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13857 Data Area layout.
13858 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13859 (grub_console_term_input): Set `getkeystatus' member.
13860 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13861 constants.
13862 (grub_usb_keyboard_getreport): Likewise.
13863 (grub_usb_keyboard_checkkey): Likewise.
13864 (grub_usb_keyboard_getkeystatus): New function.
13865 (grub_usb_keyboard_term): Set `getkeystatus' member.
13866
13867 * commands/keystatus.c: New file.
13868 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13869 (keystatus_mod_SOURCES): New variable.
13870 (keystatus_mod_CFLAGS): Likewise.
13871 (keystatus_mod_LDFLAGS): Likewise.
13872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13873 commands/keystatus.c.
13874 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13875 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13876 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13878 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13879 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13880
6e2a9085 138812009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 Split befs.mod and afs.mod into *_be.mod and *.mod
13884
13885 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13886 (grub_fstest_SOURCES): Likewise.
13887 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13888 (afs_be_mod_SOURCES): New variable.
13889 (afs_be_mod_CFLAGS): Likewise.
13890 (afs_be_mod_LDFLAGS): Likewise.
13891 (befs_be_mod_SOURCES): Likewise.
13892 (befs_be_mod_CFLAGS): Likewise.
13893 (befs_be_mod_LDFLAGS): Likewise.
13894 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13895 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13896 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13897 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13898 (grub_emu_SOURCES): Likewise.
13899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13900 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13901 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13902 * fs/afs_be.c: New file.
13903 * fs/befs_be.c: New file.
13904 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13905 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13906 (U16): Replaced with ...
13907 (grub_afs_to_cpu16): ...this. All users updated.
13908 (U32): Replaced with ...
13909 (grub_afs_to_cpu32): ...this. All users updated.
13910 (U64): Replaced with ...
13911 (grub_afs_to_cpu64): ...this. All users updated.
13912 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13913 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13914 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13915 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13916 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13917 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13918 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13919 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13920 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13921 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13922 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13923
32a71655 139242009-08-26 Bean <bean123ch@gmail.com>
13925
13926 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13927 64-bit number.
13928 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
13929 (grub_xfs_inode_block): Change return type to grub_uint64_t.
13930 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
13931
552bf6c5 139322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 NetBSD memory map support.
13935
13936 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
13937 (grub_netbsd_btinfo_mmap_header): New structure.
13938 (grub_netbsd_btinfo_mmap_entry): Likewise.
13939 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
13940
1ae2078c 139412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 Enable bsd.mod on coreboot.
13944
13945 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
13946 (bsd_mod_SOURCES): New variable.
13947 (bsd_mod_CFLAGS): Likewise.
13948 (bsd_mod_LDFLAGS): Likewise.
13949 (bsd_mod_ASFLAGS): Likewise.
13950 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
13951 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
13952
beefc598 139532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 Cleanup NetBSD root support.
13956
13957 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
13958 grub_bsd_get_device.
13959 Fix typo.
13960
3b76e68b 139612009-08-25 Felix Zielcke <fzielcke@z-51.de>
13962
13963 * util/grub.d/00_header.in: Move check for the video backend of
13964 gfxterm from here ...
13965 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
13966 a suitable video backend.
13967
aea664ea 139682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 Fix breakage in grub-setup.
13971
13972 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
13973 "msdos_partition_map".
13974
ff747d50 139752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 Fix breakage in normal/auth.c.
13978
13979 * normal/auth.c (grub_iswordseparator): New function.
13980
e7e1f93f 139812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 Authentication support.
13984
13985 * commands/password.c: New file.
13986 * conf/common.rmk (pkglib_MODULES): Add password.mod.
13987 (password_mod_SOURCES): New variable.
13988 (password_mod_CFLAGS): Likewise.
13989 (password_mod_LDFLAGS): Likewise.
13990 (normal_mod_SOURCES): Add normal/auth.c.
13991 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
13992 normal/auth.c.
13993 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13994 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13995 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13997 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13998 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13999 * include/grub/auth.h: New file.
14000 * include/grub/err.h (grub_err_t): New enum value
14001 GRUB_ERR_ACCESS_DENIED.
14002 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
14003 'users'.
14004 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
14005 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
14006 users updated.
14007 * normal/auth.c: New file.
14008 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
14009 (grub_cmdline_run): Don't allow to go to command line without
14010 authentication.
14011 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
14012 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
14013 menuentry without superuser rights.
14014 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
14015 user isn't a superuser.
14016
70f1161d 140172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 Save space by inlining misc.c functions.
14020
14021 * kern/misc.c (grub_iswordseparator): Made static.
14022 * kern/misc.c (grub_strcat): Moved from here ...
14023 * include/grub/misc.h (grub_strcat): ... here. Inlined.
14024 * kern/misc.c (grub_strncat): Moved from here ...
14025 * include/grub/misc.h (grub_strncat): ... here. Inlined.
14026 * kern/misc.c (grub_strcasecmp): Moved from here ...
14027 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
14028 * kern/misc.c (grub_strncasecmp): Moved from here ...
14029 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
14030 * kern/misc.c (grub_isalpha): Moved from here ...
14031 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
14032 * kern/misc.c (grub_isdigit): Moved from here ...
14033 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
14034 * kern/misc.c (grub_isgraph): Moved from here ...
14035 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
14036 * kern/misc.c (grub_tolower): Moved from here ...
14037 * include/grub/misc.h (grub_tolower): ... here. Inlined.
14038
48e40bff 140392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * script/sh/function.c (grub_script_function_find): Cut error message
14042 not to flood terminal.
14043 * script/sh/lexer.c (grub_script_yylex): Remove command line length
14044 limit.
14045 * script/sh/script.c (grub_script_arg_add): Duplicate string.
14046
c385bfc3 140472009-08-24 Colin Watson <cjwatson@ubuntu.com>
14048
14049 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
14050 `report' grub_uint8_t *.
14051 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
14052 Use a 50-millisecond timeout rather than just repeating
14053 grub_usb_keyboard_getreport 50 times.
14054 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
14055
2d21e3e8 140562009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 Rename *_partition_map to part_*
14059
14060 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
14061 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
14062 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
14063 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
14064 All users updated.
14065 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
14066 All users updated.
14067 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
14068 * util/grub-probe.c (probe_partmap): Don't transform partition name
14069 to get module name.
14070
dd103c4e 140712009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 Fix OpenBSD and NetBSD support.
14074
14075 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
14076 memory address conflict.
14077 (OPENBSD_MMAP_ACPI): New definition.
14078 (OPENBSD_MMAP_NVS): Likewise.
14079 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
14080 and OPENBSD_MMAP_NVS.
14081 Add memory map terminator
14082 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 14083 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 14084
16c84d74 140852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 Let user specify NetBSD root device.
14088
14089 * loader/i386/bsd.c (netbsd_root): New variable.
14090 (netbsd_opts): New option 'root'.
14091 (NETBSD_ROOT_ARG): New macro.
14092 (grub_netbsd_boot): Use 'netbsd_root'.
14093 (grub_bsd_unload): Free 'netbsd_root'.
14094 (grub_cmd_netbsd): Fill 'netbsd_root'.
14095
adb29902 140962009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 Support for 64-bit NetBSD.
14099
14100 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
14101 point when booting non-FreeBSD.
14102
f5ae9f74 141032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14104
14105 Support --no-smp and --no-acpi for NetBSD.
14106
14107 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
14108 (NETBSD_AB_NOACPI): Likewise.
14109 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
14110 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
14111
de74f136 141122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
14115 errors.
14116 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
14117 errors. Call grub_error when needed.
14118
e9a925da 141192009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14120
14121 * commands/search.c (search_fs): Try searching without autoload first.
14122 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14123 filesystem module explicitly for faster booting.
14124
5174302b 141252009-08-23 Colin Watson <cjwatson@ubuntu.com>
14126
14127 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
14128
c8c80635 141292009-08-23 Colin Watson <cjwatson@ubuntu.com>
14130
14131 * util/grub.d/30_os-prober.in: Disable os-prober if
14132 `GRUB_DISABLE_OS_PROBER' was set to true.
14133
71acf5e5 141342009-08-23 Robert Millan <rmh.grub@aybabtu.com>
14135
14136 * partmap/pc.c: Rename to ...
14137 * partmap/msdos.c: ... this. Update all users.
14138 (grub_pc_partition_map): Rename to ...
14139 (grub_msdos_partition_map): ... this. Update all users.
14140
14141 * parttool/pcpart.c: Rename to ...
14142 * parttool/msdospart.c: ... this. Update all users.
14143
14144 * include/grub/pc_partition.h: Rename to ...
14145 * include/grub/msdos_partition.h: ... this. Update all users.
14146 (grub_pc_partition_bsd_entry): Rename to ...
14147 (grub_msdos_partition_bsd_entry): ... this. Update all users.
14148 (grub_pc_partition_disk_label): Rename to ...
14149 (grub_msdos_partition_disk_label): ... this. Update all users.
14150 (grub_pc_partition_entry): Rename to ...
14151 (grub_msdos_partition_entry): ... this. Update all users.
14152 (grub_pc_partition_mbr): Rename to ...
14153 (grub_msdos_partition_mbr): ... this. Update all users.
14154 (grub_pc_partition): Rename to ...
14155 (grub_msdos_partition): ... this. Update all users.
14156 (grub_pc_partition_is_empty): Rename to ...
14157 (grub_msdos_partition_is_empty): ... this. Update all users.
14158 (grub_pc_partition_is_extended): Rename to ...
14159 (grub_msdos_partition_is_extended): ... this. Update all users.
14160 (grub_pc_partition_is_bsd): Rename to ...
14161 (grub_msdos_partition_is_bsd): ... this. Update all users.
14162
14163 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
14164 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
14165 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
14166 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
14167 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
14168 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
14169 (gpt_mod_LDFLAGS): Rename to ...
14170 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
14171 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
14172 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
14173 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
14174 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
14175 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
14176 (part_gpt_mod_LDFLAGS): ... this.
14177 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
14178 `pcpart.mod' to `msdospart.mod'.
14179 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
14180 to ...
14181 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
14182 (msdospart_mod_LDFLAGS): ... this.
14183
c11fded5 141842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
14187 (openbsd_opts): Likewise.
14188 (netbsd_opts): Likewise.
14189 (freebsd_flags): Added 0 terminator.
14190 (openbsd_flags): Likewise.
14191 (netbsd_flags): Likewise.
14192 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
14193 (grub_cmd_freebsd): Transformed into extended command.
14194 (grub_cmd_openbsd): Likewise.
14195 (grub_cmd_netbsd): Likewise.
14196 (cmd_freebsd): Changed type to grub_extcmd_t.
14197 (cmd_openbsd): Likewise.
14198 (cmd_netbsd): Likewise.
14199 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
14200 grub_cmd_openbsd as extended commands.
14201 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
14202 cmd_netbsd and cmd_openbsd
14203
11d1c769 142042009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
14207
7a9094e5 142082009-08-21 Pavel Roskin <proski@gnu.org>
14209
5496c37e 14210 * Makefile.in (install-local): When checking if a file is in the
14211 build directory, use "test -e" to detect symlinks.
14212
7a9094e5 14213 * Makefile.in (install-local): Remove all files in
14214 $(DESTDIR)$(pkglibdir) before installing new files there.
14215
e53cea11 142162009-08-18 Felix Zielcke <fzielcke@z-51.de>
14217
14218 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
14219 grub-mkelfimage.
14220
9aced544 142212009-08-18 Felix Zielcke <fzielcke@z-51.de>
14222
14223 * util/grub-mkconfig.in: Don't use gfxterm by default if not
14224 explicitly specified by the user.
14225
b7da6bab 142262009-08-18 Pavel Roskin <proski@gnu.org>
14227
14228 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
14229 grub_uint8_t pointer for data.
14230 * include/grub/fbutil.h (struct grub_video_fbblit_info):
14231 Likewise.
14232 * video/fb/fbutil.c: Remove unnecessary casts.
14233
19f1b335 142342009-08-17 Michal Suchanek <hramrach@centrum.cz>
14235
14236 VBE cleanup.
14237
14238 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
14239 (grub_vbe_set_video_mode): Save active mode info
14240 only after setting the mode.
14241 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
14242 second argument.
14243
2f467aa9 142442009-08-17 Michal Suchanek <hramrach@centrum.cz>
14245
14246 Rename variables for clarity.
14247
14248 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
14249 (active_vbe_mode_info): ... this. All users updated.
14250 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
14251 All users updated.
14252 (initial_mode): Rename to ...
14253 (initial_vbe_mode): ... this. All users updated.
14254 (mode_in_use): Rename to ..
14255 (vbe_mode_in_use): ... this. All users updated.
14256 (mode_list): Rename to ..
14257 (vbe_mode_list): ... this. All users updated.
14258 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
14259 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
14260 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
14261 'mode_list_size' to 'vbe_mode_list_size'.
14262 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
14263 'best_mode_info' to 'best_vbe_mode_info' and
14264 'best_mode' to 'best_vbe_mode'
14265
6025fcd7 142662009-08-17 Michal Suchanek <hramrach@centrum.cz>
14267
14268 Remove duplicate grub_video_fb_get_video_ptr.
14269
14270 * include/grub/fbutil.h (get_data_ptr): Rename to ...
14271 (grub_video_fb_get_video_ptr): ... this.
14272 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
14273 * video/fb/fbutil.c: Add comment about addressing.
14274 (get_data_ptr): Rename to ...
14275 (grub_video_fb_get_video_ptr): ... this. All users updated.
14276 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
14277
cc8c6faf 142782009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14279
14280 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
14281 grub_dprintf() that was just added.
14282
08aa61f0 142832009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14284
14285 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
14286 (DEFAULT_VIDEO_MODE): Remove macros.
14287 (grub_linux_boot): Remove assumption that Linux has FB support,
14288 and use "text" as default video mode.
14289
7cef4f75 142902009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
14291
14292 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
14293 grub_dprintf.
14294 * fs/fat.c (grub_fat_read_data): Likewise.
14295
e1f39873 142962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
14299 payload.
14300 (grub_module): Likewise.
14301
c166d79e 143022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
14305 mbi->cmdline but free playground.
14306
c60cee8e 143072009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 Handle group offset on UFS1.
14310
14311 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
14312 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
14313
c0d8b5d4 143142009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14315
14316 Split ufs.mod into ufs1.mod and ufs2.mod.
14317
14318 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
14319 (grub_fstest_SOURCES): Likewise.
14320 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
14321 (ufs_mod_SOURCES): Remove.
14322 (ufs_mod_CFLAGS): Likewise.
14323 (ufs_mod_LDFLAGS): Likewise.
14324 (ufs1_mod_SOURCES): New variable.
14325 (ufs1_mod_CFLAGS): Likewise.
14326 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 14327 (ufs2_mod_SOURCES): New variable.
14328 (ufs2_mod_CFLAGS): Likewise.
14329 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 14330 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
14331 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14332 Likewise.
14333 (grub_emu_SOURCES): Likewise.
14334 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14335 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14336 (grub_setup_SOURCES): Likewise.
14337 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14338 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
14339 (grub_setup_SOURCES): Likewise.
14340 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14341 Likewise.
14342 * fs/ufs2.c: New file.
14343 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
14344
d3539132 143452009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 Framebuffer split.
14348
14349 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
14350 subsystem at the end.
14351 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
14352 (video_fb_mod_SOURCES): New variable.
14353 (video_fb_mod_CFLAGS): Likewise.
14354 (video_fb_mod_LDFLAGS): Likewise.
14355 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
14356 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
14357 * video/i386/pc/vbeblit.c: Moved from here ...
14358 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
14359 * video/i386/pc/vbefill.c: Moved from here ...
14360 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
14361 * video/i386/pc/vbeutil.c: Moved from here ...
14362 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
14363 * include/grub/i386/pc/vbeblit.h: Moved from here ...
14364 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
14365 * include/grub/i386/pc/vbefill.h: Moved from here ...
14366 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
14367 * include/grub/i386/pc/vbeutil.h: Moved from here ...
14368 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
14369 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
14370 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
14371 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
14372 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
14373 (grub_video_adapter): Added 'get_info_and_fini'.
14374 (grub_video_get_info_and_fini): New prototype.
14375 (grub_video_set_mode): make modestring const char *.
14376 * loader/i386/linux.c (grub_linux_setup_video): Use
14377 grub_video_get_info_and_fini.
14378 (grub_linux_boot): Move modesetting just before booting.
14379 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
14380 grub_video_get_info_and_fini.
14381 * video/i386/pc/vbe.c: Moved framebuffer part ...
14382 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
14383 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
14384 grub_video_fbstd_colors and grub_video_fb_set_palette.
14385 (grub_video_vbe_init): Clear 'framebuffer' variable and use
14386 grub_video_fb_init.
14387 (grub_video_vbe_fini): Use grub_video_fb_fini.
14388 (grub_video_vbe_setup): Use framebuffer.render_target instead of
14389 render_target and use grub_video_fb_set_active_render_target and
14390 grub_video_fb_set_palette.
14391 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
14392 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
14393 (grub_video_vbe_adapter): Use framebuffer.
14394 * video/video.c (grub_video_get_info_and_fini): New function.
14395 (grub_video_set_mode): Make modestring const char *.
14396 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
14397 values are already initialised.
14398
d404ee56 143992009-08-14 Pavel Roskin <proski@gnu.org>
14400
14401 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
14402 ABS and APPLE_CC.
14403 * boot/i386/pc/diskboot.S: Likewise.
14404 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
14405 sectors allow compilation on MacOSX.
14406 * conf/i386-pc.rmk: Enable unconditional compilation of
14407 lnxboot.img.
14408
9a10df16 144092009-08-13 Colin Watson <cjwatson@ubuntu.com>
14410
14411 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
14412 * util/grub.d/00_header.in: Enter interruptible sleep if
14413 GRUB_HIDDEN_TIMEOUT is set.
14414
be3c9ca7 144152009-08-13 Yves Blusseau <blusseau@zetam.org>
14416
14417 * include/grub/symbol.h: Add the LOCAL macro.
14418 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
14419 starting with "L_".
14420
1f9e557e 144212009-08-13 Pavel Roskin <proski@gnu.org>
14422
9ca62843 14423 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
14424 any modern compilers we support.
14425
1f9e557e 14426 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
14427 Use local labels starting with "L_" so that Apple assembler
14428 knows they are local.
14429
81623db6 144302009-08-10 Robert Millan <rmh.grub@aybabtu.com>
14431
14432 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
14433 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
14434 (bsd_kernel_types): ... this enum.
14435
14436 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
14437 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
14438 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
14439
14440 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
14441 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
14442 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
14443 messages.
14444
f5d35e7a 144452009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14446
14447 * util/grub-dumpdevtree: Moved from here ...
14448 * util/i386/efi/grub-dumpdevtree: ... to here.
14449 (hexify): New function. Converts a string to its hex version.
14450 Generate hex versions of "efi" and "device-properties" by calling
14451 hexify() on the ASCII strings rather than by hardcoding numbers.
14452
d1e1d527 144532009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14454
14455 * fs/jfs.c: Update copyright year.
14456
1ebbe064 144572009-08-08 Felix Zielcke <fzielcke@z-51.de>
14458
14459 * util/grub.d/00_header.in: Fix a comment.
14460 * util/grub.d/10_linux.in: Likewise.
14461 * util/grub.d/10_windows.in: Likewise.
14462 * util/grub.d/10_hurd.in: Likewise.
14463
a78c8d24 144642009-08-08 Felix Zielcke <fzielcke@z-51.de>
14465
14466 * util/grub-mkconfig.in: Allow the user to specify the used font
14467 with GRUB_FONT.
14468
29a6b9e8 144692009-08-08 Pavel Roskin <proski@gnu.org>
14470
b5f16cc4 14471 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
14472 available, xfs.mod needs it now.
14473
2f5cb827 14474 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
14475 the "g" modifier in sed when the intention is to strip something
14476 once. This fixes comparison of kernels with multiple dashes.
14477
29a6b9e8 14478 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
14479 on it. Add missing space before closing bracket. Fix
14480 misleading formatting.
14481
892a3d98 144822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14483
14484 * docs/grub.texi: Major overhaul. Remove all sections that are
14485 specific to GRUB Legacy, or mostly composed of Legacy-specific
14486 information.
14487
ed94253f 144882009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14489
14490 * docs/version.texi: New file. Provides version information for
14491 grub.texi.
14492
126d6628 144932009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14494
14495 * docs/grub.texi: Update CVS information to SVN.
14496 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
14497
998b5aa9 144982009-08-07 Felix Zielcke <fzielcke@z-51.de>
14499
14500 * util/grub-mkconfig.in: Remove a wrong `fi'.
14501
818e094a 145022009-08-07 Felix Zielcke <fzielcke@z-51.de>
14503
14504 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
14505 (grub_jfs_uuid): New function.
14506 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
14507
b969c52f 145082009-08-07 Felix Zielcke <fzielcke@z-51.de>
14509
14510 * util/grub-mkconfig_lib.in (font_path): Move the functionality
14511 of it to ...
14512 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
14513 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
14514
7a4894cc 145152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14516
14517 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
14518 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
14519 Update all users.
14520
14521 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
14522 not just "vmlinu[zx]".
14523 Moved from here ...
14524 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
14525 all users.
14526
14527 * util/grub.d/10_linux.in (find_latest): Moved from here ...
14528 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
14529 all users.
14530
4e2171f8 145312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14532
14533 * util/grub.d/10_freebsd.in: Use an absolute device path for
14534 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
14535
6dcfcb32 145362009-08-06 Felix Zielcke <fzielcke@z-51.de>
14537
14538 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
14539 handling of multiple abstraction modules.
14540
f56a8756 145412009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14542
14543 Fix a bug resulting in black screen when loading Linux using a
14544 packed video mode.
14545
14546 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14547 function.
14548
14549 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14550 (grub_vbe_bios_getset_dac_palette_width): New function.
14551 (grub_vbe_bios_get_dac_palette_width)
14552 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
14553 grub_vbe_bios_getset_dac_palette_width()).
14554
14555 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
14556 check for return status.
14557 (grub_vbe_get_video_mode_info): When getting information for a packed
14558 mode (<= 8 bpp), obtain DAC palette width using
14559 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
14560 {red,green,blue}_mark_size.
14561
222671b2 145622009-08-04 Felix Zielcke <fzielcke@z-51.de>
14563
ecb1a6d9 14564 * commands/search.c (options): Fix help output to match actual code.
222671b2 14565
f84114f5 145662009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
14569 of homegrown code.
14570
bd288a20 145712009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 14572
14573 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
14574 on XFS or ReiserFS.
14575
8aab5e25 145762009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 Support Apple partition map with sector size different from 512 bytes.
14579
14580 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
14581 (apple_partition_map_iterate): Respect 'aheader.blocksize'
14582 and 'apart.partmap_size'.
14583
6ad6258a 145842009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
145852009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14586
14587 Fix cpuid command.
14588
14589 * commands/i386/cpuid.c (options): New variable.
14590 (grub_cmd_cpuid): Return real error.
14591 (GRUB_MOD_INIT(cpuid)): Declare options.
14592
67459bc6 145932009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14596 valid.
14597
fbc6ab54 145982009-07-31 Bean <bean123ch@gmail.com>
14599
14600 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14601 log2_inode.
14602 (grub_fshelp_node): Move inode field to the end.
14603 (grub_xfs_data): Remove inode field.
14604 (grub_xfs_inode_block): Calculate inode size using sblock.
14605 (grub_xfs_inode_offset): Likewise.
14606 (grub_xfs_read_inode): Calculate inode size using sblock.
14607 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14608 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14609 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14610 to match inode size.
14611 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14612 not accessible when data is null.
14613 (grub_xfs_open): Likewise.
14614
f45d6cfc 146152009-07-31 Bean <bean123ch@gmail.com>
14616
14617 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14618 Don't change pv->disk if it's already set.
14619
14620 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14621 (grub_raid_register): ... here.
14622 (grub_raid_rescan): Removed.
14623
14624 * include/grub/raid.h (grub_raid_rescan): Removed.
14625
14626 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14627 (fstest): Replace grub_raid_rescan with module fini function followed
14628 by init function.
14629
14630 * util/grub-probe.c: Add include file <grub/raid.h>.
14631 (probe_raid_level): New function.
14632 (probe): Detect abstraction by walking the disk device, support two
14633 level of abstraction (LVM on RAID) when detecting partition map.
14634
24443b5a 146352009-07-31 Pavel Roskin <proski@gnu.org>
14636
14637 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14638 to grub_zalloc(), it was erroneous.
14639 Reported by Bean <bean123ch@gmail.com>
14640
a275d9e7 146412009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 14644 embedding zone, not only the first one.
a275d9e7 14645
56c5a47f 146462009-07-29 Joe Auricchio <jauricchio@gmail.com>
14647
14648 * term/gfxterm.c (clear_char): New function.
14649 (grub_virtual_screen_setup): Use clear_char.
14650 (scroll_up): Likewise.
14651 (grub_virtual_screen_cls): Likewise.
14652
67bb323a 146532009-07-29 Felix Zielcke <fzielcke@z-51.de>
14654
14655 * util/deviceiter.c (get_acceleraid_disk_name): New static
14656 function.
14657 (grub_util_iterate_devices): Handle Accelraid devices.
14658 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14659
388a7c75 146602009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14661
14662 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14663 separator for the suggested gfxpayload string (';' collides with the
14664 parser and needs escaping).
14665
3bb7abcf 146662009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14667
14668 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14669 Clear direction flag before jumping to OS.
14670 (grub_multiboot2_real_boot): Likewise.
14671
2ddd36d7 146722009-07-28 Felix Zielcke <fzielcke@z-51.de>
14673
14674 * util/i386/pc/grub-install: Fix parsing of --disk-module
14675 option.
14676
c521b62b 146772009-07-28 Felix Zielcke <fzielcke@z-51.de>
14678
14679 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14680 when embedding.
14681
880e0a0c 146822009-07-26 Felix Zielcke <fzielcke@z-51.de>
14683
14684 * util/grub-mkconfig.in (package_version): New variable.
14685 Use it do display the version.
14686
2366e356 146872009-07-25 Felix Zielcke <fzielcke@z-51.de>
14688
14689 * kern/file.c (grub_file_open): Revert to previous check with
14690 grub_errno.
14691
7ad8c80e 146922009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14693
14694 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14695 from help line. It's out of sync with code.
14696
72b9658b 146972009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14700 entries on failed boot.
14701
77435277 147022009-07-25 Felix Zielcke <fzielcke@z-51.de>
14703
14704 * kern/file.c (grub_file_open): Fix an error check.
14705
fcaa8b21 147062009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14707
35d16c74 14708 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14709 partition map couldn't be identified.
fcaa8b21 14710
48904cd1 147112009-07-23 Pavel Roskin <proski@gnu.org>
14712
ef3c317f 14713 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14714 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14715 case of little endian words becomes just an optimization.
14716 Respect const modifier.
ad8ea1f4 14717 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 14718
48904cd1 14719 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14720 to avoid loss of upper bits if align is unsigned and shorter
14721 than addr.
14722
260c9a89 147232009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 UUID support for UFS
14726
14727 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14728 (grub_ufs_uuid): New function.
14729 (grub_ufs_fs): add .uuid
14730
f76ce889 147312009-07-21 Pavel Roskin <proski@gnu.org>
14732
14733 * kern/dl.c (grub_dl_check_header): Make static.
14734
6a6cbcaf 147352009-07-21 Felix Zielcke <fzielcke@z-51.de>
14736
14737 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14738 add drivemap for Vista. It breaks Windows 7.
14739
cffcddb2 147402009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14741
14742 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14743 128 bytes
14744
1ef44b80 147452009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 Add BFS support
14748
14749 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14750 (grub_fstest_SOURCES): Likewise.
14751 (pkglib_MODULES): Add befs.mod.
14752 (befs_mod_SOURCES): New variable.
14753 (befs_mod_CFLAGS): Likewise.
14754 (befs_mod_LDFLAGS): Likewise.
14755 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14756 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14757 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14758 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14759 (grub_setup_SOURCES): Likewise.
14760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14761 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14762 (grub_setup_SOURCES): Likewise.
14763 * fs/befs.c: New file.
14764 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14765 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14766 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14767 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14768 (B_KEY_INDEX_ALIGN): New declaration.
14769 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14770 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14771 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14772 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14773 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14774 (grub_afs_mount) [MODE_BFS]: Likewise.
14775 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14776 (grub_afs_fs): Use GRUB_AFS_FSNAME
14777 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14778 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14779 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14780 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14781
4f253044 147822009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14783
14784 * util/getroot.c (find_root_device): Add support for MacOSX.
14785 * util/hostdisk.c: Likewise.
14786
57a55913 147872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 * font/font.c (find_glyph): Check whether a font is present to avoid
14790 segmentation fault.
75421ca9 14791
147922009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 14793
14794 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14795
e98cd0c2 147962009-07-20 Pavel Roskin <proski@gnu.org>
14797
14798 * configure.ac: Trim excessively wordy excuses.
14799
1d2d169a 148002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14801
14802 Add symlink, mtime and label support to AtheFS.
14803
14804 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14805 (grub_afs_iterate_dir): Handle symlinks.
14806 (grub_afs_open): Use grub_afs_read_symlink.
14807 (grub_afs_dir): Likewise.
14808 Pass mtime.
14809 (grub_afs_label): New function.
14810 (grub_afs_fs): Add grub_afs_label.
14811 (grub_afs_read_symlink): New function.
14812
186f3189 148132009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14814
14815 Fix AtheFS support.
14816
14817 * fs/afs.c: Fix comments style.
14818 (grub_afs_blockrun): Declare as packed.
14819 (grub_afs_datastream): Likewise.
14820 (grub_afs_bnode): Likewise.
14821 (grub_afs_btree): Likewise.
14822 (grub_afs_sblock): Likewise.
14823 Declare `name' as char.
14824 (grub_afs_inode): Declare as packed.
14825 Change void *vnode to grub_uint32_t unused.
14826 (grub_afs_iterate_dir): Check that key_size is positive.
14827 (grub_afs_mount): Don't read superblock twice.
75421ca9 14828 (grub_afs_dir): Don't free node in case of error,
186f3189 14829 grub_fshelp_find_file already handles this.
14830 (grub_afs_open): Likewise.
14831
5680109e 148322009-07-19 Pavel Roskin <proski@gnu.org>
14833
14834 * Makefile.in: Remove LIBLZO and enable_lzo.
14835 * conf/i386-pc.rmk: Remove lzo support.
14836 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14837 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14838 support.
14839 * kern/i386/pc/lzo1x.S: Remove.
14840 * kern/i386/pc/startup.S: Remove lzo support.
14841 * util/i386/pc/grub-mkimage.c: Likewise.
14842
ac70fa32 148432009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14846 * fs/xfs.c (grub_xfs_dir): Likewise.
14847 * fs/afs.c (grub_afs_dir): Likewise.
14848 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14849 (grub_iso9660_open): Likewise.
14850 * fs/jfs.c (grub_jfs_open): Likewise.
14851 * fs/ext2.c (grub_ext2_dir): Likewise.
14852 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14853 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 14854
eab58da2 148552009-07-16 Pavel Roskin <proski@gnu.org>
14856
d2838156 14857 * configure.ac: Never add "-c" to CFLAGS.
14858
55c70904 14859 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14860
43e6200c 14861 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14862 grub_cv_cc_efiemu should be used.
14863
ce7a733d 14864 * configure.ac: Typo fixes.
14865
eab58da2 14866 * kern/mm.c (grub_zalloc): New function.
14867 (grub_debug_zalloc): Likewise.
14868 * include/grub/mm.h: Declare grub_zalloc() and
14869 grub_debug_zalloc().
14870 * util/misc.c (grub_zalloc): New function.
14871 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14872 instead of grub_malloc(), remove unneeded initializations.
14873 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14874 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14875 * commands/parttool.c (grub_cmd_parttool): Likewise.
14876 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14877 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14878 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14879 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14880 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14881 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14882 (grub_cmd_efiemu_pnvram): Likewise.
14883 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14884 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14885 (grub_iso9660_iterate_dir): Likewise.
14886 * fs/jfs.c (grub_jfs_opendir): Likewise.
14887 * fs/ntfs.c (list_file): Likewise.
14888 (grub_ntfs_mount): Likewise.
14889 * kern/disk.c (grub_disk_open): Likewise.
14890 * kern/dl.c (grub_dl_load_core): Likewise.
14891 * kern/elf.c (grub_elf_file): Likewise.
14892 * kern/env.c (grub_env_context_open): Likewise.
14893 (grub_env_set): Likewise.
14894 (grub_env_set_data_slot): Likewise.
14895 * kern/file.c (grub_file_open): Likewise.
14896 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14897 * loader/i386/multiboot.c (grub_module): Likewise.
14898 * loader/xnu.c (grub_xnu_create_key): Likewise.
14899 (grub_xnu_create_value): Likewise.
14900 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14901 (read_config_file): Likewise.
14902 * normal/menu_entry.c (make_screen): Likewise.
14903 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14904 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14905 * script/sh/script.c (grub_script_parse): Likewise.
14906 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14907 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14908 * video/readers/png.c (grub_png_output_byte): Likewise.
14909 (grub_video_reader_png): Likewise.
14910
830afef7 149112009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14912
14913 Enable all targets that can be built by default
14914
830afef7 14915 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14916 grub-mkfont and grub-fstest if they can be built
14917
ee293aee 149182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 Fix hang and segmentation fault in grub-emu-usb
14921
14922 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14923 * util/usb.c (grub_libusb_devices): likewise
14924 (grub_libusb_init): rename to ...
14925 (GRUB_MOD_INIT (libusb)):...this
14926 (grub_libusb_fini): rename to ..
14927 (GRUB_MOD_FINI (libusb)):...this
14928 * disk/usbms.c (grub_usbms_transfer): fix retry logic
14929 * include/grub/disk.h (grub_raid_init): removed, it's useless
14930 (grub_raid_fini): likewise
14931 (grub_lvm_init): likewise
14932 (grub_lvm_fini): likewise
14933 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
14934 by grub_init_all
14935
94414221 149362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14937
14938 Fix libusb
14939
14940 * Makefile.in (LIBUSB): new macro
14941 * genmk.rb (Utility/print_tail): new method
14942 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
14943 (top level): call util.print_tail at the end.
14944
59ade63d 149452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14946
14947 Make FreeBSD accept zpool.cache
14948
14949 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
14950 type is /boot/zfs/zpool.cache
14951
a58da8c7 149522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 Fix 64-bit efiemu
14955
14956 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
14957 correct wrong typedef
14958 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
14959
20591577 149602009-07-15 Pavel Roskin <proski@gnu.org>
14961
560ca572 14962 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
14963 * kern/disk.c (struct grub_disk_cache): Likewise.
14964
e8e8e4fd 14965 * commands/probe.c (options): Typo fix.
14966
fde24e10 14967 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
14968 Increase to 0x5a to accommodate FAT32. Adjust other offsets
14969 accordingly.
14970 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
14971
379c54c1 14972 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
14973 the end of "Error" to make the message more readable.
14974
7bd8f5bf 14975 * boot/i386/pc/boot.S (kernel_segment): Remove.
14976 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
14977 for destination.
14978
40b132c5 14979 * boot/i386/pc/boot.S (boot_version): Remove.
14980 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14981 Remove.
14982
20591577 14983 * include/grub/i386/pc/boot.h: Sort all offsets.
14984 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
14985 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
14986 * boot/i386/pc/boot.S: Assert location of every offset listed in
14987 include/grub/i386/pc/boot.h.
14988
2df32b2c 149892009-07-13 Pavel Roskin <proski@gnu.org>
14990
44b5d879 14991 * include/grub/i386/coreboot/machine.h: Rename
14992 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
14993 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
14994 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
14995
17dc3751 14996 * kern/dl.c: Force native word size to suppress warnings when
14997 compiling grub-emu.
14998
2df32b2c 14999 * kern/device.c (grub_device_iterate): Change struct part_ent to
15000 hold the name, not a pointer to it. Use one grub_malloc() per
15001 partition, not two. Free partition_name if grub_malloc() fails.
15002 Set ents to NULL only before grub_partition_iterate() is called.
15003
75c59f59 150042009-07-11 Bean <bean123ch@gmail.com>
15005
15006 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
15007 childname.
15008
0ae1bf88 150092009-07-10 Bean <bean123ch@gmail.com>
150102009-07-10 Robert Millan <rmh.grub@aybabtu.com>
15011
15012 * kern/ieee1275/openfw.c (grub_children_iterate)
15013 (grub_devalias_iterate): Fix size evaluation for property or path
15014 strings, which was broken since r2132.
15015
8279cade 150162009-07-07 Pavel Roskin <proski@gnu.org>
15017
7d8a52d3 15018 * commands/search.c (search_file): Merge into ...
15019 (search_fs): ... this. Accept search type as argument.
15020 (grub_cmd_search): Pass search type to search_fs().
15021
25f9a05a 15022 * include/grub/util/console.h: New file.
15023 * util/console.c: Use it instead of grub/machine/console.h.
15024 * util/grub-emu.c: Likewise.
15025
8279cade 15026 * lib/arg.c (find_long_option): Remove.
15027 (find_long): Add `len' argument, make `s' const char *.
15028 (grub_arg_parse): Parse long options in place, not in a
15029 temporary buffer.
15030
4a11b60f 150312009-07-06 Pavel Roskin <proski@gnu.org>
15032
99f68041 15033 * commands/search.c (search_fs): Fix potential NULL pointer
15034 dereference.
15035
4a11b60f 15036 * commands/search.c (search_fs): Replace QUID macro with quid_fn
15037 function pointer.
15038
e110f4de 150392009-07-06 Daniel Mierswa <impulze@impulze.org>
15040
15041 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
15042 comparison.
15043
46eeb6a2 150442009-07-05 Pavel Roskin <proski@gnu.org>
15045
bab74958 15046 * include/grub/i386/linux.h (struct linux_kernel_params):
15047 Restore padding3, it's still needed.
15048
46eeb6a2 15049 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
15050 FreeBSD.
15051 * util/osdetect.lua: Likewise.
15052
b4a1dc79 150532009-07-05 Bean <bean123ch@gmail.com>
15054
15055 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
15056
15057 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
15058 (grub_lua_getenv): Likewise.
15059 (grub_lua_setenv): Likewise.
15060 (save_errno): New function.
15061 (push_result): Likewise.
15062 (grub_lua_enum_device): Likewise.
15063 (grub_lua_enum_file): Likewise.
15064 (grub_lua_file_open): Likewise.
15065 (grub_lua_file_close): Likewise.
15066 (grub_lua_file_seek): Likewise.
15067 (grub_lua_file_read): Likewise.
15068 (grub_lua_file_getline): Likewise.
15069 (grub_lua_file_getsize): Likewise.
15070 (grub_lua_file_getpos): Likewise.
15071 (grub_lua_file_eof): Likewise.
15072 (grub_lua_file_exist): Likewise.
15073 (grub_lua_add_menu): Likewise.
15074
15075 * script/lua/grub_lua.h (isupper): New inline function.
15076 (islower): Likewise.
15077 (ispunct): Likewise.
15078 (isxdigit): Likewise.
15079 (strcspn): Change to normal function.
15080 (strpbkr): New function declaration.
15081 (memchr): Likewise.
15082
15083 * script/lua/grub_main.c (scan_str): New function.
15084 (strcspn): Likewise.
15085 (strpbrk): Likewise.
15086 (memchr): Likewise.
15087
15088 * script/lua/linit.c (lualibs): Enable the string library.
15089
15090 * util/osdetect.lua: New file.
15091
2da92295 150922009-07-04 Robert Millan <rmh.grub@aybabtu.com>
15093
15094 * include/grub/i386/linux.h (struct linux_kernel_params): Add
15095 `capabilities' member.
15096
b2582ec9 150972009-07-02 Pavel Roskin <proski@gnu.org>
15098
15099 * genparttoollist.sh: Add missing newline at the end.
15100
32622956 151012009-07-01 Pavel Roskin <proski@gnu.org>
15102
87a7339e 15103 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
15104
d23af54e 15105 * util/hostdisk.c (open_device): Remove `const' from
15106 `sysctl_size', as sysctlbyname() can change it (in this case it
15107 doesn't actually happen).
15108
c94b18a9 15109 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
15110 using signed long int constants.
15111
c6cd3ef0 15112 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
15113 constant to avoid a warning on FreeBSD.
15114
0df63420 15115 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
15116 where it's needed.
15117
999577f1 15118 * Makefile.in: Install include/grub/machine symlink.
15119
6f41557f 15120 * Makefile.in: When installing symlinks, use "cp -fR", which
15121 works on FreeBSD and MacOSX.
15122 From Yves Blusseau <cl7m42e02@sneakemail.com>
15123
c8d22988 15124 * kern/dl.c (grub_dl_resolve_symbol): Make static.
15125 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
15126
1b96e952 15127 * util/misc.c: Move grub_reboot() and grub_halt() ...
15128 * util/grub-emu.c: ... here. Make main_env static.
15129 * include/grub/util/misc.h: Remove main_env.
15130
2ef0084d 15131 * kern/mm.c: Use correct format to print size_t.
15132
32622956 15133 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
15134 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
15135 * kern/powerpc/dl.c: Likewise.
15136 * kern/sparc64/dl.c: Likewise.
15137 * kern/x86_64/dl.c: Likewise.
15138
3f7f0cd0 151392009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15140
15141 Fix grub-emu build on sparc64-ieee1275.
15142
75421ca9 15143 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 15144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
15145
211d06b5 151462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15147
15148 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
15149 (grub_reboot, grub_halt): New functions.
15150
15151 * util/i386/pc/misc.c: Delete. Update all users.
15152 * util/sparc64/ieee1275/misc.c: Likewise.
15153 * util/powerpc/ieee1275/misc.c: Likewise.
15154
aaf53e3c 151552009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15156
15157 * conf/i386.rmk (setjmp_mod_SOURCES)
15158 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
15159 * conf/common.rmk (setjmp_mod_SOURCES)
15160 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
15161 to use $(target_cpu).
15162 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
15163 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
15164 * conf/powerpc-ieee1275.rmk: Likewise.
15165 * conf/sparc64-ieee1275.rmk: Likewise.
15166
15167 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
15168 $(target_cpu) for kern/$(target_cpu)/dl.c.
15169 * conf/i386-efi.rmk: Likewise.
15170 * conf/i386-ieee1275.rmk: Likewise.
15171 * conf/x86_64-efi.rmk: Likewise.
15172 * conf/i386-coreboot.rmk: Likewise.
15173 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
15174 $(target_cpu) for kern/$(target_cpu)/dl.c and for
15175 kern/$(target_cpu)/cache.S.
15176 * conf/sparc64-ieee1275.rmk: Likewise.
15177
a337130b 151782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15179
15180 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
15181 type to `grub_uint8_t', and adjust `padding9' accordingly.
15182
c6fe4d53 151832009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15184
b09db61d 15185 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
15186
c6fe4d53 15187 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
15188 assembly in final jump, using register constraints.
15189
b09db61d 15190 (grub_linux_boot): For text mode, initialize `have_vga' using
15191 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
15192
15193 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
15194 right before the final jump.
15195
15196 Set `video_mode' to 0x3.
15197
15198 Document initialization of `video_page', `video_mode' and
15199 `video_ega_bx'.
15200
28333ad0 152012009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15202
15203 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
15204 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 15205 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 15206
02164e1b 152072009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15208
15209 Fix build on Debian / sparc.
15210
15211 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
15212
18b6c557 152132009-06-28 Pavel Roskin <proski@gnu.org>
15214
85f2aab6 15215 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
15216 fix a warning.
15217
18b6c557 15218 * util/grub.d/10_linux.in: Match SUSE style initrd names.
15219
ad760f81 152202009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15221
15222 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
15223 `err'.
15224
87a4623b 152252009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15226
15227 Revert r2338.
15228
15229 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
15230 file can't be opened. grub_file_open() is already supposed to set
75421ca9 15231 grub_errno / grub_errmsg appropriately.
87a4623b 15232 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15233
8231fb77 152342009-06-27 Pavel Roskin <proski@gnu.org>
152352009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15236
15237 * include/grub/dl.h: Include grub/elf.h.
15238 (struct grub_dl): Add symtab field.
15239 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
15240 GRUB_MODULES_MACHINE_READONLY.
15241 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
15242 of the header for read-only modules.
15243 (grub_dl_unload): Free mod->symtab for read-only modules.
15244 * kern/i386/dl.c: Use mod->symtab.
15245 * kern/powerpc/dl.c: Likewise.
15246 * kern/sparc64/dl.c: Likewise.
15247 * kern/x86_64/dl.c: Likewise.
15248
15249 * conf/i386-qemu.rmk: New file.
15250 * kern/i386/qemu/startup.S: Likewise.
15251 * kern/i386/qemu/mmap.c: Likewise.
15252 * boot/i386/qemu/boot.S: Likewise.
15253 * include/grub/i386/qemu/time.h: Likewise.
15254 * include/grub/i386/qemu/serial.h: Likewise.
15255 * include/grub/i386/qemu/kernel.h: Likewise.
15256 * include/grub/i386/qemu/console.h: Likewise.
15257 * include/grub/i386/qemu/boot.h: Likewise.
15258 * include/grub/i386/qemu/init.h: Likewise.
15259 * include/grub/i386/qemu/machine.h: Likewise.
15260 * include/grub/i386/qemu/loader.h: Likewise.
15261 * include/grub/i386/qemu/memory.h: Likewise.
15262
15263 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
15264 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
15265 [qemu] (pkglib_IMAGES): Add `boot.img'.
15266 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
15267 [qemu] (boot_img_FORMAT): New variables.
15268 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
15269 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
15270 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
15271 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15272 [qemu] (kernel_img_FORMAT): New variables.
15273
15274 * configure.ac: Recognise `i386-qemu'.
15275
15276 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
15277 (for no compression).
15278 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
15279 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
15280 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
15281 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
15282 ifdefs).
15283
97fe384e 152842009-06-27 Pavel Roskin <proski@gnu.org>
15285
15286 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
15287 read.
15288 * efiemu/prepare32.c: Likewise.
15289 * efiemu/prepare64.c: Likewise.
15290
c402ab17 152912009-06-26 Pavel Roskin <proski@gnu.org>
15292
15293 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
15294 * include/grub/elf.h: Define symbols without "32" or "64" based
15295 on GRUB_TARGET_WORDSIZE.
15296 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
15297 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
15298 ELF definitions.
15299 * efiemu/loadcore64.c: Likewise.
15300 * loader/i386/bsd32.c: Likewise.
15301 * loader/i386/bsd64.c: Likewise.
15302 * kern/dl.c: Remove own ELF definitions.
15303 * util/i386/efi/grub-mkimage.c: Likewise.
15304
9bbdfd4d 153052009-06-23 Robert Millan <rmh.grub@aybabtu.com>
15306
15307 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
15308 segment 0x0 unconditionally, because the reference generated by
15309 GAS is an absolute address.
15310
a42ce6e9 153112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15312
15313 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
15314 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
15315
c952cf92 153162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15317
15318 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
15319 indexes. Check for -f explicitly.
cc3752ad 15320 (search_file): Improve error message.
15321 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 15322
132a0a59 153232009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15324
15325 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
15326 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
15327
387a140c 153282009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15329
15330 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
15331 * conf/i386-ieee1275.rmk: Likewise.
15332 * conf/i386-coreboot.rmk: Likewise.
15333
15334 * kern/i386/pc/startup.S (grub_stop): Remove function.
15335 * kern/i386/ieee1275/startup.S: Likewise.
15336 * kern/i386/coreboot/startup.S: Likewise.
15337 * kern/i386/misc.S (grub_stop): New function.
15338
41da9665 153392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15340
15341 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
15342 * kern/i386/realmode.S (real_to_prot): ... to here.
15343
bf337234 153442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15345
15346 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
15347 with `kernel.img'.
15348 (kernel_elf_SOURCES): Rename to ...
15349 (kernel_img_SOURCES): ... this.
15350 (kernel_elf_HEADERS): Rename to ...
15351 (kernel_img_HEADERS): ... this. Update all users.
15352 (kernel_elf_ASFLAGS): Rename to ...
15353 (kernel_img_ASFLAGS): ... this.
15354 (kernel_elf_CFLAGS): Rename to ...
15355 (kernel_img_CFLAGS): ... this.
15356 (kernel_elf_LDFLAGS): Rename to ...
15357 (kernel_img_LDFLAGS): ... this.
15358 * conf/i386-coreboot.rmk: Likewise.
15359 * conf/powerpc-ieee1275.rmk: Likewise.
15360
15361 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
15362 with "kernel.img".
15363
f52196ff 153642009-06-21 Pavel Roskin <proski@gnu.org>
15365
c3cee413 15366 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
15367 to match nested functions.
15368 * loader/sparc64/ieee1275/linux.c: Likewise.
15369
f52196ff 15370 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
15371
58750afc 153722009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15373
15374 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
15375 all i386 platforms.
15376
15355c7d 153772009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15378
15379 Fix asm file handling on ELF, and remove workarounds.
15380
15381 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 15382 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 15383 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
15384 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
15385
3f3ec72b 153862009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 Load BSD ELF modules
15389
15390 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
15391 and loader/i386/bsd64.c
15392 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
15393 (FREEBSD_MODTYPE_ELF_MODULE): New definition
15394 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
15395 (grub_freebsd_load_elfmodule32): New declaration
15396 (grub_freebsd_load_elfmoduleobj64): Likewise
15397 (grub_freebsd_load_elf_meta32): Likewise
15398 (grub_freebsd_load_elf_meta64): Likewise
15399 (grub_freebsd_add_meta): Likewise
15400 (grub_freebsd_add_meta_module): Likewise
15401 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
15402 (grub_freebsd_add_meta_module): Likewise and move module-specific
15403 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
15404 (grub_cmd_freebsd): Add elf-kernel specific parts
15405 based on grub_freebsd_add_meta_module
15406 (grub_cmd_freebsd_module): Add type parsing moved from
15407 grub_freebsd_add_meta_module
15408 (grub_cmd_freebsd_module_elf): New function
15409 (cmd_freebsd_module_elf): New variable
15410 (GRUB_MOD_INIT): Register freebsd_module_elf
15411 * loader/i386/bsd32.c: New file
15412 * loader/i386/bsd64.c: Likewise
15413 * loader/i386/bsdXX.c: Likewise
15414 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
15415 (grub_elf64_load): Likewise
15416 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
15417 All users updated
15418 (grub_elf64_load_hook_t): Likewise
15419
0db15301 154202009-06-21 Colin Watson <cjwatson@ubuntu.com>
15421
15422 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
15423 variable.
15424 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
15425 don't write a menu entry for recovery mode.
15426
546796c1 154272009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15428
15429 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
15430 after it's no longer needed.
15431
cd7310d5 154322009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15433
15434 * include/grub/i386/loader.h (grub_linux_prot_size)
15435 (grub_linux_tmp_addr, grub_linux_real_addr)
15436 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
15437 GRUB_MACHINE_PCBIOS.
15438 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
15439 common grub_util_info() call to ...
15440 (generate_image): ... here.
15441 Fix use of uninitialized memory, comparison of signed with
15442 unsigned integers and memory leak.
15443 Remove bogus module address message.
15444
ab32d3b5 154452009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15446
15447 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
15448 grub_raid_register
15449 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
15450
024ef597 154512009-06-19 Pavel Roskin <proski@gnu.org>
15452
15453 * configure.ac: Remove stray AC_MSG_CHECKING.
15454
3ac72b51 154552009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
15456
15457 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 15458
e14cd814 154592009-06-18 Pavel Roskin <proski@gnu.org>
15460
15461 * conf/common.rmk: Add fs_file.mod.
15462 * disk/fs_file.c: New file.
15463 * include/grub/disk.h (enum grub_disk_dev_id): Add
15464 GRUB_DISK_DEVICE_FILE_ID.
15465
26586d98 154662009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 Fix build with Apple's toolchain. Part 2
15469
15470 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
15471 a fake start
15472
26de2bcd 154732009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 Fix build with Apple's toolchain. Part 1
15476
15477 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
15478 for long calls
15479 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 15480 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 15481 Apple's toolchain
15482
09b3490b 154832009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15484
15485 Fix warnings
15486
15487 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
15488 (decomp_block): initialize ch
15489 use grub_memcpy instead of memcpy
15490
c22a006a 154912009-06-17 Pavel Roskin <proski@gnu.org>
15492
d3638678 15493 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
15494 version, use declarations needed to use vga_text as the startup
15495 console.
15496
c22a006a 15497 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
15498 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
15499 the kernel.
15500 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
15501 and grub_at_keyboard_fini(), it's done on module load and
15502 unload.
15503
05b129e0 155042009-06-17 Felix Zielcke <fzielcke@z-51.de>
15505
15506 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
15507 file can't be found.
15508 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15509
cf24ed9e 155102009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15511
15512 Fix newline handling
15513
15514 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 15515 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 15516 (grub_script_yylex): don't segfault on unterminated script
15517 newline terminates command and variable
15518
74aa8e4b 155192009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15520
15521 avoid double grub_adjust_range call. Bug reported by David Simner
15522
15523 * kern/disk.c (grub_disk_write): change to raw disk access before
15524 calling disk_read
15525
1bd265f3 155262009-06-17 Colin Watson <cjwatson@ubuntu.com>
15527
15528 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
15529 spaces, for the benefit of help2man.
15530 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15531
a2d08c06 155322009-06-16 Pavel Roskin <proski@gnu.org>
15533
15534 * kern/i386/halt.c: Include grub/machine/init.h.
15535 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
15536
b97bcb19 155372009-06-16 Felix Zielcke <fzielcke@z-51.de>
15538
15539 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15540 drivemap menuentry.
15541
0644f96c 155422009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15543
15544 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15545 `echo' command.
15546
3ef17a2e 155472009-06-16 Pavel Roskin <proski@gnu.org>
15548
15549 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15550 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15551 save %dx, we only need %dl and we never change it.
15552 * boot/i386/pc/cdboot.S: Don't set the root drive.
15553 * boot/i386/pc/pxeboot.S: Likewise.
15554 * include/grub/i386/pc/boot.h: Remove
15555 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
15556 GRUB_BOOT_MACHINE_DRIVE_CHECK.
15557 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
15558 * kern/i386/pc/init.c (make_install_device): Remove references
15559 to grub_root_drive.
15560 * kern/i386/pc/startup.S: Likewise.
15561 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
15562
693fe637 155632009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 xnu_uuid command
15566
15567 * commands/xnu_uuid.c: new file
15568 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
15569 (xnu_uuid_mod_SOURCES): new variable
15570 (xnu_uuid_mod_CFLAGS): likewise
15571 (xnu_uuid_mod_LDFLAGS): likewise
15572 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15573 * conf/i386-ieee1275.rmk: likewise
15574 * conf/i386-pc.rmk: likewise
15575 * conf/powerpc-ieee1275.rmk: likewise
15576 * conf/sparc64-ieee1275.rmk: likewise
15577 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
15578
c9da87d0 155792009-06-16 Pavel Roskin <proski@gnu.org>
15580
15581 * configure.ac: Avoid '==' in test command, it's not portable.
15582
9c6f4596 155832009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15584
15585 Probe command
15586
15587 * commands/probe.c: new file
15588 * conf/common.rmk (pkglib_MODULES): add probe.mod
15589 (probe_mod_SOURCES): new variable
15590 (probe_mod_CFLAGS): likewise
15591 (probe_mod_LDFLAGS): likewise
15592 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15593 * conf/i386-ieee1275.rmk: likewise
15594 * conf/i386-pc.rmk: likewise
15595 * conf/powerpc-ieee1275.rmk: likewise
15596 * conf/sparc64-ieee1275.rmk: likewise
15597
70b7f9fd 155982009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15599
15600 Fix handling of string like \"hello\" and "a
15601 b"
15602
15603 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15604 (grub_script_yylex): fix parsing of quoting, escaping and newline
15605
71c79a6b 156062009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15607
dd74360c 15608 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 15609 handling
dd74360c 15610
0644f96c 156112009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 15612
15613 * util/grub-mkconfig.in: Fix parsing of --output option.
15614
e40893c3 156152009-06-12 Pavel Roskin <proski@gnu.org>
15616
15617 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15618 genmk.rb don't need to be generated or installed.
15619
3a1acfe2 156202009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15621
15622 * commands/i386/pc/drivemap_int13h.S: add more comments
15623
3a4575d4 156242009-06-11 Pavel Roskin <proski@gnu.org>
15625
0658e928 15626 * Makefile.in (uninstall): Uninstall manuals.
15627
ca0388f0 15628 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15629 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15630 and update-grub_lib in two places.
15631 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15632
e3b27c39 15633 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15634 a compiler warning.
15635
3a4575d4 15636 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15637 `entry_lo' to fix variable shadowing.
15638
af1f4f55 156392009-06-11 Christian Franke <franke@computer.org>
15640
15641 * kern/misc.c (__enable_execute_stack): Add missing return type
15642 to prevent gcc warning.
15643
5225e649 156442009-06-11 Felix Zielcke <fzielcke@z-51.de>
15645
15646 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15647
7d83bd47 156482009-06-11 Pavel Roskin <proski@gnu.org>
15649
c1cb63ba 15650 * Makefile.in: Don't rely on any scripts being executable.
15651 Always use $(SHELL) to run shell scripts.
15652
7d83bd47 15653 * configure.ac: Always define ___main if using -nostdlib. This
15654 fixes tests on Cygwin.
15655
948f48e7 156562009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15657
15658 UDF fix
15659
7d83bd47 15660 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15661 is in bytes and not in blocks
7d83bd47 15662
8ada9bc1 156632009-06-11 Pavel Roskin <proski@gnu.org>
15664
15665 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15666 warning.
15667
25ad2323 156682009-06-11 Felix Zielcke <fzielcke@z-51.de>
15669
15670 * util/grub.d/30_os-prober.in: Fix a comment. Source
15671 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15672 to set the root device. Place drivemap command in the generated
15673 chain entry.
15674
e65acb0c 156752009-06-11 Pavel Roskin <proski@gnu.org>
15676
15677 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15678 have long been resolved.
15679
f285fe2d 156802009-06-11 Colin Watson <cjwatson@ubuntu.com>
15681
bd47b0b5 15682 * util/grub.d/10_linux.in: Capitalise "Linux".
15683
f285fe2d 15684 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15685
a0c62e4e 156862009-06-11 Pavel Roskin <proski@gnu.org>
15687
b6783cb2 15688 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15689 fix a gcc warning and ensure that the function won't ever exit.
15690
dde032e8 15691 * kern/i386/ieee1275/init.c: Add missing prototype for
15692 grub_stop_floppy().
15693
22cd079d 15694 * loader/ieee1275/multiboot2.c [__i386__]: Include
15695 grub/cpu/multiboot.h.
15696
a0c62e4e 15697 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15698 casts to short - they are not portable and cause warnings. Fix
15699 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15700
63963d17 157012009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 Drivemap fixes
15704
15705 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15706 new function
15707 (grub_get_root_biosnumber_saved): new variable
15708 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15709 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 15710 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 15711 %dx after the call if necessary
15712 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15713 (boot_mod_SOURCES): remove
15714 (boot_mod_CFLAGS): remove
15715 (boot_mod_LDFLAGS): remove
15716 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15717 (boot_mod_SOURCES): new variable
15718 (boot_mod_CFLAGS): likewise
15719 (boot_mod_LDFLAGS): likewise
15720 * conf/i386-efi.rmk: likewise
15721 * conf/i386-ieee1275.rmk: likewise
15722 * conf/i386-pc.rmk: likewise
15723 * conf/powerpc-ieee1275.rmk: likewise
15724 * conf/sparc64-ieee1275.rmk: likewise
15725 * conf/x86_64-efi.rmk: likewise
15726 * include/grub/i386/pc/biosnum.h: new file
15727 * lib/i386/pc/biosnum.c: likewise
15728 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15729 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15730 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 15731
33abf7ae 157322009-06-10 Pavel Roskin <proski@gnu.org>
15733
5ac35b35 15734 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15735 Use separate variables. Read only the file size at the end, but
15736 not the checksum that we don't use.
15737
5c5215d5 15738 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15739 Adjust all callers.
15740
27d5fef7 15741 * kern/ieee1275/openfw.c: Remove libc includes.
15742 * kern/ieee1275/cmain.c: Likewise.
15743 * include/grub/ieee1275/ieee1275.h: Likewise.
15744
33abf7ae 15745 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15746 compiler warnings.
15747
19d50c2b 157482009-06-10 Felix Zielcke <fzielcke@z-51.de>
15749
15750 * Makefile.in: Remove all trailing whitespace.
15751 * conf/i386-pc.rmk: Likewise.
15752 * conf/powerpc-ieee1275.rmk: Likewise.
15753 * conf/sparc64-ieee1275.rmk: Likewise.
15754 * docs/grub.texi: Likewise.
15755 * docs/texinfo.tex: Likewise.
15756 * disk/fs_uuid.c: Likewise.
15757 * disk/lvm.c: Likewise.
15758 * disk/scsi.c: Likewise.
15759 * disk/ata.c: Likewise.
15760 * disk/ieee1275/ofdisk.c: Likewise.
15761 * disk/i386/pc/biosdisk.c: Likewise.
15762 * disk/host.c: Likewise.
15763 * disk/raid.c: Likewise.
15764 * disk/efi/efidisk.c: Likewise.
15765 * disk/usbms.c: Likewise.
15766 * disk/memdisk.c: Likewise.
15767 * disk/loopback.c: Likewise.
15768 * kern/powerpc/dl.c: Likewise.
15769 * kern/device.c: Likewise.
15770 * kern/dl.c: Likewise.
15771 * kern/sparc64/dl.c: Likewise.
15772 * kern/ieee1275/ieee1275.c: Likewise.
15773 * kern/term.c: Likewise.
15774 * kern/fs.c: Likewise.
15775 * kern/i386/dl.c: Likewise.
15776 * kern/i386/pc/startup.S: Likewise.
15777 * kern/i386/pc/init.c: Likewise.
15778 * kern/i386/pc/mmap.c: Likewise.
15779 * kern/i386/pc/lzo1x.S: Likewise.
15780 * kern/i386/ieee1275/init.c: Likewise.
15781 * kern/i386/realmode.S: Likewise.
15782 * kern/i386/tsc.c: Likewise.
15783 * kern/partition.c: Likewise.
15784 * kern/corecmd.c: Likewise.
15785 * kern/file.c: Likewise.
15786 * kern/efi/efi.c: Likewise.
15787 * kern/efi/init.c: Likewise.
15788 * kern/efi/mm.c: Likewise.
15789 * kern/main.c: Likewise.
15790 * kern/err.c: Likewise.
15791 * kern/env.c: Likewise.
15792 * kern/disk.c: Likewise.
15793 * kern/generic/millisleep.c: Likewise.
15794 * kern/generic/rtc_get_time_ms.c: Likewise.
15795 * kern/misc.c: Likewise.
15796 * kern/parser.c: Likewise.
15797 * genmk.rb: Likewise.
15798 * configure.ac: Likewise.
15799 * boot/i386/pc/diskboot.S: Likewise.
15800 * boot/i386/pc/pxeboot.S: Likewise.
15801 * boot/i386/pc/boot.S: Likewise.
15802 * boot/i386/pc/lnxboot.S: Likewise.
15803 * boot/i386/pc/cdboot.S: Likewise.
15804 * parttool/pcpart.c: Likewise.
15805 * video/readers/tga.c: Likewise.
15806 * video/video.c: Likewise.
15807 * video/bitmap.c: Likewise.
15808 * lib/envblk.c: Likewise.
15809 * lib/i386/setjmp.S: Likewise.
15810 * fs/xfs.c: Likewise.
15811 * fs/afs.c: Likewise.
15812 * fs/fat.c: Likewise.
15813 * fs/ntfs.c: Likewise.
15814 * fs/udf.c: Likewise.
15815 * fs/affs.c: Likewise.
15816 * fs/iso9660.c: Likewise.
15817 * fs/hfs.c: Likewise.
15818 * fs/fshelp.c: Likewise.
15819 * fs/ext2.c: Likewise.
15820 * fs/jfs.c: Likewise.
15821 * fs/reiserfs.c: Likewise.
15822 * fs/hfsplus.c: Likewise.
15823 * fs/minix.c: Likewise.
15824 * fs/cpio.c: Likewise.
15825 * fs/sfs.c: Likewise.
15826 * fs/ufs.c: Likewise.
15827 * efiemu/prepare.c: Likewise.
15828 * efiemu/loadcore_common.c: Likewise.
15829 * efiemu/runtime/efiemu.sh: Likewise.
15830 * efiemu/runtime/efiemu.S: Likewise.
15831 * efiemu/runtime/efiemu.c: Likewise.
15832 * efiemu/pnvram.c: Likewise.
15833 * efiemu/main.c: Likewise.
15834 * efiemu/i386/pc/cfgtables.c: Likewise.
15835 * efiemu/i386/loadcore64.c: Likewise.
15836 * efiemu/i386/loadcore32.c: Likewise.
15837 * efiemu/loadcore.c: Likewise.
15838 * efiemu/symbols.c: Likewise.
15839 * efiemu/mm.c: Likewise.
15840 * include/grub/autoefi.h: Likewise.
15841 * include/grub/datetime.h: Likewise.
15842 * include/grub/term.h: Likewise.
15843 * include/grub/hfs.h: Likewise.
15844 * include/grub/lvm.h: Likewise.
15845 * include/grub/i386/tsc.h: Likewise.
15846 * include/grub/i386/linux.h: Likewise.
15847 * include/grub/i386/xnu.h: Likewise.
15848 * include/grub/i386/efiemu.h: Likewise.
15849 * include/grub/i386/pc/biosdisk.h: Likewise.
15850 * include/grub/i386/pc/memory.h: Likewise.
15851 * include/grub/i386/pc/vbe.h: Likewise.
15852 * include/grub/parttool.h: Likewise.
15853 * include/grub/video.h: Likewise.
15854 * include/grub/memory.h: Likewise.
15855 * include/grub/fs.h: Likewise.
15856 * include/grub/partition.h: Likewise.
15857 * include/grub/xnu.h: Likewise.
15858 * include/grub/efi/api.h: Likewise.
15859 * include/grub/efi/pe32.h: Likewise.
15860 * include/grub/efi/memory.h: Likewise.
15861 * include/grub/multiboot.h: Likewise.
15862 * include/grub/usbdesc.h: Likewise.
15863 * include/grub/multiboot2.h: Likewise.
15864 * include/grub/acpi.h: Likewise.
15865 * include/grub/efiemu/efiemu.h: Likewise.
15866 * include/grub/disk.h: Likewise.
15867 * include/grub/ieee1275/ieee1275.h: Likewise.
15868 * include/grub/net.h: Likewise.
15869 * include/grub/machoload.h: Likewise.
15870 * include/grub/macho.h: Likewise.
15871 * include/multiboot.h: Likewise.
15872 * genmoddep.awk: Likewise.
15873 * normal/main.c: Likewise.
15874 * normal/menu_entry.c: Likewise.
15875 * normal/menu_viewer.c: Likewise.
15876 * normal/completion.c: Likewise.
15877 * normal/cmdline.c: Likewise.
15878 * normal/misc.c: Likewise.
15879 * normal/datetime.c: Likewise.
15880 * bus/usb/usbtrans.c: Likewise.
15881 * bus/usb/ohci.c: Likewise.
15882 * bus/usb/uhci.c: Likewise.
15883 * bus/usb/usb.c: Likewise.
15884 * mmap/efi/mmap.c: Likewise.
15885 * mmap/i386/pc/mmap_helper.S: Likewise.
15886 * mmap/i386/pc/mmap.c: Likewise.
15887 * mmap/i386/mmap.c: Likewise.
15888 * mmap/i386/uppermem.c: Likewise.
15889 * mmap/mmap.c: Likewise.
15890 * commands/acpi.c: Likewise.
15891 * commands/echo.c: Likewise.
15892 * commands/blocklist.c: Likewise.
15893 * commands/loadenv.c: Likewise.
15894 * commands/usbtest.c: Likewise.
15895 * commands/boot.c: Likewise.
15896 * commands/parttool.c: Likewise.
15897 * commands/search.c: Likewise.
15898 * commands/cat.c: Likewise.
15899 * commands/i386/pc/play.c: Likewise.
15900 * commands/i386/pc/drivemap.c: Likewise.
15901 * commands/i386/pc/vbeinfo.c: Likewise.
15902 * commands/i386/pc/acpi.c: Likewise.
15903 * commands/i386/pc/vbetest.c: Likewise.
15904 * commands/ls.c: Likewise.
15905 * commands/cmp.c: Likewise.
15906 * commands/test.c: Likewise.
15907 * commands/efi/acpi.c: Likewise.
15908 * commands/gptsync.c: Likewise.
15909 * commands/help.c: Likewise.
15910 * partmap/amiga.c: Likewise.
15911 * partmap/apple.c: Likewise.
15912 * partmap/acorn.c: Likewise.
15913 * partmap/pc.c: Likewise.
15914 * partmap/sun.c: Likewise.
15915 * partmap/gpt.c: Likewise.
15916 * script/sh/lexer.c: Likewise.
15917 * script/sh/function.c: Likewise.
15918 * font/font.c: Likewise.
15919 * font/font_cmd.c: Likewise.
15920 * loader/powerpc/ieee1275/linux.c: Likewise.
15921 * loader/efi/chainloader.c: Likewise.
15922 * loader/multiboot_loader.c: Likewise.
15923 * loader/macho.c: Likewise.
15924 * loader/i386/multiboot.c: Likewise.
15925 * loader/i386/linux.c: Likewise.
15926 * loader/i386/pc/linux.c: Likewise.
15927 * loader/i386/pc/multiboot2.c: Likewise.
15928 * loader/i386/pc/chainloader.c: Likewise.
15929 * loader/i386/pc/xnu.c: Likewise.
15930 * loader/i386/bsd_trampoline.S: Likewise.
15931 * loader/i386/efi/linux.c: Likewise.
15932 * loader/i386/multiboot_elfxx.c: Likewise.
15933 * loader/i386/bsd_helper.S: Likewise.
15934 * loader/i386/bsd.c: Likewise.
15935 * loader/i386/linux_trampoline.S: Likewise.
15936 * loader/i386/xnu_helper.S: Likewise.
15937 * loader/i386/xnu.c: Likewise.
15938 * loader/i386/bsd_pagetable.c: Likewise.
15939 * loader/i386/multiboot_helper.S: Likewise.
15940 * loader/xnu.c: Likewise.
15941 * loader/xnu_resume.c: Likewise.
15942 * io/gzio.c: Likewise.
15943 * term/efi/console.c: Likewise.
15944 * term/terminfo.c: Likewise.
15945 * term/ieee1275/ofconsole.c: Likewise.
15946 * term/i386/pc/serial.c: Likewise.
15947 * term/i386/pc/vesafb.c: Likewise.
15948 * term/i386/pc/vga.c: Likewise.
15949 * term/usb_keyboard.c: Likewise.
15950 * term/gfxterm.c: Likewise.
15951 * aclocal.m4: Likewise.
15952 * util/lvm.c: Likewise.
15953 * util/grub.d/30_os-prober.in: Likewise.
15954 * util/grub.d/10_hurd.in: Likewise.
15955 * util/console.c: Likewise.
15956 * util/grub-macho2img.c: Likewise.
15957 * util/grub-probe.c: Likewise.
15958 * util/hostfs.c: Likewise.
15959 * util/i386/pc/grub-mkimage.c: Likewise.
15960 * util/i386/pc/grub-setup.c: Likewise.
15961 * util/i386/efi/grub-mkimage.c: Likewise.
15962 * util/grub-mkconfig.in: Likewise.
15963 * util/raid.c: Likewise.
15964 * util/resolve.c: Likewise.
15965 * util/grub-mkdevicemap.c: Likewise.
15966 * util/grub-emu.c: Likewise.
15967 * util/getroot.c: Likewise.
15968 * util/hostdisk.c: Likewise.
15969 * util/usb.c: Likewise.
15970 * util/grub-editenv.c: Likewise.
15971 * util/misc.c: Likewise.
15972
d2d49665 159732009-06-10 Felix Zielcke <fzielcke@z-51.de>
15974
15975 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
15976 `genparttoollist.sh'.
15977 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
15978 Add `*.sh' to the list find searches for and change `mdate.sh'
15979 to `mdate-sh'.
15980
fe052e37 159812009-06-10 Pavel Roskin <proski@gnu.org>
15982
2763ac18 15983 * include/grub/multiboot2.h: Provide compatibility defines for
15984 multiboot2.h.
15985 * include/multiboot2.h: Include stdint.h only if needed, using
15986 angle brackets.
15987 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
15988 grub/multiboot2.h.
15989 * loader/ieee1275/multiboot2.c: Likewise.
15990 * loader/multiboot2.c: Likewise.
15991 * loader/multiboot_loader.c: Likewise.
15992
437e6adc 15993 * configure.ac: Use -nostdlib when probing for the target. It
15994 should not be required to have libc for the target.
15995
06a6836c 15996 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
15997 they fail without libc headers for the target.
15998 * include/grub/powerpc/libgcc.h: Use weak attribute for all
15999 exports.
16000 * include/grub/sparc64/libgcc.h: Likewise. Don't use
16001 preprocessor conditionals.
16002
fe052e37 16003 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
16004 build system doesn't need to be aware of the tar.c internals.
16005
afd22553 160062009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 16007
afd22553 16008 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 16009
6b787c4f 160102009-06-09 Robert Millan <rmh.grub@aybabtu.com>
16011
16012 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
16013 disk limit to 26 for IDE, Virtio, Xen and SCSI.
16014
160152009-06-09 Felix Zielcke <fzielcke@z-51.de>
16016
16017 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 16018 aren't available if ata.mod gets used.
6b787c4f 16019
473d1e45 160202009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 16021
473d1e45 16022 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 16023 initialising controller.
473d1e45 16024 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 16025
255a27d4 160262009-06-08 Felix Zielcke <fzielcke@z-51.de>
16027
16028 * util/i386/pc/grub-install.in: Add a parameter --disk-module
16029 to choose between ata and biosdisk module on i386-pc.
16030
473d1e45 160312009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 16032
d55842d8 16033 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
16034 Subclass and Programming Interface fields in terms of the 3 byte
16035 Class Code register.
16036 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16037
fa5db0b1 16038 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
16039 interface is OHCI. Add grub_dprintf for symmetry with
16040 bus/usb/uhci.c.
16041 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
16042 interface is UHCI. Add interf variable for programming
16043 interface. Print interface with class/subclass.
16044
c0947beb 16045 * bus/usb/ohci.c: Set interf with correct field.
16046
69da8877 16047 * bus/usb/uhci.c: Remove unneeded doubled lines.
16048 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
16049 Remove whitespace inside comment.
16050
9e172e30 160512009-06-08 Robert Millan <rmh.grub@aybabtu.com>
16052
16053 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
16054 as fallback an equivalent option without depth.
16055
de65ee2b 160562009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16057
16058 Not fail if unable to retrieve C/H/S on LBA disks
16059
473d1e45 16060 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 16061 if unable to retrieve C/H/S on LBA disks
16062
b57ea2c9 160632009-06-08 Pavel Roskin <proski@gnu.org>
16064
16065 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
16066 about aliasing.
16067
af361263 160682009-06-08 Felix Zielcke <fzielcke@z-51.de>
16069
16070 * Makefile.in (uninstall): Remove all $lib_DATA files.
16071
4c9ec6b3 160722009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16073
16074 Bugfix: install on partitionless device
16075
16076 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
16077 is a whole disk
16078
e76fc924 160792009-06-08 Felix Zielcke <fzielcke@z-51.de>
16080
16081 * Makefile.in (uninstall): Remove all $include_DATA files.
16082
ba5a0d05 160832009-06-08 Felix Zielcke <fzielcke@z-51.de>
16084
16085 * commands/true.c: New file. Implement the true and false commands.
16086 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
16087 (true_mod_SOURCES): New variable.
16088 (true_mod_CFLAGS): Likewise.
16089 (true_mod_LDFLAGS): Likewise.
16090
c8048e32 160912009-06-05 Colin D Bennett <colin@gibibit.com>
16092
16093 Optimized font character lookup using binary search instead of linear
16094 search. Fonts now are required to have the character index ordered by
16095 code point.
16096
16097 * font/font.c (load_font_index): Verify that fonts have ordered
16098 character indices.
16099 (find_glyph): Use binary search instead of linear search to find a
16100 character in a font.
16101
408305be 161022009-06-05 Michael Scherer <misc@mandriva.org>
16103
16104 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
16105 uses case sensitive btree.
16106 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
16107 only for case insensitive filesystems.
16108
8ee1e0d9 161092009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
16110
16111 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
16112 * conf/common.rmk (search_mod_CFLAGS): likewise
16113
a9966eb1 161142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16115
473d1e45 16116 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 16117 compensate a compiler bug
16118
9e7100fb 161192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16120
473d1e45 16121 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 16122 instead of '\b'
473d1e45 16123
ede21d71 161242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 Definitions for creating asm symbols with Apple's CC
16127
16128 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
16129 [APPLE_CC] (VARIABLE): likewise
16130
9dbf7653 161312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 Disable lnxboot.img when compiled
16134 with Apple's CC
16135
16136 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
16137 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
16138 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
16139 [! APPLE_CC] (CODE_LENG): skip
16140 [! APPLE_CC] (setup_sects): likewise
16141 [! APPLE_CC]: skip filling
473d1e45 16142
e93cdc3d 161432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 Address in trampolines based on 32-bit registers when compiled
16146 with Apple's CC
16147
473d1e45 16148 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 16149 for addresses
16150 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
16151
6c688477 161522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 Avoid aliases when compiling with Apple's CC for PCBIOS machine
16155
16156 * kern/misc.c [APPLE_CC] (memcpy): new function
16157 [APPLE_CC] (memmove): likewise
16158 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 16159 (memcpy): define alias conditionally on !APPLE_CC
6c688477 16160 (memset): likewise
16161 (abort): likewise
16162 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
16163 APPLE_CC are defined
16164 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
16165 (grub_assert_fail): make prototype conditional
16166
e37ffc5c 161672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
16170
473d1e45 16171 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
16172 grub-macho2img
e37ffc5c 16173 (CLEANFILES): add grub-macho2img
16174 (grub_macho2img_SOURCES): new variable
16175 * kern/i386/pc/startup.S (bss_start): new variable
16176 (bss_end): likewise
16177 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
16178 * util/grub-macho2img.c: new file
16179
cf00df31 161802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 Use objconv when compiling with Apple's CC
16183
16184 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
16185 (efiemu64.o): likewise
16186 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
16187 when compiling with Apple's CC
16188 (efiemu64_s.o): likewise
16189 * configure.ac: check for objconv when compiling with Apple's CC
16190 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 16191
d119a20c 161922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 Define segment as well as section when compiling with
16195 Apple's CC
16196
16197 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
16198 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
16199 (efiemu_convert_pointer): likewise
16200 (efiemu_set_virtual_address_map): likewise
16201 (efiemu_convert_pointer): likewise
16202 (efiemu_getcrc32): likewise
16203 (init_crc32_table): likewise
16204 (reflect): likewise
16205 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
16206 (GRUB_MOD_DEP): likewise
473d1e45 16207
c8600122 162082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16209
16210 Allow a compilation without -mcmodel=large
16211
16212 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
16213 when compiled without -mcmodel=large
473d1e45 16214 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 16215 without -mcmodel=large
473d1e45 16216 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 16217 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 16218
e8df1d4e 162192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 Remove nested functions in efiemu core
16222
16223 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 16224
cc6c3ac1 162252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
16228
16229 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
16230 temporary storage
473d1e45 16231 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
16232 using Apple's CC
cc6c3ac1 16233 (grub_cpu_is_tsc_supported): likewise
16234 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 16235
3e325901 162362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 Absolute addressing through constant with Apple's cc
16239
16240 * kern/i386/pc/startup.S: Define necessary constants
16241 and address through it when using ABS with Apple's CC
16242 * boot/i386/pc/diskboot.S: likewise
16243 * boot/i386/pc/boot.S: likewise
16244 * boot/i386/pc/lnxboot.S: likewise
16245 * boot/i386/pc/cdboot.S: likewise
16246 * mmap/i386/pc/mmap_helper.S: likewise
16247 * commands/i386/pc/drivemap_int13h.S: likewise
16248
2b167a72 162492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16250
16251 Check if compiler is apple cc
16252
16253 * Makefile.in (ASFLAGS): new variable
16254 (TARGET_ASFLAGS): likewise
16255 (TARGET_MODULE_FORMAT): likewise
16256 (TARGET_APPLE_CC): likewise
16257 (OBJCONV): likewise
16258 (TARGET_IMG_CFLAGS): likewise
16259 (TARGET_CPPFLAGS): add includedir
16260 * configure.ac: call grub_apple_cc and grub_apple_target_cc
16261 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
16262 Check for linker script only if compiler isn't Apple's CC
16263 (TARGET_MODULE_FORMAT): set
16264 (TARGET_APPLE_CC): likewise
16265 (TARGET_ASFLAGS): likewise
16266 (ASFLAGS): likewise
16267 Check for objcopy only if compiler isn't Apple's CC
16268 Check for BSS symbol only if compiler isn't Apple's CC
16269 * genmk.rb: adapt nm options if we use Apple's utils
16270 * aclocal.m4 (grub_apple_cc): new test
16271 (grub_apple_target_cc): likewise
473d1e45 16272
fb14123e 162732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16274
16275 Simplify sed expressions and improve awk
16276
16277 * Makefile.in (install-local): simplify sed expression
16278 * gencmdlist.sh: likewise
16279 * genmoddep.awk: avoid adding module as a dependency of itself
16280
5b889789 162812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 Add missing start symbols
16284
16285 * boot/i386/pc/boot.S: add start
fb14123e 16286 * boot/i386/pc/pxeboot.S: likewise
473d1e45 16287
fd2bf2e3 162882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16289
16290 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 16291
16292 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 16293 (relocate_addresses): consider both r_addend and value at offset
16294 (make_mods_section): zerofill modinfo and header
16295 (convert_elf): write prefix here
473d1e45 16296
5389763d 162972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16298
16299 Use .asciz instead of .string
16300
16301 * i386/pc/diskboot.S: use .asciz instead of .string
16302 * i386/pc/boot.S: likewise
16303 * include/grub/dl.h (GRUB_MOD_DEP): likewise
16304 (GRUB_MOD_NAME): likewise
473d1e45 16305
3eb5ed4e 163062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16307
16308 gfxpayload support
16309
16310 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
16311 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
16312 (grub_video_setup): remove
16313 (grub_video_set_mode): new prototype
16314 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
16315 (vid_mode): remove
16316 (linux_vesafb_res): compile only on PCBIOS
16317 (grub_linux_boot): support gfxpayload
16318 * loader/i386/pc/xnu.c (video_hook): new function
16319 (grub_xnu_set_video): support gfxpayload
16320 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
16321 (DEFAULT_VIDEO_HEIGHT): likewise
16322 (DEFAULT_VIDEO_FLAGS): likewise
16323 (DEFAULT_VIDEO_MODE): new definition
16324 (video_hook): new function
16325 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 16326 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 16327 loading xnu
16328 * video/video.c (grub_video_setup): removed
473d1e45 16329 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 16330 grub_video_setup
16331
4b0e1143 163322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 Avoid calling biosdisk in drivemap
16335
16336 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
16337 (revparse_biosdisk): likewise
16338 (list_mappings): derive name from id directly
16339 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 16340
fda6cb98 163412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16342
16343 Script fixes
16344
16345 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
16346 (grub_lexer_param): add tokenonhold
16347 (grub_script_create_cmdline): remove cmdline. All callers updated
16348 (grub_script_function_create): make functionname
16349 grub_script_arg. All callers updated
16350 (grub_script_execute_argument_to_string): new prototype
16351 * kern/parser.c (state_transitions): reorder
16352 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 16353 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 16354 make global
16355 (grub_script_execute_cmdline): use new format
16356 * script/sh/function.c (grub_script_function_create): make functionname
16357 grub_script_arg. All callers updated
473d1e45 16358 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 16359 (grub_script_yylex): remove
16360 (grub_script_yylex2): renamed to ...
16361 (grub_script_yylex): ...renamed
16362 parse the expressions like a${b}c
16363 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
16364 (GRUB_PARSER_TOKEN_VAR): remove
16365 (GRUB_PARSER_TOKEN_NAME): likewise
16366 ("if"): declare as typeless
16367 ("while"): likewise
16368 ("function"): likewise
16369 ("else"): likewise
16370 ("then"): likewise
16371 ("fi"): likewise
16372 (text): remove
16373 (argument): likewise
16374 (script): accept empty scripts and make exit on error
16375 (arguments): use GRUB_PARSER_TOKEN_ARG
16376 (function): likewise
16377 (command): move error handling to script
16378 (menuentry): move grub_script_lexer_ref before
473d1e45 16379 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 16380 argument. All callers updated
16381
f4448a07 163822009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16383
16384 Prevent GRUB from probing floppies during boot.
16385
16386 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
16387 * commands/search.c (options): Add --no-floppy.
16388 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
16389 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
16390 --no-floppy when searching for UUIDs.
16391
2bf5885a 163922009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16393
16394 Simplify the code duplication in commands/search.c.
16395
16396 * commands/search.c (search_label, search_fs_uuid): Merge into ...
16397 (search_fs): ... this. Update all users.
16398
f6fd460a 163992009-06-03 Felix Zielcke <fzielcke@z-51.de>
16400
16401 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
16402
cbb3c83e 164032009-05-28 Pavel Roskin <proski@gnu.org>
16404
57788cfd 16405 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
16406 Remove the original symlink explicitly.
16407
cbb3c83e 16408 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
16409 just one slash. That's how grub_fshelp_find_file() does it.
16410
cd0d5e30 164112009-05-26 Pavel Roskin <proski@gnu.org>
16412
f0f8bbe2 16413 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
16414 to `str'.
16415
cd0d5e30 16416 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
16417 possibly unused.
16418
8c2cab51 164192009-05-25 Christian Franke <franke@computer.org>
16420
16421 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
16422 register.
16423 (grub_atapi_identify): Add wait after drive select.
16424 (grub_ata_identify): Do more strict status register check before
16425 calling grub_atapi_identify (). Suppress error message if status
16426 register is 0x00 after command failure. Add status register
16427 check after PIO read to avoid bogus identify due to stuck DRQ.
16428 Thanks to Pavel Roskin for testing.
16429 (grub_device_initialize): Remove unsafe status register check.
16430 Thanks to 'phcoder' for problem report and patch.
16431 Prevent sign extension in debug message.
16432
230c0ad6 164332009-05-23 Colin D Bennett <colin@gibibit.com>
16434
16435 Cleaned up `include/grub/normal.h'. Grouped prototypes by
16436 definition file, and functions defined in `normal/menu.c' have had
16437 their prototypes moved to `include/grub/menu.h' for consistency.
16438
16439 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
16440 from normal.h.
16441 (grub_menu_get_entry): Likewise.
16442 (grub_menu_get_timeout): Likewise.
16443 (grub_menu_set_timeout): Likewise.
16444 (grub_menu_execute_entry): Likewise.
16445 (grub_menu_execute_with_fallback): Likewise.
16446 (grub_menu_entry_run): Likewise.
16447
16448 * include/grub/normal.h: Re-ordered and grouped function
16449 prototypes by file that the function is defined in.
16450 (grub_menu_execute_callback): Removed; moved to menu.h.
16451 (grub_menu_get_entry): Likewise.
16452 (grub_menu_get_timeout): Likewise.
16453 (grub_menu_set_timeout): Likewise.
16454 (grub_menu_execute_entry): Likewise.
16455 (grub_menu_execute_with_fallback): Likewise.
16456 (grub_menu_entry_run): Likewise.
16457 (grub_menu_addentry): Renamed from this ...
16458 (grub_normal_add_menu_entry): ... to this.
16459
16460 * normal/main.c (grub_menu_addentry): Renamed from this ...
16461 (grub_normal_add_menu_entry): ... to this.
16462
16463 * script/sh/execute.c (grub_script_execute_menuentry): Update
16464 reference to renamed grub_menu_addentry function.
16465
861f03a5 164662009-05-23 Felix Zielcke <fzielcke@z-51.de>
16467
16468 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
16469
96b1619a 164702009-05-22 Pavel Roskin <proski@gnu.org>
16471
bf6a5fb2 16472 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
16473 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
16474 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
16475 compiling for the i386 targets, but not for the utilities.
16476
96b1619a 16477 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
16478 to grub_uint8_t.
16479 (grub_root_drive): Likewise.
16480 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
16481 remove alignment.
16482 (grub_root_drive): Change size to byte.
16483 (grub_start_addr): Remove.
16484 (grub_end_addr): Likewise.
16485 (grub_apm_bios_info): Likewise.
16486
b729776b 164872009-05-21 Felix Zielcke <fzielcke@z-51.de>
16488
16489 * normal/i386: Remove.
16490 * normal/powerpc: Likewise.
16491 * normal/sparc64: Likewise.
16492 * normal/x86_64: Likewise.
16493
0a15ce80 164942009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16495
16496 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 16497 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 16498 * loader/i386/xnu_helper.S: Likewise
d6da58e6 16499
33db9015 165002009-05-18 Colin D Bennett <colin@gibibit.com>
16501
d6da58e6 16502 Display error messages when parsing a Lua statement fails.
16503 Previously, executing a syntactically invalid statement like
16504 ")foo" or "bar;" would silently fail.
33db9015 16505
16506 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 16507 (grub_lua_parse_line): Improved reporting of Lua parser and
16508 execution errors.
33db9015 16509
46422c89 165102009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 Remove -Werror which causes build to fail on some systems
16513
16514 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
16515 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
16516 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 16517
22f53a96 165182009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 trampoline for linux on 64-bit platform
16521
18f547ad 16522 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
16523 loader/i386/efi/linux_trampoline.S
16524 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 16525 declaration
d6da58e6 16526 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
16527 here
22f53a96 16528 * loader/i386/linux_trampoline.S: moved here
d6da58e6 16529 * loader/i386/efi/linux.c (allocate_pages): reserve space for
16530 trampoline
22f53a96 16531 (jumpvector): removed
16532 (grub_linux_trampoline_start): new declaration
16533 (grub_linux_trampoline_end): likewise
16534 (grub_linux_boot): use trampoline when on 64-bit platform
16535 * loader/i386/linux.c: likewise
16536
cb5a0f40 165372009-05-16 Pavel Roskin <proski@gnu.org>
16538
16539 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16540 const to avoid a warning.
16541 (grub_lua_setenv): Likewise.
16542 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16543 lmsg to fix a warning.
16544
334f2c28 165452009-05-16 Felix Zielcke <fzielcke@z-51.de>
16546
16547 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16548 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16549 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16550 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16551 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16552 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16553 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16554 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 16555
59e5d3ec 165562009-05-16 Felix Zielcke <fzielcke@z-51.de>
16557
16558 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
16559
9d87a1ba 165602009-05-16 Bean <bean123ch@gmail.com>
16561
16562 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
16563 (lua_mod_SOURCES): New variable.
16564 (lua_mod_CFLAGS): Likewise.
16565 (lua_mod_LDFLAGS): Likewise.
16566
16567 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
16568 (setjmp_mod_SOURCES): New variable.
16569 (setjmp_mod_CFLAGS): Likewise.
16570 (setjmp_LDFLAGS): Likewise.
16571
16572 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
16573 (setjmp_mod_SOURCES): New variable.
16574 (setjmp_mod_CFLAGS): Likewise.
16575 (setjmp_LDFLAGS): Likewise.
16576
16577 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16578 (setjmp_mod_SOURCES): New variable.
16579 (setjmp_mod_CFLAGS): Likewise.
16580 (setjmp_LDFLAGS): Likewise.
16581
16582 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16583 (setjmp_mod_SOURCES): New variable.
16584 (setjmp_mod_CFLAGS): Likewise.
16585 (setjmp_LDFLAGS): Likewise.
16586
16587 * normal/i386/setjmp.S: Moved from here ...
16588 * lib/i386/setjmp.S: ... Moved here
16589 * normal/x86_64/setjmp.S: Moved from here ...
16590 * lib/x86_64/setjmp.S: ... Moved here
16591 * normal/powerpc/setjmp.S: Moved from here ...
16592 * lib/powerpc/setjmp.S: ... Moved here
16593 * normal/sparc64/setjmp.S: Moved from here ...
16594 * lib/sparc64/setjmp.S: ... Moved here
16595
16596 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16597 returns_twice in mingw.
16598
16599 * script/lua/grub_lib.c: New file.
16600 * script/lua/grub_lib.h: Likewise.
16601 * script/lua/grub_lua.h: Likewise.
16602 * script/lua/grub_main.c: Likewise.
16603 * script/lua/lapi.c: Likewise.
16604 * script/lua/lapi.h: Likewise.
16605 * script/lua/lauxlib.c: Likewise.
16606 * script/lua/lauxlib.h: Likewise.
16607 * script/lua/lbaselib.c: Likewise.
16608 * script/lua/lcode.c: Likewise.
16609 * script/lua/lcode.h: Likewise.
16610 * script/lua/ldblib.c: Likewise.
16611 * script/lua/ldebug.c: Likewise.
16612 * script/lua/ldebug.h: Likewise.
16613 * script/lua/ldo.c: Likewise.
16614 * script/lua/ldo.h: Likewise.
16615 * script/lua/ldump.c: Likewise.
16616 * script/lua/lfunc.c: Likewise.
16617 * script/lua/lfunc.h: Likewise.
16618 * script/lua/lgc.c: Likewise.
16619 * script/lua/lgc.h: Likewise.
16620 * script/lua/linit.c: Likewise.
16621 * script/lua/liolib.c: Likewise.
16622 * script/lua/llex.c: Likewise.
16623 * script/lua/llex.h: Likewise.
16624 * script/lua/llimits.h: Likewise.
16625 * script/lua/lmathlib.c: Likewise.
16626 * script/lua/lmem.c: Likewise.
16627 * script/lua/lmem.h: Likewise.
16628 * script/lua/loadlib.c: Likewise.
16629 * script/lua/lobject.c: Likewise.
16630 * script/lua/lobject.h: Likewise.
16631 * script/lua/lopcodes.c: Likewise.
16632 * script/lua/lopcodes.h: Likewise.
16633 * script/lua/loslib.c: Likewise.
16634 * script/lua/lparser.c: Likewise.
16635 * script/lua/lparser.h: Likewise.
16636 * script/lua/lstate.c: Likewise.
16637 * script/lua/lstate.h: Likewise.
16638 * script/lua/lstring.c: Likewise.
16639 * script/lua/lstring.h: Likewise.
16640 * script/lua/lstrlib.c: Likewise.
16641 * script/lua/ltable.c: Likewise.
16642 * script/lua/ltable.h: Likewise.
16643 * script/lua/ltablib.c: Likewise.
16644 * script/lua/ltm.c: Likewise.
16645 * script/lua/ltm.h: Likewise.
16646 * script/lua/lua.h: Likewise.
16647 * script/lua/luaconf.h: Likewise.
16648 * script/lua/lualib.h: Likewise.
16649 * script/lua/lundump.c: Likewise.
16650 * script/lua/lundump.h: Likewise.
16651 * script/lua/lvm.c: Likewise.
16652 * script/lua/lvm.h: Likewise.
16653 * script/lua/lzio.c: Likewise.
16654 * script/lua/lzio.h: Likewise.
16655
5e898c9d 166562009-05-16 Bean <bean123ch@gmail.com>
16657
16658 * include/grub/kernel.h (grub_module_header_types): Add type
16659 OBJ_TYPE_CONFIG.
16660
16661 * kern/main.c (grub_load_config): New function.
16662 (grub_main): Call grub_load_config to read boot config.
16663
16664 * grub-mkimage (generate_image): New parameter config_path.
16665 (options): New option --config.
16666 (main): Parse --config option, and pass it to generate_image.
16667
cf353a47 166682009-05-14 Christian Franke <franke@computer.org>
16669
16670 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16671 This fixes build on Cygwin.
16672
3834887f 166732009-05-14 Pavel Roskin <proski@gnu.org>
16674
16675 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16676 jump. This saves two bytes, so the typical case of 2 swapped
16677 drives would fit 32 bytes.
16678
8090fc01 166792009-05-13 Pavel Roskin <proski@gnu.org>
16680
ac963883 16681 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16682 grub_uint32_t to avoid a warning.
16683
8090fc01 16684 * loader/i386/linux.c (allocate_pages): When assigning
16685 real_mode_mem, cast through grub_size_t to fix a warning. The
16686 code already makes sure that the value would fit a pointer.
16687 (grub_linux_setup_video): Cast render_target->data to
16688 grub_size_t to fix a warning.
16689
18f547ad 166902009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16691
16692 * commands/i386/pc/drivemap.c: New file - implement drivemap
16693 command.
16694 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16695 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16696
6f6a8b28 166972009-05-13 Pavel Roskin <proski@gnu.org>
16698
16699 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16700 embedding_area_exists.
16701
15fbf4c4 167022009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16703
16704 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16705 it easier to understand / work with.
59978c8a 16706 Improve warning messages for cases where there's no embedding area,
16707 or when it is too small (or core.img too large).
15fbf4c4 16708
238e871f 167092009-05-13 Pavel Roskin <proski@gnu.org>
16710
0ab3a9a4 16711 * loader/i386/pc/multiboot2.c: Add necessary includes for
16712 grub_multiboot2_real_boot().
16713
a2c8c5f8 16714 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16715 PX record is always little-endian. We only need the lower 2
16716 bytes of the mode.
16717
faec96af 16718 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16719 facilitate code reuse.
16720 (grub_cpio_mount): Use "struct head", not a char buffer. This
16721 fixes a warning reported by gcc 4.4.
16722
238e871f 16723 * kernel/disk.c (grub_disk_read): Use void pointer for the
16724 buffer.
16725 (grub_disk_write): Use const void pointer for the buffer.
16726 Adjust all callers. Remove unnecessary casts.
16727
901d2f0c 167282009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16729
16730 * util/i386/pc/grub-install.in: Update copyright year.
16731
18f547ad 167322009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 16733
16734 gptsync
16735
16736 * commands/gptsync.c: new file
16737 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16738 (gptsync_mod_SOURCES): new variable
16739 (gptsync_mod_CFLAGS): likewise
16740 (gptsync_mod_LDFLAGS): likewise
18f547ad 16741 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 16742 new definition
16743 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16744 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16745 * conf/i386-ieee1275.rmk: likewise
16746 * conf/i386-pc.rmk: likewise
16747 * conf/powerpc-ieee1275.rmk: likewise
16748
b4ba690a 167492009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16750
16751 Fixed grub-emu
16752
16753 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16754 (grub_dl_ref): likewise
16755
317e1a44 167562009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16757
16758 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16759 split in two functions (one for msdos and one for gpt).
16760
041b8094 167612009-05-08 Pavel Roskin <proski@gnu.org>
16762
752473c2 16763 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16764 not modified.
16765
041b8094 16766 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16767 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16768 Initialize them with -1. Add sanity check for bad1. Eliminate
16769 nerr variable.
16770
172800ce 167712009-05-08 David S. Miller <davem@davemloft.net>
16772
16773 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16774
29aa5e81 167752009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16776
16777 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 16778 existence.
29aa5e81 16779
96613b62 167802009-05-05 Felix Zielcke <fzielcke@z-51.de>
16781
16782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 16783 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 16784
eef73c8a 167852009-05-05 David S. Miller <davem@davemloft.net>
16786
16787 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16788
119494b5 167892009-05-05 Pavel Roskin <proski@gnu.org>
16790
16791 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16792 of grub_dl_ref() and grub_dl_unref().
16793 * commands/parttool.c: Remove preprocessor conditionals around
16794 grub_dl_ref() and grub_dl_unref().
16795 * fs/affs.c: Likewise.
16796 * fs/afs.c: Likewise.
16797 * fs/cpio.c: Likewise.
16798 * fs/ext2.c: Likewise.
16799 * fs/fat.c: Likewise.
16800 * fs/hfs.c: Likewise.
16801 * fs/hfsplus.c: Likewise.
16802 * fs/iso9660.c: Likewise.
16803 * fs/jfs.c: Likewise.
16804 * fs/minix.c: Likewise.
16805 * fs/ntfs.c: Likewise.
16806 * fs/reiserfs.c: Likewise.
16807 * fs/sfs.c: Likewise.
16808 * fs/udf.c: Likewise.
16809 * fs/ufs.c: Likewise.
16810 * fs/xfs.c: Likewise.
16811 * include/grub/dl.h: Likewise.
16812 * loader/xnu.c: Likewise.
16813
de5fd76e 168142009-05-04 Pavel Roskin <proski@gnu.org>
16815
16816 * commands/acpi.c: Remove unused variable my_mod.
16817 * partmap/amiga.c: Likewise.
16818 * partmap/apple.c: Likewise.
16819 * partmap/gpt.c: Likewise.
16820 * partmap/pc.c: Likewise.
16821 * partmap/sun.c: Likewise.
16822 * term/gfxterm.c: Likewise.
16823 * term/i386/pc/vesafb.c: Likewise.
16824 * term/i386/pc/vga.c: Likewise.
16825
983598ad 168262009-05-04 David S. Miller <davem@davemloft.net>
16827
16828 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16829 pointer args to grub_ieee1275_get_property().
16830
8aadec43 16831 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16832
9554b15e 16833 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16834 devices, and do not traverse down under controller nodes.
16835
67e23c90 16836 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16837 (grub_ofdisk_open): Use it to un-escape "," characters.
16838 * kern/disk.c (find_part_sep): New.
16839 (grub_disk_open): Use it to find the first non-escaped ','
16840 character in the disk name.
16841 * util/ieee1275/devicemap.c (escape_of_path): New.
16842 (grub_util_emit_devicemap_entry): Use it.
16843 * util/sparc64/ieee1275/grub-install.in: Update script to
16844 strip partition specifiers properly by not triggering on
16845 '\' escaped ',' characters.
16846
74bfdd2f 168472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16848
16849 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16850 to 0x300.
16851 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16852 resolutions.
16853 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16854 on documentation from Wikipedia).
16855
4241d2b1 168562009-05-04 Pavel Roskin <proski@gnu.org>
16857
16858 * disk/ata.c: Spelling fixes.
16859 * disk/raid.c: Likewise.
16860 * disk/usbms.c: Likewise.
16861 * disk/dmraid_nvidia.c: Likewise.
16862 * kern/ieee1275/openfw.c: Likewise.
16863 * kern/ieee1275/init.c: Likewise.
16864 * kern/ieee1275/cmain.c: Likewise.
16865 * boot/i386/pc/cdboot.S: Likewise.
16866 * video/readers/png.c: Likewise.
16867 * video/i386/pc/vbe.c: Likewise.
16868 * fs/udf.c: Likewise.
16869 * fs/hfs.c: Likewise.
16870 * fs/reiserfs.c: Likewise.
16871 * efiemu/runtime/efiemu.c: Likewise.
16872 * efiemu/main.c: Likewise.
16873 * efiemu/mm.c: Likewise.
16874 * include/grub/elf.h: Likewise.
16875 * include/grub/xnu.h: Likewise.
16876 * include/grub/usbdesc.h: Likewise.
16877 * include/grub/usb.h: Likewise.
16878 * include/grub/script_sh.h: Likewise.
16879 * include/grub/lib/LzmaEnc.h: Likewise.
16880 * include/grub/efiemu/efiemu.h: Likewise.
16881 * include/grub/command.h: Likewise.
16882 * normal/menu.c: Likewise.
16883 * normal/main.c: Likewise.
16884 * normal/datetime.c: Likewise.
16885 * bus/usb/uhci.c: Likewise.
16886 * mmap/i386/uppermem.c: Likewise.
16887 * mmap/mmap.c: Likewise.
16888 * commands/acpi.c: Likewise.
16889 * commands/test.c: Likewise.
16890 * partmap/apple.c: Likewise.
16891 * font/font.c: Likewise.
16892 * loader/sparc64/ieee1275/linux.c: Likewise.
16893 * loader/macho.c: Likewise.
16894 * loader/i386/bsd_trampoline.S: Likewise.
16895 * loader/i386/bsd.c: Likewise.
16896 * loader/xnu.c: Likewise.
16897 * term/i386/pc/vesafb.c: Likewise.
16898 * term/usb_keyboard.c: Likewise.
16899 * util/resolve.c: Likewise.
16900 * util/getroot.c: Likewise.
16901
0cfc0083 169022009-05-04 Felix Zielcke <fzielcke@z-51.de>
16903
16904 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16905
7c1d00cd 169062009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16907
16908 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16909 build error.
16910
b01f0548 169112009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16912
16913 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16914 parameter only available on BIOS.
16915
ecc3eb22 169162009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16917
16918 Removed wrong semicolon in declaration
16919
16920 * grub/misc.h (grub_dprintf): remove semicolon
16921
112972a9 169222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16923
16924 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16925 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16926 is done by grub_cmd_linux() now).
16927 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
16928 restore video to text mode.
16929 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
16930 indicates lack of "vga=" parameter. "vga=0" is mapped to
16931 `GRUB_LINUX_VID_MODE_NORMAL'.
16932
afd5c115 169332009-05-04 Felix Zielcke <fzielcke@z-51.de>
16934
16935 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
16936 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
16937 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 16938 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 16939 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
16940 `grub_script.tab.c'.
16941
16942 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16943 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16945 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16946 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16947
faa517ce 16948 * Makefile.in: Remove duplicated 2008 in Copyright line.
16949
ae0c0bdc 169502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16951
473d1e45 16952 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 16953 unconditionally.
16954 * include/grub/util/misc.h (grub_util_warn): New declaration.
16955
16956 * util/i386/pc/grub-install.in: Understand --force and pass it down
16957 to grub-setup.
16958
16959 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
16960 down to setup().
16961 (setup): Improve error messages and add warnings when requested to
16962 install in odd layouts. Refuse to install using blocklists unless
16963 --force was set.
16964
18f547ad 169652009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 16966
16967 * disk/raid.c (grub_raid_scan_device): Improve debug message.
16968
6d260daa 169692009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 Updated copyright year
16972
16973 * fs/hfsplus.c: updated copyright year
18f547ad 16974
69f853f8 169752009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16976
16977 HFS+ UUID
16978
18f547ad 16979 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 16980 in the space previously used by unused3
16981 (grub_hfsplus_uuid): new function
16982 (grub_hfsplus_fs): added uuid field
16983
4c402e73 169842009-05-03 Pavel Roskin <proski@gnu.org>
16985
16986 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
16987 suppress warnings. It's no longer needed.
16988 * disk/host.c: Likewise.
16989 * disk/ata_pthru.c: Likewise.
16990 * disk/loopback.c: Likewise.
16991 * hook/datehook.c: Likewise.
16992 * parttool/pcpart.c: Likewise.
16993 * fs/i386/pc/pxe.c: Likewise.
16994 * fs/ntfscomp.c: Likewise.
16995 * efiemu/main.c: Likewise.
16996 * mmap/mmap.c: Likewise.
16997 * commands/crc.c: Likewise.
16998 * commands/hexdump.c: Likewise.
16999 * commands/hdparm.c: Likewise.
17000 * commands/acpi.c: Likewise.
17001 * commands/echo.c: Likewise.
17002 * commands/minicmd.c: Likewise.
17003 * commands/blocklist.c: Likewise.
17004 * commands/memrw.c: Likewise.
17005 * commands/loadenv.c: Likewise.
17006 * commands/usbtest.c: Likewise.
17007 * commands/lsmmap.c: Likewise.
17008 * commands/boot.c: Likewise.
17009 * commands/parttool.c: Likewise.
17010 * commands/configfile.c: Likewise.
17011 * commands/search.c: Likewise.
17012 * commands/ieee1275/suspend.c: Likewise.
17013 * commands/cat.c: Likewise.
17014 * commands/i386/pc/pxecmd.c: Likewise.
17015 * commands/i386/pc/play.c: Likewise.
17016 * commands/i386/pc/halt.c: Likewise.
17017 * commands/i386/pc/vbeinfo.c: Likewise.
17018 * commands/i386/pc/vbetest.c: Likewise.
17019 * commands/lspci.c: Likewise.
17020 * commands/date.c: Likewise.
17021 * commands/handler.c: Likewise.
17022 * commands/ls.c: Likewise.
17023 * commands/test.c: Likewise.
17024 * commands/cmp.c: Likewise.
17025 * commands/efi/loadbios.c: Likewise.
17026 * commands/efi/fixvideo.c: Likewise.
17027 * commands/halt.c: Likewise.
17028 * commands/help.c: Likewise.
17029 * commands/reboot.c: Likewise.
17030 * hello/hello.c: Likewise.
17031 * script/sh/main.c: Likewise.
17032 * loader/xnu.c: Likewise.
17033 * term/terminfo.c: Likewise.
17034 * term/i386/pc/serial.c: Likewise.
17035 * term/usb_keyboard.c: Likewise.
17036
515b5079 170372009-05-03 David S. Miller <davem@davemloft.net>
17038
17039 * normal/menu.c: Include grub/parser.h
17040
dfc31a22 170412009-05-03 Pavel Roskin <proski@gnu.org>
17042
2fee74f1 17043 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
17044 not char*.
17045 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
17046 Suggested by Javier Martín <lordhabbit@gmail.com>
17047
dfc31a22 17048 * util/i386/pc/grub-mkrescue.in: Allow for the case when
17049 efiemu??.o doesn't exist.
17050 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
17051 copying.
17052
18f547ad 170532009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 17054
17055 FreeBSD 64-bit support
17056
18f547ad 17057 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 17058 and loader/i386/bsd_trampoline.S
17059 (bsd_mod_ASFLAGS): new variable
17060 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
17061 (FREEBSD_MODTYPE_KERNEL64): likewise
17062 (grub_bsd64_trampoline_start): likewise
17063 (grub_bsd64_trampoline_end): likewise
17064 (grub_bsd64_trampoline_selfjump): likewise
17065 (grub_bsd64_trampoline_gdt): likewise
17066 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
17067 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
17068 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
17069 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 17070 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 17071 of "attrib" member
17072 * loader/i386/bsd_pagetable.c: new file
17073 * loader/i386/bsd_trampoline.S: likewise
17074 * loader/i386/bsd.c (ALIGN_QWORD): new macro
17075 (ALIGN_VAR): likewise
17076 (entry_hi): new variable
17077 (kern_end_mdofs): likewise
17078 (is_64bit): likewise
17079 (grub_freebsd_add_meta): use ALIGN_VAR
17080 (grub_e820_mmap): new declaration
17081 (grub_freebsd_add_mmap): new function
17082 (grub_freebsd_add_meta_module): support 64 bit kernels
17083 (grub_freebsd_list_modules): use ALIGN_VAR
17084 (gdt_descriptor): new declaration
17085 (grub_freebsd_boot): support 64 bit kernels
17086 (grub_bsd_elf64_hook): new function
17087 (grub_bsd_load_elf): support elf64
17088
038c5720 170892009-05-03 Bean <bean123ch@gmail.com>
17090
17091 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
17092 after we get the result of if statement.
17093
fc45fb58 170942009-05-03 Bean <bean123ch@gmail.com>
17095
17096 * Makefile.in (enable_efiemu): New variable.
17097
17098 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
17099 set.
17100 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
17101 path.
17102 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
17103 path, add -mno-red-zone option.
17104 (efiemu64_s.o): Likewise.
17105 (efiemu64.o): Use macro $^ for source file.
17106
17107 * configure.ac (--enable-efiemu): New option.
17108
bbee0f2b 171092009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17110
17111 xnu support
17112
17113 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
17114 (pkglib_MODULES): add xnu.mod
17115 (xnu_mod_SOURCES): new variable
17116 (xnu_mod_CFLAGS): likewise
17117 (xnu_mod_LDFLAGS): likewise
17118 (xnu_mod_ASFLAGS): likewise
17119 * conf/i386-pc.rmk: likewise
17120 * conf/x86_64-efi.rmk: likewise
7dd4a573 17121 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 17122 new declaration
17123 * include/grub/i386/macho.h: new file
17124 * include/grub/i386/xnu.h: likewise
17125 * include/grub/macho.h: likewise
17126 * include/grub/machoload.h: likewise
17127 * include/grub/x86_64/macho.h: likewise
17128 * include/grub/x86_64/xnu.h: likewise
17129 * include/grub/xnu.h: likewise
17130 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
17131 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
17132 * loader/i386/efi/xnu.c: new file
17133 * loader/i386/pc/xnu.c: likewise
17134 * loader/i386/xnu.c: likewise
17135 * loader/i386/xnu_helper.S: likewise
17136 * loader/macho.c: likewise
17137 * loader/xnu.c: likewise
17138 * loader/xnu_resume.c: likewise
17139 * util/grub-dumpdevtree: likewise
17140 * include/grub/i386/pit.h: include grub/err.h
17141 (grub_pit_wait): export
17142 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 17143
5caf964d 171442009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17145
17146 Efiemu
7dd4a573 17147
5caf964d 17148 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 17149 _linux_efi, linux_efi.
17150 new files in grub-emu
5caf964d 17151 new targets efiemu32.o and efiemu64.o
17152 * loader/linux_normal_efiemu.c: likewise
17153 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 17154 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 17155 files to copy
17156 * include/grub/autoefi.h: new file
7dd4a573 17157 * include/grub/i386/efiemu.h: likewise
5caf964d 17158 * include/grub/i386/pc/efiemu.h: likewise
17159 * include/grub/efi/api.h: add LL suffix when necessary
17160 new definitions relating to tables
17161 * include/grub/efiemu/efiemu.h: new file
17162 * include/grub/efiemu/runtime.h: likewise
17163 * efiemu/prepare.c: likewise
17164 * efiemu/loadcore_common.c: likewise
17165 * efiemu/loadcore64.c: likewise
17166 * efiemu/runtime/efiemu.sh: likewise
17167 * efiemu/runtime/efiemu.S: likewise
17168 * efiemu/runtime/efiemu.c: likewise
17169 * efiemu/runtime/config.h: likewise
17170 * efiemu/prepare32.c: likewise
17171 * efiemu/main.c: likewise
17172 * efiemu/modules/pnvram.c: likewise
17173 * efiemu/modules/i386: likewise
17174 * efiemu/modules/i386/pc: likewise
17175 * efiemu/modules/acpi.c: likewise
17176 * efiemu/i386/pc/cfgtables.c: likewise
17177 * efiemu/i386/loadcore64.c: likewise
17178 * efiemu/i386/loadcore32.c: likewise
17179 * efiemu/prepare64.c: likewise
17180 * efiemu/loadcore.c: likewise
17181 * efiemu/symbols.c: likewise
17182 * efiemu/mm.c: likewise
17183 * efiemu/loadcore32.c: likewise
7dd4a573 17184
171852009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 17186
17187 ACPI spoofing
17188
17189 * commands/acpi.c: new file
17190 * commands/i386/pc/acpi.c: likewise
17191 * commands/efi/acpi.c: likewise
17192 * include/grub/acpi.h: likewise
17193 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
17194 (acpi_mod_SOURCES): new variable
17195 (acpi_mod_CFLAGS): likewise
17196 (acpi_mod_LDFLAGS): likewise
17197 * conf/i386-efi.rmk: likewise
17198 * conf/x86_64-efi.rmk: likewise
17199
7dd4a573 172002009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 17201
17202 Missing part from mmap patch
17203
17204 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
17205 (grub_mmap_unregister)
17206 (grub_mmap_free_and_unregister): use grub_mmap_register
17207
7dd4a573 172082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 17209
17210 Mmap services
17211
17212 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
17213 * loader/i386/linux.c (find_mmap_size): likewise
17214 (allocate_pages): likewise
17215 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
17216 (grub_fill_multiboot_mmap): likewise
17217 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
17218 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
17219 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
17220 (OPENBSD_MMAP_RESERVED): likewise
17221 * include/grub/i386/pc/memory.h: include grub/memory.h
17222 (grub_lower_mem): removed
17223 (grub_upper_mem): likewise
17224 (GRUB_MACHINE_MEMORY_ACPI): new definition
17225 (GRUB_MACHINE_MEMORY_NVS): likewise
17226 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
17227 (GRUB_MACHINE_MEMORY_HOLE): likewise
17228 (grub_machine_mmap_register): likewise
17229 (grub_machine_mmap_unregister): likewise
17230 (grub_machine_get_upper): likewise
17231 (grub_machine_get_lower): likewise
17232 (grub_machine_get_post64): likewise
17233 * include/grub/i386/efi/memory.h: new file
17234 * include/grub/x86_64/efi/memory.h: likewise
17235 * include/grub/efi/memory.h: likewise
17236 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
17237 (mmap_mod_SOURCES): new variable
17238 (mmap_mod_LDFLAGS): likewise
17239 (mmap_mod_ASFLAGS): likewise
17240 * conf/i386-coreboot.rmk: likewise
17241 * conf/i386-ieee1275.rmk: likewise
17242 * conf/i386-efi.rmk: likewise
17243 * conf/x86_64-efi.rmk: likewise
17244 * include/grub/types.h (UINT_TO_PTR): new macro
17245 (PTR_TO_UINT32): likewise
17246 (PTR_TO_UINT64): likewise
17247 * include/grub/memory.h: new file
17248 * mmap/i386/pc/mmap.c: likewise
17249 * mmap/i386/pc/mmap_helper.S: likewise
17250 * mmap/i386/uppermem.c: likewise
17251 * mmap/mmap.c: likewise
17252 * mmap/efi/mmap.c: likewise
7dd4a573 17253 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 17254 grub_upper_mem
17255 * kern/i386/pc/init.c (grub_lower_mem): removed variable
17256 (grub_upper_mem): likewise
17257 (grub_machine_init): don't use grub_upper_mem,
17258 make grub_lower_mem local
17259 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
17260 grub_mmap_iterate and grub_mmap_get_upper
17261 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
17262
d558e6b5 172632009-05-02 Bean <bean123ch@gmail.com>
17264
17265 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
17266 script/sh/parser.y.
17267 (pkglib_MODULES): Add normal.mod and sh.mod.
17268 (normal_SOURCES): New variable.
17269 (normal_mod_CFLAGS): Likewise.
17270 (normal_mod_LDFLAGS): Likewise.
17271 (sh_mod_SOURCES): Likewise.
17272 (sh_mod_CFLAGS): Likewise.
17273 (sh_mod_LDFLAGS): Likewise.
17274
17275 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
17276 script/sh/lexer.c_DEPENDENCIES.
17277 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
17278 kern/rescue_reader.c and kern/rescue_parser.c.
17279 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
17280 (grub_emu_SOURCES): Change source files.
17281 (pkglib_MODULES): Remove normal.mod.
17282 (normal_SOURCES): Removed.
17283 (normal_mod_CFLAGS): Likewise.
17284 (normal_mod_LDFLAGS): Likewise.
17285 * conf/i386-coreboot.rmk: Likewise.
17286 * conf/i386-efi.rmk: Likewise.
17287 * conf/i386-ieee1276.rmk: Likewise.
17288 * conf/powerpc-ieee1275.rmk: Likewise.
17289 * conf/sparc64-ieee1275.rmk: Likewise.
17290 * conf/x86_64-efi.rmk: Likewise.
17291
17292 * include/grub/command.h (grub_command_execute): New inline function.
17293
17294 * include/grub/menu.h (grub_menu_entry): Removed commands field.
17295
17296 * include/grub/normal.h: Remove <grub/setjmp.h>.
17297 (grub_fs_module_list): Moved to normal/autofs.c.
17298 (grub_exit_env): Removed.
17299 (grub_command_execute): Likewise.
17300 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
17301 parameter script.
17302 (read_command_list): New function declaration.
17303 (read_fs_list): Likewise.
17304
17305 * include/parser.h: Include <grub/reader.h>.
17306 (grub_parser_split_cmdline): Change type of getline parameter.
17307 (grub_parser): New structure.
17308 (grub_parser_class): New variable.
17309 (grub_parser_execute): New function declaration.
17310 (grub_register_rescue_parser): Likewise.
17311 (grub_parser_register): New inline function.
17312 (grub_parser_unregister): Likewise.
17313 (grub_parser_get_current): Likewise.
17314 (grub_parser_set_current): Likewise.
17315
17316 * include/grub/reader.h: New file.
17317 * kern/reader.c: Likewise.
17318 * kern/rescue_parser.c: Likewise.
17319 * kern/rescue_reader.c: Likewise.
17320 * normal/autofs.c: Likewise.
17321 * normal/dyncmd.c: Likewise.
17322
17323 * include/grub/rescue.h: Removed.
17324 * normal/command.h: Likewise.
17325
17326 * include/grub/script.h: Moved to ...
17327 * include/grub/script_sh.h: ... Moved here.
17328 * normal/execute.c: Moved to ...
17329 * script/sh/execute.c: ... Moved here.
17330 * normal/function.c: Moved to ...
17331 * script/sh/function.c: ... Moved here.
17332 * normal/lexer.c: Moved to ...
17333 * script/sh/lexer.c: ... Moved here.
17334 * normal/parser.y: Moved to ...
17335 * script/sh/parser.y: ... Moved here.
17336 * normal/script.c: Moved to ...
17337 * script/sh/script.c: ... Moved here.
17338
17339 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
17340 <grub/reader.h>.
17341 (grub_exit_env): Removed.
17342 (fs_module_list): Moved to normal/autofs.c.
17343 (grub_file_getline): Don't handle comment here.
17344 (free_menu): Skip removed field entry->commands.
17345 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
17346 script parameter.
17347 (read_config_file): Removed nested parameter, change getline function.
17348 (grub_enter_normal_mode): Removed.
17349 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
17350 (read_command_list): Likewise.
17351 (autoload_fs_module): Moved to normal/autofs.c.
17352 (read_fs_list): Likewise.
17353 (reader_nested): New variable.
17354 (grub_normal_execute): Run parser.sh to switch to sh parser.
17355 (grub_cmd_rescue): Removed.
17356 (cmd_normal): Removed.
17357 (grub_cmd_normal): Unregister itself at the beginning. Don't register
17358 rescue command.
17359 (grub_cmdline_run): New function.
17360 (grub_normal_reader_init): Likewise.
17361 (grub_normal_read_line): Likewise.
17362 (grub_env_write_pager): Likewise.
17363 (cmdline): New variable.
17364 (grub_normal_reader): Likewise.
17365 (GRUB_MOD_INIT): Register normal reader and set as current, register
17366 pager hook, register normal command with grub_register_command_prio,
17367 so that it won't show up in command.lst.
17368 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
17369 grub_fs_autoload_hook.
17370
17371 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
17372 (grub_menu_execute_entry): Replace grub_script_execute with
17373 grub_parser_execute, change parameter to grub_command_execute.
17374
17375 * normal/menu_text.c: Remove <grub/script.h>.
17376
17377 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
17378 and <grub/parser.h>.
17379 (run): Change editor_getline to use new parser interface. Change
17380 parameter to grub_command_execute.
17381
17382 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
17383 <grub/reader.h> and <grub/parser.h>.
17384 (grub_load_normal_mode): Execute normal command.
17385 (grub_main): Call grub_register_core_commands,
17386 grub_register_rescue_parser and grub_register_rescue_reader, use
17387 grub_reader_loop to enter input loop.
17388
7dd4a573 17389 * kern/parser.c (grub_parser_split_cmdline): Change type of
17390 getline parameter.
d558e6b5 17391 (grub_parser_class): New variable.
17392 (grub_parser_execute): New function.
17393
17394 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
17395 * loader/multiboot2.c: Likewise.
17396 * loader/sparc64/ieee1275/linux.c: Likewise.
17397
17398 * util/grub-emu.c (read_command_list): New dummy function.
17399
18db813d 174002009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17401
17402 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
17403 count to 16 for CCISS and IDA.
17404
6c67de15 174052009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17406
17407 * normal/menu_text.c (grub_wait_after_message): Print a newline
17408 after waiting for user input.
17409
17410 * loader/i386/linux.c: Include `<grub/normal.h>'.
17411 (grub_cmd_linux): Improve the error message about `ask' mode, by
17412 waiting for user input so it's not missed (we can do this, since
17413 user requested interaction).
17414
d9dc87b0 174152009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17416
17417 Added missing lst to grub-mkrescue
17418
17419 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
17420 and ${input_dir}/parttool.lst
17421
ac8a2baa 174222009-04-30 David S. Miller <davem@davemloft.net>
17423
ad22a610 17424 * util/hostdisk.c (device_is_wholedisk): New function.
17425 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
17426 zero only if device_is_wholedisk() returns true.
17427
6966215d 17428 * util/hostdisk.c (convert_system_partition_to_system_disk):
17429 Handle virtual disk devices named /dev/vdiskX as found on sparc
17430 and powerpc.
17431
ac8a2baa 17432 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
17433 lettered partition specifier is found, convert to numbered.
17434
979b4fb4 174352009-04-29 David S. Miller <davem@davemloft.net>
17436
e2bf39b2 17437 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
17438 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17439
3c64e104 17440 * normal/command.c: Add missing newline at end of file.
17441
979b4fb4 17442 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
17443 warnings.
17444 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
17445 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
17446 grub_ofdisk_read): Likewise, and deal similarly with the fact that
17447 ihandles have a 32-bit type but need to be stored in a "void *".
17448
136d9f82 174492009-04-28 Pavel Roskin <proski@gnu.org>
17450
9459c306 17451 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
17452 not disk. Adjust all dependencies.
2e08a26a 17453 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 17454 grub_disk_close().
17455
136d9f82 17456 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
17457 parent's partition, don't copy it by reference, as it gets freed
17458 on close.
17459
7dd4a573 174602009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 17461
17462 Preboot hooks support
17463
17464 * commands/boot.c (struct grub_preboot_t): new declaration
17465 (preboots_head): new variable
17466 (preboots_tail): likewise
17467 (grub_loader_register_preboot_hook): new function
17468 (grub_loader_unregister_preboot_hook): likewise
17469 (grub_loader_set): launch preboot hooks
17470 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
17471 (grub_loader_register_preboot_hook): new declaration
17472 (grub_loader_unregister_preboot_hook): likewise
17473
5af922b5 174742009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 Warning fix
17477
7dd4a573 17478 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 17479 calling grub_dprintf
17480
a5562c30 174812009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
17482
17483 Bug and warning fixes
17484
7dd4a573 17485 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 17486 declaration
17487 * commands/test.c (test_parse): fixed bug with file tests and corrected
17488 declaration of find_file
17489
4006f85c 174902009-04-26 Pavel Roskin <proski@gnu.org>
17491
17492 * Makefile.in: Don't install empty manual pages if help2man is
17493 missing. Use help2man option for output, not shell redirection.
17494
5c77c3de 174952009-04-26 David S. Miller <davem@davemloft.net>
17496
17497 * util/grub-mkdevicemap.c (make_device_map): Add missing
17498 NESTED_FUNC_ATTR to process_device().
17499
033b10a8 175002009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17501
17502 Test command
17503
17504 * commands/test.c: rewritten to use bash-like test
17505
e4343593 175062009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17507
17508 Parttool autoloading and improvements
17509
7dd4a573 17510 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 17511 (parttool.lst): new target
17512 * genmk.rb: generate parttool-*
17513 (CLEANFILES): add #{parttool}
17514 (PARTTOOLFILES): new variable
17515 * genparttoollist.sh: new file
7dd4a573 17516 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 17517 (grub_pcpart_type): likewise
17518 * commands/parttool.c (helpmsg): new variable
17519 (grub_cmd_parttool): output help if not enough arguments are supplied
17520 autoload modules
17521 (GRUB_MOD_INIT(parttool)): use helpmsg
17522
0d312500 175232009-04-24 David S. Miller <davem@davemloft.net>
17524
7dd4a573 17525 Avoiding opening same device multiple times in device iterator.
0d312500 17526
17527 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 17528 and use it to build a list of partitions in iterate_disk() and
0d312500 17529 iterate_partition().
17530
ac20caff 17531 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
17532 on disk->data.
17533
0dcf7495 17534 * disk/ieee1275/nand.c (grub_nand_iterate): Return
17535 grub_devalias_iterate() result instead of unconditional 0.
17536 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
17537 Also, capture hook return value, either directly or via
17538 grub_children_iterate(), and propagate to caller.
17539 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17540 grub_children_iterate): Return value is now 'int' instead of
17541 'grub_err_t'.
17542 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17543 like a proper iterator, stopping when hooks return non-zero.
17544 (grub_devalias_iterate): Likewise.
17545
c8c08833 175462009-04-23 David S. Miller <davem@davemloft.net>
17547
17548 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17549
f01005a8 175502009-04-22 David S. Miller <davem@davemloft.net>
17551
17552 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
17553 is larger than address_cells, use that value for address_cells too.
17554
4e8269da 17555 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
17556 IEEE1275_MAX_PATH_LEN): Define.
17557 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
17558 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
17559 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
17560 'devtype'. Explicitly NULL terminate devalias expansion.
17561
a1447506 17562 * util/sparc64/ieee1275/misc.c: New file.
17563 * util/sparc64/ieee1275/grub-setup.c: New file.
17564 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
17565 * util/sparc64/ieee1275/grub-mkimage.c: New file.
17566 * util/sparc64/ieee1275/grub-install.in: New file.
17567 * util/ieee1275/ofpath.c: New file.
17568 * util/ieee1275/devicemap.c: New file.
17569 * util/devicemap.c: New file.
17570 * util/deviceiter.c: New file.
17571 * kern/sparc64/ieee1275/init.c: New file.
17572 * include/grub/util/ofpath.h: New file.
17573 * include/grub/util/deviceiter.h: New file.
17574 * util/grub-mkdevicemap.c: Include deviceiter.h.
17575 Implement using grub_util_emit_devicemap_entry and
17576 grub_util_iterate_devices.
17577 * conf/i386-corebook.rmk: Build util/deviceiter.c and
17578 util/devicemap.c into grub-mkdevicemap
17579 * conf/i386-efi.rmk: Likewise.
17580 * conf/i386-ieee1275.rmk: Likewise.
17581 * conf/i386-pc.rmk: Likewise.
17582 * conf/powerpc-ieee1275.rmk: Likewise.
17583 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17584 images and installation utilities. Build kernel as image
17585 instead of as elf binary. Use common rules as much as possible.
17586
7dd4a573 175872009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 17588
17589 Correct GPT definition
17590
7dd4a573 17591 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 17592 of "attrib" member
17593
c6c5219f 175942009-04-19 Felix Zielcke <fzielcke@z-51.de>
17595
17596 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17597
0552ff9f 175982009-04-19 David S. Miller <davem@davemloft.net>
17599
17600 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17601 (grub_rescue_cmd_linux): Rename to...
17602 (grub_cmd_linux): and fix prototype.
17603 (grub_rescue_cmd_initrd): Rename to...
17604 (grub_cmd_initrd): and fix prototype.
17605 (cmd_linux, cmd_initrd): New.
17606 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17607 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17608
d1a282fc 176092009-04-17 Pavel Roskin <proski@gnu.org>
17610
07c5039f 17611 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17612 format.
17613 (grub_ohci_transfer): Likewise.
17614
b012002d 17615 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17616
1bc09c35 17617 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17618 return without a value. Fix inconsistent indentation.
17619
e0ff9126 17620 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17621 match struct grub_fs.
17622
d1a282fc 17623 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17624 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17625 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17626 * commands/lspci.c (grub_lspci_iter): Likewise.
17627
a96df3f2 176282009-04-16 Bean <bean123ch@gmail.com>
17629
17630 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17631 value.
17632
41bb0fe9 176332009-04-15 Pavel Roskin <proski@gnu.org>
17634
17635 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17636 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17637 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17638 definitions.
17639
596c6970 176402009-04-15 Felix Zielcke <fzielcke@z-51.de>
17641
17642 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 17643 that no multiple data or metadata areas are supported and `Unknown
596c6970 17644 metadata header'.
17645
7dd4a573 176462009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 17647
17648 Move loader out of the kernel
17649
17650 * kern/loader.c: moved to ...
17651 * commands/boot.c: ... moved here
17652 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17653 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17654 * include/grub/kernel.h (grub_machine_fini): export
17655 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17656 (grub_loader_set): likewise
17657 (grub_loader_unset): likewise
17658 (grub_loader_boot): likewise
17659 * conf/common.rmk: new module boot.mod
17660 (pkglib_MODULES): add boot.mod
17661 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17662 (grub_emu_SOURCES): likewise
17663 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17664 (grub_emu_SOURCES): likewise
17665 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17666 (grub_emu_SOURCES): likewise
17667 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17668 (grub_emu_SOURCES): likewise
17669 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17670 (grub_emu_SOURCES): likewise
7dd4a573 17671 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17672 (grub_emu_SOURCES): likewise
0d5d5653 17673 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17674 (grub_emu_SOURCES): likewise
0d5d5653 17675
7dd4a573 176762009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17677
17678 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17679
5999d619 17680 * kern/misc.c (grub_itoa): Removed function
17681 (grub_ltoa): likewise
17682 (grub_vsprintf): use grub_lltoa
17683
7dd4a573 176842009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17685
17686 Restore grub-emu
17687
17688 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17689 * conf/i386-coreboot.rmk: likewise
17690 * conf/i386-ieee1275.rmk: likewise
17691 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17692
20318222 176932009-04-15 Felix Zielcke <fzielcke@z-51.de>
17694
17695 * INSTALL: Add that `./autogen.sh' needs to be run before
17696 `./configure.'.
17697
d05f0df3 176982009-04-14 Bean <bean123ch@gmail.com>
17699
17700 * Makefile.in (pkglib_DATA): Add handler.lst.
17701 (handler.lst): New rule.
17702
17703 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17704 * conf/i386-coreboot.rmk: Likewise.
17705 * conf/i386-ieee1275.rmk: Likewise.
17706 * conf/i386-efi.rmk: Likewise.
17707 * conf/x86_64-efi.rmk: Likewise.
17708 * conf/powerpc-ieee1275.rmk: Likewise.
17709 * conf/sparc64-ieee1275.rmk: Likewise.
17710
17711 * genhandlerlist.sh: New file.
17712
17713 * genmk.rb: Add rules to generate handler.lst.
17714
17715 * include/grub/normal.h (grub_file_getline): New function definition.
17716 (read_handler_list): Likewise.
17717 (free_handler_list): Likewise.
17718
17719 * include/grub/term.h (grub_term_register_input): Add name parameter
17720 for auto generation of handler.lst.
17721 (grub_term_register_output): Likewise.
17722
17723 * normal/handler.c: New file.
17724
17725 * normal/main.c (get_line): Renamed to grub_file_getline.
17726 (read_config_file): Use the newly renamed grub_file_getline.
17727 (read_command_list): Likewise.
17728 (read_fs_list): Likewise.
17729 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17730 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17731
17732 * term/efi/console.c (grub_console_init): Add name parameter for auto
17733 generation of handler.lst.
17734 * term/gfxterm.c: Likewise.
17735 * term/i386/pc/at_keyboard.c: Likewise.
17736 * term/i386/pc/console.c: Likewise.
17737 * term/i386/pc/serial.c: Likewise.
17738 * term/i386/pc/vesafb.c: Likewise.
17739 * term/i386/pc/vga.c: Likewise.
17740 * term/i386/pc/vga_text.c: Likewise.
17741 * term/ieee1275/ofconsole.c: Likewise.
17742 * term/usb_keyboard.c: Likewise.
17743
33c846be 177442009-04-14 Bean <bean123ch@gmail.com>
17745
17746 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17747 properly with null character.
17748
4484e01e 177492009-04-14 Felix Zielcke <fzielcke@z-51.de>
17750
17751 * configure: Remove.
17752 * config.h.in: Likewise.
f93d668e 17753 * stamp-h.in: Likewise.
4484e01e 17754 * DISTLIST: Likewise.
17755 * conf/common.mk: Likewise.
17756 * conf/i386-coreboot.mk: Likewise.
17757 * conf/i386-efi.mk: Likewise.
17758 * conf/i386-ieee1275.mk: Likewise.
17759 * conf/i386.mk: Likewise.
17760 * conf/i386-pc.mk: Likewise.
17761 * conf/powerpc-ieee1275.mk: Likewise.
17762 * conf/sparc64-ieee1275.mk: Likewise.
17763 * conf/x86_64-efi.mk: Likewise.
17764
17765 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17766 develop on GRUB.
17767
7dd4a573 177682009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 17769 David S. Miller <davem@davemloft.net>
17770
17771 * util/hostdisk.c (make_device_name): Fix buffer length
17772 calculations.
17773
e25b5a8c 177742009-04-14 Felix Zielcke <fzielcke@z-51.de>
17775
17776 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17777 <sys/param.h> and <sys/sysctl.h>.
17778 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17779 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17780 opening the device and reset them afterwards.
17781
1f1f580c 177822009-04-13 Pavel Roskin <proski@gnu.org>
17783
17784 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17785 Reported by John Stanley <jpsinthemix@verizon.net>
17786
7ebc2d6b 177872009-04-13 Robert Millan <rmh@aybabtu.com>
17788
17789 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 17790 that name for menuentries when appropriate.
7ebc2d6b 17791
d8ba3667 177922009-04-13 Felix Zielcke <fzielcke@z-51.de>
17793
17794 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17795
cba416eb 177962009-04-13 Robert Millan <rmh@aybabtu.com>
17797
17798 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17799 to Linux, simply abort telling the user it's no longer supported.
17800
a547a745 178012009-04-13 Felix Zielcke <fzielcke@z-51.de>
17802
17803 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 17804 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 17805 `freebsd_loadenv' only when devices.hints exist.
17806
232a769c 178072009-04-13 Pavel Roskin <proski@gnu.org>
17808
17809 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17810
c3012039 178112009-04-13 Felix Zielcke <fzielcke@z-51.de>
17812
17813 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17814 partition number.
17815 (grub_drive): Likewise.
17816
234022fe 178172009-04-13 David S. Miller <davem@davemloft.net>
17818
17819 * kern/sparc64/ieee1275/ieee1275.c: New file.
17820 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17821 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17822 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17823 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17824 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17825 grub_ieee1275_alloc_physmem): Declare new exported functions.
17826
d8e1836c 17827 * include/grub/sparc64/ieee1275/loader.h: New file.
17828 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17829 * include/grub/sparc64/kernel.h: Likewise.
17830 * loader/sparc64/ieee1275/linux.c: Likewise.
17831
96bd81ec 17832 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17833 (grub_fstest_SOURCES): Likewise.
17834
6a4737e5 17835 * util/hostdisk.c (make_device_name): Do not make any assumptions
17836 about the length of drive names.
17837
1d7a72fd 17838 * kern/dl.c (grub_dl_load_file): Close file immediately when
17839 we are done using it.
17840
56bc2471 178412009-04-12 David S. Miller <davem@davemloft.net>
17842
17843 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17844 values. Noticed by Pavel Roskin.
17845
df38d0bb 17846 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17847 target compiler.
7dd4a573 17848
e382e93a 17849 * genmk.rb: Add more flexible image type specification, also
17850 pass --strip-unneeded to objcopy.
17851 * conf/i386-pc.rmk: Use *_FORMAT.
17852 * conf/i386-pc.mk: Rebuilt.
17853
f5dbbca9 17854 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17855 (OFDISK_HASH_SZ): Define.
17856 (ofdisk_hash): New hash table.
17857 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17858 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17859 instead of device phandle which is not unique.
17860
91c88b12 17861 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17862 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17863 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17864 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17865 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17866 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17867 GRUB_KERNEL_MACHINE_DATA_END): Define.
17868 (grub_kernel_image_size, grub_total_module_size): Declare.
17869
5b5d4aa5 178702009-04-12 Pavel Roskin <proski@gnu.org>
17871
7dd4a573 17872 * configure.ac: Change the logic when we check for target tools.
17873 Do it when the target is specified and it's different from the
17874 specified value of the host.
5b5d4aa5 17875
c91e1793 178762009-04-11 Felix Zielcke <fzielcke@z-51.de>
17877
17878 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17879 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17880 GNU/kFreeBSD. Check if a device is a character device. Use
17881 DIOCGMEDIASIZE to get the size.
17882 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17883 support for GNU/kFreeBSD.
17884 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17885 is a character device instead of a block device. Add support for
17886 FreeBSD device names.
17887
17888 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17889 is a character device instead of a block device.
17890
17891 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17892 is a character device instead of a block device.
17893
b1ac8644 178942009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17895
17896 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17897 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17898 FreeBSD. Check if a device is a character device. Use
17899 DIOCGMEDIASIZE to get the size.
17900 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17901 support for FreeBSD.
17902 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17903 is a character device instead of a block device. Add support for
17904 FreeBSD device names.
17905
17906 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17907 a character device instead of a block device.
17908 (grub_util_check_char_device): New function.
17909
17910 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17911 a character device instead of a block device.
17912
17913 * include/grub/util/getroot.h (grub_util_check_char_device): New
17914 prototype.
17915
a3f7515a 179162009-04-11 David S. Miller <davem@davemloft.net>
17917
17918 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17919 static libgcc.
17920 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17921 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17922 function, if present.
17923 (__bswapdi2): Likewise.
17924
0d44993d 17925 * include/grub/sparc64/ieee1275/boot.h: New file.
17926 * boot/sparc64/ieee1275/boot.S: Likewise.
17927 * boot/sparc64/ieee1275/diskboot.S: Likewise.
17928
ed3d2bc2 17929 * kern/misc.c (grub_ltoa): New function.
17930 (grub_vsprintf): Use it to format 'long' integers.
17931
d3bfb59c 179322009-04-10 David S. Miller <davem@davemloft.net>
17933
17934 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
17935 slots are of type grub_ieee1275_cell_t.
17936 (grub_nand_read): Likewise.
17937 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
17938 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
17939 macros are used to compare values in arg/ret block of the call.
17940 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
17941 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
17942 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
17943 grub_ieee1275_instance_to_path, grub_ieee1275_write,
17944 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
17945 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
17946 grub_ieee1275_close, grub_ieee1275_set_property,
17947 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
17948 grub_ieee1275_cell_t.
17949 * kern/ieee1275/openfw.c (grub_map): Likewise.
17950 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
17951 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
17952
450e2238 17953 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
17954 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
17955 (grub_devalias_iterate): Likewise.
17956
7dd4a573 179572009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 17958
17959 UFS improvements
17960
17961 * fs/ufs.c (INODE_NBLOCKS): new definition
17962 (struct grub_ufs_dirent): added fields for non-BSD dirents
17963 (grub_ufs_get_file_block): fixed double indirect handling
17964 (grub_ufs_lookup_symlink): use more robust way to determine whether
17965 symlink is inline
17966 (grub_ufs_find_file): support for non-BSD dirents
17967 (grub_ufs_dir): support for non-BSD dirents
17968
e7e6862a 179692009-04-10 Bean <bean123ch@gnail.com>
17970
17971 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
17972 attribute, otherwise the size would be wrong for i386 platform.
17973
17974 * include/grub/pci.h (grub_pci_read_word): New inline function.
17975 (grub_pci_read_byte): Likewise.
17976 (grub_pci_write): Likewise.
17977 (grub_pci_write_word): Likewise.
17978 (grub_pci_write_byte): Likewise.
17979
17980 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
17981
17982 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
17983 (find_framebuf): Scan pci to locate the frame buffer address.
17984
17985 * commands/efi/fixvideo.c: New file.
17986
17987 * commands/efi/loadbios.c: Likewise.
17988
17989 * commands/memrw.c: Likewise.
17990
17991 * util/grub-dumpbios.in: Likewise.
17992
17993 * conf/common.rmk (grub-dumpbios): New utility.
17994 (pkglib_MODULES): New module memrw.mod.
17995 (memrw_mod_SOURCE): New macro.
17996 (memrw_mod_CFLAGS): Likewise.
17997 (memrw_mod_LDFLAGS): Likewise.
17998
7dd4a573 17999 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18000 fixvideo.mod.
18001 (loadbios_mod_SOURCE): New macro.
18002 (loadbios_mod_CFLAGS): Likewise.
18003 (loadbios_mod_LDFLAGS): Likewise.
18004 (fixvideo_mod_SOURCE): Likewise.
18005 (fixvideo_mod_CFLAGS): Likewise.
18006 (fixvideo_mod_LDFLAGS): Likewise.
18007
7dd4a573 18008 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18009 fixvideo.mod.
18010 (loadbios_mod_SOURCE): New macro.
18011 (loadbios_mod_CFLAGS): Likewise.
18012 (loadbios_mod_LDFLAGS): Likewise.
18013 (fixvideo_mod_SOURCE): Likewise.
18014 (fixvideo_mod_CFLAGS): Likewise.
18015 (fixvideo_mod_LDFLAGS): Likewise.
18016
af63ada2 180172009-04-08 Felix Zielcke <fzielcke@z-51.de>
18018
18019 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
18020
c2cdde70 180212009-04-07 David S. Miller <davem@davemloft.net>
18022
18023 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
18024 support for R_SPARC_OLO10 relocations. Fix compile warning for
18025 R_SPARC_WDISP30 case.
ea3f72cf 18026 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 18027
761319cf 180282009-04-06 Pavel Roskin <proski@gnu.org>
18029
1007d1f5 18030 * include/grub/misc.h (ARRAY_SIZE): New macro.
18031 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
18032 New macro.
18033 * loader/i386/linux.c (allocate_pages): Use free_pages().
18034 (grub_linux_unload): Don't use free_pages().
18035 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
18036 wrong index. Treat all other modes as text modes.
18037 (grub_cmd_linux): Initialize vid_mode unconditionally to
18038 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
18039
761319cf 18040 * commands/help.c (print_command_help): Use cmd->prio, not
18041 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
18042
ea761d40 180432009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 18044
ea761d40 18045 Parttool
18046
18047 * parttool/pcpart.c: new file
18048 * commands/parttool.c: likewise
18049 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
18050 (parttool_mod_SOURCES): new variable
18051 (parttool_mod_CFLAGS): likewise
18052 (parttool_mod_LDFLAGS): likewise
18053 (pcpart_mod_SOURCES): likewise
18054 (pcpart_mod_CFLAGS): likewise
18055 (pcpart_mod_LDFLAGS): likewise
7dd4a573 18056 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 18057 and parttool/pcpart.c
18058 * conf/i386-efi.rmk: likewise
18059 * conf/i386-ieee1275.rmk: likewise
18060 * conf/i386-pc.rmk: likewise
18061 * conf/powerpc-ieee1275.rmk: likewise
18062 * conf/sparc64-ieee1275.rmk: likewise
18063 * conf/x86_64-ieee1275.rmk: likewise
18064
05aaebfb 180652009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 Support for mtime and further expandability of dir command
18068
18069 * include/grub/lib/datetime.h: moved to ...
7dd4a573 18070 * include/grub/datetime.h: ... moved here and added
05aaebfb 18071 declaration of grub_unixtime2datetime. All users updated
7dd4a573 18072 * include/grub/fs.h: new syntax for dir and mtime functions in
18073 struct grub_fs
05aaebfb 18074 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
18075 and GRUB_FSHELP_FLAGS_MASK
18076 * commands/ls.c (grub_ls_list_files): Write mtime in long format
18077 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
18078 (grub_ext2_mtime): new function
18079 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
18080 (grub_hfsplus_mtime): new function
18081 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
18082 (GRUB_UFS_ATTR_FILE): likewise
18083 (GRUB_UFS_ATTR_LNK): likewise
18084 (struct grub_ufs_sblock): new fields mtime
18085 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
18086 all users updated
18087 (grub_ufs_dir): mtime support
18088 (grub_ufs_mtime): new function
18089 * fs/affs.c (grub_affs_dir): use new dir syntax
18090 * fs/afs.c (grub_afs_dir): likewise
18091 * fs/cpio.c (grub_cpio_dir): likewise
18092 * fs/fat.c (grub_fat_find_dir): likewise
18093 * fs/hfs.c (grub_hfs_dir): likewise
18094 * fs/iso9660.c (grub_iso9660_dir): likewise
18095 * fs/jfs.c (grub_jfs_dir): likewise
18096 * fs/minix.c (grub_minix_dir): likewise
18097 * fs/ntfs.c (grub_ntfs_dir): likewise
18098 * fs/reiserfs.c (grub_reiserfs_dir): likewise
18099 * fs/sfs.c (grub_sfs_dir): likewise
18100 * fs/xfs.c (grub_xfs_dir): likewise
18101 * util/hostfs.c (grub_hostfs_dir): likewise
18102 * lib/datetime.c: moved to ...
18103 * normal/datetime.c: ... moved here
18104 (grub_unixtime2datetime): new function
18105 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 18106 * normal/completion.c (iterate_dir): use new dir syntax
18107 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 18108 last modification time of a volume
7dd4a573 18109 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 18110 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 18111 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 18112 (normal_mod_SOURCES): likewise
18113 (datetime_mod_SOURCES): Removed lib/datetime.c
18114 * conf/i386-efi.rmk: likewise
7dd4a573 18115 * conf/i386-ieee1275.rmk: likewise
05aaebfb 18116 * conf/i386-pc.rmk: likewise
18117 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18118 * conf/sparc64-ieee1275.rmk: likewise
18119 * conf/x86_64-efi.rmk: likewise
05aaebfb 18120
8a7e1a14 181212009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 18124
18125 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 18126 on grub_fat_find_dir
18127 (grub_fat_find_dir): use grub_fat_iterate_dir
18128 (grub_fat_label): likewise
18129
04186a9c 181302009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18131
7dd4a573 18132 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 18133 and command.h
18134 remove extraneous kernel_elf_HEADERS
18135
da4c0bb6 181362009-04-04 Bean <bean123ch@gnail.com>
18137
18138 * include/grub/util/misc.h: Add dummy function fsync for mingw.
18139
18140 * util/misc.c: Likewise.
18141
54ad9555 181422009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
18143
18144 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
18145 instead of grub_printf.
18146
7a6bf9f2 181472009-04-03 Robert Millan <rmh@aybabtu.com>
18148
18149 * loader/i386/linux.c (grub_linux_setup_video): Fill
18150 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
18151 values from `mode info' structure instead of hardcoded
18152 values.
18153
3fcc2083 181542009-04-01 Pavel Roskin <proski@gnu.org>
18155
18156 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
18157 unused now.
18158 * genmk.rb: Likewise.
18159 * configure.ac: Likewise.
18160
5ec9740b 181612009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
18162
18163 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
18164 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
18165
5270cec8 181662009-04-01 David S. Miller <davem@davemloft.net>
18167
18168 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 18169 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 18170 (grub_setjmp): Mark with 'returns_twice' attribute.
18171 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
18172 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
18173 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
18174
9c3dd854 181752009-04-01 Robert Millan <rmh@aybabtu.com>
18176
18177 Reapply fix from 2008-07-28 which was accidentally reverted; also
18178 perform the same fix to a similar check in same function.
18179
18180 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
18181 with the same number are found, just use issue a warning with
18182 grub_dprintf(), as this error has been reported to be non-fatal.
18183
0d818b7e 181842009-03-31 Pavel Roskin <proski@gnu.org>
18185
18186 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
18187 for cross-compilation.
18188
95646d92 181892009-03-30 Robert Millan <rmh@aybabtu.com>
18190
18191 Fix i386-ieee1275 build.
18192
18193 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
18194 Remove declaration.
18195
6a003ed1 181962009-03-30 Pavel Roskin <proski@gnu.org>
18197
18198 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
18199 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
18200 zero-terminated, rely only on the strlen value. Fix comparison
18201 of strings differing in length.
18202
92f33540 182032009-03-30 Robert Millan <rmh@aybabtu.com>
18204
18205 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
18206 checking for abi version. Improve error messages on BIOS to notify
18207 user about `linux16' command.
18208
a8c48fd5 182092009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18210
f968172e 18211 Leak fixes
a8c48fd5 18212
f968172e 18213 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
18214 in case of collision
18215 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 18216
9c323f09 182172009-03-29 Robert Millan <rmh@aybabtu.com>
18218
18219 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
18220 set `vid_mode' accordingly.
18221 (grub_linux_boot): Process `vid_mode' and set video mode.
18222
ae68f423 182232009-03-29 Robert Millan <rmh@aybabtu.com>
18224
18225 * util/grub.d/10_linux.in (linux_entry): New function.
18226 Factorize generation of Linux boot entries.
18227
5709cfc4 182282009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
18229
18230 Make the format of Environment Block plain text. The boot loader
18231 part is not tested well yet.
7dd4a573 18232
5709cfc4 18233 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
18234 (buffer): Removed.
18235 (envblk): Likewise.
18236 (usage): Remove "info" and "clear". Add "unset". Update the
18237 description of "set", as this does not delete variables any
18238 longer.
18239 (create_envblk_file): Complete rewrite.
18240 (open_envblk_file): Likewise.
18241 (cmd_info): Removed.
18242 (cmd_list): Likewise.
18243 (cmd_set): Likewise.
18244 (cmd_clear): Likewise.
18245 (list_variables): New function.
18246 (write_envblk): Likewise.
18247 (set_variables): Likewise.
18248 (unset_variables): Likewise.
18249 (main): Complete rewrite.
18250
18251 * commands/loadenv.c (buffer): Removed.
18252 (envblk): Likewise.
18253 (open_envblk_file): New function.
18254 (read_envblk_file): Complete rewrite.
18255 (grub_cmd_load_env): Likewise.
18256 (grub_cmd_list_env): Likewise.
18257 (struct blocklist): New struct.
18258 (free_blocklists): New function.
18259 (check_blocklists): Likewise.
18260 (write_blocklists): Likewise.
18261 (grub_cmd_save_env): Complete rewrite.
18262
18263 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
18264 a plain text signature.
18265 (GRUB_ENVBLK_MAXLEN): Removed.
18266 (struct grub_envblk): Complete rewrite.
18267 (grub_envblk_find): Removed.
18268 (grub_envblk_insert): Likewise.
18269 (grub_envblk_open): New prototype.
18270 (grub_envblk_set): Likewise.
18271 (grub_envblk_delete): Put const to VALUE.
18272 (grub_envblk_iterate): Put const to NAME and VALUE.
18273 (grub_envblk_close): New prototype.
18274 (grub_envblk_buffer): New inline function.
18275 (grub_envblk_size): Likewise.
18276
18277 * lib/envblk.c: Include grub/mm.h.
18278 (grub_env_find): Removed.
18279 (grub_envblk_open): New function.
18280 (grub_envblk_close): Likewise.
18281 (escaped_value_len): Likewise.
18282 (find_next_line): Likewise.
18283 (grub_envblk_insert): Removed.
18284 (grub_envblk_set): New function.
18285 (grub_envblk_delete): Complete rewrite.
18286 (grub_envblk_iterate): Likewise.
18287
a9368fd3 182882009-03-28 Robert Millan <rmh@aybabtu.com>
18289
18290 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
18291 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
18292 variables. Use 16-bit loader.
18293 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
18294 loader.
18295 * kern/i386/loader.S (grub_linux_boot): Rename to ...
18296 (grub_linux16_boot): ... this. Update all users.
18297 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
18298 (grub_linux_boot): ... this. Update all users.
18299
18300 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
18301 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
18302 commands to `linux16' and `initrd16'.
18303 (GRUB_MOD_FINI(linux)): Rename to ...
18304 (GRUB_MOD_FINI(linux16)): ... this.
18305
e4dd5a7e 183062009-03-24 Pavel Roskin <proski@gnu.org>
18307
18308 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
18309 not just for compilation.
18310
c04d6e05 183112009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 Move multiboot helper out of kernel
18314
18315 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
18316 `loader/i386/multiboot_helper.S'.
18317 * conf/i386-coreboot.rmk: Likewise
18318 * conf/i386-ieee1275.rmk: Likewise
18319
18320 * kern/i386/loader.S: Move multiboot helpers from here...
18321 * loader/i386/multiboot_helper.S: ...moved here
18322 * include/grub/i386/loader.h: Move declarations of multiboot
18323 helpers from here...
18324 * include/grub/i386/multiboot.h: ...moved here
18325 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
18326
42a5b3fc 183272009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18328
18329 * kern/env.c (grub_env_context_open): Added an argument to specify
18330 whether a new context inherits exported variables from current
18331 one. This is useful when making a sandbox to interpret a config
18332 file.
18333 All callers updated.
18334
18335 * include/grub/env.h (grub_env_context_open): Updated the prototype.
18336
b28bbc4e 183372009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18338
18339 * kern/env.c (grub_env_context_close): Fix memory leaks.
18340
f04f02e4 183412009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18342
18343 * normal/main.c (grub_normal_execute): Added an argument
18344 BATCH to specify if an interactive interface should be provided
18345 after reading a config file.
18346 All callers updated.
18347 (read_command_list): Prevent being executed twice.
18348 (read_fs_list): Likewise.
18349
42a5b3fc 18350 * include/grub/normal.h (grub_normal_execute): Updated the
18351 prototype.
f04f02e4 18352
41473ac2 183532009-03-22 Pavel Roskin <proski@gno.org>
18354
fbc00b0c 18355 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
18356 _start.
18357 * kern/i386/pc/startup.S: Likewise.
18358 * kern/i386/efi/startup.S: Likewise.
18359 * kern/i386/ieee1275/startup.S: Likewise.
18360 * kern/i386/coreboot/startup.S: Likewise.
18361 * kern/x86_64/efi/startup.S: Likewise.
18362
41473ac2 18363 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
18364 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
18365 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
18366
2274cc8f 183672009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
18368
18369 Bugfixes in multiboot for bugs uncovered by solaris kernel.
18370
18371 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
18372 limit detection.
18373 Use vaddr of correct segment for entry_point.
18374
b1b797cb 183752009-03-21 Bean <bean123ch@gmail.com>
18376
18377 * commands/blocklist.c: Add include file <grub/command.h>, remove
18378 <grub/normal.h> and <grub/arg.h>.
18379 (grub_cmd_blocklist): Use the new command interface.
18380 (GRUB_MOD_INIT): Likewise.
18381 (GRUB_MOD_FINI): Likewise.
18382 * commands/boot.c: Likewise.
18383 * commands/cat.c: Likewise.
18384 * commands/cmp.c: Likewise.
18385 * commands/configfile.c: Likewise.
18386 * commands/crc.c: Likewise.
18387 * commands/echo.c: Likewise.
18388 * commands/halt.c: Likewise.
18389 * commands/handler.c: Likewise.
18390 * commands/hdparm.c: Likewise.
18391 * commands/help.c: Likewise.
18392 * commands/hexdump.c: Likewise.
18393 * commands/loadenv.c: Likewise.
18394 * commands/ls.c: Likewise.
18395 * commands/lsmmap.c: Likewise.
18396 * commands/lspci.c: Likewise.
18397 * commands/loadenv.c: Likewise.
18398 * commands/read.c: Likewise.
18399 * commands/reboot.c: Likewise.
18400 * commands/search.c: Likewise.
18401 * commands/sleep.c: Likewise.
18402 * commands/test.c: Likewise.
18403 * commands/usbtest.c: Likewise.
18404 * commands/videotest.c: Likewise.
18405 * commands/i386/cpuid.c: Likewise.
18406 * commands/i386/pc/halt.c: Likewise.
18407 * commands/i386/pc/play.c: Likewise.
18408 * commands/i386/pc/pxecmd.c: Likewise.
18409 * commands/i386/pc/vbeinfo.c: Likewise.
18410 * commands/i386/pc/vbetest.c: Likewise.
18411 * commands/ieee1275/suspend.c: Likewise.
18412 * disk/loopback.c: Likewise.
18413 * font/font_cmd.c: Likewise.
18414 * hello/hello.c: Likewise.
18415 * loader/efi/appleloader.c: Likewise.
18416 * loader/efi/chainloader.c: Likewise.
18417 * loader/i386/bsd.c: Likewise.
18418 * loader/i386/efi/linux.c: Likewise.
18419 * loader/i386/ieee1275/linux.c: Likewise.
18420 * loader/i386/linux.c: Likewise.
18421 * loader/i386/pc/chainloader.c: Likewise.
18422 * loader/i386/pc/linux.c: Likewise.
18423 * loader/powerpc/ieee1275/linux.c: Likewise.
18424 * loader/multiboot_loader.c: Likewise.
18425 * term/gfxterm.c: Likewise.
18426 * term/i386/pc/serial.c: Likewise.
18427 * term/terminfo.c: Likewise.
18428
18429 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
18430 * term/i386/pc/vga.c: Likewise.
18431 * video/readers/jpeg.c: Likewise.
18432 * video/readers/png.c: Likewise.
18433 * video/readers/tga.c: Likewise.
18434
18435 * util/grub-fstest (cmd_loopback): Removed.
18436 (cmd_blocklist): Likewise.
18437 (cmd_ls): Likewise.
18438 (grub_register_command): Likewise.
18439 (grub_unregister_command): Likewise.
18440 (execute_command): Use grub_command_find to locate command and execute
18441 it.
18442
18443 * include/grub/efi/chainloader.h: Removed.
18444 * loader/efi/chainloader_normal.c: Likewise.
18445 * loader/i386/bsd_normal.c: Likewise.
18446 * loader/i386/pc/chainloader_normal.c: Likewise.
18447 * loader/i386/pc/multiboot_normal.c: Likewise.
18448 * loader/linux_normal.c: Likewise.
18449 * loader/multiboot_loader_normal.c: Likewise.
18450 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18451
18452 * gencmdlist.sh: Scan new registration command grub_register_extcmd
18453 and grub_register_command_p1.
18454
18455 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
18456 kern/command.c, lib/arg.c and commands/extcmd.c.
18457 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
18458 (minicmd_mod_SOURCES): New variable.
18459 (minicmd_mod_CFLAGS): Likewise.
18460 (minicmd_mod_LDFLAGS): Likewise.
18461 (extcmd_mod_SOURCES): Likewise.
18462 (extcmd_mod_CFLAGS): Likewise.
18463 (extcmd_mod_LDFLAGS): Likewise.
18464 (boot_mod_SOURCES): Removed.
18465 (boot_mod_CFLAGS): Likewise.
18466 (boot_mod_LDFLAGS): Likewise.
18467
18468 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
18469 kern/corecmd.c.
18470 (kernel_img_HEADERS): Add command.h.
18471 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
18472 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
18473 and lib/arg.c.
18474 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
18475 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
18476 remove the corresponding normal mode command.
18477 (normal_mod_SOURCES): Remove normal/arg.c.
18478 * conf/i386-coreboot.rmk: Likewise.
18479 * conf/i386-efi.rmk: Likewise.
18480 * conf/i386-ieee1275.rmk: Likewise.
18481 * conf/powerpc-ieee1275.rmk: Likewise.
18482 * conf/x86_64-efi.rmk: Likewise.
18483
18484 * include/grub/arg.h: Move from here ...
18485 * include/grub/lib/arg.h: ... to here.
18486
18487 * normal/arg.c: Move from here ...
18488 * lib/arg.c: ... to here.
18489
18490 * commands/extcmd.c: New file.
18491 * commands/minicmd.c: Likewise.
18492 * include/grub/command.h: Likewise.
18493 * include/grub/extcmd.h: Likewise.
18494 * kern/command.c: Likewise.
18495 * kern/corecmd.c: Likewise.
18496
18497 * kern/list.c (grub_list_iterate): Return int instead of void.
18498 (grub_list_insert): New function.
18499 (grub_prio_list_insert): Likewise.
18500
18501 * kern/rescue.c (grub_rescue_command): Removed.
18502 (grub_rescue_command_list): Likewise.
18503 (grub_rescue_register_command): Likewise.
18504 (grub_rescue_unregister_command): Likewise.
18505 (grub_rescue_cmd_boot): Move to minicmd.c
18506 (grub_rescue_cmd_help): Likewise.
18507 (grub_rescue_cmd_info): Likewise.
18508 (grub_rescue_cmd_boot): Likewise.
18509 (grub_rescue_cmd_testload): Likewise.
18510 (grub_rescue_cmd_dump): Likewise.
18511 (grub_rescue_cmd_rmmod): Likewise.
18512 (grub_rescue_cmd_lsmod): Likewise.
18513 (grub_rescue_cmd_exit): Likewise.
18514 (grub_rescue_print_devices): Moved to corecmd.c.
18515 (grub_rescue_print_files): Likewise.
18516 (grub_rescue_cmd_ls): Likewise.
18517 (grub_rescue_cmd_insmod): Likewise.
18518 (grub_rescue_cmd_set): Likewise.
18519 (grub_rescue_cmd_unset): Likewise.
7d074e3c 18520 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 18521 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 18522 commands, remove grub_rescue_register_command calls.
b1b797cb 18523
7d074e3c 18524 * normal/command.c (grub_register_command): Removed.
b1b797cb 18525 (grub_unregister_command): Likewise.
18526 (grub_command_find): Likewise.
18527 (grub_iterate_commands): Likewise.
18528 (rescue_command): Likewise.
18529 (export_command): Moved to corecmd.c.
18530 (set_command): Removed.
18531 (unset_command): Likewise.
18532 (insmod_command): Likewise.
18533 (rmmod_command): Likewise.
18534 (lsmod_command): Likewise.
18535 (grub_command_init): Likewise.
18536
18537 * normal/completion.c (iterate_command): Use cmd->prio to check for
18538 active command.
18539 (complete_arguments): Use grub_extcmd_t structure to find options.
18540 (grub_normal_do_completion): Change function grub_iterate_commands to
18541 grub_command_iterate.
18542
18543 * normal/execute.c (grub_script_execute_cmd): No need to parse
18544 argument here.
18545
18546 * normal/main.c (grub_dyncmd_dispatcher): New function.
18547 (read_command_list): Register unload commands as dyncmd.
18548 (grub_cmd_normal): Use new command interface, register rescue,
18549 unregister normal at entry, register normal, unregister rescue at exit.
18550
18551 * include/grub/list.h (grub_list_test_t): New type.
18552 (grub_list_iterate): Return int instead of void.
18553 (grub_list_insert): New function.
18554 (GRUB_AS_NAMED_LIST_P): New macro.
18555 (GRUB_AS_PRIO_LIST): Likewise.
18556 (GRUB_AS_PRIO_LIST_P): Likewise.
18557 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
18558 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
18559 (grub_prio_list): New structure.
18560 (grub_prio_list_insert): New function.
18561 (grub_prio_list_remove): New inline function.
18562
18563 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
18564 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
18565 (GRUB_COMMAND_FLAG_MENU): Likewise.
18566 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18567 (GRUB_COMMAND_FLAG_TITLE): Likewise.
18568 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18569 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
18570 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
18571 (grub_command): Likewise.
18572 (grub_register_command): Likewise.
18573 (grub_command_find): Likewise.
18574 (grub_iterate_commands): Likewise.
18575 (grub_command_init): Likewise.
18576 (grub_arg_parse): Likewise.
18577 (grub_arg_show_help): Likewise.
18578
18579 * include/grub/rescue.h (grub_rescue_register_command): Removed.
18580 (grub_rescue_unregister_command): Likewise.
18581
18582 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18583 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18584 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18585
18586 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18587 grub_rescue_cmd_initrd.
18588 * include/grub/i386/loader.h: Likewise.
18589 * include/grub/x86_64/loader.h: Likewise.
18590
18591 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18592
1f4147aa 185932009-03-21 Bean <bean123ch@gmail.com>
18594
18595 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18596 instead of stat in mingw environment.
18597
18598 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18599
18600 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18601
18602 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18603 AC_CONFIG_LINKS.
18604
2156d5ba 186052009-03-21 Bean <bean123ch@gmail.com>
18606
18607 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18608 out of range error.
18609
177b82ca 186102009-03-18 Michel Dänzer <michel@daenzer.net>
18611
18612 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18613 checking inode flags for EXT4_EXTENTS_FLAG.
18614
14aad807 186152009-03-18 Robert Millan <rmh@aybabtu.com>
18616
18617 * loader/i386/linux.c: Include `<grub/video.h>' and
18618 `<grub/i386/pc/vbe.h>'..
18619 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18620 (grub_linux32_boot): Attempt to configure video settings with
18621 grub_linux_setup_video().
18622 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18623 to avoid grub_console_fini() which would step out of graphical mode
18624 unconditionally.
18625
8cf83a27 186262009-03-14 Robert Millan <rmh@aybabtu.com>
18627
18628 Fix build on powerpc.
18629 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18630
40164e75 186312009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18632
18633 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18634 background image command.
18635
c58bc32a 186362009-03-12 Colin D Bennett <colin@gibibit.com>
18637
18638 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18639 (grub_gfxterm_putchar): Extract pairs of identical calls to
18640 draw_cursor out of conditional blocks.
18641
5415144a 186422009-03-11 Pavel Roskin <proski@gnu.org>
18643
18644 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18645 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18646
6394042e 186472009-03-11 Robert Millan <rmh@aybabtu.com>
18648
18649 * loader/i386/multiboot_elfxx.c
18650 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18651
b7b50e5f 186522009-03-11 Felix Zielcke <fzielcke@z-51.de>
18653
18654 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18655 `kern/handler.c'.
18656
1ca7fc96 186572009-03-11 Robert Millan <rmh@aybabtu.com>
18658
18659 * loader/i386/multiboot.c (code_size): New variable.
18660 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18661 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18662 4-byte alignment to MBI and others by increasing
7d074e3c 18663 `boot_loader_name_length' appropriately.
1ca7fc96 18664
18665 * loader/i386/multiboot_elfxx.c
18666 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18667
a83ea1d2 186682009-03-09 Felix Zielcke <fzielcke@z-51.de>
18669
18670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18671 `fs/ext2.c'.
18672
aa9f3bff 186732009-03-08 Robert Millan <rmh@aybabtu.com>
18674
18675 Make loader/i386/linux.c usable on i386-pc again.
18676
18677 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18678 memory to heap.
18679 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18680 `#error' stanza.
18681
d8b3b60e 186822009-03-07 Bean <bean123ch@gmail.com>
18683
18684 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18685 allocation.
18686
b362c9e9 186872009-03-06 Robert Millan <rmh@aybabtu.com>
18688
18689 Fix display issue on terminals with screen size other than 80x25
18690 (e.g. gfxterm with resolution higher than 640x480).
18691
18692 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18693 position relative to the center of the terminal instead of relying
b362c9e9 18694 on a hardcoded offset.
18695
9304eef1 186962009-03-04 Robert Millan <rmh@aybabtu.com>
18697
18698 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18699 installed.
18700
18701 * Makefile.in (host_kernel): New variable.
18702 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18703 scripts instead of just the windows one.
18704 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18705
eabc95fb 187062009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18707
18708 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18709 `kern/handler.c'.
18710 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18711 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18712 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18714 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18715 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18716
ceb1223c 187172009-03-04 Felix Zielcke <fzielcke@z-51.de>
18718
18719 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18720 or if there's no space for the disk label and print the partition number on a
18721 invalid magic.
18722
4910684a 187232009-03-04 Felix Zielcke <fzielcke@z-51.de>
18724
18725 * util/misc.c: Include <time.h>.
18726 (grub_millisleep): New function.
18727
7e9ca17a 187282009-03-04 Bean <bean123ch@gmail.com>
18729
18730 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18731 another option -mno-red-zone.
18732
18733 * commands/handler.c: Change module description.
18734
18735 * kern/handler.c: Add missing space at the end of description line.
18736
18737 * kern/list.c: Likewise.
18738
f501677c 187392009-03-03 Robert Millan <rmh@aybabtu.com>
18740
18741 Move more components to the relocation area, and fix mbi pointer
18742 handling to use the destination rather than the origin (thanks to
18743 Vladimir Serbinenko for spotting).
18744
18745 * loader/i386/multiboot.c (mbi_dest): New variable.
18746 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18747 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18748 relocation area.
18749
9902d047 187502009-03-01 Bean <bean123ch@gmail.com>
18751
50fb7002 18752 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 18753 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18754 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18755 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18756
18757 * loader/i386/efi/linux.c (acpi_guid): New variable.
18758 (acpi_guid): Likewise.
18759 (EBDA_SEG_ADDR): New constant.
18760 (LOW_MEM_ADDR): Likewise.
18761 (FAKE_EBDA_SEG): Likewise.
18762 (fake_bios_data): New function.
18763 (grub_linux_boot): Call fake_bios_data.
18764
71b9f361 187652009-03-01 Bean <bean123ch@gmail.com>
18766
18767 * commands/terminal.c: Removed.
18768
18769 * commands/handler.c: New file.
18770
18771 * include/grub/list.h: Likewise.
18772
18773 * include/grub/handler.h: Likewise.
18774
18775 * kern/list.c: Likewise.
18776
18777 * kern/handler.c: Likewise.
18778
18779 * kern/term.h: Include header file <grub/handler.h>.
18780 (grub_term_input): Move next field to the beginning.
18781 (grub_term_output): Likewise.
18782 (grub_term_input_class): New variable.
18783 (grub_term_output_class): Likewise.
18784 (grub_term_register_input): Changed to inline function.
18785 (grub_term_register_output): Likewise.
18786 (grub_term_unregister_input): Likewise.
18787 (grub_term_unregister_output): Likewise.
18788 (grub_term_set_current_input): Likewise.
18789 (grub_term_set_current_output): Likewise.
18790 (grub_term_get_current_input): Likewise.
18791 (grub_term_get_current_output): Likewise.
18792 (grub_term_iterate_input): Removed.
18793 (grub_term_iterate_output): Likewise.
18794
18795 * kern/term.c (grub_term_list_input): Removed.
18796 (grub_term_list_output): Likewise.
18797 (grub_term_input_class): New variable.
18798 (grub_term_output_class): Likewise.
50fb7002 18799 (grub_cur_term_input): Change variable as macro.
71b9f361 18800 (grub_cur_term_output): Likewise.
18801 (grub_term_register_input): Removed.
18802 (grub_term_register_output): Likewise.
18803 (grub_term_unregister_input): Likewise.
18804 (grub_term_unregister_output): Likewise.
18805 (grub_term_set_current_input): Likewise.
18806 (grub_term_set_current_output): Likewise.
18807 (grub_term_iterate_input): Likewise.
18808 (grub_term_iterate_output): Likewise.
18809 (grub_term_get_current_input): Likewise.
18810 (grub_term_get_current_output): Likewise.
18811
18812 * util/grub-editenv.c: Include header file <grub/handler.h>.
18813 (grub_term_get_current_input): Removed.
18814 (grub_term_get_current_output): Likewise.
18815 (grub_term_input_class): New variable.
50fb7002 18816 (grub_term_output_class): Likewise.
71b9f361 18817
18818 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18819 (grub_term_get_current_output): Likewise.
18820 (grub_term_input_class): New variable.
50fb7002 18821 (grub_term_output_class): Likewise.
71b9f361 18822
18823 * util/grub-probe.c (grub_term_get_current_input): Removed.
18824 (grub_term_get_current_output): Likewise.
18825 (grub_term_input_class): New variable.
50fb7002 18826 (grub_term_output_class): Likewise.
71b9f361 18827
18828 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18829 (grub_term_get_current_output): Likewise.
18830 (grub_term_input_class): New variable.
50fb7002 18831 (grub_term_output_class): Likewise.
71b9f361 18832
18833 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18834 (terminal_mod_SOURCES): Likewise.
18835 (terminal_mod_CFLAGS): Likewise.
18836 (terminal_mod_LDFLAGS): Likewise.
18837
18838 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18839 handler.c.
18840 (kernel_img_SOURCES): Add list.c and handler.c.
18841 (kernel_img_HEADERS): Add list.h and handler.h.
18842
18843 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18844 handler.c.
18845 (kernel_mod_SOURCES): Add list.c and handler.c.
18846 (kernel_mod_HEADERS): Add list.h and handler.h.
18847
18848 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18849 handler.c.
18850 (kernel_elf_SOURCES): Add list.c and handler.c.
18851 (kernel_elf_HEADERS): Add list.h and handler.h.
18852
18853 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18854 handler.c.
18855 (kernel_elf_SOURCES): Add list.c and handler.c.
18856 (kernel_elf_HEADERS): Add list.h and handler.h.
18857
18858 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18859 handler.c.
18860 (kernel_mod_SOURCES): Add list.c and handler.c.
18861 (kernel_mod_HEADERS): Add list.h and handler.h.
18862
18863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18864 handler.c.
18865 (kernel_elf_SOURCES): Add list.c and handler.c.
18866 (kernel_elf_HEADERS): Add list.h and handler.h.
18867
8a31787f 188682009-02-27 Robert Millan <rmh@aybabtu.com>
18869
18870 Factorize elf32 / elf64 code in Multiboot loader. This will
18871 prevent it from getting out of sync again.
18872
18873 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18874 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18875 grub_multiboot_load_elf64): Move from here ...
18876 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18877 grub_multiboot_load_elf): ... to here (new file).
18878
51cd3dfc 188792009-02-27 Robert Millan <rmh@aybabtu.com>
18880
18881 * util/grub.d/10_linux.in: Rename "single-user mode" to
18882 "recovery mode".
18883
6e8c9c3a 188842009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 Don't leak in SCSI code.
18887 * disk/scsi.c (grub_scsi_close): free `scsi'.
18888
4b6bf4f9 188892009-02-27 Robert Millan <rmh@aybabtu.com>
18890
18891 * loader/i386/pc/multiboot.c: Move from here ...
18892 * loader/i386/multiboot.c: ... to here. Update all users.
18893
b9413424 188942009-02-27 Robert Millan <rmh@aybabtu.com>
18895
18896 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18897 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18898
50fb7002 188992009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18900
18901 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18902 b-tree.
18903
8cc50345 189042009-02-27 Robert Millan <rmh@aybabtu.com>
18905
18906 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18907 `0x' qualifier as 0 when base is specified as parameter).
18908
6e09b8b7 189092009-02-24 Bean <bean123ch@gmail.com>
18910
18911 * configure.ac: Check for -mcmodel=large in x86_64 target.
18912
18913 * include/grub/efi/api.h (efi_call_10): New macro.
18914 (efi_wrap_10): New function.
18915
18916 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18917 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18918 (GRUB_PE32_REL_BASED_LOW): Likewise.
18919 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18920 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18921 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18922 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18923 (GRUB_PE32_REL_BASED_REL): Likewise.
18924 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18925 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18926 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18927
18928 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
18929 issue.
18930
18931 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
18932 (efi_wrap_10): New function.
18933
18934 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
18935
18936 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
18937 MB/MBP model (NV chipset).
18938 (devdata_devs): Add devpath_5 to the list.
18939
18940 * load/i386/efi/linux.c (video_base): Remove variable.
18941 (RGB_MASK): New macro.
18942 (RGB_MAGIC): Likewise.
18943 (LINE_MIN): Likewise.
18944 (LINE_MAX): Likewise.
18945 (FBTEST_STEP): Likewise.
18946 (FBTEST_COUNT): Likewise.
18947 (fb_list): New variable.
18948 (grub_find_video_card): Remove function.
18949 (find_framebuf): New function.
18950 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
18951 line length.
18952
18953 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
18954 problem for x86_64.
18955
74b21bee 189562009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
18957
18958 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
18959
18960 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
18961 coding tool name.
18962
a455f472 189632009-02-22 Robert Millan <rmh@aybabtu.com>
18964
18965 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
18966 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
18967 in our relocation, instead of using it directly from heap. Also
18968 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
18969
6374daf3 189702009-02-21 Robert Millan <rmh@aybabtu.com>
18971
18972 Implement USB keyboard support (based on patch by Marco Gerards)
18973
18974 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
18975 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
18976 (usb_keyboard_mod_LDFLAGS): New variables.
18977
18978 * term/usb_keyboard.c: New file.
18979
8fa4ea70 189802009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 Corrected wrong declaration
18983
18984 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
18985
353976ac 189862009-02-14 Christian Franke <franke@computer.org>
18987
18988 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
18989 (grub_lspci_iter): Print class code and programming interface byte.
18990
6aa1169b 189912009-02-14 Christian Franke <franke@computer.org>
18992
18993 * gendistlist.sh: Ignore `.svn' directories.
18994
265372ca 189952009-02-14 Felix Zielcke <fzielcke@z-51.de>
18996
18997 * fs/fat.c: Add 2009 to Copyright line.
18998
9ff516f3 189992009-02-14 Christian Franke <franke@computer.org>
19000
19001 * commands/hdparm.c: New file. Provides `hdparm' command
19002 which sends ATA commands via grub_disk_ata_pass_through ().
19003
19004 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
19005
19006 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
19007 and <grub/cpu/io.h> to include/grub/ata.h.
19008 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
19009 (GRUB_CDROM_SECTOR_SIZE): Remove.
19010 (GRUB_ATA_*): Move to include/grub/ata.h.
19011 (GRUB_ATAPI_*): Likewise.
19012 (enum grub_ata_commands): Likewise.
19013 (enum grub_ata_timeout_milliseconds): Likewise.
19014 (struct grub_ata_device): Likewise.
19015 (grub_ata_regset): Likewise.
19016 (grub_ata_regget): Likewise.
19017 (grub_ata_regset2): Likewise.
19018 (grub_ata_regget2): Likewise.
19019 (grub_ata_check_ready): Likewise.
19020 (grub_ata_wait_not_busy): Remove static, exported in
19021 include/grub/ata.h.
19022 (grub_ata_wait_drq): Likewise.
19023 (grub_ata_pio_read): Likewise.
19024
19025 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
19026 function for hdparm.mod.
19027
19028 * include/grub/ata.h: New file, contains declarations from
19029 disk/ata.c.
19030 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
19031
19032 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
19033 (grub_disk_ata_pass_through): New exported variable.
19034
19035 * kern/disk.c (grub_disk_ata_pass_through): New variable.
19036
772e23da 190372009-02-13 Colin D Bennett <colin@gibibit.com>
19038
19039 Support multiple fallback entries, and provide an API to support
19040 executing default+fallback menu entries. Renamed the `terminal' menu
19041 viewer to `text'.
19042
19043 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
19044 variable declaration.
19045 (grub_menu_execute_callback): New structure declaration.
19046 (grub_menu_execute_callback_t): New typedef.
19047 (grub_menu_execute_with_fallback): New function declaration.
19048 (grub_menu_get_entry): Likewise.
19049 (grub_menu_get_timeout): Likewise.
19050 (grub_menu_set_timeout): Likewise.
19051
19052 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
19053
19054 * normal/menu.c (grub_wait_after_message): Moved to
19055 `normal/menu_text.c'.
19056 (draw_border): Likewise.
19057 (print_message): Likewise.
19058 (print_entry): Likewise.
19059 (print_entries): Likewise.
19060 (grub_menu_init_page): Likewise.
19061 (get_entry_number): Likewise.
19062 (print_timeout): Likewise.
19063 (run_menu): Likewise.
19064 (grub_menu_execute_entry): Likewise.
19065 (show_text_menu): Likewise.
19066 (get_and_remove_first_entry_number): New function.
19067 (grub_menu_execute_with_fallback): Likewise.
19068 (get_entry): Renamed to ...
19069 (grub_menu_get_entry): .. this and made it global.
19070 (get_timeout): Renamed to ...
19071 (grub_menu_get_timeout): ... this and made it global.
19072 (set_timeout): Renamed to ...
19073 (grub_menu_set_timeout): ... this and made it global.
19074 (grub_normal_terminal_menu_viewer): Renamed to ...
19075 (grub_normal_text_menu_viewer): ... this.
19076
19077 * normal/menu_text.c: New file. Extracted text-menu-specific code
19078 from normal/menu.c.
19079
19080 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
19081 (normal_mod_SOURCES): Likewise.
19082
19083 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19084 (normal_mod_SOURCES): Likewise.
19085
19086 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19087 (normal_mod_SOURCES): Likewise.
19088
19089 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
19090 (normal_mod_SOURCES): Likewise.
19091
19092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19093 (normal_mod_SOURCES): Likewise.
19094
19095 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19096 (normal_mod_SOURCES): Likewise.
19097
19098 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19099 (normal_mod_SOURCES): Likewise.
19100
16ac430e 191012009-02-11 Robert Millan <rmh@aybabtu.com>
19102
19103 * util/grub.d/00_header.in: Update old reference to `font' command.
19104
06ff20fc 191052009-02-10 Felix Zielcke <fzielcke@z-51.de>
19106
19107 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
19108
19109 Based on patch from Javier Martín.
19110
96da9407 191112009-02-09 Felix Zielcke <fzielcke@z-51.de>
19112
19113 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 19114 to avoid false positives with FAT.
96da9407 19115 (grub_fstest_SOURCES): Likewise.
19116 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19117 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19118 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19119 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19120 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19121 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19122
6dca6fe4 191232009-02-09 Felix Zielcke <fzielcke@z-51.de>
19124
06ff20fc 19125 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 19126 bpb.version_specific.fat12_or_fat16.fstype and
19127 bpb.version_specific.fat32.fstype.
19128
2550c62f 191292009-02-08 Robert Millan <rmh@aybabtu.com>
19130
be110b30 19131 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 19132
56978920 191332009-02-08 Robert Millan <rmh@aybabtu.com>
19134
19135 * Makefile.in (host_os, host_cpu): New variables.
19136 (target_os): Remove. Update all users.
19137
d64399b5 191382009-02-08 Marco Gerards <marco@gnu.org>
19139
19140 * Makefile.in (enable_grub_emu_usb): New variable.
19141 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
19142 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
19143 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
19144 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
19145 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
19146 `usbtest.mod' and `usbms.mod'.
19147 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
19148 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
19149 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
19150 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
19151 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
19152 variables.
19153
19154 * disk/usbms.c: New file.
19155
19156 * include/grub/usb.h: Likewise.
19157
19158 * include/grub/usbtrans.h: Likewise.
19159
19160 * include/grub/usbdesc.h: Likewise.
19161
19162 * bus/usb/usbtrans.c: Likewise.
19163
19164 * bus/usb/ohci.c: Likewise.
19165
19166 * bus/usb/uhci.c: Likewise.
19167
19168 * bus/usb/usbhub.c: Likewise.
19169
19170 * bus/usb/usb.c: Likewise.
19171
19172 * commands/usbtest.c: Likewise.
19173
19174 * util/usb.c: Likewise.
50fb7002 19175
d64399b5 19176 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
19177
19178 * configure.ac: Test for libusb presence.
50fb7002 19179
d64399b5 19180 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
19181
2b40d6bb 191822009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
19183
19184 * kern/mm.c: Add more comments.
19185
73a4ce81 191862009-02-08 Robert Millan <rmh@aybabtu.com>
19187
19188 Patch from Javier Martín.
19189 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
19190 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
19191
f821ce59 191922009-02-08 Robert Millan <rmh@aybabtu.com>
19193
19194 * fs/cpio.c: Split tar functionality to ...
19195 * fs/tar.c: ... here (new file). Update all users.
19196
aebfc4b0 191972009-02-07 Robert Millan <rmh@aybabtu.com>
19198
19199 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
19200 backward-incompatible features.
19201
19202 Based on patch from Javier Martín, with some adjustments.
19203
50fb7002 192042009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 19205
19206 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
19207
0bb5115e 192082009-02-07 Robert Millan <rmh@aybabtu.com>
19209
19210 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
19211 position of `disk/lvm.c' to ensure grub_init_all() always picks it
19212 after the RAID stuff.
19213
38a0f8e7 192142009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
19215
50fb7002 19216 Fixes problem when running vbetest command as reported by
38a0f8e7 19217 Vladimir Serbinenko <phcoder@gmail.com>.
19218
19219 * (grub_vbe_set_video_mode): Fixed problem with text modes.
19220
3143cc1c 192212009-02-04 Felix Zielcke <fzielcke@z-51.de>
19222
19223 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
19224 /dev/md/NpN style mdraid devices.
19225
9cba6fce 192262009-02-03 Felix Zielcke <fzielcke@z-51.de>
19227
19228 * util/unifont2pff.rb: Remove.
19229
e507a2c1 192302009-02-03 Felix Zielcke <fzielcke@z-51.de>
19231
19232 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
19233 `#'.
19234
d2c2b4cd 192352009-02-03 Felix Zielcke <fzielcke@z-51.de>
19236
19237 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
19238 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19239 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19240 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19242 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19243 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19244
b4315fb0 192452009-02-02 Christian Franke <franke@computer.org>
19246
19247 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
19248
de3aa260 192492009-02-01 Felix Zielcke <fzielcke@z-51.de>
19250
7c3ff286 19251 * INSTALL: Note that we now require at least autoconf 2.59 and
19252 that LZO is optional.
de3aa260 19253
825a182b 192542009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19255
19256 Base on patch on bug #24154 created by Tomas Tintera
19257 <trosos@seznam.cz>.
19258
19259 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
19260
a69ef770 192612009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19262
7c3ff286 19263 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 19264 <bero@arklinux.org>.
19265
19266 * normal/parser.y (script_init): Add missing semicolon.
19267
6fa42fa6 192682009-01-31 Colin D Bennett <colin@gibibit.com>
19269
7c3ff286 19270 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 19271 (free_menu_entry_classes): Added.
19272 (grub_normal_menu_addentry): Added class property handling.
19273 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
19274 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
19275
19276 * normal/menu_viewer.c: New file.
19277
19278 * normal/menu.c (run_menu_entry): Renamed to ...
19279 (grub_menu_execute_entry): ... this and made it as global.
19280 (grub_menu_run): Renamed to ...
19281 (show_text_menu): ... this and made it local.
19282 (show_text_menu): Adapt to new function names.
19283 (grub_normal_terminal_menu_viewer): New global variable.
19284
19285 * include/grub/menu.h: New file.
19286
19287 * include/grub/menu_viewer.h: New file.
19288
19289 * include/grub/normal.h: Added include to grub/menu.h.
19290 (grub_menu_entry): Moved to include/grub/menu.h.
19291 (grub_menu_entry_t): Likewise.
19292 (grub_menu): Likewise.
19293 (grub_menu_t): Likewise.
19294 (grub_normal_terminal_menu_viewer): Added.
19295 (grub_menu_execute_entry): Likewise.
19296 (grub_menu_run): Removed.
19297
19298 * DISTLIST: Added include/grub/menu.h.
19299 Added include/grub/menu_viewer.h.
19300 Added normal/menu_viewer.c.
19301
193022009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
19303
19304 * normal/execute.c (grub_script_execute_menuentry): Changed to use
19305 arglist for menutitle arguments.
19306
19307 * normal/main.c (grub_normal_menu_addentry): Likewise.
19308
19309 * normal/parser.y (menuentry): Likewise.
19310
19311 * normal/script.c (grub_script_create_cmdmenu): Likewise.
19312
19313 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
19314 (grub_script_create_cmdmenu): Likewise.
19315
19316 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
19317
19318 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
19319 changes.
19320
19321 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
19322
19323 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
19324
19325 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
19326
19327 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19328
19329 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19330
19331 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19332
56192c23 193332009-01-30 Christian Franke <franke@computer.org>
19334
19335 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
19336 in option help text.
19337
d72521b3 193382009-01-27 Pavel Roskin <proski@gnu.org>
19339
19340 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
19341
994b5e84 193422009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19343
19344 * commands/lsmmap.c: Add include to grub/machine/memory.h.
19345
19346 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
19347
19348 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
19349 unregister function.
19350
6a7eab2c 193512009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19352
19353 * disk/scsi.c (grub_scsi_read): Fix sign problem.
19354
19355 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
19356
19357 * util/grub-mkfont.c (usage): Fix typo.
19358
19359 * util/elf/grub-mkimage.c (load_modules): Fix warning.
19360
1806b56e 193612009-01-26 Daniel Mierswa <impulze@impulze.org>
19362
3fb18f09 19363 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
19364
336e1fb9 19365 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
19366
1806b56e 19367 * kern/misc.c (grub_strcasecmp): New function.
19368 (grub_strcasecmp): Use grub_size_t instead of int for length.
19369 Fix return value.
19370 * include/grub/misc.h: Update function prototypes.
19371
580b2a0f 193722009-01-26 Robert Millan <rmh@aybabtu.com>
19373
19374 * configure.ac: Fix cross-compilation check.
ef257b36 19375
d31c24f1 193762009-01-22 Christian Franke <franke@computer.org>
19377
19378 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
19379 (precision) digit string. Allow `.format2' without `format1' (width).
19380 Limit input chars for `%s' output to `format2' if specified. This is
19381 compatible with standard printf ().
19382
3138b44c 193832009-01-22 Christian Franke <franke@computer.org>
19384
19385 * disk/ata.c (grub_ata_wait_status): Replace by ...
19386 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
19387 other status bits may be invalid while BSY is asserted.
19388 (grub_ata_check_ready): New function.
19389 (grub_ata_cmd): Removed.
19390 (grub_ata_wait_drq): New function.
19391 (grub_ata_strncpy): Remove inline.
19392 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
19393 and error check now done by grub_ata_wait_drq ().
19394 (grub_ata_pio_write): Likewise.
19395 (grub_atapi_identify): Set DEV before check for !BSY. Use
19396 grub_ata_wait_drq () to wait for data.
19397 (grub_ata_device_initialize): Add status register check to
19398 detect missing SATA slave devices. Add debug messages.
19399 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
19400 (grub_atapi_packet): Set DEV before check for !BSY. Replace
19401 transfer loop by grub_ata_pio_write ().
19402 (grub_ata_identify): Set DEV before check for !BSY. Use
19403 grub_ata_wait_drq () to wait for data.
ef257b36 19404 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 19405 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
19406 read/write in one loop. Fix invalid command on write. Fix incomplete
19407 command on (size % batch) == 0. Add missing error check after write of
19408 last block. Add debug messages.
19409 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
19410
59a64ef6 194112009-01-19 Christian Franke <franke@computer.org>
19412
19413 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
19414 (GRUB_ATAPI_IREASON_*): Likewise.
19415 (grub_ata_pio_write): Fix timeout error return.
19416 (grub_atapi_identify): Add grub_ata_wait () after cmd.
19417 (grub_atapi_wait_drq): New function.
19418 (grub_atapi_packet): New parameter `size'.
19419 Use grub_atapi_wait_drq () and direct write instead of
19420 grub_ata_pio_write ().
19421 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
19422 reads the number of bytes requested by the device for each DRQ
19423 assertion.
19424 (grub_atapi_write): Remove old implementation, return not
19425 implemented instead.
19426
1cfe20b3 194272009-01-19 Christian Franke <franke@computer.org>
19428
19429 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
19430 of 512 to calculate data size.
19431 (grub_scsi_read12): Likewise.
19432 (grub_scsi_write10): Likewise.
19433 (grub_scsi_write12): Likewise.
19434 (grub_scsi_read): Adjust size according to blocksize.
19435 Add checks for invalid blocksize and unaligned transfer.
19436
bee5fe5d 194372009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
19438
19439 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
19440
ef257b36 19441 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 19442 width glyphs.
19443
3e643f8c 194442009-01-19 Robert Millan <rmh@aybabtu.com>
19445
19446 * config.guess: Update to latest version from config git.
19447 * config.sub: Likewise.
19448
4fa80998 194492009-01-17 Felix Zielcke <fzielcke@z-51.de>
19450
19451 * Makefile.in: Change font compilation to use new grub-mkfont instead
19452 of java version.
19453
19454 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
19455 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
19456 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19457 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19458 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
19459 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
19460 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
19461 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
19462 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19463
7086085b 194642009-01-16 Christian Franke <franke@computer.org>
19465
19466 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
19467 (enum grub_ata_timeout_milliseconds): New enum.
19468 (grub_ata_wait_status): Add parameter milliseconds.
19469 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
19470 recovery from timed-out commands.
19471 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
19472 return grub_errno instead of REG_ERROR.
19473 (grub_ata_pio_write): Add parameter milliseconds.
19474 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
19475 Pass milliseconds to grub_ata_wait_status () and
19476 grub_ata_pio_read ().
19477 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
19478 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
19479 grub_ata_wait_status (). Fix IDENTIFY timeout check.
19480 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
19481 It is not suitable for device detection, because DEV bit is ignored,
19482 the command may run too long, and not all devices set the signature
19483 properly.
19484 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
19485 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
19486 Fix device selection, DEV bit must be set first to address the registers
19487 of the correct device.
19488 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
19489 grub_ata_pio_read/write ().
19490 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
19491 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
19492
4a412913 194932009-01-13 Carles Pina i Estany <carles@pina.cat>
19494
19495 * util/grub-editenv.c (main): Use fseeko(), not fseek().
19496
7795c55e 194972009-01-13 Bean <bean123ch@gmail.com>
d913988c 19498
19499 * util/grub-mkfont.c (write_font): forget to remove some debug code.
19500
7795c55e 195012009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 19502
19503 * Makefile.in: (enable_grub_mkfont): New variable.
19504 (freetype_cflags): Likewise.
19505 (freetype_libs): Likewise.
19506
19507 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
19508 (grub_mkfont_SOURCES): New variable.
19509 (grub_mkfont_CFLAGS): Likewise.
19510 (grub_mkfont_LDFLAGS): Likewise.
19511
19512 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
19513 library if `--enable-grub-mkfont' is requested.
19514 (enable_grub_mkfont): New variable.
19515 (freetype_cflags): Likewise.
19516 (freetype_libs): Likewise.
19517
19518 * util/grub-mkfont.c: New file.
19519
093af1fe 195202009-01-12 Christian Franke <franke@computer.org>
19521
19522 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
19523 mode check. Fix setting of compat_use[].
19524
f36cc108 195252009-01-10 Robert Millan <rmh@aybabtu.com>
19526
19527 Update a few copyright years which we forgot to do in 2008 (only for
19528 files whose changes made in 2008 were copyright-significant)
19529
19530 * Makefile.in: Add 2008 to Copyright line.
19531 * disk/ieee1275/ofdisk.c: Likewise.
19532 * disk/efi/efidisk.c: Likewise.
19533 * kern/dl.c: Likewise.
19534 * kern/sparc64/ieee1275/init.c: Likewise.
19535 * kern/mm.c: Likewise.
19536 * kern/efi/mm.c: Likewise.
19537 * boot/i386/pc/boot.S: Likewise.
19538 * genfslist.sh: Likewise.
19539 * fs/iso9660.c: Likewise.
19540 * fs/hfs.c: Likewise.
19541 * fs/jfs.c: Likewise.
19542 * fs/minix.c: Likewise.
19543 * fs/ufs.c: Likewise.
19544 * gensymlist.sh.in: Likewise.
19545 * genkernsyms.sh.in: Likewise.
19546 * include/grub/misc.h: Likewise.
19547 * include/grub/types.h: Likewise.
19548 * include/grub/symbol.h: Likewise.
19549 * include/grub/elf.h: Likewise.
19550 * include/grub/kernel.h: Likewise.
19551 * include/grub/disk.h: Likewise.
19552 * include/grub/dl.h: Likewise.
19553 * include/grub/i386/linux.h: Likewise.
19554 * include/grub/i386/pc/biosdisk.h: Likewise.
19555 * include/grub/efi/api.h: Likewise.
19556 * include/grub/efi/pe32.h: Likewise.
19557 * include/grub/util/misc.h: Likewise.
19558 * normal/execute.c: Likewise.
19559 * normal/arg.c: Likewise.
19560 * normal/completion.c: Likewise.
19561 * normal/lexer.c: Likewise.
19562 * normal/parser.y: Likewise.
19563 * normal/misc.c: Likewise.
19564 * commands/i386/pc/vbeinfo.c: Likewise.
19565 * commands/hexdump.c: Likewise.
19566 * commands/terminal.c: Likewise.
19567 * commands/ls.c: Likewise.
19568 * commands/help.c: Likewise.
19569 * partmap/pc.c: Likewise.
19570 * loader/efi/chainloader.c: Likewise.
19571 * loader/multiboot_loader.c: Likewise.
19572 * loader/i386/pc/multiboot2.c: Likewise.
19573 * term/efi/console.c: Likewise.
19574 * term/i386/pc/serial.c: Likewise.
19575 * util/lvm.c: Likewise.
19576 * util/console.c: Likewise.
19577 * util/i386/efi/grub-mkimage.c: Likewise.
19578 * util/raid.c: Likewise.
19579
7f02114b 195802009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
19581
19582 * commands/videotest.c: Removed include to grub/machine/memory.h.
19583
19584 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19585 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19586 (video_mod_SOURCES): Removed.
19587 (video_mod_CFLAGS): Likewise.
19588 (video_mod_LDFLAGS): Likewise.
19589 (gfxterm_mod_SOURCES): Likewise.
19590 (gfxterm_mod_CFLAGS): Likewise.
19591 (gfxterm_mod_LDFLAGS): Likewise.
19592 (videotest_mod_SOURCES): Likewise.
19593 (videotest_mod_CFLAGS): Likewise.
19594 (videotest_mod_LDFLAGS): Likewise.
19595 (bitmap_mod_SOURCES): Likewise.
19596 (bitmap_mod_CFLAGS): Likewise.
19597 (bitmap_mod_LDFLAGS): Likewise.
19598 (tga_mod_SOURCES): Likewise.
19599 (tga_mod_CFLAGS): Likewise.
19600 (tga_mod_LDFLAGS): Likewise.
19601 (jpeg_mod_SOURCES): Likewise.
19602 (jpeg_mod_CFLAGS): Likewise.
19603 (jpeg_mod_LDFLAGS): Likewise.
19604 (png_mod_SOURCES): Likewise.
19605 (png_mod_CFLAGS): Likewise.
19606 (png_mod_LDFLAGS): Likewise.
19607
19608 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19609 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19610 (video_mod_SOURCES): Added.
19611 (video_mod_CFLAGS): Likewise.
19612 (video_mod_LDFLAGS): Likewise.
19613 (videotest_mod_SOURCES): Likewise.
19614 (videotest_mod_CFLAGS): Likewise.
19615 (videotest_mod_LDFLAGS): Likewise.
19616 (bitmap_mod_SOURCES): Likewise.
19617 (bitmap_mod_CFLAGS): Likewise.
19618 (bitmap_mod_LDFLAGS): Likewise.
19619 (tga_mod_SOURCES): Likewise.
19620 (tga_mod_CFLAGS): Likewise.
19621 (tga_mod_LDFLAGS): Likewise.
19622 (jpeg_mod_SOURCES): Likewise.
19623 (jpeg_mod_CFLAGS): Likewise.
19624 (jpeg_mod_LDFLAGS): Likewise.
19625 (png_mod_SOURCES): Likewise.
19626 (png_mod_CFLAGS): Likewise.
19627 (png_mod_LDFLAGS): Likewise.
19628 (gfxterm_mod_SOURCES): Likewise.
19629 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 19630 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 19631
19632 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19633 grub/machine/console.h.
19634
644fff97 196352009-01-04 Jerone Young <jerone@gmail.com>
19636
19637 Make on screen instructions clearer
19638
19639 Based on patch created by Jidanni <jidanni@jidanni.org>
19640
19641 * normal/menu.c: print clearer instructions on the screen
19642
1e901a75 196432009-01-02 Colin D Bennett <colin@gibibit.com>
19644
19645 New font engine.
34c44600 19646
1e901a75 19647 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19648 build system and fixed gfxterm.c to work with different sized fonts.
19649
19650 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 19651
1e901a75 19652 * configure: Re-generated.
34c44600 19653
1e901a75 19654 * DISTLIST: Removed font/manager.c.
19655 Added font/font.c.
19656 Added font/font_cmd.c.
34c44600 19657
1e901a75 19658 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19659 compilation.
34c44600 19660
1e901a75 19661 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19662
19663 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19664
19665 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19666
1e901a75 19667 * normal/menu.c: Likewise.
34c44600 19668
1e901a75 19669 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19670 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19671
1e901a75 19672 * include/grub/font.h: Replaced with new file.
34c44600 19673
1e901a75 19674 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19675 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19676 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19677 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19678 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19679 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19680 fg_red, fg_green, fg_blue, fg_alpha.
19681 (grub_video_adapter): Removed blit_glyph.
34c44600 19682 (grub_video_blit_glyph): Removed.
19683
1e901a75 19684 * font/manager.c: Removed file.
34c44600 19685
19686 * font/font.c: New file.
19687
1e901a75 19688 * font/font_cmd.c: Likewise.
34c44600 19689
1e901a75 19690 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19691
1e901a75 19692 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19693 (grub_video_vbe_map_rgba): Likewise.
19694 (grub_video_vbe_unmap_color_int): Likewise.
19695 (grub_video_vbe_blit_glyph): Removed.
19696 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19697
1e901a75 19698 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19699 (get_pixel): Likewise.
34c44600 19700 (set_pixel): Likewise.
19701
1e901a75 19702 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19703
1e901a75 19704 * term/gfxterm.c: Adapted to new font engine.
34c44600 19705
1e901a75 19706 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19707
1e901a75 19708 * term/i386/pc/vga.c: Likewise.
34c44600 19709
1e901a75 19710 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 19711
1e901a75 19712 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 19713
1e901a75 19714 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19715
1e901a75 19716 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19717
1e901a75 19718 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 19719
1e901a75 19720 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 19721
1e901a75 19722 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 19723
1e901a75 19724 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 19725
1e901a75 19726 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19727
19728 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 19729
1e901a75 19730 * util/grub-mkconfig_lib.in: Changed font extension.
19731
278922e8 197322008-12-28 Felix Zielcke <fzielcke@z-51.de>
19733
19734 * util/getroot.c (grub_util_get_grub_dev): Add support for
19735 /dev/md/dNNpNN style partitionable mdraid devices.
19736
3ced05cf 197372008-12-12 Alex Smith <alex@alex-smith.me.uk>
19738
19739 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19740 at a time limit of the PXE TFTP API correctly.
19741 (grub_pxefs_close): Likewise.
19742
7fd0ee30 197432008-11-29 Robert Millan <rmh@aybabtu.com>
19744
34c44600 19745 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 19746 grub_ata_device_initialize() calls.
19747
34c44600 197482008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 19749
19750 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19751 iteration failed.
19752 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19753
89313780 197542008-11-28 Robert Millan <rmh@aybabtu.com>
19755
19756 Fix build on powerpc-ieee1275. Based on patch created by
19757 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19758 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19759 `kern/ieee1275/mmap.c'.
19760 * include/grub/powerpc/ieee1275/memory.h: New file.
19761
15257703 19762 Provide grub-install on coreboot.
19763 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19764 (grub_install_SOURCES): New variable.
19765 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19766 usable on coreboot.
19767
9fc5388a 197682008-11-25 Felix Zielcke <fzielcke@z-51.de>
19769
19770 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19771 to `grub_term_input_t'.
19772 (grub_term_get_current_output): Change return type to
19773 `grub_term_output_t'.
19774
bc3a2f31 197752008-11-22 Robert Millan <rmh@aybabtu.com>
19776
34c44600 19777 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 19778 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19779 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19780 grub_vga_text_cls().
19781
80fc88f2 19782 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 19783 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 19784
cbf36fd3 19785 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19786 to 0x200000 (avoids trouble with some OFW implementations, and matches
19787 with the one in Yaboot).
19788 Reported by Manoel Abranches
19789
73e8e268 197902008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 19791
19792 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19793 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19794
73e8e268 19795 * util/grub-mkconfig_lib.in (grub_warn): New function.
19796 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19797 warnings, to obtain consistent formatting.
19798 * util/grub.d/00_header.in: Likewise.
19799 * util/update-grub_lib.in: Likewise.
19800
e94045a1 19801 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 19802 Move comment text to `#error' stanza.
e94045a1 19803
79d29fd7 19804 Harmonize ieee1275's grub_available_iterate() with the generic
19805 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19806 build problem on i386-ieee1275):
19807 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19808 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19809 parameter `type'. Update all users of this function.
19810 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19811 `kern/ieee1275/mmap.c'.
19812 * kern/ieee1275/init.c
19813 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19814 with ...
19815 (grub_machine_mmap_iterate): ... this.
19816 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19817 return type to `grub_err_t'. Update all implementations of this
19818 function prototype.
19819 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19820 Likewise.
19821
60d6b16e 19822 Add `lsmmap' command (lists firmware-provided memory map):
19823 * commands/lsmmap.c: New file.
19824 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19825 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19826 variables.
19827 * conf/powerpc-ieee1275.rmk: Likewise.
19828 * conf/i386-coreboot.rmk: Likewise.
19829 * conf/i386-ieee1275.rmk: Likewise.
19830
ebaaf49b 198312008-11-19 Robert Millan <rmh@aybabtu.com>
19832
19833 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 19834 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19835 constraints to initrd allocation (based on code from
19836 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19837 for Linux to find it.
ebaaf49b 19838
dfab719f 198392008-11-14 Robert Millan <rmh@aybabtu.com>
19840
19841 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19842 order to cope with duplicate slashes.
19843
10fc3eb9 198442008-11-14 Robert Millan <rmh@aybabtu.com>
19845
19846 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19847 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19848 don't want to mess with lower memory, because it is used in the Linux
19849 loader.
19850
19851 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 19852 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 19853 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19854 is in our heap (probably as a result of it being corrupted during
2f2a3442 19855 decompression). Add #error instance with comment to explain why this
19856 loader isn't currently usable on PC/BIOS.
10fc3eb9 19857
e2e07847 198582008-11-14 Robert Millan <rmh@aybabtu.com>
19859
19860 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 19861 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 19862
fe8e8d69 198632008-11-12 Robert Millan <rmh@aybabtu.com>
19864
19865 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19866
19867 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19868 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19869 from here ...
19870 * include/grub/i386/pc/memory.h: ... to here.
19871
976b07d0 198722008-11-12 Robert Millan <rmh@aybabtu.com>
19873
19874 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19875 split).
19876
19877 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19878 (grub_console_cur_color, grub_console_real_putchar)
19879 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19880 (grub_console_setcolorstate, grub_console_setcolor)
19881 (grub_console_getcolor): Move from here ...
19882 * include/grub/i386/vga_common.h: ... to here (new file).
19883
19884 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19885 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19886 `<grub/i386/io.h>'.
19887 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19888 `<grub/i386/vga_common.h>'.
19889
76679cd3 198902008-11-12 Robert Millan <rmh@aybabtu.com>
19891
19892 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19893 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19894 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19895 variables.
19896 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19897 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19898
19899 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19900 grub_console_init() with call to grub_vga_text_init().
19901 (grub_machine_fini): Replace call to
19902 grub_console_fini() with call to grub_vga_text_fini() and
19903 grub_at_keyboard_fini().
19904
19905 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19906 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19907 (grub_console_setcolorstate, grub_console_setcolor)
19908 (grub_console_getcolor): New function prototypes.
19909
19910 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19911 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19912 (grub_vga_text_setcursor): Static-ize.
19913 (grub_vga_text_term): New structure.
19914 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19915
19916 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19917 (grub_console_cur_color, grub_console_standard_color)
19918 (grub_console_normal_color, grub_console_highlight_color)
19919 (map_char, grub_console_putchar, grub_console_getcharwidth)
19920 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19921 (grub_console_getcolor): Move from here ...
19922 * term/i386/vga_common.c: ... to here (same function names).
19923
95b841d3 199242008-11-12 Robert Millan <rmh@aybabtu.com>
19925
19926 Use newly-added Multiboot support in coreboot.
19927
19928 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19929 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
19930
19931 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
19932 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
19933 (codestart): Store the MBI in `startup_multiboot_info' when we're
19934 being loaded using Multiboot.
19935
19936 * kern/i386/coreboot/init.c (grub_machine_init): Move
19937 grub_at_keyboard_init() call to beginning of function (useful for
19938 debugging). Call grub_machine_mmap_init() before attempting to use
19939 grub_machine_mmap_iterate().
19940 (grub_lower_mem, grub_upper_mem): Move from here ...
19941 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
19942 here (new file).
19943
19944 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
19945 function prototype.
19946
761ca975 199472008-11-12 Robert Millan <rmh@aybabtu.com>
19948
19949 Fix a regression introduced by the at_keyboard.mod split. Because
19950 some terminals are default on some platforms and non-default on
19951 others, the first terminal being registered determines which is
19952 going to be default.
19953
19954 * kern/term.c (grub_term_register_input): If this is the first
19955 terminal being registered, set it as the current one.
19956 (grub_term_register_output): Likewise.
19957
19958 * term/efi/console.c (grub_console_init): Do not call
19959 grub_term_set_current_output() or grub_term_set_current_input().
19960 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
19961 * term/i386/pc/console.c (grub_console_init): Likewise.
19962 (grub_console_fini): Do not call grub_term_set_current_input()
19963 (but leave grub_term_set_current_output() to restore text mode).
19964
6c529df7 199652008-11-10 Robert Millan <rmh@aybabtu.com>
19966
19967 * util/grub.d/00_header.in: Add backward compatibility check for
19968 versions of terminal.mod that don't understand `terminal_input' or
19969 `terminal_output'.
19970
132e4113 199712008-11-09 Robert Millan <rmh@aybabtu.com>
19972
19973 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
19974 `terminal_input' / `terminal_output', not `terminal'.
19975
ac293d50 199762008-11-08 Robert Millan <rmh@aybabtu.com>
19977
19978 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 19979 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 19980
0025933a 199812008-11-08 Robert Millan <rmh@aybabtu.com>
19982
19983 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 19984 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 19985 members. Update all users.
19986 * util/console.c (grub_ncurses_term): Split in ...
19987 (grub_ncurses_term_input): ... this, and ...
19988 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 19989 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 19990
37c86336 199912008-11-08 Robert Millan <rmh@aybabtu.com>
19992
19993 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
19994 (PKGDATA): Add $(pkgdata_SRCDIR).
19995 (pkglib_BUILDDIR): New variable.
19996 (pkgdata_SRCDIR): New variable.
19997 (build_env.mk): New target.
19998 (include_DATA): New variable.
19999 (install-local): Install $(include_DATA) files in $(includedir).
20000
b6c15a2d 200012008-11-07 Pavel Roskin <proski@gnu.org>
20002
d99d46f1 20003 * gendistlist.sh: Use C locale for sorting to ensure consistent
20004 output on all systems.
20005
b6c15a2d 20006 * util/grub.d/00_header.in: Remove incorrect space before
20007 "serial".
20008
c32ee8c9 200092008-11-07 Robert Millan <rmh@aybabtu.com>
20010
20011 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
20012 per specification.
20013 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
20014 * loader/multiboot_loader.c (find_multi_boot2_header): New function
20015 (based on find_multi_boot1_header).
20016 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
20017 using find_multi_boot2_header(), and abort if neither Multiboot or
20018 Multiboot headers were found.
20019
651c29b7 200202008-11-07 Robert Millan <rmh@aybabtu.com>
20021
20022 Modularize at_keyboard.mod:
20023
20024 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
20025 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20026 (at_keyboard_mod_LDFLAGS): New variables.
20027
20028 Actual terminal split:
20029
20030 * include/grub/term.h (struct grub_term): Split in ...
20031 (struct grub_term_input): ... this, and ...
20032 (struct grub_term_output): ... this. Update all users.
20033 (grub_term_set_current): Split in ...
20034 (grub_term_set_current_input): ... this, and ...
20035 (grub_term_set_current_output): ... this.
20036 (grub_term_get_current): Split in ...
20037 (grub_term_get_current_input): ... this, and ...
20038 (grub_term_get_current_output): ... this.
20039 (grub_term_register): Split in ...
20040 (grub_term_register_input): ... this, and ...
20041 (grub_term_register_output): ... this.
20042 (grub_term_unregister): Split in ...
20043 (grub_term_unregister_input): ... this, and ...
20044 (grub_term_unregister_output): ... this.
20045 (grub_term_iterate): Split in ...
20046 (grub_term_iterate_input): ... this, and ...
20047 (grub_term_iterate_output): ... this.
20048
20049 * kern/term.c (grub_term_list): Split in ...
20050 (grub_term_list_input): ... this, and ...
20051 (grub_term_list_output): ... this. Update all users.
20052 (grub_cur_term): Split in ...
20053 (grub_cur_term_input): ... this, and ...
20054 (grub_cur_term_output): ... this. Update all users.
20055 (grub_term_set_current): Split in ...
20056 (grub_term_set_current_input): ... this, and ...
20057 (grub_term_set_current_output): ... this.
20058 (grub_term_get_current): Split in ...
20059 (grub_term_get_current_input): ... this, and ...
20060 (grub_term_get_current_output): ... this.
20061 (grub_term_register): Split in ...
20062 (grub_term_register_input): ... this, and ...
20063 (grub_term_register_output): ... this.
20064 (grub_term_unregister): Split in ...
20065 (grub_term_unregister_input): ... this, and ...
20066 (grub_term_unregister_output): ... this.
20067 (grub_term_iterate): Split in ...
20068 (grub_term_iterate_input): ... this, and ...
20069 (grub_term_iterate_output): ... this.
20070
20071 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
20072 a check for input and one for output (and only attempt to get keys
20073 from user when input works).
20074
20075 * util/grub-probe.c (grub_term_get_current): Split in ...
20076 (grub_term_get_current_input): ... this, and ...
20077 (grub_term_get_current_output): ... this.
20078 * util/grub-fstest.c: Likewise.
20079 * util/i386/pc/grub-setup.c: Likewise.
20080 * util/grub-editenv.c: Likewise.
20081
20082 Portability adjustments:
20083
20084 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
20085 `term/i386/pc/at_keyboard.c'.
20086 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
20087 grub_keyboard_controller_init() (now handled by terminal .init).
20088 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
20089 grub_at_keyboard_init().
20090 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
20091 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
20092 at_keyboard.mod via input terminal interface).
20093 * include/grub/i386/coreboot/console.h: Convert into a stub for
20094 `<grub/i386/pc/console.h>'.
20095
20096 Migrate full terminals to new API:
20097
20098 * term/efi/console.c (grub_console_term): Split into ...
20099 (grub_console_term_input): ... this, and ...
20100 (grub_console_term_output): ... this. Update all users.
20101 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
20102 (grub_ofconsole_init): Split into ...
20103 (grub_ofconsole_init_input): ... this, and ...
20104 (grub_ofconsole_init_output): ... this.
20105 (grub_ofconsole_term): Split into ...
20106 (grub_ofconsole_term_input): ... this, and ...
20107 (grub_ofconsole_term_output): ... this. Update all users.
20108 * term/i386/pc/serial.c (grub_serial_term): Split into ...
20109 (grub_serial_term_input): ... this, and ...
20110 (grub_serial_term_output): ... this. Update all users.
20111 * term/i386/pc/console.c (grub_console_term): Split into ...
20112 (grub_console_term_input): ... this, and ...
20113 (grub_console_term_output): ... this. Update all users.
20114 (grub_console_term_input): Only enable it on PC/BIOS platform.
20115 (grub_console_init): Remove grub_keyboard_controller_init() call.
20116
20117 Migrate input terminals to new API:
20118
20119 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
20120 `i386' and `i386/pc' to enable build on x86_64 (this driver is
20121 i386-specific anyway).
20122 (grub_console_checkkey): Rename to ...
20123 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
20124 users.
20125 (grub_keyboard_controller_orig): New variable.
20126 (grub_console_getkey): Rename to ...
20127 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
20128 users.
20129 (grub_keyboard_controller_init): Static-ize. Save original
20130 controller value so that it can be restored ...
20131 (grub_keyboard_controller_fini): ... here (new function).
20132 (grub_at_keyboard_term): New structure.
20133 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
20134 functions.
20135
20136 Migrate output terminals to new API:
20137
20138 * term/i386/pc/vga.c (grub_vga_term): Change type to
20139 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20140 members. Update all users.
20141 * term/gfxterm.c (grub_video_term): Change type to
20142 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20143 members. Update all users.
20144 * include/grub/i386/pc/console.h (grub_console_checkkey)
20145 (grub_console_getkey): Do not export (no longer needed by gfxterm,
20146 etc).
20147
20148 Migrate `terminal' command and userland tools to new API:
20149
20150 * commands/terminal.c (grub_cmd_terminal): Split into ...
20151 (grub_cmd_terminal_input): ... this, and ...
20152 (grub_cmd_terminal_output): ... this.
20153 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
20154 `terminal_input' and `terminal_output'.
20155 * util/grub.d/00_header.in: Adjust `terminal' calls to new
20156 `terminal_input' / `terminal_output' API.
20157 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
20158 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
20159 provided ${GRUB_TERMINAL}, convert it).
20160
96e5d876 201612008-11-04 Robert Millan <rmh@aybabtu.com>
20162
20163 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
20164 for FreeBSD.
20165 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
20166
556f3775 201672008-11-03 Bean <bean123ch@gmail.com>
20168
20169 * kern/elf.c (grub_elf32_load): Revert to previous code.
20170 (grub_elf64_load): Likewise.
20171
20172 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
20173
926b9823 201742008-11-01 Robert Millan <rmh@aybabtu.com>
20175
20176 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
20177 (TARGET_CPPFLAGS): Likewise.
20178 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
20179
1432e958 201802008-11-01 Carles Pina i Estany <carles@pina.cat>
20181
20182 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
20183
dba3f844 201842008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 20185
20186 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
20187 addition of objects until the code is not going to be able to fail.
20188
dba3f844 201892008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 20190
20191 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
20192 (add a missing NULL check, and correct them by moving the pointer
20193 operations after the actual check).
20194
7ab28c21 201952008-10-29 Robert Millan <rmh@aybabtu.com>
20196
20197 * util/i386/pc/grub-install.in: Handle empty string as output from
20198 make_system_path_relative_to_its_root().
20199
1b7748eb 202002008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
20201
20202 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
20203 circular metadata worst case scenario. If the metadata is circular
20204 then copy the wrap in place.
20205 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
20206 project lib/format_text/layout.h
20207 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
20208
c9618ab2 202092008-10-03 Felix Zielcke <fzielcke@z-51.de>
20210
7a36edca 20211 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 20212
bf981c62 202132008-10-03 Felix Zielcke <fzielcke@z-51.de>
20214
20215 * util/update-grub_lib.in: Mention filename in warning message.
20216
6d994591 202172008-09-29 Felix Zielcke <fzielcke@z-51.de>
20218
20219 * NEWS: Update for rename of update-grub to grub-mkconfig.
20220
18ade780 202212008-09-29 Felix Zielcke <fzielcke@z-51.de>
20222
20223 * util/update-grub_lib.in: Copy to ...
20224 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 20225 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 20226 * util/update-grub.in: Rename to ...
20227 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
20228 option. Add `--output' option to allow users to specify the generated
20229 configuration file. Default to stdout.
20230 (update_grub_dir): Rename to ...
20231 (grub_mkconfig_dir): ... this.
20232 (grub_cfg): Default to an empty string.
20233 * conf/common.rmk (update-grub): Rename to ...
20234 (grub-mkconfig): ... this.
20235 (update-grub_lib): Copy to ...
20236 (grub-mkconfig_lib): ... this.
20237 (update-grub_SCRIPTS): Copy to ...
20238 (grub-mkconfig_SCRIPTS): ... this. Update all users.
20239 (update-grub_DATA): Rename to ...
20240 (grub-mkconfig_DATA): ... this.
20241
556ce6ac 202422008-09-28 Robert Millan <rmh@aybabtu.com>
20243
20244 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
20245 to `modified'. Add the real `created' field.
20246 (grub_iso9660_uuid): Use `modified' rather than `created' for
20247 constructing the UUID.
20248
202492008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 20250
20251 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
20252 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
20253
92274e85 202542008-09-28 Bean <bean123ch@gmail.com>
20255
20256 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
20257 Thanks to Christian Franke for finding this bug.
20258
add6f17a 202592008-09-25 Robert Millan <rmh@aybabtu.com>
20260
20261 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
20262 instances of grub_util_get_disk_name() (see previous commit).
20263
d2a367b8 202642008-09-25 Robert Millan <rmh@aybabtu.com>
20265
20266 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
20267 `util/i386/get_disk_name.c'.
20268 * conf/i386-efi.rmk: Likewise.
20269 * conf/x86_64-efi.rmk: Likewise.
20270 * conf/i386-coreboot.rmk: Likewise.
20271 * conf/i386-ieee1275.rmk: Likewise.
20272 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
20273 `util/ieee1275/get_disk_name.c'.
20274 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
20275 * util/ieee1275/get_disk_name.c: Remove file.
20276 * util/i386/get_disk_name.c: Remove file.
20277 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
20278 "hd%d" for device.map entries, rather than using
20279 grub_util_get_disk_name().
20280
81a06771 202812008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 20282
20283 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
20284 warning.
20285 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
20286
5a004279 202872008-09-24 Carles Pina i Estany <carles@pina.cat>
20288
20289 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
20290 Changed to 0x5100.
20291 (GRUB_TERM_PPAGE): Changed to 0x4900.
20292
397093d3 202932008-09-24 Robert Millan <rmh@aybabtu.com>
20294
20295 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
20296 macros (they were i386-pc specific).
20297 * include/grub/sparc64/ieee1275/console.h: Likewise.
20298 * include/grub/efi/console.h: Likewise.
20299
a91b6c7c 203002008-09-22 Bean <bean123ch@gmail.com>
20301
20302 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
20303 resident and in attribute list.
20304
20305 * include/grub/ntfs.h (BMP_LEN): Removed.
20306
c40fd116 203072008-09-22 Bean <bean123ch@gmail.com>
20308
81a06771 20309 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 20310 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
20311
20312 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
20313 error occurs, as grub_disk_open will call grub_disk_close, which will
20314 call p->close (scsi).
20315
81a06771 203162008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 20317
20318 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
20319 (AC_PREREQ): Bumped to 2.59.
20320 (AC_TRY_COMPILE): Replace obsolete macro with ...
20321 (AC_COMPILE_IFELSE): ... this.
20322 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
20323 (AC_LINK_IFELSE): ... this.
20324
5dc43410 203252008-09-21 Felix Zielcke <fzielcke@z-51.de>
20326
20327 * autogen.sh: Add a call to `gendistlist.sh'.
20328
9035dce4 203292008-09-19 Christian Franke <franke@computer.org>
20330
20331 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
20332 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
20333 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
20334 Export __enable_execute_stack() to modules.
20335 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
20336 New function.
20337
7fd75377 203382008-09-09 Felix Zielcke <fzielcke@z-51.de>
20339
040030b3 20340 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
20341 Sort the list.
20342
203432008-09-09 Felix Zielcke <fzielcke@z-51.de>
20344
20345 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 20346 #include <grub/util/hostdisk.h>.
20347
89d5ffcf 203482008-09-08 Robert Millan <rmh@aybabtu.com>
20349
20350 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
20351 segments when their filesz is zero (grub_file_read() interprets
81a06771 20352 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 20353 Use `lowest_segment' rather than 0 for calculating the current
20354 segment load address.
20355
40da438f 203562008-09-08 Robert Millan <rmh@aybabtu.com>
20357
20358 * util/hostdisk.c (open_device): Replace a grub_util_info() call
20359 with grub_dprintf("hostdisk", ...), as it was so verbose that it
20360 clobbered useful information.
20361
ddbf5556 203622008-09-08 Robert Millan <rmh@aybabtu.com>
20363
20364 * include/grub/util/biosdisk.h: Move to ...
20365 * include/grub/util/hostdisk.h: ... here. Update all users.
20366 * util/biosdisk.c: Move to ...
20367 * util/hostdisk.c: ... here. Update all users.
20368
783d0f48 203692008-09-07 Robert Millan <rmh@aybabtu.com>
20370
20371 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
20372 variables.
20373 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
20374 and length can be stored directly in the `mbi->mmap_addr' and
20375 `mbi->mmap_length' struct fields.
20376
548e2ea5 203772008-09-07 Robert Millan <rmh@aybabtu.com>
20378
20379 * conf/i386.rmk: New file. Provides declaration for building
20380 `cpuid.mod'.
20381 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
20382 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
20383 variables.
20384 Include `conf/i386.mk'.
20385 * conf/i386-efi.rmk: Likewise.
20386 * conf/x86_64-efi.rmk: Likewise.
20387 * conf/i386-coreboot.rmk: Likewise.
20388 * conf/i386-ieee1275.rmk: Likewise.
20389
0ea85a37 203902008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
20391
20392 Based on patch created by Colin D Bennett <colin@gibibit.com>.
20393 Adds optimization support for BGR based modes.
20394
20395 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
20396 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20397 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20398 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20399 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20400 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20401 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20402 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20403 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20404 (grub_video_i386_vbeblit_index_index): Likewise.
20405 (grub_video_i386_vbeblit_replace_directN): Added.
20406 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20407 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20408 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20409 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20410 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20411 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 20412 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 20413 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20414 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20415 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20416 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20417 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20418 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
20419
20420 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
20421 (grub_video_i386_vbefill_R8G8B8): Likewise.
20422 (grub_video_i386_vbefill_index): Likewise.
20423 (grub_video_i386_vbefill_direct32): Added.
20424 (grub_video_i386_vbefill_direct24): Likewise.
20425 (grub_video_i386_vbefill_direct16): Likewise.
20426 (grub_video_i386_vbefill_direct8): Likewise.
20427
81a06771 20428 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 20429 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
20430 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
20431 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
20432 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
20433 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 20434
0ea85a37 20435 * video/video.c (grub_video_get_blit_format): Updated to use new
20436 blit formats. Added handling for 16 bit color modes.
81a06771 20437
20438 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 20439 fillers.
20440 (common_blitter): Updated to use new blitters.
20441
20442 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
20443 Removed.
20444 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20445 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20446 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20447 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20448 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20449 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20450 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20451 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20452 (grub_video_i386_vbeblit_index_index): Likewise.
20453 (grub_video_i386_vbeblit_replace_directN): Added.
20454 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20455 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20456 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20457 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20458 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20459 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
20460 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
20461 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20462 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20463 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20464 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20465 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20466 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 20467
0ea85a37 20468 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
20469 (grub_video_i386_vbefill_R8G8B8): Likewise.
20470 (grub_video_i386_vbefill_index): Likewise.
20471 (grub_video_i386_vbefill_direct32): Added.
20472 (grub_video_i386_vbefill_direct24): Likewise.
20473 (grub_video_i386_vbefill_direct16): Likewise.
20474 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 20475
0ea85a37 20476 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
20477 types.
81a06771 20478
0ea85a37 20479 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
20480 types.
81a06771 20481
0ea85a37 20482 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
20483 blitter types.
81a06771 20484
0ea85a37 20485 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
20486 types.
20487
e8a83df6 204882008-09-06 Felix Zielcke <fzielcke@z-51.de>
20489
20490 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
20491 RAID level 1.
20492
6bcd8ee5 204932008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 20494
6bcd8ee5 20495 * fs/iso9660.c (grub_iso9660_date): New structure.
20496 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
20497 (grub_iso9660_uuid): New function.
c375ae58 20498
59261157 204992008-09-05 Bean <bean123ch@gmail.com>
20500
20501 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
20502
20503 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
20504 insensitive bit for names in Win32 and Win32 & DOS namespace.
20505
20506 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
20507
20508 * include/grub/types.h (LONG_MAX): Likewise.
20509
58b6645a 205102008-09-04 Felix Zielcke <fzielcke@z-51.de>
20511
4ee55921 20512 * util/getroot.c: Include <config.h>.
20513 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
20514 add support for /dev/md/N devices and handle LVM double dash escaping.
20515
205162008-09-04 Felix Zielcke <fzielcke@z-51.de>
20517
20518 * config.guess: Update to latest version from config git.
20519 * config.sub: Likewise.
58b6645a 20520
9124f65d 205212008-09-03 Robert Millan <rmh@aybabtu.com>
20522
20523 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
20524 `disk->total_sectors'.
20525
81a06771 205262008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 20527
20528 * include/grub/normal.h: Fixed incorrect comment for
20529 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
20530
81a06771 205312008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 20532
20533 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
20534 values with defines.
20535
20536 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
20537 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
20538 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
20539 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20540 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20541 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20542 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20543 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20544 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20545 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20546 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20547 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20548 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20549 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20550 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20551 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
20552 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
20553 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
20554 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
20555
93d5cbf8 205562008-08-31 Robert Millan <rmh@aybabtu.com>
20557
20558 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
20559 declaration.
20560 (grub_multiboot): Fix a few warnings.
20561
21751d50 205622008-08-31 Robert Millan <rmh@aybabtu.com>
20563
20564 * loader/i386/pc/multiboot.c: Update comment not to say that
20565 boot_device support is unimplemented.
20566
e27a75c5 205672008-08-31 Robert Millan <rmh@aybabtu.com>
20568
20569 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
20570 or memory map support are unimplemented.
20571
81a06771 205722008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 20573
20574 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
20575
81a06771 205762008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 20577
20578 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
20579 total video memory in 'vbeinfo' output; show color format details for
20580 each video mode.
20581
7c5d8d95 205822008-08-30 Pavel Roskin <proski@gnu.org>
20583
20584 * util/genmoddep.c: Remove for real this time.
20585 * DISTLIST: Remove util/genmoddep.c.
20586
4cebd25a 205872008-08-30 Robert Millan <rmh@aybabtu.com>
20588
20589 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20590 as required by Multiboot spec (it was already 4-byte aligned, but
20591 only by chance).
20592
b497a269 205932008-08-29 Pavel Roskin <proski@gnu.org>
20594
e3925185 20595 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20596 * kern/powerpc/ieee1275/startup.S: ... this.
20597 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20598 * DISTLIST: Likewise.
20599
b497a269 20600 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20601 grub/cpu/kernel.h. Add start label for consistency with other
20602 platforms. Add grub_prefix immediately after start. Add jump
20603 to the code after grub_prefix.
20604 * include/grub/powerpc/kernel.h: Provide valid values for
20605 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20606
6e5a42fe 206072008-08-29 Bean <bean123ch@gmail.com>
20608
20609 * configure.ac: Change host_os to cygwin for mingw.
20610 (asprintf): New check for function.
20611
20612 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20613 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20614
20615 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 20616 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 20617 sync, sleep and grub_util_get_disk_size for mingw.
20618
20619 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20620 to get size in mingw.
20621 (open_device): Use flag O_BINARY if it's defined.
20622 (find_root_device): Add dummy code for mingw.
20623
20624 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20625 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20626 (get_scsi_disk_name): Return 0 for mingw.
20627
20628 * util/hostfs.c: #include <grub/util/misc.h>.
20629 (grub_hostfs_open): Use "rb" flag to open file, use
20630 grub_util_get_disk_size to get disk size for mingw.
20631
20632 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20633 (asprintf): New function if HAVE_ASPRINTF is not set.
20634 (sync): New function for mingw.
20635 (sleep): Likewise.
20636 (grub_util_get_disk_size): Likewise.
20637
ab3f2673 206382008-08-28 Pavel Roskin <proski@gnu.org>
20639
20640 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20641 kern/time.c.
20642
1c282483 206432008-08-28 Robert Millan <rmh@aybabtu.com>
20644
20645 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20646
678e849c 206472008-08-28 Robert Millan <rmh@aybabtu.com>
20648
20649 Change find_grub_drive() syntax so it doesn't prevent it from
20650 detecting NULL names as errors.
20651
20652 * util/biosdisk.c (find_grub_drive): Move free slot search code
20653 from here ...
20654 (find_free_slot): ... to here.
20655 (read_device_map): Use find_free_slot() to search for free slots.
20656
965c75ca 206572008-08-27 Marco Gerards <marco@gnu.org>
20658
20659 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20660 (scsi_mod_SOURCES): New variable.
20661 (scsi_mod_CFLAGS): Likewise
20662 (scsi_mod_LDFLAGS): Likewise.
20663
20664 * disk/scsi.c: New file.
20665
20666 * include/grub/scsi.h: Likewise.
20667
20668 * include/grub/scsicmd.h: Likewise.
20669
20670 * disk/ata.c: Include <grub/scsi.h>.
20671 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20672 instead.
20673 (grub_ata_iterate): Skip ATAPI devices.
20674 (grub_ata_open): Only handle ATAPI devices.
20675 (struct grub_atapi_read): Removed.
20676 (grub_atapi_readsector): Likewise.
20677 (grub_ata_read): No longer handle ATAPI devices.
20678 (grub_ata_write): Likewise.
20679 (grub_atapi_iterate): New function.
20680 (grub_atapi_read): Likewise.
20681 (grub_atapi_write): Likewise.
20682 (grub_atapi_open): Likewise.
20683 (grub_atapi_close): Likewise.
20684 (grub_atapi_dev): New variable.
20685 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20686 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20687
20688 * include/grub/disk.h (enum grub_disk_dev_id): Add
20689 `GRUB_DISK_DEVICE_SCSI_ID'.
20690
c07ae501 206912008-08-26 Robert Millan <rmh@aybabtu.com>
20692
20693 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20694 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20695 descriptive.
20696
5ed20adc 206972008-08-23 Bean <bean123ch@gmail.com>
20698
20699 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20700 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20701 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20702 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20703 dm_nv.mod.
20704 (raid5rec_mod_SOURCES): New macro.
20705 (raid5rec_mod_CFLAGS): Likewise.
20706 (raid5rec_mod_LDFLAGS): Likewise.
20707 (raid6rec_mod_SOURCES): Likewise.
20708 (raid6rec_mod_CFLAGS): Likewise.
20709 (raid6rec_mod_LDFLAGS): Likewise.
20710 (mdraid_mod_SOURCES): Likewise.
20711 (mdraid_mod_CFLAGS): Likewise.
20712 (mdraid_mod_LDFLAGS): Likewise.
20713 (dm_nv_mod_SOURCES): Likewise.
20714 (dm_nv_mod_CFLAGS): Likewise.
20715 (dm_nv_mod_LDFLAGS): Likewise.
20716
20717 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20718 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20719 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20720
20721 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20722 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20723
20724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20725
20726 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20727
20728 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20729
20730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20731
20732 * disk/raid5_recover.c: New file.
20733
20734 * disk/raid6_recover.c: Likewise.
20735
20736 * disk/mdraid_linux.c: Likewise.
20737
20738 * disk/dmraid_nvidia.c: Likewise.
20739
20740 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20741 ULONG_MAX.
20742
20743 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20744 calculate the size of raid device.
20745 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20746 different layout of raid5.
20747 (grub_raid_scan_device): Remove code specific to mdraid.
20748 (grub_raid_list): New variable.
20749 (free_array): New function.
20750 (grub_raid_register): Likewise.
20751 (grub_raid_unregister): Likewise.
20752 (grub_raid_rescan): Likewise.
20753 (GRUB_MOD_INIT): Don't iterate device here.
20754 (GRUB_MOD_FINI): Use free_array to release resource.
20755
20756 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20757 (grub_raid5_recover_func_t): New function variable type.
20758 (grub_raid6_recover_func_t): Likewise.
20759 (grub_raid5_recover_func): New variable.
20760 (grub_raid6_recover_func): Likewise.
20761 (grub_raid_register): New function.
20762 (grub_raid_unregister): Likewise.
20763 (grub_raid_rescan): Likewise.
20764 (grub_raid_block_xor): Likewise.
20765
20766 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20767 (CMD_CRC): New macro.
20768 (part): Removed.
20769 (read_file): Handle device as well as file.
20770 (cmd_crc): New function.
20771 (fstest): Handle multiple disks.
20772 (options): Remove part, raw and long, add root and diskcount.
20773 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 20774 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 20775 add handling for the new options, support multiple disks.
20776
20777 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20778
29c18915 207792008-08-23 Bean <bean123ch@gmail.com>
20780
20781 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20782
20783 * genfslist.sh: Ignore kernel.mod.
20784
20785 * genpartmaplist.sh: Likewise.
20786
8415f261 207872008-08-23 Robert Millan <rmh@aybabtu.com>
20788
20789 * util/getroot.c (find_root_device): Skip anything that starts with
20790 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20791
d5a7dc5b 207922008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 20793
d5a7dc5b 20794 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20795 * util/grub.d/00_header.in: Allow the administrator to change default
20796 gfxmode via ${GRUB_GFXMODE}.
20797
380cfbb4 207982008-08-21 Felix Zielcke <fzielcke@z-51.de>
20799
20800 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20801
c9baafe7 208022008-08-21 Robert Millan <rmh@aybabtu.com>
20803
20804 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20805 loader.
20806 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20807 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20808
e290bef2 208092008-08-20 Carles Pina i Estany <carles@pina.cat>
20810
20811 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20812 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20813
f9dbfc96 208142008-08-19 Robert Millan <rmh@aybabtu.com>
20815
20816 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20817 (struct grub_virtual_screen): Remove `cursor_color'.
20818 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20819 initialization.
20820 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20821
dd6bd6ab 208222008-08-18 Robert Millan <rmh@aybabtu.com>
20823
20824 Unify (identical) linux_normal.c files.
20825 * loader/i386/efi/linux_normal.c: Move from here ...
20826 * loader/linux_normal.c: ... to here. Update all users.
20827 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20828 * loader/i386/ieee1275/linux_normal.c: Likewise.
20829
7f42f83e 208302008-08-18 Robert Millan <rmh@aybabtu.com>
20831
20832 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20833 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20834 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20835 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20836 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20837 New macros.
20838 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20839 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20840 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20841 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20842 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20843 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20844 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20845 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20846 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20847 portably using grub_getxy().
20848 Replace `-EFI' with `-bzImage' in boot message.
20849
38487ddb 208502008-08-17 Robert Millan <rmh@aybabtu.com>
20851
20852 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20853
deceb3ec 208542008-08-17 Robert Millan <rmh@aybabtu.com>
20855
20856 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20857
20858 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20859 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20860 (grub_machine_mmap_iterate): New function declaration.
20861 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20862 structure.
20863 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20864 macros.
20865
20866 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20867 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20868 Move e820 parsing from here ...
20869 * kern/i386/pc/mmap.c: New file.
20870 (grub_machine_mmap_iterate): ... to here.
20871
20872 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20873 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20874 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20875 (grub_available_iterate): Redeclare to return `void', and redeclare
20876 its hook to use grub_uint64_t as addr and size parameters, and rename
20877 to ...
20878 (grub_machine_mmap_iterate): ... this. Update all users.
20879
20880 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20881 to make it more readable. Rename to ...
20882 (grub_machine_mmap_iterate): ... this.
20883
20884 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20885 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20886 (grub_multiboot): Allocate an extra region after the payload, and fill
20887 it with a Multiboot memory map. Adjust a.out loader to calculate size
20888 with the extra space.
20889 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20890 with the extra space.
20891
f8aa0f43 208922008-08-17 Carles Pina i Estany <carles@pina.cat>
20893
9807deb9 20894 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20895
605f5bb6 208962008-08-17 Felix Zielcke <fzielcke@z-51.de>
20897
20898 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20899 mdate-sh to the list `find' searches for.
20900 * DISTLIST: Regenerated.
20901
210db6c6 209022008-08-16 Felix Zielcke <fzielcke@z-51.de>
20903
20904 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20905 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20906 genmoddep.awk, gensymlist.sh.in.
20907 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20908 * DISTLIST: Regenerated.
48cdbfd4 20909 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20910
1082b929 209112008-08-16 Robert Millan <rmh@aybabtu.com>
20912
20913 * disk/raid.c (grub_raid_init): Handle/report errors set by
20914 grub_device_iterate().
20915 * disk/lvm.c (grub_lvm_init): Likewise.
20916
42ce5170 209172008-08-15 Bean <bean123ch@gmail.com>
20918
20919 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20920 and datehook.mod.
20921 (datetime_mod_SOURCES): New macro.
20922 (datetime_mod_CFLAGS): Likewise.
20923 (datetime_mod_LDFLAGS): Likewise.
20924 (date_mod_SOURCES): Likewise.
20925 (date_mod_CFLAGS): Likewise.
20926 (date_mod_LDFLAGS): Likewise.
20927 (datehook_mod_SOURCES): Likewise.
20928 (datehook_mod_CFLAGS): Likewise.
20929 (datehook_mod_LDFLAGS): Likewise.
20930
20931 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20932 and datehook.mod.
20933 (datetime_mod_SOURCES): New macro.
20934 (datetime_mod_CFLAGS): Likewise.
20935 (datetime_mod_LDFLAGS): Likewise.
20936 (date_mod_SOURCES): Likewise.
20937 (date_mod_CFLAGS): Likewise.
20938 (date_mod_LDFLAGS): Likewise.
20939 (datehook_mod_SOURCES): Likewise.
20940 (datehook_mod_CFLAGS): Likewise.
20941 (datehook_mod_LDFLAGS): Likewise.
20942
20943 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20944 and datehook.mod.
20945 (datetime_mod_SOURCES): New macro.
20946 (datetime_mod_CFLAGS): Likewise.
20947 (datetime_mod_LDFLAGS): Likewise.
20948 (date_mod_SOURCES): Likewise.
20949 (date_mod_CFLAGS): Likewise.
20950 (date_mod_LDFLAGS): Likewise.
20951 (datehook_mod_SOURCES): Likewise.
20952 (datehook_mod_CFLAGS): Likewise.
20953 (datehook_mod_LDFLAGS): Likewise.
20954
20955 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20956 and datehook.mod.
20957 (datetime_mod_SOURCES): New macro.
20958 (datetime_mod_CFLAGS): Likewise.
20959 (datetime_mod_LDFLAGS): Likewise.
20960 (date_mod_SOURCES): Likewise.
20961 (date_mod_CFLAGS): Likewise.
20962 (date_mod_LDFLAGS): Likewise.
20963 (datehook_mod_SOURCES): Likewise.
20964 (datehook_mod_CFLAGS): Likewise.
20965 (datehook_mod_LDFLAGS): Likewise.
20966
20967 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20968 and datehook.mod.
20969 (datetime_mod_SOURCES): New macro.
20970 (datetime_mod_CFLAGS): Likewise.
20971 (datetime_mod_LDFLAGS): Likewise.
20972 (date_mod_SOURCES): Likewise.
20973 (date_mod_CFLAGS): Likewise.
20974 (date_mod_LDFLAGS): Likewise.
20975 (datehook_mod_SOURCES): Likewise.
20976 (datehook_mod_CFLAGS): Likewise.
20977 (datehook_mod_LDFLAGS): Likewise.
20978
20979 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
20980
20981 * commands/date.c: New file.
20982
20983 * hook/datehook.c: Likewise.
20984
20985 * include/grub/lib/datetime.h: Likewise.
20986
20987 * include/grub/i386/cmos.h: Likewise.
20988
20989 * lib/datetime.c: Likewise.
20990
20991 * lib/i386/datetime.c: Likewise.
20992
20993 * lib/efi/datetime.c: Likewise.
20994
0e9242da 209952008-08-14 Robert Millan <rmh@aybabtu.com>
20996
20997 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
20998 (grub_mkelfimage_SOURCES): New variable.
20999 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
21000
21001 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
21002 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
21003 * conf/powerpc-ieee1275.rmk: Likewise.
21004 * conf/i386-ieee1275.rmk: Likewise.
21005
21006 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
21007 * kern/i386/coreboot/init.c: Likewise.
21008
21009 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
21010 with `<grub/cpu/kernel.h>'.
21011 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
21012 to ...
21013 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
21014 * kern/i386/coreboot/startup.S: Likewise.
21015
21016 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
21017 (GRUB_MOD_GAP): Remove.
21018 * include/grub/powerpc/kernel.h: New file.
21019 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
21020 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21021 * include/grub/i386/kernel.h: New file.
21022 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
21023 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
21024 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21025
21026 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
21027 `grub-mkelfimage'.
21028 Use --directory when invoking grub_mkimage.
21029
21030 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
21031 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
21032 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
21033 and GRUB_KERNEL_CPU_PREFIX.
21034
b86408f8 210352008-08-14 Felix Zielcke <fzielcke@z-51.de>
21036
d5e619ca 21037 * include/grub/err.h (grub_err_printf): New function prototype.
21038 * util/misc.c (grub_err_printf): New function.
21039 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
21040 grub_printf.
21041 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 21042
7161f0e0 210432008-08-13 Robert Millan <rmh@aybabtu.com>
21044
21045 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
21046
a1967522 210472008-08-13 Robert Millan <rmh@aybabtu.com>
21048
21049 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
21050 boot entry.
21051
371458b5 210522008-08-12 Robert Millan <rmh@aybabtu.com>
21053
21054 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
21055 of the relocation code from here ...
21056 (grub_multiboot): ... to here.
21057 (forward_relocator, backward_relocator): Move from here ...
21058 * kern/i386/loader.S (grub_multiboot_forward_relocator)
21059 (grub_multiboot_backward_relocator): ... to here.
21060 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
21061 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
21062 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
21063 (grub_multiboot_forward_relocator_end)
21064 (grub_multiboot_backward_relocator)
21065 (grub_multiboot_backward_relocator_end): New variables.
21066
05f9452b 210672008-08-12 Bean <bean123ch@gmail.com>
21068
21069 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
21070
20024ab0 210712008-08-11 Robert Millan <rmh@aybabtu.com>
21072
21073 * kern/i386/linuxbios/startup.S: Move from here ...
21074 * kern/i386/coreboot/startup.S: ... to here.
21075
21076 * kern/i386/linuxbios/init.c: Move from here ...
21077 * kern/i386/coreboot/init.c: ... to here.
21078
21079 * kern/i386/linuxbios/table.c: Move from here ...
21080 * kern/i386/coreboot/mmap.c: ... to here.
21081
21082 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
21083
e352e9cd 210842008-08-11 Robert Millan <rmh@aybabtu.com>
21085
21086 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
21087 errors. Leave it to the upper layer to handle them.
21088
2d05bc6a 210892008-08-09 Christian Franke <franke@computer.org>
21090
21091 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
21092 * conf/common.rmk: Install `grub-pe2elf' only if requested.
21093 Install `grub.d/10_windows' only on Cygwin.
21094 * configure.ac: Add subst of `target_os'.
21095 Check `target_os' also before setting TARGET_OBJ2ELF.
21096 Add `--enable-grub-pe2elf'.
21097
042bd419 210982008-08-08 Robert Millan <rmh@aybabtu.com>
21099
21100 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21101 (grub_last_time): Change type to grub_uint64_t.
21102 (grub_disk_open): Migrate code from to using grub_get_time_ms().
21103 (grub_disk_close): Likewise.
21104
21105 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21106 (run_menu): Migrate code from to using grub_get_time_ms().
21107
21108 * util/misc.c (grub_get_time_ms): New function.
21109
7f280db5 211102008-08-08 Marco Gerards <marco@gnu.org>
21111
21112 * disk/ata.c (grub_ata_regget): Change return type to
21113 `grub_uint8_t'.
21114 (grub_ata_regget2): Likewise.
21115 (grub_ata_wait_status): New function.
21116 (grub_ata_wait_busy): Removed function, updated all users to use
21117 `grub_ata_wait_status'.
21118 (grub_ata_wait_drq): Likewise.
21119 (grub_ata_cmd): New function.
21120 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
21121 error handling.
21122 (grub_ata_pio_write): Add error handling.
21123 (grub_atapi_identify): Likewise.
21124 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
21125 handling.
21126 (grub_ata_identify): Use `grub_ata_cmd' and improve error
21127 handling. Actually use the detected registers. Reorder the
21128 detection logic such that it is easier to read.
21129 (grub_ata_pciinit): Do not assign the same ID to each controller.
21130 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
21131 handling.
21132 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
21133
21134 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
21135
1fbc5e66 211362008-08-08 Marco Gerards <marco@gnu.org>
21137
21138 * NEWS: Update.
21139
819ce6c0 211402008-08-07 Bean <bean123ch@gmail.com>
21141
21142 * include/grub/x86_64/pci.h: New file.
21143
5c41d44d 211442008-08-07 Christian Franke <franke@computer.org>
21145
21146 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
21147 (TIMER2_GATE): Likewise.
21148 (grub_pit_wait): Add enable/disable of the timer2 gate
21149 bit of port 0x61. This fixes a possible infinite loop.
21150
5ebc275d 211512008-08-07 Bean <bean123ch@gmail.com>
21152
21153 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
21154 kern/i386/tsc.c and kern/i386/pit.c.
21155
21156 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
21157 x86_64 platform.
21158
21159 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
21160 <grub/i386/tsc.h>.
21161
21162 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
21163
e383b3d0 211642008-08-07 Bean <bean123ch@gmail.com>
21165
21166 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
21167
21168 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
21169
21170 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
21171 multiple inclusion. Add #include <grub/types.h>.
21172
1cbb58ac 211732008-08-06 Christian Franke <franke@computer.org>
21174
21175 * conf/common.rmk: Build and install `10_windows'.
21176 * util/grub.d/10_windows.in: New script.
21177
337f5a1e 211782008-08-06 Pavel Roskin <proski@gnu.org>
21179
21180 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
21181
057bc4ac 211822008-08-06 Robert Millan <rmh@aybabtu.com>
21183
21184 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
21185 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
21186
2b99f123 211872008-08-06 Bean <bean123ch@gmail.com>
21188
21189 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
21190 (grub_pxefs_fs_int): Remove dummy definition.
21191 (grub_pxefs_open): Use data->block_size to store the current block
21192 size setting.
21193 (grub_pxefs_read): Use block size stored in data->block_size. As the
21194 value of grub_pxe_blksize can be changed after the file is opened.
21195
9f0234cb 211962008-08-06 Bean <bean123ch@gmail.com>
21197
21198 * fs/i386/pc/pxe.c (curr_file): new variable.
21199 (grub_pxefs_open): Simply the handling of pxe file system. Don't
21200 require the dummy internal file system anymore.
21201 (grub_pxefs_read): Removed.
21202 (grub_pxefs_close): Likewise.
21203 (grub_pxefs_fs_int): Likewise.
21204 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
21205 connection when we switch file.
21206 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
21207
a55d42e0 212082008-08-06 Robert Millan <rmh@aybabtu.com>
21209
21210 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
21211 `halt.mod'.
21212 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
21213 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
21214
21215 * kern/i386/halt.c: New file.
21216 * kern/i386/reboot.c: Likewise.
21217 * include/grub/i386/reboot.h: Likewise.
21218 * include/grub/i386/halt.h: Likewise.
21219
21220 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
21221 Include `<grub/cpu/halt.h>'.
21222 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
21223 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
21224
21225 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
21226 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
21227 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
21228 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
21229 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
21230 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
21231 from here ...
21232 * include/grub/i386/at_keyboard.h: ... to here.
21233
24371d26 212342008-08-05 Robert Millan <rmh@aybabtu.com>
21235
21236 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
21237 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
21238 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
21239 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21240 `kern/generic/millisleep.c'.
21241
21242 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
21243 instead of grub_get_rtc().
21244 (grub_tsc_init): Initialize `tsc_boot_time'.
21245
21246 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
21247 (grub_machine_init): Use grub_tsc_init() rather than
21248 installing an RTC-based handler via grub_install_get_time_ms().
21249
21250 * kern/i386/pit.c: New file.
21251 * include/grub/i386/pit.h: Likewise.
21252
9e7007b3 212532008-08-05 Bean <bean123ch@gmail.com>
21254
21255 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
21256
21257 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
21258 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
21259 (pxe_mod_SOURCES): New macro.
21260 (pxe_mod_CFLAGS): Likewise.
21261 (pxe_mod_LDFLAGS): Likewise.
21262 (pxecmd_mod_SOURCES): Likewise.
21263 (pxecmd_mod_CFLAGS): Likewise.
21264 (pxecmd_mod_LDFLAGS): Likewise.
21265
21266 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
21267 (grub_pxe_call): Likewise.
21268
21269 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
21270
21271 * commands/i386/pc/pxecmd.c: New file.
21272
9f0234cb 21273 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 21274
21275 * include/grub/i386/pc/pxe.h: Likewise.
21276
6977d49f 212772008-08-05 Bean <bean123ch@gmail.com>
21278
21279 * util/console.c (grub_console_cur_color): New variable.
21280 (grub_console_standard_color): Likewise.
21281 (grub_console_normal_color): Likewise.
21282 (grub_console_highlight_color): Likewise.
21283 (color_map): Likewise.
21284 (use_color): Likewise.
21285 (NUM_COLORS): New macro.
21286 (grub_ncurses_setcolorstate): Handle color properly.
21287 (grub_ncurses_setcolor): Don't change color here, just remember the
21288 settings, color will be set in grub_ncurses_setcolorstate.
21289 (grub_ncurses_getcolor): New function.
21290 (grub_ncurses_init): Initialize color pairs.
21291 (grub_ncurses_term): New member grub_ncurses_getcolor.
21292
9c2ff3ee 212932008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 21294
9c2ff3ee 21295 High resolution timer support. Implemented for x86 CPUs using TSC.
21296 Extracted generic grub_millisleep() so it's linked in only as needed.
21297 This requires a Pentium compatible CPU; if the RDTSC instruction is
21298 not supported, then it falls back on the generic grub_get_time_ms()
21299 implementation that uses the machine's RTC.
21300
21301 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
21302 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21303 `kern/generic/millisleep.c'.
21304
21305 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
21306 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
21307
21308 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
21309 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
21310
21311 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21312
21313 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21314 `kern/generic/millisleep.c'.
21315
21316 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21317
21318 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
21319
21320 * kern/generic/rtc_get_time_ms.c: New file.
21321
21322 * kern/generic/millisleep.c: New file.
337f5a1e 21323
9c2ff3ee 21324 * kern/misc.c: Don't include
21325 <kern/time.h> anymore.
21326 (grub_millisleep_generic): Removed.
21327
21328 * commands/sleep.c (grub_interruptible_millisleep): Uses
21329 grub_get_time_ms() instead of grub_get_rtc().
21330
21331 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
21332 function.
21333 (grub_cpu_is_cpuid_supported): New inline function.
21334 (grub_cpu_is_tsc_supported): New inline function.
21335 (grub_tsc_init): New function prototype.
21336 (grub_tsc_get_time_ms): New function prototype.
21337
21338 * kern/i386/tsc.c (grub_get_time_ms): New file.
21339
21340 * include/grub/time.h: Include <grub/types.h.
21341 (grub_millisleep_generic): Removed.
21342 (grub_get_time_ms): New prototype.
21343 (grub_install_get_time_ms): New prototype.
21344 (grub_rtc_get_time_ms): New prototype.
21345
21346 * kern/time.c (grub_get_time_ms): New function.
21347 (grub_install_get_time_ms): New function.
21348
21349 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
21350 <grub/time.h> anymore.
21351 (grub_millisleep): Removed.
21352 (grub_machine_init): Call grub_tsc_init.
21353
21354 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
21355 get_time_ms() implementation.
21356
21357 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
21358 (ieee1275_get_time_ms): New function.
21359 (grub_machine_init): Install get_time_ms() implementation.
21360
21361 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
21362 (grub_machine_init): Call grub_tsc_init().
21363 (grub_millisleep): Removed.
bf06a93f 21364
9c2ff3ee 21365 * kern/ieee1275/init.c (grub_millisleep): Removed.
21366 (grub_machine_init): Install ieee1275_get_time_ms()
21367 implementation.
21368 (ieee1275_get_time_ms): New function.
21369 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
21370 real work.
21371
9ec92aaf 213722008-08-05 Marco Gerards <marco@gnu.org>
21373
21374 * disk/ata.c: Include <grub/pci.h>.
21375 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
21376 (grub_ata_initialize): Rewritten.
21377 (grub_ata_device_initialize): New function.
21378
8d23f507 213792008-08-04 Pavel Roskin <proski@gnu.org>
21380
21381 * kern/main.c: Include grub/mm.h.
21382
5e15ee3d 213832008-08-04 Robert Millan <rmh@aybabtu.com>
21384
21385 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
21386 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
21387 corruption problem).
21388
a9053f8f 213892008-08-04 Robert Millan <rmh@aybabtu.com>
21390
21391 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
21392 warnings introduced in my last commit.
21393
dd19c7d7 213942008-08-03 Robert Millan <rmh@aybabtu.com>
21395
21396 Make PCI available on all i386 architectures.
21397
21398 * include/grub/i386/pc/pci.h: Move from here ...
21399 * include/grub/i386/pci.h: ... to here.
21400
21401 * include/grub/i386/pc/pci.h: Remove.
21402 * include/grub/i386/efi/pci.h: Remove.
21403 * include/grub/x86_64/efi/pci.h: Remove.
21404
21405 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
21406 `<grub/cpu/pci.h>'.
21407
21408 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
21409 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
21410 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
21411
21412 * conf/i386-ieee1275.rmk: Likewise.
21413
e14a6184 214142008-08-03 Robert Millan <rmh@aybabtu.com>
21415
21416 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
21417 (grub_console_setcursor): Make it possible to set cursor off.
21418
52768e37 214192008-08-03 Robert Millan <rmh@aybabtu.com>
21420
21421 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
21422 of modules instead of assuming which platform provides what.
21423 * util/update-grub.in: Likewise.
21424
2d52f57f 214252008-08-03 Robert Millan <rmh@aybabtu.com>
21426
21427 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
21428 instead of `grub_install_dos_part' to determine whether a drive needs
21429 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 21430 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 21431
2a5cd121 214322008-08-02 Robert Millan <rmh@aybabtu.com>
21433
21434 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
21435
93808428 214362008-08-02 Robert Millan <rmh@aybabtu.com>
21437
21438 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
21439 of informational grub_dprintf() calls.
21440
3bd0a12a 214412008-08-02 Robert Millan <rmh@aybabtu.com>
21442
21443 * disk/memdisk.c (memdisk_size): Don't initialize.
21444 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
21445
21446 * include/grub/i386/pc/kernel.h
21447 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
21448 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
21449 (grub_memdisk_image_size, grub_arch_memdisk_addr)
21450 (grub_arch_memdisk_size): Remove.
21451
21452 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
21453 field (was only used to transfer a constant). Add `type' field to
21454 support multiple module types.
21455 (grub_module_iterate): New function.
21456
21457 * kern/device.c (grub_device_open): Do not hide error messages
21458 when grub_disk_open() fails. Use grub_print_error() instead.
21459
21460 * kern/i386/pc/init.c (grub_arch_modules_addr)
21461 (grub_arch_memdisk_size): Remove functions.
21462 (grub_arch_modules_addr): Return the module address in high memory
21463 (now that it isn't copied anymore).
21464
21465 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
21466 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
21467 decompression routine (grub_total_module_size already includes that
21468 now). Don't copy modules back to low memory.
21469
21470 * kern/main.c: Include `<grub/mm.h>'.
21471 (grub_load_modules): Split out (and use) ...
21472 (grub_module_iterate): ... this function, which iterates through
21473 module objects and runs a hook.
21474 Comment out grub_mm_init_region() call, as it would cause non-ELF
21475 modules to be overwritten.
21476
21477 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
21478 the memdisk image in its own region, make it part of the module list.
21479 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
21480 (main): Parse --memdisk|-m option, and pass user-provided path as
21481 parameter to generate_image().
21482 (add_segments): Pass `memdisk_path' down to load_modules().
21483 (load_modules): Embed memdisk image in module section when requested.
21484 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
21485 `header.type' instead of `header.offset'.
21486
21487 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
21488 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
21489 (memdisk_mod_LDFLAGS): New variables.
21490 * conf/i386-coreboot.rmk: Likewise.
21491 * conf/i386-ieee1275.rmk: Likewise.
21492
a927cc73 214932008-08-02 Robert Millan <rmh@aybabtu.com>
21494
21495 * loader/i386/pc/multiboot.c (playground, forward_relocator)
21496 (backward_relocator): New variables. Used to allocate and relocate
21497 the payload, respectively.
21498 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 21499 address, install the appropriate relocator code in each bound of
a927cc73 21500 the payload, and set the entry point such that
21501 grub_multiboot_real_boot() will jump to one of them.
21502
21503 * kern/i386/loader.S (grub_multiboot_payload_size)
21504 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21505 (grub_multiboot_payload_entry_offset): New variables.
21506 (grub_multiboot_real_boot): Set cpu context to what the relocator
21507 expects, and jump to the relocator instead of the payload.
21508
21509 * include/grub/i386/loader.h (grub_multiboot_payload_size)
21510 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21511 (grub_multiboot_payload_entry_offset): Export.
21512
b15d8a0c 215132008-08-01 Bean <bean123ch@gmail.com>
21514
21515 * normal/menu_entry.c (editor_getline): Don't return the original
21516 string as result, as it will be released by lexer once it has done
21517 using it.
21518
cdfb3d22 215192008-08-01 Robert Millan <rmh@aybabtu.com>
21520
21521 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
21522 within menuentries, not before them.
21523 util/grub.d/10_hurd.in: Likewise.
21524
9175e93d 215252008-08-01 Bean <bean123ch@gmail.com>
21526
21527 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
21528 (bufio_mod_SOURCES): New macro.
21529 (bufio_mod_CFLAGS): Likewise.
21530 (bufio_mod_LDFLAGS): Likewise.
21531
21532 * include/grub/bufio.h: New file.
21533
21534 * io/bufio.c: Likewise.
21535
21536 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
21537 (grub_video_reader_png): Use grub_buffile_open to open file.
21538
21539 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21540 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21541
21542 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21543 (grub_video_reader_tga): Use grub_buffile_open to open file.
21544
21545 * font/manager.c: Include <grub/bufio.h>.
21546 (add_font): Use grub_buffile_open to open file.
21547
3d8383e7 215482008-07-31 Robert Millan <rmh@aybabtu.com>
21549
21550 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21551 ELF segments, use a macro for arbitrarily accessing any of them instead
21552 of preparing a pointer that allows access to one at a time.
21553 (grub_multiboot_load_elf64): Likewise.
21554
16e641b6 215552008-07-31 Bean <bean123ch@gmail.com>
21556
21557 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
21558 GRUB_KERNEL_MACHINE_DATA_END.
21559
59198b72 215602008-07-30 Robert Millan <rmh@aybabtu.com>
21561
21562 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
21563 Increase from 0x50 to 0x60.
21564 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
21565 use UUIDs to identify the root drive for them. If that's not
21566 possible, abort.
21567 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
21568 check, for cross-disk installs.
21569
ae88bca3 215702008-07-30 Robert Millan <rmh@aybabtu.com>
21571
21572 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
21573 is non-empty, use it to set the `prefix' environment variable instead
21574 of the usual approach.
21575 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
21576 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
21577 environment variable instead of dummy make_install_device().
21578
21579 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
21580 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 21581 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 21582
21583 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21584 New variable reference.
21585 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21586 New macro. Defines offset of `grub_prefix' within startup.S (relative
21587 to `start').
21588 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21589 section within startup.S (relative to `start').
21590 * include/grub/i386/coreboot/kernel.h: Likewise.
21591
21592 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21593 Overwrite grub_prefix with its contents, at the beginning of the
21594 first segment.
21595 (main): Understand -p|--prefix.
21596
14f41dd1 215972008-07-30 Robert Millan <rmh@aybabtu.com>
21598
21599 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21600
4ca049a3 216012008-07-30 Robert Millan <rmh@aybabtu.com>
21602
21603 * term/i386/pc/vga_text.c (grub_console_cls): Use
21604 grub_console_gotoxy() to go back to beginning of the screen.
21605 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21606
2921d337 216072008-07-29 Christian Franke <franke@computer.org>
21608
21609 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21610 Add conversion of emulated mount points on Cygwin.
21611
b609876d 216122008-07-29 Christian Franke <franke@computer.org>
21613
21614 * util/update-grub.in: Add a check for admin
21615 group on Cygwin.
21616 Remove old `grub.cfg.new' before creation.
21617 Add `-f' to `mv' to handle the different filesystem
21618 semantics of Windows.
21619
e93e4679 216202008-07-29 Bean <bean123ch@gmail.com>
21621
21622 * normal/main.c (get_line): Fix buffer overflow bug.
21623
41694fd0 216242008-07-28 Robert Millan <rmh@aybabtu.com>
21625
21626 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21627 (struct grub_apple_header): New struct. Describes the layout of
21628 the partmap header.
21629 (apple_partition_map_iterate): Check the header magic as well as the
21630 partition magic (which was already being checked).
21631
cfd0b4e6 216322008-07-28 Pavel Roskin <proski@gnu.org>
21633
21634 * genmk.rb: Add a warning to the beginning of the output that
21635 it's a generated file and should not be edited.
21636
93cce016 216372008-07-28 Robert Millan <rmh@aybabtu.com>
21638
21639 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21640 with the same number are found, just use issue a warning with
21641 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 21642
cd1df915 216432008-07-27 Robert Millan <rmh@aybabtu.com>
21644
21645 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21646 information.
21647
b70a8427 216482008-07-27 Bean <bean123ch@gmail.com>
21649
21650 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21651 (grub_fat_find_dir): Ignore case when comparing filename.
21652
8f5e379f 216532008-07-27 Bean <bean123ch@gmail.com>
21654
21655 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21656 smallino, as it's more descriptive, and i8count can be confused with
21657 the other field count.
21658 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21659 inode type.
21660
a85cd5a0 216612008-07-27 Bean <bean123ch@gmail.com>
21662
21663 * commands/crc.c: New file.
21664
21665 * lib/crc.c: Likewise.
21666
21667 * include/grub/lib/crc.h: Likewise.
21668
21669 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21670
21671 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21672 (hexdump): Move this function to ...
21673
21674 * lib/hexdump.c: ... here.
21675
21676 * include/grub/hexdump.h: Renamed to ...
21677
21678 * include/grub/lib/hexdump.h: ... this.
21679
21680 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21681
21682 * util/grub-editenv.c: Likewise.
21683
21684 * include/envblk.h: Renamed to ...
21685
21686 * include/lib/envblk.h: ... this.
21687
21688 * util/envblk.c: Renamed to ...
21689
21690 * lib/envblk.c: ... this.
21691
21692 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21693 lib/hexdump.c.
21694 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21695 (pkglib_MODULES): Add crc.mod.
21696 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21697 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21698 (crc_mod_SOURCES): New macro.
21699 (crc_mod_CFLAGS): Likewise.
21700 (crc_mod_LDFLAGS): Likewise.
21701
21702 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21703
21704 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21705
21706 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21707
21708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21709
21710 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21711
c298def0 217122008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 21713
21714 * commands/help.c: Include <grub/term.h>.
21715 (TERM_WIDTH): Removed. Updated all users.
21716
cc349fb3 217172008-07-27 Pavel Roskin <proski@gnu.org>
21718
21719 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21720 spurious warnings about a comment within a comment.
21721
9051607e 217222008-07-25 Robert Millan <rmh@aybabtu.com>
21723
21724 * util/getroot.c (find_root_device): Skip devices that match
21725 /dev/dm-[0-9]. This lets the real device be found for any type of
21726 abstraction (LVM, EVMS, RAID..).
21727 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21728 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21729 device is found first, find_root_device() will now skip it.
21730
01453bfc 217312008-07-24 Pavel Roskin <proski@gnu.org>
21732
21733 * include/grub/types.h: Use __builtin_bswap32() and
21734 __builtin_bswap64() with gcc 4.3 and newer.
21735
6af9849f 217362008-07-24 Christian Franke <franke@computer.org>
21737
3a0fa256 21738 * util/i386/pc/grub-install.in: If `--debug' is specified,
21739 pass `--verbose' to grub-setup.
21740 Abort script if make_system_path_relative_to_its_root() fails.
21741
7810e747 217422008-07-24 Bean <bean123ch@gmail.com>
21743
21744 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21745 variable `target_platform' should be `platform'.
21746
42290e17 217472008-07-24 Bean <bean123ch@gmail.com>
21748
51cc5193 21749 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 21750 (grub_png_init_fixed_block): New function.
21751 (grub_png_decode_image_data): Handle fixed huffman code compression.
21752
2a8a80e4 217532008-07-24 Bean <bean123ch@gmail.com>
21754
21755 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21756 (grub_pe2elf_SOURCES): New macro.
21757 (CLEANFILES): Add grub-pe2elf.
21758
21759 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21760 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21761 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21762 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21763 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21764 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21765 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21766 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21767 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21768 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21769 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21770 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21771 (GRUB_PE32_DT_FUNCTION): Likewise.
21772 (GRUB_PE32_REL_I386_DIR32): Likewise.
21773 (GRUB_PE32_REL_I386_REL32): Likewise.
21774 (grub_pe32_symbol): New structure.
21775 (grub_pe32_reloc): Likewise.
21776
21777 * util/grub-pe2elf.c: New file.
21778
21779 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21780 start symbol in non pc platform.
21781
21782 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21783
21784 The following patches are from Christian Franke.
21785
21786 * include/grub/dl.h: Remove .previous, gas supports this only
21787 for ELF format.
21788
21789 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21790 Remove .type, gas supports this only for ELF format.
21791
21792 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21793 nullbytes in symbol table. This fixes an infinite loop if table is
21794 zero filled.
21795
21796 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21797 TARGET_IMG_LDFLAGS and EXEEXT.
21798
21799 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21800 TARGET_IMG_LDFLAGS_AC.
21801 (grub_CHECK_STACK_ARG_PROBE): New function.
21802
21803 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21804
21805 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21806
21807 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21808 to set TARGET_IMG_LD* accordingly.
21809 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21810 Add call to grub_CHECK_STACK_ARG_PROBE.
21811 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21812
21813 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21814
21815 * genmk.rb: Add EXEEXT to CLEANFILES.
21816
12ccdb75 218172008-07-23 Robert Millan <rmh@aybabtu.com>
21818
21819 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21820 define the codes for arrows and lines used for the menu).
21821 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21822 as well.
21823
21824 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21825 fonts, because the latter are too slow.
21826
18eeaf04 218272008-07-21 Bean <bean123ch@gmail.com>
21828
21829 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21830 a20. Run keyboard test last, as it will cause macbook to halt.
21831
b095e2ad 218322008-07-18 Pavel Roskin <proski@gnu.org>
21833
21834 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21835 load foreign architecture modules correctly anyway. Keep
21836 support for loading host architecture modules, whether we
21837 compile them or not.
21838
737feb35 218392008-07-17 Pavel Roskin <proski@gnu.org>
21840
3f4ce737 21841 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21842 change target_cpu. The compiler default can mismatch target_cpu
21843 in any case.
21844
4ad2d049 21845 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21846 * kern/efi/efi.c: Likewise.
21847
f6130a12 21848 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21849 target compiler is functional.
21850 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21851 are set up.
21852
58393a2d 21853 * configure.ac: Default to efi platform for x86_64-apple. Allow
21854 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21855 adjustments from the rest, only do them if target is not
21856 explicitly given. Merge other adjustments with the final sanity
21857 check. Remove an extraneous check for supported CPU. Be
21858 specific which CPU and which platform is not supported.
21859
737feb35 21860 * configure.ac: Default to pc platform for x86_64.
21861
546f966a 218622008-07-17 Robert Millan <rmh@aybabtu.com>
21863
21864 Partial LinuxBIOS -> Coreboot rename.
21865
21866 * conf/i386-linuxbios.rmk: Renamed to ...
21867 * conf/i386-coreboot.rmk: ... this.
21868 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21869 * configure.ac: Accept "coreboot" as input platform (but maintain
21870 compatibility with "linuxbios").
21871 * include/grub/i386/linuxbios: Renamed to ...
21872 * include/grub/i386/coreboot: ... this.
21873
20011694 218742008-07-17 Bean <bean123ch@gmail.com>
21875
21876 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21877 (appleldr_mod_SOURCE): New variable.
20011694 21878 (appleldr_mod_CFLAGS): Likewise.
21879 (appleldr_mod_LDFLAGS): Likewise.
21880 (pci_mod_SOURCES): Likewise.
21881 (pci_mod_CFLAGS): Likewise.
21882 (pci_mod_LDFLAGS): Likewise.
21883 (lspci_mod_SOURCES): Likewise.
21884 (lspci_mod_CFLAGS): Likewise.
21885 (lspci_mod_LDFLAGS): Likewise.
21886
21887 * conf/x86_64-efi.rmk: New file.
21888
21889 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21890 macro.
21891 (grub_efidisk_write): Likewise.
21892
21893 * include/efi/api.h (efi_call_0): New macro.
21894 (efi_call_1): Likewise.
21895 (efi_call_2): Likewise.
21896 (efi_call_3): Likewise.
21897 (efi_call_4): Likewise.
21898 (efi_call_5): Likewise.
21899 (efi_call_6): Likewise.
21900
21901 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21902 grub_rescue_cmd_chainloader.
21903
21904 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21905 (grub_pe32_optional_header): Change some fields based on i386 or
21906 x86_64 platform.
21907 (GRUB_PE32_PE32_MAGIC): Likewise.
21908
21909 * include/grub/efi/uga_draw.h: New file.
21910
21911 * include/grub/elf.h (STN_ABS): New constant.
21912 (R_X86_64_NONE): Relocation constant for x86_64.
21913 (R_X86_64_64): Likewise.
21914 (R_X86_64_PC32): Likewise.
21915 (R_X86_64_GOT32): Likewise.
21916 (R_X86_64_PLT32): Likewise.
21917 (R_X86_64_COPY): Likewise.
21918 (R_X86_64_GLOB_DAT): Likewise.
21919 (R_X86_64_JUMP_SLOT): Likewise.
21920 (R_X86_64_RELATIVE): Likewise.
21921 (R_X86_64_GOTPCREL): Likewise.
21922 (R_X86_64_32): Likewise.
21923 (R_X86_64_32S): Likewise.
21924 (R_X86_64_16): Likewise.
21925 (R_X86_64_PC16): Likewise.
21926 (R_X86_64_8): Likewise.
21927 (R_X86_64_PC8): Likewise.
21928
21929 * include/grub/i386/efi/pci.h: New file.
21930
21931 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
21932 Change it value based on platform.
21933 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
21934 (GRUB_E820_RAM): Likewise.
21935 (GRUB_E820_RESERVED): Likewise.
21936 (GRUB_E820_ACPI): Likewise.
21937 (GRUB_E820_NVS): Likewise.
21938 (GRUB_E820_EXEC_CODE): Likewise.
21939 (GRUB_E820_MAX_ENTRY): Likewise.
21940 (grub_e820_mmap): New structure.
21941 (linux_kernel_header): Change the efi field according to different
21942 kernel version, also field from linux_kernel_header.
21943
21944 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
21945
21946 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
21947 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
21948 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
21949 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
21950 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
21951 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
21952 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
21953 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
21954 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
21955 (GRUB_PCI_ADDR_IO_MASK): Likewise.
21956
21957 * include/grub/x86_64/efi/kernel.h: New file.
21958
21959 * include/grub/x86_64/efi/loader.h: Likewise.
21960
21961 * include/grub/x86_64/efi/machine.h: Likewise.
21962
21963 * include/grub/x86_64/efi/pci.h: Likewise.
21964
21965 * include/grub/x86_64/efi/time.h: Likewise.
21966
21967 * include/grub/x86_64/linux.h: Likewise.
21968
21969 * include/grub/x86_64/setjmp.h: Likewise.
21970
21971 * include/grub/x86_64/time.h: Likewise.
21972
21973 * include/grub/x86_64/types.h: Likewise.
21974
21975 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
21976 GRUB_TARGET_SIZEOF_VOID_P.
21977
21978 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
21979 (grub_efi_locate_handle): Likewise.
21980 (grub_efi_open_protocol): Likewise.
21981 (grub_efi_set_text_mode): Likewise.
21982 (grub_efi_stall): Likewise.
21983 (grub_exit): Likewise.
21984 (grub_reboot): Likewise.
21985 (grub_halt): Likewise.
21986 (grub_efi_exit_boot_services): Likewise.
21987 (grub_get_rtc): Likewise.
21988
21989 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
21990 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
21991 (grub_efi_allocate_pages): Wrap efi calls.
21992 (grub_efi_free_pages): Wrap efi calls.
21993 (grub_efi_get_memory_map): Wrap efi calls.
21994
21995 * kern/x86_64/dl.c: New file.
21996
21997 * kern/x86_64/efi/callwrap.S: Likewise.
21998
21999 * kern/x86_64/efi/startup.S: Likewise.
22000
22001 * loader/efi/appleloader.c: Likewise.
22002
22003 * loader/efi/chainloader.c (cmdline): New variable.
22004 (grub_chainloader_unload): Wrap efi calls.
22005 (grub_chainloader_boot): Likewise.
22006 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
22007 command line.
22008
22009 * loader/efi/chainloader_normal.c (chainloader_command):
22010 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
22011 command line.
22012
22013 * loader/i386/efi/linux.c (allocate_pages): Change allocation
22014 method.
22015 (grub_e820_add_region): New function.
22016 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
22017 booting.
22018 (grub_find_video_card): New function.
22019 (grub_linux_setup_video): New function.
22020 (grub_rescue_cmd_linux): Probe for video information.
22021
22022 * normal/x86_64/setjmp.S: New file.
22023
22024 * term/efi/console.c (map_char): New function.
22025 (grub_console_putchar): Map unicode char.
22026 (grub_console_checkkey): Wrap efi calls.
22027 (grub_console_getkey): Likewise.
22028 (grub_console_getwh): Likewise.
22029 (grub_console_gotoxy): Likewise.
22030 (grub_console_cls): Likewise.
22031 (grub_console_setcolorstate): Likewise.
22032 (grub_console_setcursor): Likewise.
22033
22034 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
22035
59652a20 220362008-07-16 Pavel Roskin <proski@gnu.org>
22037
ef294055 22038 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
22039 format strings.
22040
59652a20 22041 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
22042 pointer, not an integer. This fixes a warning and prevents
22043 precision loss on 64-bit systems.
22044 (relocate_addresses): Remove unneeded cast.
22045
afc3b5d7 220462008-07-15 Pavel Roskin <proski@gnu.org>
22047
506b2b3e 22048 * kern/i386/ieee1275/init.c: Include grub/cache.h.
22049
62ead89c 22050 * term/ieee1275/ofconsole.c: Disable code unused on i386.
22051
c4cd51d7 22052 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
22053 Fix comparison between signed and unsigned.
22054
0d3d8f28 22055 * include/grub/i386/ieee1275/console.h: Declare
22056 grub_console_init() and grub_console_fini().
22057
8804b286 22058 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
22059 It's empty and unused.
22060
ee01cf35 22061 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
22062 beginning to avoid warnings with some compilers.
22063
afc3b5d7 22064 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
22065 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
22066
e4e8eaa5 220672008-07-14 Pavel Roskin <proski@gnu.org>
22068
407aceb4 22069 * kern/env.c (grub_register_variable_hook): Don't copy empty
22070 string, it leaks memory. Pass "" to grub_env_set(), it should
22071 handle constant strings.
22072
e4e8eaa5 22073 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
22074 * commands/cmp.c (grub_cmd_cmp): Likewise.
22075 * kern/dl.c (grub_dl_flush_cache): Likewise.
22076 (grub_dl_load_core): Likewise.
22077 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
22078 (grub_elf64_load_phdrs): Likewise.
22079
d4e2dad3 220802008-07-13 Pavel Roskin <proski@gnu.org>
22081
22082 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
22083 between signed and unsigned.
22084 (LzmaEnc_Finish): Fix warning about an unused parameter.
22085
aa24b516 220862008-07-13 Bean <bean123ch@gmail.com>
22087
22088 * Makefile.in (enable_lzo): New rule.
22089
22090 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
22091
22092 * configure.ac (ENABLE_LZO): New option --enable-lzo.
22093
22094 * boot/i386/pc/lnxboot.S: #include <config.h>.
22095
22096 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 22097 its value according to the compression algorithm used, lzo or lzma.
aa24b516 22098
22099 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
22100 compression algorithm according to configure macro.
22101
22102 * kern/i386/pc/startup.S (codestart): Likewise.
22103
22104 * kern/i386/pc/lzma_decode.S: New file.
22105
22106 * include/grub/lib/LzFind.h: Likewise.
22107
22108 * include/grub/lib/LzHash.h: Likewise.
22109
22110 * include/grub/lib/LzmaDec.h: Likewise.
22111
22112 * include/grub/lib/LzmaEnc.h: Likewise.
22113
22114 * include/grub/lib/LzmaTypes.h: Likewise.
22115
22116 * lib/LzFind.c: Likewise.
22117
22118 * lib/LzmaDec.c: Likewise.
22119
22120 * lib/LzmaEnc.c: Likewise.
22121
4ae821ac 221222008-07-13 Bean <bean123ch@gmail.com>
22123
22124 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
22125 (grub_ext4_extent_header): New structure.
22126 (grub_ext4_extent): Likewise.
22127 (grub_ext4_extent_idx): Likewise.
22128 (grub_ext4_find_leaf): New function.
22129 (grub_ext2_read_block): Handle extents.
22130
9a745147 221312008-07-12 Robert Millan <rmh@aybabtu.com>
22132
22133 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
22134
d49a4cf6 221352008-07-11 Robert Millan <rmh@aybabtu.com>
22136
22137 * util/grub.d/40_custom.in: New file. Example on how to add custom
22138 entries to /etc/grub.d.
22139 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
22140 40_custom (implicitly, by merging all the grub.d rules).
22141
947414b4 221422008-07-11 Pavel Roskin <proski@gnu.org>
22143
0059cf6f 22144 * commands/read.c (grub_getline): Fix invalid memory access.
22145 Don't add newline to the variable value.
22146
947414b4 22147 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
22148 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
22149 (serial_hw_get_port): Check validity of the port number.
22150 (grub_cmd_serial): Check return value of serial_hw_get_port().
22151
62a02d00 221522008-07-07 Pavel Roskin <proski@gnu.org>
22153
22154 * boot/i386/pc/diskboot.S (notification_string): Replace
22155 "Loading kernel" with just "loading". This is shorter, less
22156 confusing and saves a few bytes for possible future changes.
22157
3e5581b0 221582008-07-05 Pavel Roskin <proski@gnu.org>
22159
ea387a48 22160 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
22161 size for ATAPI devices, they are undefined. Output sector
22162 number in decimal form.
22163
3e5581b0 22164 * disk/ata.c: Use named constants for status bits.
22165
fdecb8fd 221662008-07-04 Pavel Roskin <proski@gnu.org>
22167
bcd35b90 22168 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
22169 grub_addr_t before casting it to the void pointer to fix a
22170 warning. Non-addressable regions are discarded earlier.
22171 (grub_arch_modules_addr): Cast _end to grub_addr_t.
22172 * kern/i386/linuxbios/table.c: Include grub/misc.h.
22173 (check_signature): Don't shadow table_header.
22174 (grub_linuxbios_table_iterate): Cast numeric constants to
22175 grub_linuxbios_table_header_t.
22176 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
22177 grub_stop().
22178
af58ab3d 22179 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
22180 prevent warnings.
22181
1759aa57 22182 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
22183 pointer, which can cause warnings. Support 64-bit addresses.
22184
fdecb8fd 22185 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
22186 of sizeof(long). This fixes PowerPC image generation on x86_64.
22187
8516d2a8 221882008-07-04 Robert Millan <rmh@aybabtu.com>
22189
22190 This fixes a performance issue when pc & gpt partmap iterators
22191 didn't abort iteration even after our hook found what it was
fe987087 22192 looking for (often causing expensive probes of non-existent drives).
8516d2a8 22193
22194 Some callers relied on previous buggy behaviour, since they would
34c44600 22195 raise an error when their own hooks caused early abortion of its
8516d2a8 22196 iteration.
22197
22198 * kern/device.c (grub_device_open): Improve error message.
22199 * disk/lvm.c (grub_lvm_open): Likewise.
22200 * disk/raid.c (grub_raid_open): Likewise.
22201
22202 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
22203 when hook requests it, independently of grub_errno.
22204 (pc_partition_map_probe): Do not fail when find_func() caused
22205 early abortion of pc_partition_map_iterate().
22206
22207 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
22208 when hook requests it, independently of grub_errno.
22209 (gpt_partition_map_probe): Do not fail when find_func() caused
22210 early abortion of gpt_partition_map_iterate().
22211
22212 * kern/partition.c (grub_partition_iterate): Abort parent iteration
22213 when hook requests it, independently of grub_errno. Do not fail when
22214 part_map_iterate_hook() caused early abortion of p->iterate().
22215
22216 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
22217 when grub_partition_iterate() returned with non-zero.
22218
277d0de9 222192008-07-03 Pavel Roskin <proski@gnu.org>
22220
22221 * disk/ata.c (grub_ata_pio_write): Check status before writing,
22222 like we do in grub_ata_pio_read().
22223 (grub_ata_readwrite): Always write individual sectors. Fix the
22224 sector count for the remainder.
22225 (grub_ata_write): Enable writing to ATA devices. Correctly
22226 report error for ATAPI devices.
22227
d4c9b428 222282008-07-02 Pavel Roskin <proski@gnu.org>
22229
e43fc690 22230 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
22231 warning.
22232
f707af42 22233 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
22234 for every read sector, we already increment it for the whole
22235 batch. This fixes reading more than 256 sectors at once.
22236
11e16b15 22237 * util/grub-editenv.c (cmd_info): Cast argument to long
22238 explicitly. ptrdiff_t reduces to int on i386.
22239
cbabfdd4 22240 * util/grub-editenv.c (main): Be specific which parameter is
22241 missing.
22242
b8fbce0a 22243 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
22244 (memdisk): Make memdisk_orig_addr a pointer.
22245
c9c8e606 22246 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
22247 for file offsets, use grub_off_t instead. Fix printf format
22248 warnings.
22249
ca62e598 22250 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
22251 there. Real unexpected warnings should not drown in the noise
22252 about known problems.
22253
ce8d1766 22254 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
22255 grub_disk_addr_t for memory addresses.
22256
00c7a56a 22257 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
22258 explicitly to fix a warning.
22259
08d3ef09 22260 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
22261
cb71ba20 22262 * Makefile.in (MODULE_LDFLAGS): New variable.
22263 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
22264 the linker accepts --build-id=none.
22265 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
22266 MODULE_LDFLAGS.
22267 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
22268
d4c9b428 22269 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
22270 those in Linux XFS code. Provide a way to access 64-bit parent
22271 inode.
22272 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
22273 the end of struct grub_xfs_dir_header.
22274
d4156eee 222752008-07-02 Bean <bean123ch@gmail.com>
22276
22277 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
22278 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22279 and GRUB_IEEE1275_FLAG_NO_ANSI.
22280
22281 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
22282 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22283 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
22284
22285 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
22286 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
22287
22288 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
22289 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
22290
22291 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
22292 esc sequence on non ANSI terminal.
22293 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
22294
22295 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
22296 beginning of file.
22297
2270f77b 222982008-07-02 Bean <bean123ch@gmail.com>
22299
22300 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
22301 (grub_editenv_SOURCES): New variable.
22302 (pkglib_MODULES): Add loadenv.mod.
22303 (loadenv_mod_SOURCES): New variable.
22304 (loadenv_mod_CFLAGS): Likewise.
22305 (loadenv_mod_LDFLAGS): Likewise.
22306
22307 * include/grub/envblk.h: New file.
22308
22309 * util/envblk.c: New file.
22310
22311 * util/grub-editenv.c: New file.
22312
22313 * commands/loadenv.c: New file.
22314
0e9e51ec 223152008-07-01 Pavel Roskin <proski@gnu.org>
22316
d89b7634 22317 * include/multiboot2.h (struct multiboot_tag_module): Use char,
22318 not unsigned char. This fixes warnings and is consistent with
22319 other tags.
22320
bf1835b1 22321 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
22322
8222a04b 22323 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
22324
6a42d99d 22325 * term/tparm.c (analyze): Always set *popcount.
22326
10b159d1 22327 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
22328 cast to fix a warning.
22329
b8789f6c 22330 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
22331 cast to suppress a warning.
22332
29d7e38a 22333 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
22334 grub_fshelp_read_file() expects.
22335
f341f669 22336 * fs/fat.c: Fix UUID calculation on big-endian systems. We
22337 write uuid as a 32-bit value in CPU byte order, so declare and
22338 use it as such.
22339
0e9e51ec 22340 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
22341 long if the format specifier expects it.
22342 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
22343 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22344 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
22345 long to fix a warning.
22346 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
22347 grub_dprintf() arguments to fix warnings.
22348
3aefa857 223492008-06-30 Pavel Roskin <proski@gnu.org>
22350
56c7668b 22351 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
22352 install_bsd_part immediately before core.img is embedded or
22353 modified on disk. This fixes core.img verification if core.img
22354 cannot be embedded.
22355
3aefa857 22356 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
22357 core_path to calculate the blocklist.
22358 Patch from Javier Martín <lordhabbit@gmail.com>
22359
5444088d 223602008-06-29 Robert Millan <rmh@aybabtu.com>
22361
22362 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
22363 block to disk block.
22364 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
22365 Patch from Niels Böhm <bitbucket@arcor.de>
22366
674835c8 223672008-06-29 Robert Millan <rmh@aybabtu.com>
22368
22369 * util/update-grub_lib.in (font_path): Search for fonts in
22370 /boot/grub first, which is more likely to be readable (we aren't
22371 deciding where fonts live, just looking for them).
22372
f527dbc8 223732008-06-26 Pavel Roskin <proski@gnu.org>
22374
6c2d8df6 22375 * util/biosdisk.c (read_device_map): Don't leave dead map
22376 entries for devices failing stat() check.
22377
f527dbc8 22378 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
22379 core_path_dev for the core.img path on the target device.
22380
aebe3d13 223812008-06-26 Robert Millan <rmh@aybabtu.com>
22382
22383 * disk/fs_uuid.c: New file.
22384 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
22385 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
22386 (fs_uuid_mod_LDFLAGS): New variables.
22387 * include/grub/disk.h (grub_disk_dev_id): Add
22388 `GRUB_DISK_DEVICE_UUID_ID'.
22389 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
22390 implement iterate().
22391
37aaf354 223922008-06-26 Robert Millan <rmh@aybabtu.com>
22393
22394 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
22395 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
22396 Linux image includes no initrd.
22397
25ff262a 223982008-06-21 Javier Martín <lordhabbit@gmail.com>
22399
22400 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
22401 call to resolve the core image location that effectively appended the
22402 name twice.
22403
76a2bd44 224042008-06-21 Robert Millan <rmh@aybabtu.com>
22405
22406 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
22407 call from here ...
22408
22409 * util/grub.d/10_hurd.in: ... to here ...
22410 * util/grub.d/10_linux.in: ... and here.
22411
650e1c79 224122008-06-19 Robert Millan <rmh@aybabtu.com>
22413
fe987087 22414 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 22415 after it has been set by grub_machine_set_prefix().
22416
6ce63911 224172008-06-19 Robert Millan <rmh@aybabtu.com>
22418
22419 * commands/search.c (search_label, search_fs_uuid, search_file): Print
22420 search result when not saving to variable, not the other way around.
22421 When saving to variable, abort iteration as soon as a match is found.
22422
73940cec 224232008-06-19 Robert Millan <rmh@aybabtu.com>
22424
22425 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
22426 check for partition that provides /boot/grub. Its logic is flawed,
22427 as it prevents prepare_grub_to_access_device() from being called
22428 multiple times.
22429
3c62a39d 224302008-06-19 Robert Millan <rmh@aybabtu.com>
22431
22432 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
22433 "insmod" command directly when abstraction modules are needed,
fe987087 22434 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 22435 since it had already been processed).
22436
47395a42 224372008-06-19 Pavel Roskin <proski@gnu.org>
22438
22439 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
22440 changed. This is needed in case GRUB_LIBDIR changes.
22441 * conf/i386-ieee1275.rmk: Likewise.
22442 * conf/i386-linuxbios.rmk: Likewise.
22443 * conf/i386-pc.rmk: Likewise.
22444 * conf/powerpc-ieee1275.rmk: Likewise.
22445
a145ac2d 224462008-06-18 Pavel Roskin <proski@gnu.org>
22447
22448 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
22449 kernel_elf_symlist.c to symlist.c for consistency with other
22450 architectures. Update all users.
22451 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22452
7847c51e 224532008-06-18 Robert Millan <rmh@aybabtu.com>
22454
22455 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
22456 it in prefix.
22457
22458 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
22459 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
22460 a RAID device, run setup() for all members independently on whether
22461 LVM abstraction is being used.
22462 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
22463 If grub-mkimage has set `*install_dos_part == -2', don't override this
22464 value.
22465 Perform *install_dos_part adjustments independently on whether
22466 we're embedding or not.
22467 Clarify error message when image is too big for embedding.
22468 Remove duplicate *install_dos_part stanza.
22469
b23e5644 224702008-06-17 Robert Millan <rmh@aybabtu.com>
22471
22472 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
22473 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
22474 variables.
22475 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
22476 values in grub_ofconsole_normal_color and
22477 grub_ofconsole_highlight_color (they're not directly related to
22478 background and foreground).
22479 (grub_ofconsole_setcolorstate): Extract background and foreground
22480 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
22481
0aac2f79 224822008-06-17 Robert Millan <rmh@aybabtu.com>
22483
22484 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
22485 /boot/grub for the check in last commit, not /boot (they could be
22486 different partitions).
22487
3cca7ef3 224882008-06-16 Robert Millan <rmh@aybabtu.com>
22489
22490 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
22491 asked to setup access for the same partition that provides /boot,
22492 don't bother using UUIDs since our root already has the value we
22493 want.
22494
347396d8 224952008-06-16 Robert Millan <rmh@aybabtu.com>
22496
22497 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
22498 I2O devices.
22499 Patch from Sven Mueller <sven@debian.org>.
22500
991477f8 225012008-06-16 Robert Millan <rmh@aybabtu.com>
22502
22503 * util/update-grub.in: Check for $EUID instead of $UID.
22504 Reported by Vincent Zweije.
22505
d31a32a1 225062008-06-16 Bean <bean123ch@gmail.com>
22507
fe987087 22508 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 22509 (grub_ext2_read_block): Likewise.
22510 (grub_ext2_read_inode): Likewise.
22511 (grub_ext2_mount): Likewise.
22512 (grub_ext2_close): Likewise.
22513 (grub_ext3_get_journal): Removed.
22514
fe987087 22515 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 22516 (grub_reiserfs_read_symlink): Likewise.
22517 (grub_reiserfs_mount): Likewise.
22518 (grub_reiserfs_open): Likewise.
22519 (grub_reiserfs_read): Likewise.
22520 (grub_reiserfs_close): Likewise.
22521 (grub_reiserfs_get_journal): Removed.
22522
22523 * fs/fshelp.c (grub_fshelp_read): Removed.
22524 (grub_fshelp_map_block): Likewise.
22525
22526 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
22527 (grub_fshelp_journal): Likewise.
22528 (grub_fshelp_read): Likewise.
22529 (grub_fshelp_map_block): Likewise.
22530
3540a760 225312008-06-16 Pavel Roskin <proski@gnu.org>
22532
22533 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
22534 floating point anymore.
22535 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
22536
95614c84 225372008-06-15 Pavel Roskin <proski@gnu.org>
22538
22539 * commands/ls.c (grub_ls_list_files): Use integer calculations
22540 for human readable format, avoid floating point use.
22541 * kern/misc.c (grub_ftoa): Remove.
22542 (grub_vsprintf): Remove floating point support.
22543
50465dd6 225442008-06-15 Robert Millan <rmh@aybabtu.com>
22545
fe6b695a 22546 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22547 devices.
22548 Reported by Max Vozeler.
22549
a9207284 225502008-06-15 Robert Millan <rmh@aybabtu.com>
22551
22552 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
22553 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
22554 skipped later.
22555 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
22556 the beginning of the prefix.
22557
22558 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
22559 It is assumed that if we have a memdisk, grub-mkimage has set
22560 grub_prefix to include the "(memdisk)" drive in it.
22561
a7cbd45a 225622008-06-15 Robert Millan <rmh@aybabtu.com>
22563
22564 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
22565 Initialize keyboard controller after registering the terminal, so that
22566 grub_printf() can be called from grub_keyboard_controller_init().
22567
21cf716a 225682008-06-15 Robert Millan <rmh@aybabtu.com>
22569
22570 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
22571 extent-btree which is written as big endian on disk.
22572 Reported by Alain Greppin <al@chilibi.org>.
22573
23a64d8e 225742008-06-14 Robert Millan <rmh@aybabtu.com>
22575
22576 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
22577 * util/i386/pc/grub-install.in (modules): Likewise.
22578
d687651c 225792008-06-13 Pavel Roskin <proski@gnu.org>
22580
22581 * commands/ls.c (grub_ls_list_files): Fix format warnings.
22582
dfe9ddd4 225832008-06-13 Bean <bean123ch@gmail.com>
22584
22585 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22586
22587 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22588
22589 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22590 to indicate sparse block.
22591
16ae7781 225922008-06-12 Pavel Roskin <proski@gnu.org>
22593
e6d1a308 22594 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22595 number, grub_fshelp_read() does it for us.
22596
16ae7781 22597 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22598 linear disk read with journal translation.
22599 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22600 * include/grub/fshelp.h: Declare grub_fshelp_read().
22601
40fd3a2b 226022008-06-09 Pavel Roskin <proski@gnu.org>
22603
22604 * fs/minix.c (grub_minix_mount): Handle error reading
22605 superblock.
22606
f5679726 226072008-06-08 Robert Millan <rmh@aybabtu.com>
22608
22609 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22610 don't append the RAID prefix afterwards.
22611 Reported by Clint Adams.
22612
ce525529 226132008-06-08 Robert Millan <rmh@aybabtu.com>
22614
22615 Based on description from Pavel:
22616 * kern/disk.c (grub_disk_check_range): Rename to ...
22617 (grub_disk_adjust_range): ... this. Add a comment explaining the
22618 tasks performed by this function.
22619
ad4936a0 226202008-06-08 Robert Millan <rmh@aybabtu.com>
22621
22622 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22623 `num_serial' (for consistency with other variables).
22624 (struct grub_ntfs_data): Add `uuid' member.
22625 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22626 (grub_ntfs_uuid): New function.
22627 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22628
dc20b0f9 226292008-06-07 Pavel Roskin <proski@gnu.org>
22630
22631 * util/biosdisk.c (open_device): Revert last change to the
22632 function, it broke installation. The sector needs to be
22633 different dependent on which device is opened.
22634
c5e3cfba 226352008-06-06 Robert Millan <rmh@aybabtu.com>
22636
22637 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22638 rest of GRUB, and breakage doesn't happen if its value were modified.
22639
22640 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22641 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22642 a constant (same value).
22643 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22644 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22645
26a1f8c4 226462008-06-06 Robert Millan <rmh@aybabtu.com>
22647
22648 * util/biosdisk.c (open_device): Do not modify sector offset when
22649 accessing a partition. kern/disk.c already handles this for us.
22650
25d6b327 226512008-06-06 Robert Millan <rmh@aybabtu.com>
22652
22653 * util/grub-emu.c (grub_machine_init): Move code in this function from
22654 here ...
22655 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22656 segfault in case grub_printf() is called).
22657
22658 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22659 grub_probe. Update all users not to explicitly add it again.
22660 (grub_device): New variable; contains corresponding device for grubdir.
22661 (fs_module, partmap_module, devabstraction_module): Pass
22662 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22663 every time.
22664
9ece62fb 226652008-06-05 Robert Millan <rmh@aybabtu.com>
22666
22667 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22668 is found, print it (same layout as with labels).
22669
1ad36d37 226702008-06-04 Robert Millan <rmh@aybabtu.com>
22671
22672 * util/biosdisk.c (get_drive): Rename to ...
22673 (find_grub_drive): ... this. Update all users.
22674
22675 (get_os_disk): Rename to ...
22676 (convert_system_partition_to_system_disk): ... this. Update all users.
22677
22678 (find_drive): Rename to ...
22679 (find_system_device): ... this. Update all users.
22680
e6a30859 226812008-06-04 Robert Millan <rmh@aybabtu.com>
22682
22683 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22684 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22685 (make_device_map): Likewise.
22686
00c108a4 226872008-06-01 Robert Millan <rmh@aybabtu.com>
22688
22689 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22690 before dereferencing it.
22691
22692 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22693 union with fat12/fat16-specific ones. Add some new fields, including
22694 `num_serial' for both versions.
22695 (struct grub_fat_data): Add `uuid' member.
22696 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22697 names. Initialize `data->uuid' using `num_serial'.
22698 (grub_fat_uuid): New function.
22699 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22700
22701 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22702 (grub_reiserfs_uuid): New function.
22703 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22704 member.
22705
22706 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22707 (grub_xfs_uuid): New function.
22708 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22709
1385c5bb 227102008-06-01 Robert Millan <rmh@aybabtu.com>
22711
22712 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22713 code that is backward compatible with pre-uuid search command.
22714
c682dfd7 227152008-05-31 Robert Millan <rmh@aybabtu.com>
22716
22717 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22718 floppies after everything else, to ensure floppy drive isn't accessed
22719 unnecessarily (patch from Bean).
22720
b7db5d47 227212008-05-31 Robert Millan <rmh@aybabtu.com>
22722
22723 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22724 not print device names when we were asked to set a variable.
22725
6e037aa9 227262008-05-31 Robert Millan <rmh@aybabtu.com>
22727
22728 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22729 using "cursor-on" and "cursor-off" commands (understood at least by
22730 the Open Firmware flavour on OLPC).
22731
41305bc8 227322008-05-31 Michael Gorven <michael@gorven.za.net>
22733
22734 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22735 on and off sequences.
22736
69ba137e 227372008-05-31 Robert Millan <rmh@aybabtu.com>
22738
22739 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22740 * util/update-grub.in: Likewise.
22741
520ae21b 227422008-05-30 Pavel Roskin <proski@gnu.org>
22743
22744 * util/biosdisk.c (linux_find_partition): Simplify logic and
22745 make the code more universal. Keep special processing for
22746 devfs, but use a simple rule for all other devices. If the
22747 device ends with a number, append 'p' and the partition number.
22748 Otherwise, append only the partition number.
22749
5786569b 227502008-05-30 Robert Millan <rmh@aybabtu.com>
22751
22752 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22753 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22754 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22755 the `root' parameter to Linux.
22756
51500452 227572008-05-30 Robert Millan <rmh@aybabtu.com>
22758
22759 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22760 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22761 --fs_uuid with --fs-uuid.
22762 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22763 all filesystems support them).
22764
811d3878 227652008-05-30 Robert Millan <rmh@aybabtu.com>
22766
22767 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 22768 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 22769
cab63c95 227702008-05-30 Robert Millan <rmh@aybabtu.com>
22771
22772 * util/grub.d/00_header.in: Remove obsolete comment referencing
22773 convert_system_path_to_grub_path().
22774 * util/update-grub.in: Likewise.
22775 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22776 (convert_system_path_to_grub_path): Add a warning message explaining
22777 that this function is deprecated. Rely on is_path_readable_by_grub()
22778 for the readability checks.
22779 (font_path): Use is_path_readable_by_grub() for the readability
22780 check rather than convert_system_path_to_grub_path().
22781
972e2f7a 227822008-05-30 Robert Millan <rmh@aybabtu.com>
22783
22784 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22785 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22786 converting it first.
22787 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22788 grub.cfg for access to font file, and afterwards call it again to set
22789 the root device.
22790
62191274 227912008-05-30 Robert Millan <rmh@aybabtu.com>
22792
22793 * commands/search.c (options): Add --fs_uuid option.
22794 (search_fs_uuid): New function.
22795 (grub_cmd_search): Fix --set argument passing.
22796 Use search_fs_uuid() when requested via --fs_uuid.
22797 (grub_search_init): Update help message.
22798 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22799 and redeclare it as an array of 16-bit words.
22800 (grub_ext2_uuid): New function.
22801 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22802 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22803 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22804 (GRUB_DEVICE_BOOT_UUID): New variables.
22805 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22806 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22807 whenever possible.
22808 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22809 just assume `root' variable has the right value.
22810 * util/grub.d/10_linux.in: Likewise.
22811 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22812 via PRINT_FS_UUID.
22813 (main): Recognise `-t fs_uuid' argument.
22814
01b73ec8 228152008-05-30 Robert Millan <rmh@aybabtu.com>
22816
22817 * util/biosdisk.c (map): Redefine structure to hold information
22818 about GRUB drive name.
fe6b695a 22819 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 22820 drive names.
22821 (call_hook): Remove.
22822 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22823 member. Assume drive has partitions.
22824 (grub_util_biosdisk_open): Access device names via `.device' struct
22825 member.
22826 (open_device): Likewise.
22827 (find_drive): Likewise.
22828 (read_device_map): Adjust map[] usage to match the new struct
22829 definition. Don't check for duplicates (still possible, but not cheap
22830 anymore).
22831 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22832 (make_device_name): Remove assumption of BIOS-like drive names.
22833
22f16596 228342008-05-30 Pavel Roskin <proski@gnu.org>
22835
22836 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22837 compiling execute.c doesn't need grub_script.tab.h anymore.
22838 (normal/command.c_DEPENDENCIES): Likewise.
22839 (normal/function.c_DEPENDENCIES): Likewise.
22840 * conf/i386-ieee1275.rmk: Likewise.
22841 * conf/i386-linuxbios.rmk: Likewise.
22842 * conf/i386-pc.rmk: Likewise.
22843 * conf/powerpc-ieee1275.rmk: Likewise.
22844 * conf/sparc64-ieee1275.rmk: Likewise.
22845
528ad8f2 228462008-05-29 Pavel Roskin <proski@gnu.org>
22847
d1dff95d 22848 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22849 when scanning metadata for volume group name.
22850
528ad8f2 22851 * include/grub/script.h: Don't include grub_script.tab.h. It's
22852 a generated file, which may only be included from the files with
22853 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22854 use union YYSTYPE, as the later allows forward declaration.
22855 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22856
47248e08 228572008-05-29 Robert Millan <rmh@aybabtu.com>
22858
22859 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22860 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22861 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22862 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22863 scan codes.
22864
ee632529 228652008-05-29 Robert Millan <rmh@aybabtu.com>
22866
22867 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22868 control key combinations.
22869
eee96e08 228702008-05-29 Robert Millan <rmh@aybabtu.com>
22871
22872 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22873 * util/ieee1275/grub-install.in: ... to here.
22874 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22875 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22876 (grub_install_SOURCES): Likewise.
22877
da9a6a94 228782008-05-29 Robert Millan <rmh@aybabtu.com>
22879
22880 * fs/affs.c: Update copyright year.
22881 * fs/ext2.c: Likewise.
22882 * fs/fshelp.c: Likewise.
22883 * fs/hfsplus.c: Likewise.
22884 * fs/ntfs.c: Likewise.
22885 * fs/xfs.c: Likewise.
22886 * include/grub/fshelp.h: Likewise.
22887 * util/grub-mkdevicemap.c: Likewise.
22888
12e65f3a 228892008-05-28 Robert Millan <rmh@aybabtu.com>
22890
22891 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22892 might need to be fatfs to support some firmware implementations
22893 (e.g. OFW or EFI).
22894
23023641 228952008-05-28 Robert Millan <rmh@aybabtu.com>
22896
22897 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22898 devices.
22899 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22900 (make_device_map): Likewise.
22901
887d2619 229022008-05-20 Bean <bean123ch@gmail.com>
22903
22904 * fs/fshelp.c (grub_fshelp_map_block): New function.
22905 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22906 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22907
22908 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22909 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22910 (grub_fshelp_journal): New structure.
22911 (grub_fshelp_map_block): New function prototype.
22912 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22913 (grub_fshelp_map_block): Likewise.
22914
22915 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22916 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22917 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22918 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22919 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22920 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22921 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22922 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22923 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22924 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22925 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22926 (grub_ext2_sblock): New members for journal support.
22927 (grub_ext3_journal_header): New structure.
22928 (grub_ext3_journal_revoke_header): Likewise.
22929 (grub_ext3_journal_block_tag): Likewise.
22930 (grub_ext3_journal_sblock): Likewise.
22931 (grub_fshelp_node): New members logfile and journal.
22932 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
22933 grub_fshelp_map_block to get real block number.
22934 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
22935 number.
22936 (grub_ext2_read_inode): Likewise.
22937 (grub_ext3_get_journal): New function.
22938 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
22939 (grub_ext2_close): Release memory used by journal.
22940
22941 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
22942 (REISERFS_MAGIC_DESC_BLOCK): New macro.
22943 (grub_reiserfs_transaction_header): Renamed to
22944 grub_reiserfs_description_block, replace field data with real_blocks.
22945 (grub_reiserfs_commit_block): New structure.
22946 (grub_reiserfs_data): New member journal.
22947 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
22948 number.
22949 (grub_reiserfs_read_symlink): Likewise.
22950 (grub_reiserfs_iterate_dir): Likewise.
22951 (grub_reiserfs_open): Likewise.
22952 (grub_reiserfs_read): Likewise.
22953 (grub_reiserfs_get_journal): New function.
22954 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
22955 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
22956 using grub_reiserfs_get_journal.
22957 (grub_reiserfs_close): Release memory used by journal.
22958
22959 * fs/affs.c (grub_affs_read_block): Change block type to
22960 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
22961
22962 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
22963
22964 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
22965
22966 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
22967
22968 * fs/udf.c (grub_udf_read_block): Change block type to
22969 grub_disk_addr_t. Use type cast to avoid warning.
22970
22971 * fs/xfs.c (grub_xfs_read_block): Likewise.
22972
b7c6bed5 229732008-05-16 Christian Franke <franke@computer.org>
22974
22975 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
22976 to ensure that break with ESC will always work.
22977 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
22978 Remove ESC from keyboard queue.
22979
eedf167f 229802008-05-16 Christian Franke <franke@computer.org>
22981
22982 * util/biosdisk.c: [__CYGWIN__] Add includes.
22983 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
22984 (get_os_disk): Move variable declarations to OS specific
22985 parts to avoid warning.
22986 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
22987 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
22988 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
22989 Cygwin.
22990 * util/getroot.c: [__CYGWIN__] Add includes.
22991 (strip_extra_slashes): Fix "/" case.
22992 [__CYGWIN__] (get_win32_path): New function.
22993 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
22994 [__CYGWIN__] (find_root_device): Disable.
22995 [__CYGWIN__] (get_bootsec_serial): New function.
22996 [__CYGWIN__] (find_cygwin_root_device): Likewise.
22997 [__linux__] (grub_guess_root_device): Add early returns to simplify
22998 structure.
22999 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
23000 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
23001 check for Linux only.
23002
a079699e 230032008-05-15 Bean <bean123ch@gmail.com>
23004
23005 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
23006 keyboard hang problem in apple's intel mac.
23007
1cf4059a 230082008-05-09 Robert Millan <rmh@aybabtu.com>
23009
23010 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
23011 devices.
23012 * util/grub-mkdevicemap.c (get_virtio_disk_name)
23013 (make_device_map): Likewise.
23014 Reported by Aurelien Jarno <aurel32@debian.org>
23015
ed759390 230162008-05-07 Ian Campbell <ijc@hellion.org.uk>
23017
23018 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
23019 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
23020 (make_device_map): Output entries for xvd type disks.
23021
b56c4eaa 230222008-05-07 Robert Millan <rmh@aybabtu.com>
23023
23024 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
23025 devices.
23026 * util/grub-mkdevicemap.c (get_cciss_disk_name)
23027 (make_device_map): Likewise.
23028 Reported by Roland Dreier <rdreier@cisco.com>
23029
7f8866ed 230302008-05-07 Robert Millan <rmh@aybabtu.com>
23031
23032 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
23033 grub_strstr() call. Correct a few mistakes in failure path handling.
23034
b0346e0f 230352008-05-06 Robert Millan <rmh@aybabtu.com>
23036
23037 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23038 Do not print a trailing slash (therefore, the root directory is an
23039 empty string).
23040 (convert_system_path_to_grub_path): Do not remove trailing slash
23041 from make_system_path_relative_to_its_root() output.
23042
23043 * util/i386/pc/grub-install.in: Add trailing slash to output from
23044 make_system_path_relative_to_its_root().
23045
6cf12cbd 230462008-05-06 Robert Millan <rmh@aybabtu.com>
23047
23048 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
23049 ensures that output lines aren't intermangled with those sent to
23050 stderr (via grub_util_info()).
23051 * util/grub-probe.c (grub_refresh): Likewise.
23052 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
23053
0fbb3117 230542008-05-05 Christian Franke <franke@computer.org>
23055
23056 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
23057 Add Cygwin device names.
23058 (get_ide_disk_name) [__CYGWIN__]: Likewise.
23059 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
23060 (check_device): Return error instead of success on empty name.
23061 (make_device_map): Move label inside linux specific code to
23062 prevent compiler warning.
23063
8124cdb7 230642008-04-30 Robert Millan <rmh@aybabtu.com>
23065
23066 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
23067 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
23068 first boot option.
23069 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
23070
094c01d0 230712008-04-29 Robert Millan <rmh@aybabtu.com>
23072
23073 * docs/grub.cfg: New file (example GRUB configuration).
23074
f4b1fc02 230752008-04-26 Robert Millan <rmh@aybabtu.com>
23076
329ce2a5 23077 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
23078 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
23079 and `disk/ieee1275/nand.c'.
f4b1fc02 23080
25f16ec1 230812008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 23082
25f16ec1 23083 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
23084 i386-linuxbios.
23085
23086 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
23087 change the buffer size to 4096 for cdrom device.
23088
23089 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
23090 and nand.mod.
23091 (_linux_mod_SOURCES): New variable.
23092 (_linux_mod_CFLAGS): Likewise.
23093 (_linux_mod_LDFLAGS): Likewise.
23094 (linux_mod_SOURCES): Likewise.
23095 (linux_mod_CFLAGS): Likewise.
23096 (linux_mod_LDFLAGS): Likewise.
23097 (nand_mod_SOURCES): Likewise.
23098 (nand_mod_CFLAGS): Likewise.
23099 (nand_mod_LDFLAGS): Likewise.
23100
23101 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
23102 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
23103 type property. (nand device in olpc don't have this property)
23104
23105 * include/grub/disk.h (grub_disk_dev_id): New macro
23106 GRUB_DISK_DEVICE_NAND_ID.
23107
23108 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
23109 function prototype.
23110 (grub_rescue_cmd_initrd): Likewise.
23111
23112 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
23113 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
23114 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 23115
25f16ec1 23116 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
23117 GRUB_MACHINE_IEEE1275 is defined.
23118
23119 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
23120 Use NESTED_FUNC_ATTR attribute on the hook parameter.
23121
23122 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
23123 on nested function heap_init.
23124 (grub_upper_mem): New variable for i386-ieee1275.
23125 (grub_get_extended_memory): New function for i386-ieee1275.
23126 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
23127
23128 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
23129 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
23130 property.
f19dbdb7 23131
25f16ec1 23132 * loader/i386/ieee1275/linux.c: New file.
23133
23134 * loader/i386/ieee1275/linux_normal.c: New file.
23135
23136 * disk/ieee1275/nand.c: New file.
23137
e89d61e9 231382008-04-18 Thomas Schwinge <tschwinge@gnu.org>
23139
23140 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
23141 value.
23142 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
23143
602566f6 231442008-04-18 Robert Millan <rmh@aybabtu.com>
23145
23146 Restructures early code path on ieee1275 to unify grub_main() as
23147 the first C function that is executed in every platform.
23148
23149 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
23150 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
23151 cmain().
23152 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
23153 * kern/ieee1275/cmain.c (cmain): Rename to ...
23154 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
23155 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
23156 at the beginning.
23157
57490c2b 231582008-04-18 Robert Millan <rmh@aybabtu.com>
23159
23160 * util/update-grub.in: Fix syntax error when setting
23161 `GRUB_PRELOAD_MODULES'.
23162 Reported by Stephane Chazelas <stephane@artesyncp.com>
23163
1977517d 231642008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
23165
23166 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
23167 section into account, newer toolchains generate unique build ids
23168 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 23169 we want build ids to be preserved
1977517d 23170 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
23171 far from other sections don't cause the raw binary images grow
23172 size
23173
bfb1f1a2 231742008-04-15 Robert Millan <rmh@aybabtu.com>
23175
23176 * disk/lvm.c: Update copyright year.
23177 * kern/misc.c: Likewise.
23178
01979850 231792008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23180
23181 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 23182 there is no memory left for physical volume name.
01979850 23183
0a1150e2 231842008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23185
23186 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
23187 volume name mapping to support bigger than 9 character names properly.
23188
82ead3fe 231892008-04-13 Robert Millan <rmh@aybabtu.com>
23190
23191 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
23192 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
23193
e54a72f5 231942008-04-13 Christian Franke <franke@computer.org>
23195
23196 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
23197 to create a floppy emulation boot CD when non emulation mode
23198 does not work.
23199 Enable Joliet CD filesystem extension.
23200
9fe86034 232012008-04-13 Robert Millan <rmh@aybabtu.com>
23202
23203 * kern/misc.c (grub_strncat): Fix off-by-one error.
23204 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
23205
23206 * kern/env.c (grub_env_context_close): Clear current context, not
23207 previous one.
23208 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
23209
23210 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
23211
7ceeee39 232122008-04-13 Robert Millan <rmh@aybabtu.com>
23213
23214 Improve robustness when handling LVM.
23215
23216 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 23217 (and leave `*p' unmodified).
7ceeee39 23218 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
23219 through it.
23220 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
23221 iterating through it.
23222 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
23223 through it.
fe6b695a 23224 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 23225 when due) on each grub_lvm_getvalue() or grub_strstr() call.
23226 Don't assume `vg->pvs != NULL' when iterating through it.
23227
58cd3d85 232282008-04-13 Robert Millan <rmh@aybabtu.com>
23229
23230 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
23231 * genmk.rb (partmap): New variable.
23232 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
23233 (#{partmap}): New target rule.
23234 * genpartmaplist.sh: New file.
23235 * Makefile.in (pkglib_DATA): Add partmap.lst.
23236 (partmap.lst): New target rule.
23237 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
23238 modules (including all partition maps), instead of preloading them.
23239
78b51059 232402007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
23241
23242 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
23243 `linux-boot-prober' (if installed) to detect other operating
23244 systems which are installed on the computer and add them to
23245 the boot menu.
23246 * conf/common.rmk: Build and install 30_os-prober.
23247
a91627b4 232482008-04-12 Robert Millan <rmh@aybabtu.com>
23249
23250 * kern/powerpc/ieee1275/init.c: Move from here ...
23251 * kern/ieee1275/init.c: ... to here. Update all users.
23252
23253 * kern/powerpc/ieee1275/cmain.c: Move from here ...
23254 * kern/ieee1275/cmain.c: ... to here. Update all users.
23255
23256 * kern/powerpc/ieee1275/openfw.c: Move from here ...
23257 * kern/ieee1275/openfw.c: ... to here. Update all users.
23258
23259 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
23260 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
23261
322562ea 232622008-04-10 Pavel Roskin <proski@gnu.org>
23263
23264 * configure.ac: Always use "_cv_" in cache variables for
23265 compatibility with Autoconf 2.62.
23266
a02a73c5 232672008-04-07 Robert Millan <rmh@aybabtu.com>
23268
23269 Revert grub/machine/init.h addition by Pavel (since it breaks on
23270 i386-ieee1275 and others):
23271 * util/i386/pc/misc.c: Remove grub/machine/init.h.
23272 * util/powerpc/ieee1275/misc.c: Likewise.
23273
25c024b1 232742008-04-07 Robert Millan <rmh@aybabtu.com>
23275
23276 * util/grub-probe.c (probe): Improve error message.
23277
3cbd2f98 232782008-04-07 Robert Millan <rmh@aybabtu.com>
23279
23280 * util/biosdisk.c (read_device_map): Skip devices that don't exist
23281 (this prevents the presence of a bogus entry from ruining the whole
23282 thing).
23283
87a297bf 232842008-04-06 Pavel Roskin <proski@gnu.org>
23285
36747a62 23286 * util/biosdisk.c: Include grub/util/biosdisk.h.
23287 * util/grub-fstest.c (execute_command): Make static.
23288 * util/grub-mkdevicemap.c (check_device): Likewise.
23289 * util/i386/pc/misc.c: Include grub/machine/init.h.
23290 * util/powerpc/ieee1275/misc.c: Likewise.
23291 * util/lvm.c: Include grub/util/lvm.h.
23292 * util/misc.c: Include grub/kernel.h, grub/misc.h and
23293 grub/cache.h.
23294 * util/raid.c: Include grub/util/raid.h.
23295 (grub_util_getdiskname): Make static.
23296
87a297bf 23297 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
23298 grub_hostfs_fini(), as they are called from grub_init_all() and
23299 grub_fini_all() respectively. This fixes an infinite loop in
23300 grub-fstest due to double registration of hostfs.
23301 Reported by Christian Franke <Christian.Franke@t-online.de>
23302
f6ce7629 233032008-04-05 Pavel Roskin <proski@gnu.org>
23304
23305 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
23306 all 8 functions. Otherwise, probe function 0 only.
23307
070e49e4 233082008-04-04 Pavel Roskin <proski@gnu.org>
23309
8b088a4c 23310 * commands/lspci.c (grub_lspci_iter): Print the bus number
23311 correctly.
23312
4f657021 23313 * commands/lspci.c (grub_pci_classes): Fix typos.
23314 (grub_lspci_iter): Don't print func twice. Print vendor ID
23315 before device ID, as it's normally done.
23316
070e49e4 23317 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23318 Fix signedness warnings.
23319 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
23320 Likewise.
23321 * util/ieee1275/get_disk_name.c: Include config.h so that
23322 _GNU_SOURCE is defined and getline() is declared. Mark an
23323 unused argument as such. Fix a signedness warning.
23324
ba7328dc 233252008-04-02 Pavel Roskin <proski@gnu.org>
23326
26887f22 23327 * genkernsyms.sh.in: Use more robust assignments for CC and
23328 srcdir. Quote srcdir.
23329 * gensymlist.sh.in: Likewise. Assert at the compile time that
23330 the symbol table is not empty.
23331
ba7328dc 23332 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
23333 * fs/cpio.c (grub_cpio_read): Likewise.
23334
0f582c6b 233352008-04-01 Pavel Roskin <proski@gnu.org>
23336
4b6e1995 23337 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
23338 * disk/host.c (grub_host_open): Likewise.
23339 * disk/loopback.c (grub_loopback_open): Likewise.
23340 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
23341 disk->id as in disk/host.c, not a multi-character constant.
23342
828a2768 23343 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
23344 later is obsolete, potentially dangerous and sets a bad example.
23345 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
23346 * util/misc.c (grub_util_get_image_size): Likewise.
23347
2bb4fb47 23348 * disk/loopback.c (options): Improve help for "--partitions".
23349
0f582c6b 23350 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
23351 options to align them with the short options, e.g. "echo -e".
23352
a33224e0 233532008-03-31 Bean <bean123ch@gmail.com>
23354
23355 * video/reader/png.c (grub_png_data): New member is_16bit and
23356 image_data.
23357 (grub_png_decode_image_header): Detect 16 bit png image.
23358 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
23359 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
23360 (grub_video_reader_png): Release memory occupied by image_data.
23361
23362 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
23363 4096 bytes.
23364 (grub_nfs_mount): Skip the test for sector per cluster.
23365
23366 * include/grub/ntfs.h (MAX_SPC): Removed.
23367
86cb4f54 233682008-03-31 Bean <bean123ch@gmail.com>
23369
23370 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
23371 (grub_probe_SOURCES): Add fs/afs.c.
23372 (grub_fstest_SOURCES): Likewise.
23373 (afs_mod_SOURCES): New variable.
23374 (afs_mod_CFLAGS): Likewise.
23375 (afs_mod_LDFLAGS): Likewise.
23376
23377 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
23378 (grub_emu_SOURCES): Likewise.
23379
23380 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23381
23382 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23383
23384 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23385
23386 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23387
23388 * fs/afs.c: New file.
23389
17c74c21 233902008-03-30 Pavel Roskin <proski@gnu.org>
23391
4cb68e89 23392 * disk/host.c: Include grub/misc.h to fix a warning.
23393 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
23394 warnings about implicit declarations.
23395
8790bb04 23396 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
23397 variable.
23398 * include/grub/i386/loader.h: Change declaration of
23399 grub_linux_boot() to match what grub_loader_set() expects.
23400 * util/getroot.c (grub_guess_root_device): Return const char* to
23401 fix a warning.
23402 * util/grub-probe.c (probe): Fix a warning about uninitialized
23403 abstraction_name variable.
23404 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
23405 second argument as unused to fix a warning.
23406
9a3f3296 23407 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
23408 missing grub_error() call.
23409
0ecef90d 23410 * util/update-grub_lib.in: Define datarootdir, since Autoconf
23411 2.60 and newer uses it to define datadir.
23412
0bf6d401 23413 * commands/sleep.c: Fix warning about implicit declaration.
23414 * disk/memdisk.c: Likewise.
23415 * loader/aout.c: Likewise.
23416 * loader/i386/bsd_normal.c: Likewise.
23417 * util/grub-probe.c: Likewise.
23418
7cdacf97 23419 * commands/i386/cpuid.c (has_longmode): Make static.
23420 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
23421 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
23422
17c74c21 23423 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
23424 GDT. This is more robust, as %ds can change.
23425 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
23426 calling real_to_prot().
23427 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
23428
80a3e68b 234292008-03-28 Pavel Roskin <proski@gnu.org>
23430
23431 * kern/i386/pc/startup.S: Assert that uncompressed functions
23432 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
23433 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
23434 code, as they push parts of the code (error handlers) beyond
23435 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
23436 code as correctness and size.
23437
77bcd272 234382008-03-28 Pavel Roskin <proski@gnu.org>
23439
23440 * kern/i386/pc/startup.S
23441 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
23442 data block address to the real mode, keep offset minimal. This
23443 works around a bug in AWARD BIOS on old Athlon systems, which
23444 makes CD detection hang.
23445
c5dfd43b 234462008-03-26 Pavel Roskin <proski@gnu.org>
23447
23448 * normal/color.c (grub_parse_color_name_pair): Make `name' a
23449 const.
23450 * include/grub/normal.h: Add grub_parse_color_name_pair()
23451 declaration.
23452
bf962df2 234532008-03-24 Bean <bean123ch@gmail.com>
23454
23455 * disk/i386/pc/biosdisk.c (cd_start): Removed.
23456 (cd_count): Removed.
23457 (cd_drive): New variable.
23458 (grub_biosdisk_get_drive): Don't check for (cdN) device.
23459 (grub_biosdisk_call_hook): Likewise.
23460 (grub_biosdisk_iterate): Change cdrom detection method.
23461 (grub_biosdisk_open): Replace cd_start with cd_drive.
23462 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
23463 detect cdrom device.
23464
23465 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
23466 Removed.
23467 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
23468 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
23469 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
23470 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
23471 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
23472 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
23473 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
23474 (grub_biosdisk_cdrp): New structure.
23475 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
23476
23477 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
23478
23479 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
23480 device.
23481
23482 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
23483 New function.
23484
68e7fc7a 234852008-03-20 Robert Millan <rmh@aybabtu.com>
23486
23487 Remove 2 TiB limit in ata.mod.
23488 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
23489 (grub_ata_dumpinfo): Print sector count with 0x%llx.
23490 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
23491 grub_uint64_t instead of grub_uint32_t.
23492
38ad2cf5 234932008-03-05 Bean <bean123ch@gmail.com>
23494
23495 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
23496 (grub_multiboot): Set boot device.
23497
23498 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
23499
2b89344e 235002008-03-02 Bean <bean123ch@gmail.com>
23501
23502 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
23503 symlink_buffer.
23504
87a95d1f 235052008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
23506
23507 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
23508 texinfo.tex.
23509
23510 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
23511 modified.
23512
23513 * docs/fdl.texi: New file.
f19dbdb7 23514
87a95d1f 23515 * docs/mdate-sh: New file. Copied from gnulib.
23516 * docs/texinfo.tex: Likewise.
23517
23518 * config.guess: Updated from gnulib.
23519 * install-sh: Likewise.
23520
7dc15d8e 235212008-02-28 Robert Millan <rmh@aybabtu.com>
23522
23523 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
23524 (aout_mod_SOURCES): New variable.
23525 (aout_mod_CFLAGS): Likewise.
23526 (aout_mod_LDFLAGS): Likewise.
23527
23528 * conf/i386-ieee1275.rmk: Likewise.
23529
b00ab696 235302008-02-28 Robert Millan <rmh@aybabtu.com>
23531
23532 * util/update-grub.in: Reorganise terminal validity check. Accept
23533 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
23534 Based on suggestion by Franklin PIAT.
23535
79ca2d78 235362008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
23537
23538 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
23539 function.
23540 * util/getroot.c (grub_util_check_block_device): New function that
23541 returns the given argument if it is a block device and returns NULL else.
23542 * util/grub-probe.c (argument_is_device): New variable.
23543 (probe): Promote device_name from a variable to an argument. Receive
23544 device_name from grub_util_check_block_device() if path is NULL and from
23545 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23546 (options): Introduce new parameter '-d, --device'.
79ca2d78 23547 (main): Add description of the new parameter to the help screen.
23548 Rename path variable to argument. Set argument_is_device if the '-d'
23549 option is given. Pass argument to probe() depending on
23550 argument_is_device.
23551
0d16e571 235522008-02-24 Bean <bean123ch@gmail.com>
23553
23554 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
23555 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
23556 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
23557 (GRUB_ISO9660_VOLDESC_PART): Likewise.
23558 (GRUB_ISO9660_VOLDESC_END): Likewise.
23559 (grub_iso9660_primary_voldesc): New member escape.
23560 (grub_iso9660_data): New member joliet.
23561 (grub_iso9660_convert_string): New function.
23562 (grub_iso9660_mount): Detect joliet extension.
23563 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
23564 (grub_iso9660_iso9660_label): Likewise.
23565
23566 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
23567 (grub_setup_SOURCES): Add fs/udf.c.
23568 (grub_fstest_SOURCES): Likewise.
23569 (udf_mod_SOURCES): New variable.
23570 (udf_mod_CFLAGS): Likewise.
23571 (udf_mod_LDFLAGS): Likewise.
23572
23573 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
23574 (grub_emu_SOURCES): Likewise.
23575
23576 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23577
23578 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23579
23580 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23581
23582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23583
23584 * fs/udf.c: New file.
23585
8a594a17 235862008-02-24 Robert Millan <rmh@aybabtu.com>
23587
23588 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23589 (normal/lexer.c_DEPENDENCIES): New variables.
23590 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23591 (normal/lexer.c_DEPENDENCIES): Likewise.
23592 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23593 (normal/lexer.c_DEPENDENCIES): Likewise.
23594 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23595 (normal/lexer.c_DEPENDENCIES): Likewise.
23596 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23597 (normal/lexer.c_DEPENDENCIES): Likewise.
23598 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23599 (normal/lexer.c_DEPENDENCIES): Likewise.
23600
2dc33c03 236012008-02-23 Robert Millan <rmh@aybabtu.com>
23602
23603 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23604 since they were intended to be in hex. This didn't break previously
23605 because of a bug in gpt_partition_map_iterate() (see below).
23606
23607 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23608 when checking the validity of GPT header.
23609 Remove `partno', since it always provides the same information as `i'.
23610
f6f4cfb0 236112008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23612
23613 * include/grub/efi/time.h: Fix a wrong comment.
23614
79ff665f 236152008-02-19 Pavel Roskin <proski@gnu.org>
23616
23617 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23618 message.
23619
d38e24c2 236202008-02-19 Bean <bean123ch@gmail.com>
23621
23622 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23623 (aout_mod_SOURCES): New variable.
23624 (aout_mod_CFLAGS): Likewise.
23625 (aout_mod_LDFLAGS): Likewise.
23626 (_bsd_mod_SOURCES): New variable.
23627 (_bsd_mod_CFLAGS): Likewise.
23628 (_bsd_mod_LDFLAGS): Likewise.
23629 (bsd_mod_SOURCES): New variable.
23630 (bsd_mod_CFLAGS): Likewise.
23631 (bsd_mod_LDFLAGS): Likewise.
23632
23633 * include/grub/aout.h: New file.
23634
23635 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23636
23637 * include/grub/i386/bsd.h: New file.
23638
23639 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23640 to make it public.
23641
23642 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23643 function is called, so that it's possible to change it inside the hook.
23644 (grub_elf64_load): Likewise.
23645 (grub_elf_file): Don't close the file if elf header is not found.
23646 (grub_elf_close): Close the file if grub_elf_file fails (The new
23647 grub_elf_file won't close it).
23648 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23649 (grub_elf64_size): Likewise.
23650
23651 * kern/i386/loader.S (grub_unix_real_boot): New function.
23652
23653 * loader/aout.c: New file.
23654
23655 * loader/i386/bsd.c: New file.
23656
23657 * loader/i386/bsd_normal.c: New file.
23658
23659 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23660
23661 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23662 can test other formats.
d38e24c2 23663
b93bdb0f 236642008-02-19 Robert Millan <rmh@aybabtu.com>
23665
23666 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23667 (grub_gpt_partition_type_empty): Redefine with macro from
23668 `<grub/gpt_partition.h>'.
23669 (gpt_partition_map_iterate): Adjust partition type comparison.
23670
23671 Export `entry' as partmap-specific `part.data' struct.
23672 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23673
23674 * include/grub/gpt_partition.h (grub_gpt_header)
23675 (grub_gpt_partentry): ... to here (new file).
23676
23677 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23678
23679 (grub_gpt_partition_type_bios_boot): New const variable, defined
23680 with macro from `<grub/gpt_partition.h>'.
23681
23682 (setup): Replace `first_start' with `embed_region', which keeps
23683 track of the embed region (and is partmap-agnostic).
23684
23685 Replace find_first_partition_start() with find_usable_region(),
23686 which finds a usable region for embedding using partmap-specific
23687 knowledge (supports PC/MSDOS and GPT).
23688
23689 Fix all assumptions that the embed region start at sector 1, using
23690 `embed_region.start' from now on. Similarly, use `embed_region.end'
23691 rather than `first_start' to calculate available size.
23692
23693 In grub_util_info() message, replace "into after the MBR" with an
23694 indication of the specific sector our embed region starts at.
23695
66cb40f6 236962008-02-19 Robert Millan <rmh@aybabtu.com>
23697
23698 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23699 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23700 `commands/reboot.c'.
23701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23702 (halt_mod_SOURCES): Likewise.
23703 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23704 (halt_mod_SOURCES): Likewise.
23705
b7202015 237062008-02-17 Christian Franke <franke@computer.org>
23707
23708 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23709
32b0fc49 237102008-02-17 Robert Millan <rmh@aybabtu.com>
23711
23712 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23713 set `first_start' to 0 for non-PC/MSDOS partition maps.
23714
aca63502 237152008-02-16 Robert Millan <rmh@aybabtu.com>
23716
23717 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23718 do not assume partition map is PC/MSDOS before performing checks that
23719 are specific to that layout.
23720
0de8be86 237212008-02-13 Robert Millan <rmh@aybabtu.com>
23722
23723 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23724 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23725 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23726
c3db8364 237272008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23728
23729 * configure.ac: Only a cosmetic change on the handling of
23730 -fno-stack-protector.
23731
f714229e 237322008-02-12 Alexandre Boeglin <alex@boeglin.org>
23733
c3db8364 23734 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23735 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23736 reboot.c.
f714229e 23737 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23738 (halt_mod_SOURCES): New variable.
23739 (halt_mod_CFLAGS): Likewise.
23740 (halt_mod_LDFLAGS): Likewise.
23741 (reboot_mod_SOURCES): Likewise.
23742 (reboot_mod_CFLAGS): Likewise.
23743 (reboot_mod_LDFLAGS): Likewise.
23744
c3db8364 23745 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23746 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23747 reboot.c.
f714229e 23748 (halt_mod_SOURCES): Likewise.
23749 (reboot_mod_SOURCES): Likewise.
23750
c3db8364 23751 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23752 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 23753 (reboot_mod_SOURCES): Likewise.
23754
23755 * commands/i386/pc/reboot.c: merge this file ...
23756
23757 * commands/ieee1275/reboot.c: ... and this file ...
23758
23759 * commands/reboot.c: ... to this file.
c3db8364 23760 Add some precompiler directive to include the correct header for
23761 each machine.
f714229e 23762
23763 * commands/ieee1275/halt.c: move this file ...
23764
23765 * commands/halt.c: ... to here.
c3db8364 23766 Add some precompiler directive to include the correct header for
23767 each machine.
f714229e 23768
23769 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23770 (grub_halt): Likewise.
23771
23772 * kern/efi/efi.c (grub_reboot): New function.
23773 (grub_halt): Likewise.
23774
c74493e0 237752008-02-12 Robert Millan <rmh@aybabtu.com>
23776
23777 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23778 /dev (like it is done for /dev/mapper). This doesn't provide support
23779 for EVMS, but at least it is now easy to identify the problem when it
23780 arises.
23781
d0db4b04 237822008-02-11 Robert Millan <rmh@aybabtu.com>
23783
23784 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23785 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23786 comparing it with -1, not 0.
23787
bf748642 237882008-02-10 Robert Millan <rmh@aybabtu.com>
23789
23790 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23791 `disk/lvm.c'.
23792 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23793 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23794
23795 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23796 `disk/lvm.c' to the end of the list.
23797 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23798 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23799
b5db202a 238002008-02-10 Robert Millan <rmh@aybabtu.com>
23801
23802 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23803 grub_print_error() instead. This will let user know why we're entering
23804 rescue mode.
23805 Based on suggestions from Sam Morris.
23806
83abee31 238072008-02-10 Alexandre Boeglin <alex@boeglin.org>
23808
23809 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23810 on remaining N args, instead of "--" arg N times.
23811
78d5a08b 238122008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23813
23814 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23815 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23816 pattern for unknown glyphs.
23817
68807e5f 238182008-02-09 Robert Millan <rmh@aybabtu.com>
23819
23820 * configure.ac: Probe for `help2man'.
23821 * Makefile.in (builddir): New variable.
23822 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23823 or otherwise add a few flags/options to it.
23824 (install-local): For every executable utility or script that is
23825 installed, invoke $(HELP2MAN) to install a manpage based on --help
23826 output.
23827
23828 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23829 that it doesn't prevent --help from working in build tree.
23830
23831 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23832 with `bug-grub@gnu.org'.
23833 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23834 * util/update-grub.in (usage): New function.
23835 Implement proper argument check, with support for --help and --version
23836 (as well as existing -y).
23837
238382008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 23839
23840 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23841 avoid overwriting previous output.
23842 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23843
c1962162 238442008-02-09 Robert Millan <rmh@aybabtu.com>
23845
23846 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23847 drawing the menu.
23848
3dac2e3f 238492008-02-09 Robert Millan <rmh@aybabtu.com>
23850
23851 * commands/sleep.c: New file.
23852 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23853 (sleep_mod_SOURCES): New variable.
23854 (sleep_mod_CFLAGS): Likewise.
23855 (sleep_mod_LDFLAGS): Likewise.
23856
7a634e08 238572008-02-09 Robert Millan <rmh@aybabtu.com>
23858
23859 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23860 situations in which we can deduce the RAID size and the superblock
23861 doesn't match it.
23862
b92f0c18 238632008-02-09 Robert Millan <rmh@aybabtu.com>
23864
23865 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23866 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23867 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23868
23869 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23870 and return a grub_diskmemberlist_t composed of physical array members.
23871 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23872
23873 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23874 prototype.
23875 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23876 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23877 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23878
23879 * util/grub-probe.c (probe): Move partmap probing code from here ...
23880 (probe_partmap): ... to here.
23881 (probe): Use probe_partmap() once for the disk we're probing, and
23882 additionally, when such disk contains a memberlist() struct member,
23883 once for each disk that is contained in the structure returned by
23884 memberlist().
23885
91a4bf68 238862008-02-09 Robert Millan <rmh@aybabtu.com>
23887
23888 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23889 environment variable to 'all' in order to obtain debug output from
23890 non-util/ code.
23891 * util/i386/pc/grub-setup.c (main): Likewise.
23892
a96f9caa 238932008-02-08 Robert Millan <rmh@aybabtu.com>
23894
23895 * disk/raid.c (grub_raid_scan_device): Check for
23896 `array->device[sb.this_disk.number]' rather than for
23897 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23898 guaranteed to be accessible.
a96f9caa 23899
b37a9222 239002008-02-08 Robert Millan <rmh@aybabtu.com>
23901
23902 * disk/raid.c: Update copyright.
23903 * fs/cpio.c: Likewise.
23904 * include/grub/raid.h: Likewise.
23905 * loader/i386/pc/multiboot.c: Likewise.
23906 * util/hostfs.c: Likewise.
23907
5626aee1 239082008-02-08 Robert Millan <rmh@aybabtu.com>
23909
23910 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23911 to a grub_disk_t array.
23912 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23913 `device[x]'.
23914 (grub_raid_scan_device): Replace `device[x].name' accesses with
23915 `device[x]->name'. Simplify initialization of `array->device[x]'.
23916
554f0187 239172008-02-08 Robert Millan <rmh@aybabtu.com>
23918
23919 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23920 grub_dprintf() calls.
23921 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23922 error message.
23923
1ec8425d 239242008-02-07 Christian Franke <franke@computer.org>
23925
23926 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23927 instead of fseek and ftell to support large files.
23928 (grub_hostfs_read): Likewise.
23929
f2156fda 239302008-02-07 Robert Millan <rmh@aybabtu.com>
23931
23932 Patch from Jeroen Dekkers.
23933 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 23934 failure, since successfully reading all array members might not be
f2156fda 23935 required.
23936
9216e0e7 239372008-02-06 Robert Millan <rmh@aybabtu.com>
23938
23939 * util/grub-probe.c (probe): Simplify partmap probing (with the
23940 assumption that the first word up to the underscore equals to
23941 the module name).
23942
b0dfd29a 239432008-02-06 Christian Franke <franke@computer.org>
23944
23945 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
23946 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
23947 last block of a cpio or tar stream.
23948 Check for "TRAILER!!!" instead of any empty data
23949 block to detect last block of a cpio stream.
23950 (grub_cpio_dir): Fix constness of variable np.
23951 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
23952 cpio or tar trailer is detected. This fixes a crash
23953 on open of a non existing file.
23954
c32865bf 239552008-02-05 Bean <bean123ch@gmail.com>
23956
23957 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
23958 address of entry.
23959 (grub_multiboot_load_elf64): Likewise.
23960 (grub_multiboot): Initialize mbi structure.
23961
23962 * util/grub-fstest.c: Don't include unused header file script.h.
23963
fe6b695a 23964 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 23965 of file.
23966 (grub_fstest_SOURCES): Likewise.
23967
409480b7 239682008-02-05 Robert Millan <rmh@aybabtu.com>
23969
23970 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
23971 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
23972 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
23973 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
23974
23975 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
23976 (translation_table): Replace hardcoded values with macros
23977 provided by `<grub/term.h>'.
23978
23979 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
23980 (keyboard_map): Correct/add a few values, with macros provided
23981 by `<grub/term.h>'.
23982 (keyboard_map_shift): Zero values that don't differ from their
23983 `keyboard_map' equivalents.
23984 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
23985 Discard the second scan code that is always sent by Caps lock.
23986 Only use `keyboard_map_shift' when it provides a non-zero value,
23987 otherwise fallback to `keyboard_map'.
23988
99fadbaa 239892008-02-04 Bean <bean123ch@gmail.com>
23990
23991 * Makefile.in (enable_grub_fstest): New variable.
23992
23993 * conf/common.rmk (grub_fstest_init.lst): New rule.
23994 (grub_fstest_init.h): Likewise.
23995 (grub_fstest_init.c): Likewise.
23996 (util/grub-fstest.c_DEPENDENCIES): New variable.
23997 (grub_fstest_SOURCES): Likewise.
23998
23999 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
24000
24001 * util/grub-fstest.c: New file.
24002
bf567c50 240032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24004
24005 Make grub-setup handle a separate root device.
f19dbdb7 24006
bf567c50 24007 * util/i386/pc/grub-setup.c (setup): Always open the root device,
24008 so that the root device can be compared with the destination
24009 device.
24010 When embedding the core image, if the root and destination devices
24011 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
24012 0xFF.
24013 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 24014
9be6b98b 240152008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24016
24017 Add support for having a grub directory in a different drive. This
24018 is still only the data handling part.
f19dbdb7 24019
9be6b98b 24020 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
24021 (codestart): Save %dh in GRUB_ROOT_DRIVE.
24022 (grub_root_drive): New variable.
24023
24024 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
24025 instead of GRUB_BOOT_DRIVE to construct a device name. Set
24026 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
24027 as it was.
24028
24029 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
24030
24031 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
24032 macro.
24033 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
24034
24035 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
24036 is bogus, because PXE booting does not specify any drive
24037 correctly.
24038
24039 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
24040 am not sure if this is really correct.
24041
24042 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
24043 is always identical to the boot drive when booting from a CD.
24044
24045 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
24046 longer.
24047 (root_drive): New variable.
24048 (real_start): Unconditionally set %dh to ROOT_DRIVE.
24049 (setup_sectors): Push %dx right after popping it, because %dh will
24050 be modified later.
24051 (copy_buffer): Restore %dx.
24052
e0ca0677 240532008-02-03 Robert Millan <rmh@aybabtu.com>
24054
24055 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
24056 use `cdboot.img' for cdrom images.
24057
3b3f6629 240582008-02-03 Robert Millan <rmh@aybabtu.com>
24059
24060 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
24061 only setup gfxterm when `font' command has succeeded.
24062
d42b3672 240632008-02-03 Robert Millan <rmh@aybabtu.com>
24064
24065 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
24066 (grub_rescue_cmd_multiboot_loader)
24067 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
24068
fa370ea6 240692008-02-03 Pavel Roskin <proski@gnu.org>
24070
e0c5dacb 24071 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 24072 %edx and %esi from stack only after grub_gate_a20() is called.
24073 grub_gate_a20() clobbers %edx.
24074
f2a76e1d 240752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24076
24077 * configure.ac (AC_INIT): Bumped to 1.96.
24078
24079 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
24080 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
24081 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
24082 video/readers/png.c.
24083
90fd32d1 240842008-02-03 Bean <bean123ch@gmail.com>
9be665dd 24085
24086 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
24087 (cdboot_img_SOURCES): New variable.
24088 (cdboot_img_ASFLAGS): New variable.
24089 (cdboot_img_LDFLAGS): New variable.
24090
24091 * boot/i386/pc/cdboot.S: New file.
24092
24093 * disk/i386/pc/biosdisk.c (cd_start): New variable.
24094 (cd_count): Likewise.
24095 (grub_biosdisk_get_drive): Add support for cd device.
24096 (grub_biosdisk_call_hook): Likewise.
24097 (grub_biosdisk_iterate): Likewise.
24098 (grub_biosdisk_open): Likewise.
24099 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
24100 (grub_biosdisk_rw): Support reading from cd device.
24101 (GRUB_MOD_INIT): Iterate cd devices.
24102
24103 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
24104 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
24105 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
24106
24107 * kern/i386/pc/init.c (make_install_device): Check for cd device.
24108
4020aa53 241092008-02-02 Robert Millan <rmh@aybabtu.com>
24110
24111 * commands/read.c: New file.
24112 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
24113 (read_mod_SOURCES): New variable.
24114 (read_mod_CFLAGS): Likewise.
24115 (read_mod_LDFLAGS): Likewise.
24116
e03a1132 241172008-02-02 Robert Millan <rmh@aybabtu.com>
24118
24119 * normal/main.c (grub_normal_execute): Check for `menu->size' when
24120 determining whether menu has to be displayed.
24121
58c69220 241222008-02-02 Marco Gerards <marco@gnu.org>
24123
24124 * bus/pci.c: New file.
24125
24126 * include/grub/pci.h: Likewise.
24127
24128 * include/grub/i386/pc/pci.h: Likewise.
24129
24130 * commands/lspci.c: Likewise.
24131
24132 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
24133 `lspci.mod'.
24134 (pci_mod_SOURCES): New variable.
24135 (pci_mod_CFLAGS): Likewise.
24136 (pci_mod_LDFLAGS): Likewise.
24137 (lspci_mod_SOURCES): Likewise.
24138 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 24139 (lspci_mod_LDFLAGS): Likewise.
58c69220 24140
c004e1b4 241412008-02-02 Bean <bean123ch@gmail.com>
24142
24143 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
24144 (grub_ufs_get_file_block): Fix indirect block calculation problem.
24145
24146 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
24147 (grub_xfs_btree_node): New structure.
24148 (grub_xfs_btree_root): New structure.
24149 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
24150 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
24151 (GRUB_XFS_EXTENT_BLOCK): Likewise.
24152 (GRUB_XFS_EXTENT_SIZE): Likewise.
24153 (grub_xfs_read_block): Support btree format type.
24154 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
24155 Use directory block as basic unit.
24156
24157 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
24158
24159 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
24160 __attribute__ ((__regparm__ (1))).
24161
f95562bf 241622008-02-01 Robert Millan <rmh@aybabtu.com>
24163
24164 Correct a mistake in previous commit.
24165
24166 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
24167 top.
24168 (normal/command.c_DEPENDENCIES): New variable.
24169
7d31f41f 241702008-02-01 Robert Millan <rmh@aybabtu.com>
24171
24172 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
24173 top.
24174 (normal/command.c_DEPENDENCIES): New variable.
24175 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
24176 * conf/i386-ieee1275.rmk: Likewise.
24177 * conf/i386-linuxbios.rmk: Likewise.
24178 * conf/i386-pc.rmk: Likewise.
24179 * conf/sparc64-ieee1275.rmk: Likewise.
24180 * conf/powerpc-ieee1275.rmk: Likewise.
24181 (grub_emu_SOURCES): Add `fs/fshelp.c'.
24182
24183 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
24184
60b6be74 241852008-02-01 Robert Millan <rmh@aybabtu.com>
24186
24187 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
24188 call at beginning of function.
24189
078522ab 241902008-01-31 Pavel Roskin <proski@gnu.org>
24191
24192 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 24193 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
24194 (grub_mkrescue_SOURCES): Likewise.
078522ab 24195 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
24196
ccaa8a5f 241972008-01-30 Robert Millan <rmh@aybabtu.com>
24198
24199 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
24200 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
24201 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
24202 (grub_probe_SOURCES): ... to here.
24203
24204 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
24205 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
24206 * conf/i386-ieee1275.rmk: Likewise.
24207 * conf/i386-linuxbios.rmk: Likewise.
24208 * conf/powerpc-ieee1275.rmk: Likewise.
24209
ae5a9cd7 242102008-01-30 Tristan Gingold <gingold@free.fr>
24211
24212 * kern/rescue.c: Silently accept empty lines.
24213
70bc2ef2 242142008-01-29 Bean <bean123ch@gmail.com>
24215
24216 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
24217 (real_code_2): Code cleanup and change comment style.
24218 (move_memory): Avoid using 32-bit address mode.
24219
6a4d50ea 242202008-01-29 Bean <bean123ch@gmail.com>
24221
24222 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
24223 (png_mod_SOURCES): New variable.
24224 (png_mod_CFLAGS): Likewise.
24225 (png_mod_LDFLAGS): Likewise.
24226
24227 * video/readers/png.c: New file.
24228
11cc30ac 242292008-01-28 Robert Millan <rmh@aybabtu.com>
24230
24231 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
24232 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
24233 `ifndef GRUB_MOD_GAP' hack.
24234 * util/elf/grub-mkimage.c (add_segments): Likewise.
24235
3abc589f 242362008-01-27 Robert Millan <rmh@aybabtu.com>
24237
24238 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
24239 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 24240 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 24241
e1907778 242422008-01-27 Robert Millan <rmh@aybabtu.com>
24243
24244 Get grub-emu to build again (including parallel builds).
24245
24246 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
24247 Split into ...
24248 (util/grub-emu.c_DEPENDENCIES): ... this, ...
24249 (normal/execute.c_DEPENDENCIES): ... this, ...
24250 (grub-emu_DEPENDENCIES): ... and this.
24251
24252 * conf/i386-efi.rmk: Likewise.
24253 * conf/i386-linuxbios.rmk: Likewise.
24254 * conf/i386-ieee1275.rmk: Likewise.
24255 * conf/powerpc-ieee1275.rmk: Likewise.
24256 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
24257
2216b101 242582008-01-27 Robert Millan <rmh@aybabtu.com>
24259
24260 * NEWS: Add a few items.
24261
f75172d9 242622008-01-27 Robert Millan <rmh@aybabtu.com>
24263
24264 Fix parallel builds with grub-emu. Based on earlier commit for
24265 grub-probe and grub-setup.
24266
24267 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24268 (util/grub-emu.c_DEPENDENCIES): ... this.
24269 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24270 (util/grub-emu.c_DEPENDENCIES): ... this.
24271 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24272 (util/grub-emu.c_DEPENDENCIES): ... this.
24273 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24274 (util/grub-emu.c_DEPENDENCIES): ... this.
24275 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24276 (util/grub-emu.c_DEPENDENCIES): ... this.
24277
3f51de77 242782008-01-27 Pavel Roskin <proski@gnu.org>
24279
24280 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
24281 to create a gap between _end and the modules added to the image
24282 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
24283 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
24284 * util/elf/grub-mkimage.c (add_segments): Likewise.
24285
2033f53e 242862008-01-26 Pavel Roskin <proski@gnu.org>
24287
24288 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
24289 just return an error.
24290
22da1f6f 242912008-01-26 Bean <bean123ch@gmail.com>
24292
24293 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
24294 (grub_reiserfs_get_item): Save offset of the next item.
24295 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
24296
2a9525e6 242972008-01-25 Robert Millan <rmh@aybabtu.com>
24298
24299 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
24300 make all filesystem sources appear together (possibly fixing omissions
24301 while at it).
24302 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24304 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24306
24307 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
24308 add `kern/file.c'.
24309 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
24310 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24311 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
24312 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24313
24314 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
24315 (probe): Add a sanity check to make sure of our ability to read
24316 requested files when probing for filesystem type.
24317
24318 * genmk.rb: Update copyright year (2007).
24319
24320 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
24321 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
24322 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
24323 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
24324 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
24325 : Remove function prototypes.
24326
b95f71b5 243272008-01-25 Robert Millan <rmh@aybabtu.com>
24328
24329 Revert my previous commits (based on wrong assumption of how grub_errno
24330 works).
24331
fe6b695a 24332 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 24333 * kern/file.c (grub_file_open): Likewise.
24334
d08bbb49 243352008-01-24 Pavel Roskin <proski@gnu.org>
24336
24337 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
24338 that hang if GRUB tries to setup colors.
24339 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
24340 colors for firmwares that don't support it.
24341 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
24342 Recognize Open Hack'Ware, set flags to work around its
24343 limitations.
24344
605e36ed 243452008-01-24 Robert Millan <rmh@aybabtu.com>
24346
24347 * kern/file.c (grub_file_open): Do not account previous failures of
24348 unrelated functions when grub_errno is checked for.
24349 Reported by Oleg Strikov.
24350
bac332a1 243512008-01-24 Bean <bean123ch@gmail.com>
24352
24353 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
24354 (grub_ufs_sblock): New member volume name.
24355 (grub_ufs_find_file): Fix string copy bug.
24356 (grub_ufs_label): Implement this function properly.
24357
24358 * fs/hfs.c (grub_hfs_cnid_type): New enum.
24359 (grub_hfs_iterate_records): Use the correct file number for extents
24360 and catalog file. Fix problem in next index calculation.
24361 (grub_hfs_find_node): Replace recursive function call with loop.
24362 (grub_hfs_iterate_dir): Replace recursive function call with loop.
24363
15c80c09 243642008-01-23 Robert Millan <rmh@aybabtu.com>
24365
24366 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
24367 `<grub/symbol.h>' and `<grub/multiboot.h>'.
24368 (grub_multiboot2_real_boot): New function prototype.
24369
24370 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
24371 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
24372
24373 * kern/i386/ieee1275/init.c (grub_os_area_addr)
24374 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
24375
305338fd 243762008-01-23 Robert Millan <rmh@aybabtu.com>
24377
24378 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
24379 #ifdef'ed out grub_printf().
24380
3ea52685 243812008-01-23 Robert Millan <rmh@aybabtu.com>
24382
24383 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
24384 grub_dprintf calls, since they make "debug=all" mode unusable.
24385 (grub_console_checkkey): Likewise.
24386
5882ae4b 243872008-01-23 Robert Millan <rmh@aybabtu.com>
24388
24389 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24390 `term/i386/pc/at_keyboard.c'.
24391 (pkglib_MODULES): Add `serial.mod'.
24392 (serial_mod_SOURCES): New variable.
24393 (serial_mod_CFLAGS): Likewise.
24394 (serial_mod_LDFLAGS): Likewise.
24395
24396 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
24397 `<grub/powerpc/ieee1275/console.h>'.
24398 (grub_keyboard_controller_init): New function prototype.
24399 (grub_console_checkkey): Likewise.
24400 (grub_console_getkey): Likewise.
24401
24402 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
24403 keyboard on i386.
24404
24405 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
24406 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
24407
06ab5303 244082008-01-23 Robert Millan <rmh@aybabtu.com>
24409
24410 * kern/i386/pc/init.c (make_install_device): When memdisk image is
24411 present, "(memdisk)/boot/grub" becomes the default prefix.
24412
24413 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
24414 a memdisk tarball with all the modules. Add --overlay=DIR option that
24415 allows users to overlay additional files into the image.
24416
dbb475a4 244172008-01-23 Robert Millan <rmh@aybabtu.com>
24418
24419 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
24420 and `machine/memory.h'.
24421 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
24422 (_multiboot_mod_SOURCES): New variable.
24423 (_multiboot_mod_CFLAGS): Likewise.
24424 (_multiboot_mod_LDFLAGS): Likewise.
24425 (multiboot_mod_SOURCES): Likewise.
24426 (multiboot_mod_CFLAGS): Likewise.
24427 (multiboot_mod_LDFLAGS): Likewise.
24428
24429 * include/grub/i386/ieee1275/loader.h: New file.
24430
24431 * include/grub/i386/ieee1275/machine.h: Likewise.
24432
24433 * include/grub/i386/ieee1275/memory.h: Likewise.
24434
24435 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
24436 variable declaration.
24437 (grub_os_area_size): Likewise.
24438
24439 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
24440 (grub_lower_mem, grub_upper_mem): New variables.
24441 (grub_stop_floppy): New function (just to make
24442 grub_multiboot2_real_boot() happy).
24443
24444 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
24445 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
24446 (grub_stop): New function.
24447 Include `"../realmode.S"' and `"../loader.S"'.
24448
24449 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
24450 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
24451
24452 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
24453 rely on grub_multiboot2_real_boot() for final boot.
24454
25638629 244552008-01-22 Robert Millan <rmh@aybabtu.com>
24456
24457 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
24458 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
24459 device that doesn't look like an SD card.
24460 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24461 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
24462 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
24463 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
24464 found.
24465
9dad816d 244662008-01-22 Robert Millan <rmh@aybabtu.com>
24467
24468 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
24469 avoid claiming over our own code.
24470
34842f2d 244712008-01-22 Bean <bean123ch@gmail.com>
24472
24473 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
24474 (jpeg_mod_SOURCES): New variable.
24475 (jpeg_mod_CFLAGS): Likewise.
24476 (jpeg_mod_LDFLAGS): Likewise.
24477
24478 * video/readers/jpeg.c : New file.
24479
44023a28 244802008-01-22 Bean <bean123ch@gmail.com>
24481
24482 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
24483 there are no more items.
24484
bc2d8ac6 244852008-01-21 Robert Millan <rmh@aybabtu.com>
24486
24487 * kern/mm.c (grub_mm_init_region): Improve debug message.
24488
261bd4bc 244892008-01-21 Robert Millan <rmh@aybabtu.com>
24490
24491 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
24492 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
24493 address.
24494 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
24495 a C macro.
24496 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
24497 Indicates start of upper memory.
24498 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
24499 (generate_image): Abort when image size is big enough to corrupt
24500 upper memory.
24501
24502 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
24503 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
24504 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24505 instead of hardcoding 0xA0000.
24506 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
24507 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24508 instead of hardcoding 0xA0000.
24509
f970b55e 245102008-01-21 Robert Millan <rmh@aybabtu.com>
24511
24512 * disk/memdisk.c (memdisk_size): New variable.
24513 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
24514 `memdisk_size'.
24515 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
24516 image to dynamic memory.
24517 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
24518 `memdisk_size'. Free memdisk block.
24519
1a8b0526 245202008-01-21 Robert Millan <rmh@aybabtu.com>
24521
24522 Fix detection of very small filesystems (like tar).
24523
24524 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
24525 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
24526 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
24527 a problem with this disk).
24528
6e9b4aab 245292008-01-21 Robert Millan <rmh@aybabtu.com>
24530
24531 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
24532 on grub_biosdisk_rw_standard() error.
24533
0d8837b2 245342008-01-21 Robert Millan <rmh@aybabtu.com>
24535
24536 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
24537 recent changes.
24538 * kern/elf.c: Likewise.
24539 * kern/ieee1275/ieee1275.c: Likewise.
24540 * kern/powerpc/ieee1275/openfw.c: Likewise.
24541 * term/ieee1275/ofconsole.c: Likewise.
24542
ffd36e34 245432008-01-21 Robert Millan <rmh@aybabtu.com>
24544
24545 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24546
3f0093d0 24547 * include/grub/kernel.h (grub_arch_memdisk_addr)
24548 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24549
3f0093d0 24550 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24551 (grub_arch_memdisk_size): ... to here.
ffd36e34 24552
6c391b21 245532008-01-21 Robert Millan <rmh@aybabtu.com>
24554
24555 Mostly based on bugfix from Bean.
24556
24557 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
24558 attribute with hook() parameter.
24559 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
24560 declaration.
24561 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
24562 attribute with hook() parameter.
24563 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
24564 declaration.
24565
55a581dc 245662008-01-21 Robert Millan <rmh@aybabtu.com>
24567
24568 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
24569 (pkglib_MODULES): Add `memdisk.mod'.
24570 (memdisk_mod_SOURCES): New variable.
24571 (memdisk_mod_CFLAGS): Likewise.
24572 (memdisk_mod_LDFLAGS): Likewise.
24573
24574 * disk/memdisk.c: New file.
24575
24576 * include/grub/disk.h (grub_disk_dev_id): Add
24577 `GRUB_DISK_DEVICE_MEMDISK_ID'.
24578
24579 * include/grub/i386/pc/kernel.h
24580 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
24581 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
24582 (grub_kernel_image_size): New variable declaration.
24583 (grub_total_module_size): Likewise.
24584 (grub_memdisk_image_size): Likewise.
24585
24586 * include/grub/i386/pc/memory.h
24587 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24588
24589 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24590 (grub_arch_memdisk_addr): New variable declaration.
24591 (grub_arch_memdisk_size): Likewise.
24592
24593 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24594 (grub_arch_memdisk_size): Likewise.
24595
24596 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24597 (codestart): Replace hardcoded `0x100000' with
24598 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24599
24600 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24601 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24602 not NULL, append the contents of the file it refers to, at the end of
24603 the compressed kernel image. Initialize `grub_memdisk_image_size'
24604 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24605 (options): Add "memdisk"|'m' option.
24606 (main): Parse --memdisk|-m option, and pass user-provided path as
24607 parameter to generate_image().
24608
3d7f54c9 246092008-01-20 Robert Millan <rmh@aybabtu.com>
24610
24611 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24612 grub_dprintf() calls from here ...
24613 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24614
0bf74728 246152008-01-20 Robert Millan <rmh@aybabtu.com>
24616
24617 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24618
24619 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24620 declaration.
24621 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24622 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24623 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 24624 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 24625 property).
24626 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24627 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24628
33bf70a7 246292008-01-19 Robert Millan <rmh@aybabtu.com>
24630
fe6b695a 24631 Get rid of confusing function (superseded by
33bf70a7 24632 `grub_ieee1275_get_integer_property')
24633 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24634 prototype.
24635 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24636 function.
24637 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24638 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 24639 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 24640
e2da7d26 246412008-01-19 Robert Millan <rmh@aybabtu.com>
24642
24643 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24644 command after "shut-down", since implementations differ on which
24645 the command for halt is.
24646
59f1fd8d 246472008-01-19 Robert Millan <rmh@aybabtu.com>
24648
24649 * include/grub/i386/linuxbios/console.h: Add header protection.
24650 (grub_keyboard_controller_init): New function prototype.
24651 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24652 (KEYBOARD_COMMAND_READ): Likewise.
24653 (KEYBOARD_COMMAND_WRITE): Likewise.
24654 (KEYBOARD_SCANCODE_SET1): Likewise.
24655 (grub_keyboard_controller_write): New function.
24656 (grub_keyboard_controller_read): Likewise.
24657 (grub_keyboard_controller_init): Likewise.
24658
24659 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24660 (grub_console_init): On coreboot/LinuxBIOS, call
24661 grub_keyboard_controller_init().
24662
5f5a7c15 246632008-01-19 Robert Millan <rmh@aybabtu.com>
24664
24665 PowerPC changes provided by Pavel Roskin.
24666
24667 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24668 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24669 don't rely on cmain() doing it.
24670 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24671 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24672
1210e168 246732008-01-16 Robert Millan <rmh@aybabtu.com>
24674
24675 * include/grub/i386/linuxbios/memory.h
24676 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24677 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24678 receive `table_header' as argument. Instead, probe for it in the
24679 known memory ranges where it can be present.
24680 (grub_available_iterate): Do not pass a fixed `table_header' address
24681 to grub_linuxbios_table_iterate().
24682
3d04eab8 246832008-01-15 Robert Millan <rmh@aybabtu.com>
24684
24685 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24686 * conf/i386-ieee1275.rmk: New file.
24687 * include/grub/i386/ieee1275/console.h: Likewise.
24688 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24689 * include/grub/i386/ieee1275/kernel.h: Likewise.
24690 * include/grub/i386/ieee1275/time.h: Likewise.
24691 * kern/i386/ieee1275/init.c: Likewise.
24692 * kern/i386/ieee1275/startup.S: Likewise.
24693
d1bc1b73 246942008-01-15 Robert Millan <rmh@aybabtu.com>
24695
24696 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24697 when pointers are 32-bit (but still do set it to one when they are
24698 64-bit).
24699
66a65807 247002008-01-15 Robert Millan <rmh@aybabtu.com>
24701
24702 * include/grub/ieee1275/ieee1275.h
24703 (grub_ieee1275_get_integer_property): New function prototype.
24704
24705 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24706 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24707 grub_ieee1275_get_property() to handle endianness.
66a65807 24708
24709 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24710 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 24711 where appropriate.
66a65807 24712 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24713 (grub_map): Likewise.
24714 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24715
a83ccafd 247162008-01-15 Bean <bean123ch@gmail.com>
24717
24718 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24719 (grub_script_execute_cmdline): Reset grub_errno.
24720
24721 * normal/main.c (read_config_file): Reset grub_errno.
24722
24723 * normal/parse.y (script_init): New.
24724 (script): Move function and menuentry here.
24725 (delimiter): New.
24726 (command): Add delimiter at the end of command.
24727 (commands): Adjust to match the new command.
24728 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 24729 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 24730 (if): Use the new commands.
24731
24732 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24733
df6ecfc6 247342008-01-15 Robert Millan <rmh@aybabtu.com>
24735
24736 * normal/menu.c (run_menu): Move timeout message from here ...
24737 (print_timeout): ... to here.
24738 (run_menu): Use print_timeout() once during initial draw to print
24739 the whole message, and again in every clock tick to update only
24740 the number of seconds.
24741
87ae25eb 247422008-01-15 Robert Millan <rmh@aybabtu.com>
24743
24744 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24745 actual size of `available' from grub_ieee1275_get_property(), and
24746 restrict parsing to that bound.
24747
47bf09a4 247482008-01-15 Christian Franke <franke@computer.org>
24749
24750 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24751 (argp_program_version): Remove variable.
24752 (argp_program_bug_address): Likewise.
24753 (options): Convert from struct argp_option to struct option.
24754 (struct arguments): Remove.
24755 (parse_opt): Remove.
24756 (usage): New function.
24757 (main): Replace struct args members by simple variables.
24758 Replace argp_parse() by getopt_long().
24759 Add switch to evaluate options.
24760 Add missing "(...)" around root_dev in prefix string.
24761
c86f1469 247622008-01-14 Robert Millan <rmh@aybabtu.com>
24763
24764 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24765 for grub_ieee1275_exit(), in order to improve portability.
24766
e622c559 247672008-01-14 Robert Millan <rmh@aybabtu.com>
24768
24769 * util/grub.d/10_linux.in (prefix): Define.
24770 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24771
44cb1ec8 247722008-01-13 Pavel Roskin <proski@gnu.org>
24773
24774 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24775 grub_errno if no errors have been detected.
24776
1eb8c802 247772008-01-12 Robert Millan <rmh@aybabtu.com>
24778
24779 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24780 (grub_util_get_dev_abstraction): New function prototype.
24781
24782 * util/getroot.c: Include `<grub/util/getroot.h>'
24783 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24784 (grub_util_get_dev_abstraction): ... here (new function).
24785
24786 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24787 `PRINT_ABSTRACTION'.
24788 (probe): Probe for abstraction type when requested.
24789 (main): Understand `--target=abstraction'.
24790
24791 * util/i386/efi/grub-install.in: Add abstraction module to core
24792 image when it is found to be necessary.
24793 * util/i386/pc/grub-install.in: Likewise.
24794 * util/powerpc/ieee1275/grub-install.in: Likewise.
24795
24796 * util/update-grub_lib.in (font_path): Return system path without
24797 converting to GRUB path.
24798 * util/update-grub.in: Convert system path returned by font_path()
24799 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24800 abstraction module is needed for loading fonts (if any). Export
24801 that as `GRUB_PRELOAD_MODULES'.
24802 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24803 insmod commands).
24804
52bd3de9 248052008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24806
24807 Remove some unused code from reiserfs.
f19dbdb7 24808
52bd3de9 24809 * fs/reiserfs.c (struct grub_reiserfs_key)
24810 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24811 (struct grub_reiserfs_node_body): Removed.
24812 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24813 Likewise.
24814 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24815 Likewise.
24816 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24817 Likewise.
24818 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24819 Likewise.
24820 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24821 Likewise.
24822 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24823 Likewise.
24824 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24825 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24826 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24827
2f80039d 248282008-01-10 Robert Millan <rmh@aybabtu.com>
24829
24830 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24831 Determines if a file is garbage left by packaging systems, etc.
24832 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24833 for processing /etc/grub.d scripts.
24834 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24835 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24836 as a condition for processing Linux images.
24837
87888032 248382008-01-10 Pavel Roskin <proski@gnu.org>
24839
24840 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24841 to compile reiserfs.c on PowerPC.
24842
7e54fced 248432008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 24844
24845 * kern/device.c (grub_device_iterate): Do not abort device iteration
24846 when one of the devices cannot be opened.
24847 * kern/disk.c (grub_disk_open): Do not account previous failures of
24848 unrelated functions when grub_errno is checked for.
24849
5aa541e6 248502008-01-08 Robert Millan <rmh@aybabtu.com>
24851
24852 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24853 `! grub_linux_is_bzimage', change order of address comparison to make
24854 it more intuitive, and improve "too big zImage" error message.
24855
7076340d 248562008-01-08 Robert Millan <rmh@aybabtu.com>
24857
24858 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24859 `$(update-grub_DATA)'.
24860 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24861 targets.
24862
9ca70333 248632008-01-07 Robert Millan <rmh@aybabtu.com>
24864
24865 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24866 which instruction is modified by grub-setup during installation
24867 (since it wasn't obvious by only looking at this file).
24868
38ccf575 248692008-01-07 Robert Millan <rmh@aybabtu.com>
24870
24871 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24872 listing actual TODO items.
24873
f5db4291 248742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24875
868967cf 24876 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24877 correctly.
24878 (grub_reiserfs_get_key_offset): Likewise.
24879 (grub_reiserfs_set_key_offset): Likewise.
24880 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24881 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24882
24883 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24884 better to remove the bitfield version completely.
f19dbdb7 24885
868967cf 248862008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24887
f5db4291 24888 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24889 allocated from the heap, due to the fshelp implementation.
24890 (grub_reiserfs_dir): Free NODE, due to the same reason.
24891
492e6d9d 248922008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24893
24894 Mostly from Vincent Pelletier:
f19dbdb7 24895
492e6d9d 24896 * fs/reiserfs.c: New file.
f19dbdb7 24897
492e6d9d 24898 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24899 (reiserfs_mod_SOURCES): New variable.
24900 (reiserfs_mod_CFLAGS): Likewise.
24901 (reiserfs_mod_LDFLAGS): Likewise.
24902
24903 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24904 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24905 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24906 normal/color.c.
24907
9ce3e7c1 249082008-01-06 Robert Millan <rmh@aybabtu.com>
24909
24910 * normal/color.c: Remove `<grub/env.h>'.
24911
f3b58148 249122008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24913
24914 * include/grub/normal.h: Include <grub/env.h>.
24915
7ac3bcfa 249162008-01-05 Robert Millan <rmh@aybabtu.com>
24917
24918 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24919 usage example with `(hd0,1)'.
fb358190 24920 Reported by Samuel Thibault.
7ac3bcfa 24921
c8ee99d7 249222008-01-05 Robert Millan <rmh@aybabtu.com>
24923
24924 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24925 (grub_linux_boot_zimage): Rename to ...
24926 (grub_linux_boot): ... this.
24927 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
24928 (grub_linux_boot_zimage): Conditionalize zImage copy.
24929
24930 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
24931 (grub_linux_boot_bzimage): Remove prototype.
24932 (grub_linux_boot_zimage): Rename to ...
24933 (grub_linux_boot): ... this.
24934
24935 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
24936 (grub_linux_boot): Remove function.
24937
0ece25b1 249382008-01-05 Robert Millan <rmh@aybabtu.com>
24939
24940 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
24941 (grub_env_write_color_highlight): Likewise.
24942 (grub_wait_after_message): Likewise.
24943
24944 * normal/color.c: New file.
24945
24946 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24947 (normal_mod_DEPENDENCIES): Likewise.
24948
24949 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24950 (normal_mod_DEPENDENCIES): Likewise.
24951
24952 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24953 (normal_mod_DEPENDENCIES): Likewise.
24954
24955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
24956 (normal_mod_DEPENDENCIES): Likewise.
24957
24958 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
24959 for waiting after a message is printed.
24960 * normal/main.c (read_config_file): Likewise.
24961 (grub_normal_init): Register grub_env_write_color_normal() and
24962 grub_env_write_color_highlight() hooks. Mark `color_normal' and
24963 `color_highlight' variables as global.
24964
24965 * normal/menu.c (grub_wait_after_message): New function.
24966 (grub_color_menu_normal): New variable. Replaces ...
24967 (GRUB_COLOR_MENU_NORMAL): ... this macro.
24968 (grub_color_menu_highlight): New variable. Replaces ...
24969 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
24970 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
24971 `GRUB_TERM_COLOR_STANDARD'.
24972 (print_message): Use `grub_setcolorstate' to reload colors. Rename
24973 `normal_code' and `highlight_code' to `old_color_normal' and
24974 `old_color_highlight', respectively.
24975 (grub_menu_init_page): Update colors when drawing the menu, based on
24976 `menu_color_normal' and `menu_color_highlight' variables.
24977 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
24978 a message is printed.
24979
182dd4e5 249802008-01-05 Robert Millan <rmh@aybabtu.com>
24981
24982 * kern/env.c (grub_env_context_open): Propagate hooks for global
24983 variables to new context.
24984
24985 * kern/main.c (grub_set_root_dev): Export `root' variable.
24986
ddf8f6ad 249872008-01-05 Robert Millan <rmh@aybabtu.com>
24988
24989 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 24990 discs unconditionally, since udev and others have options to provide
ddf8f6ad 24991 them.
24992
d8b43d9b 249932008-01-05 Robert Millan <rmh@aybabtu.com>
24994
24995 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
24996
2bff2de3 249972008-01-04 Christian Franke <franke@computer.org>
24998
24999 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
25000 of eisa_mmap.
25001
97eab917 250022008-01-03 Pavel Roskin <proski@gnu.org>
25003
25004 * kern/i386/linuxbios/init.c: Put "void" to all function
25005 declarations with no arguments.
25006 * kern/powerpc/ieee1275/init.c: Likewise.
25007 * term/i386/pc/at_keyboard.c: Likewise.
25008 * term/i386/pc/vga_text.c: Likewise.
25009 * util/grub-mkdevicemap.c: Likewise.
25010
b9416d00 250112008-01-02 Robert Millan <rmh@aybabtu.com>
25012
25013 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
25014 message when loaded image is out of bounds.
25015 (grub_multiboot_load_elf64): Likewise.
25016
92695df9 250172008-01-02 Pavel Roskin <proski@gnu.org>
25018
25019 * util/grub.d/10_linux.in: Try version without ".old" when
25020 looking for initrd. It's better to use initrd from the newer
25021 kernel of the same version than no initrd at all.
25022
d98d9cad 250232008-01-01 Robert Millan <rmh@aybabtu.com>
25024
25025 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
25026
dbfdce36 250272008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
25028
f19dbdb7 25029 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 25030 grub_video_get_active_render_target.
25031 (grub_video_adapter): Added unmap_color and get_active_render_target.
25032
f19dbdb7 25033 * video/video.c: Added grub_video_unmap_color and
dbfdce36 25034 grub_video_get_active_render_target.
25035 (grub_video_get_info): Changed method to accept NULL pointer as an
25036 argument to allow detection of active video adapter.
25037
25038 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
25039 grub_video_vbe_unmap_color_int.
25040 Added grub_video_vbe_unmap_color and
25041 grub_video_vbe_get_active_render_target.
25042 (grub_video_vbe_adapter): Added unmap_color and
25043 get_active_render_target.
25044
f19dbdb7 25045 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 25046 with grub_video_vbe_unmap_color_int.
25047
25048 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
25049 (DEFAULT_NORMAL_COLOR): Likewise.
25050 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
25051 (DEFAULT_FG_COLOR): Removed.
25052 (DEFAULT_BG_COLOR): Likewise.
25053 (DEFAULT_CURSOR_COLOR): Changed value.
25054 (grub_virtual_screen): Added standard_color_setting,
25055 normal_color_setting, highlight_color_setting and term_color.
25056 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
25057 (bitmap_width): Added.
25058 (bitmap_height): Likewise.
25059 (bitmap): Likewise.
25060 (set_term_color): Likewise.
25061 (grub_virtual_screen_setup): Changed to use new terminal coloring
25062 settings.
25063 (grub_gfxterm_init): Added init for bitmap.
25064 (grub_gfxterm_fini): Added destroy for bitmap.
25065 (redraw_screen_rect): Updated to use background bitmap and new
25066 terminal coloring.
25067 (scroll_up): Added optimization for case when there is no bitmap.
25068 (grub_gfxterm_cls): Fixed to use correct background color.
25069 (grub_virtual_screen_setcolorstate): Changed to use new terminal
25070 coloring.
25071 (grub_virtual_screen_setcolor): Likewise.
25072 (grub_virtual_screen_getcolor): Added.
25073 (grub_gfxterm_background_image_cmd): Likewise.
25074 (grub_video_term): Added setcolor and getcolor.
25075 (MOD_INIT): Added registration of background_image command.
25076 (MOD_TERM): Added unregistration for background_image command.
25077
c3c20931 250782007-12-30 Pavel Roskin <proski@gnu.org>
25079
25080 * loader/multiboot_loader.c: Fix multiboot command
25081 unregistration. Fix all typos in the word "multiboot".
25082
df266716 250832007-12-29 Pavel Roskin <proski@gnu.org>
94239199 25084
25085 * util/grub.d/10_linux.in: Refactor search for initrd. Add
25086 support for initrd names used in Fedora.
25087
fc6e896c 250882007-12-26 Bean <bean123ch@gmail.com>
25089
25090 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
25091 (cpio_mod_SOURCES): New variable.
25092 (cpio_mod_CFLAGS): Likewise.
25093 (cpio_mod_LDFLAGS): Likewise.
25094
25095 * fs/cpio.c: New file.
25096
25097 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
25098
25099 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25100
25101 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25102
25103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25104
533110ad 251052007-12-25 Robert Millan <rmh@aybabtu.com>
25106
25107 * include/grub/term.h (struct grub_term): Add `getcolor' function.
25108 (grub_getcolor): New function.
25109
25110 * kern/term.c (grub_getcolor): New function.
25111 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
25112 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
25113 (print_entry): Set normal and highlight colors to
25114 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
25115 respectively, before printing and restore them to old
25116 values afterwards.
25117 (grub_menu_init_page): Likewise. Fill an additional colored space
25118 that would otherwise be left blank.
25119
25120 * term/efi/console.c (grub_console_getcolor): New function.
25121 (struct grub_console_term.getcolor): New variable.
25122 * term/i386/pc/console.c (grub_console_getcolor): New function.
25123 (struct grub_console_term.getcolor): New variable.
25124 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
25125 (struct grub_console_term.getcolor): New variable.
25126
25127 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
25128 (struct grub_console_term.setcolor): Remove variable.
25129 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
25130 (struct grub_console_term.setcolor): Remove variable.
25131 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
25132 (struct grub_console_term.setcolor): Remove variable.
25133 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
25134 (struct grub_console_term.setcolor): Remove variable.
25135
4931827f 251362007-12-25 Robert Millan <rmh@aybabtu.com>
25137
25138 * configure.ac: Search for possible unifont.hex locations, and
25139 define UNIFONT_HEX if found.
25140
25141 * Makefile.in (UNIFONT_HEX): Define variable.
25142 (DATA): Rename to ...
25143 (PKGLIB): ... this. Update all users.
25144 (PKGDATA): New variable.
25145 (pkgdata_IMAGES): Rename to ...
25146 (pkglib_IMAGES): ... this. Update all users.
25147 (pkgdata_MODULES): Rename to ...
25148 (pkglib_MODULES): ... this. Update all users.
25149 (pkgdata_PROGRAMS): Rename to ...
25150 (pkglib_PROGRAMS): ... this. Update all users.
25151 (pkgdata_DATA): Rename to ...
25152 (pkglib_DATA): ... this. Update all users.
25153 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
25154 (unicode.pff, ascii.pff): New rules.
25155 (all-local): Add `$(PKGDATA)' dependency.
25156 (install-local): Process `$(PKGDATA)'.
25157
25158 * util/update-grub_lib.in (font_path): Search for *.pff files in
25159 a few more locations, including `${pkgdata}'.
25160
57e57e31 251612007-12-23 Robert Millan <rmh@aybabtu.com>
25162
25163 Patch from Bean <bean123ch@gmail.com>:
25164 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
25165 `size'.
25166
4bc72aa9 251672007-12-21 Bean <bean123ch@gmail.com>
25168
25169 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
25170 (ntfscomp_mod_SOURCES): New variable.
25171 (ntfscomp_mod_CFLAGS): Likewise.
25172 (ntfscomp_mod_LDFLAGS): Likewise.
25173
25174 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
25175 (grub_probe_SOURCES): Likewise.
25176 (grub_emu_SOURCES): Likewise.
25177
25178 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25179 (grub_emu_SOURCES): Likewise.
25180
25181 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25182 (grub_emu_SOURCES): Likewise.
25183
25184 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25185 (grub_emu_SOURCES): Likewise.
25186
25187 * fs/ntfs.c (grub_ntfscomp_func): New variable.
25188 (read_run_list): Renamed to grub_ntfs_read_run_list.
25189 (decomp_nextvcn): Moved to ntfscomp.c.
25190 (decomp_getch): Likewise.
25191 (decomp_get16): Likewise.
25192 (decomp_block): Likewise.
25193 (read_block): Likewise.
25194 (read_data): Partially moved to ntfscomp.c.
25195 (fixup): Change unsigned to grub_uint16_t.
25196 (read_mft): Change unsigned long to grub_uint32_t.
25197 (read_attr): Likewise.
25198 (read_data): Likewise.
25199 (read_run_data): Likewise.
25200 (read_run_list): Likewise.
25201 (read_mft): Likewise.
25202
25203 * fs/ntfscomp.c: New file.
25204
25205 * include/grub/ntfs.h: New file.
25206
af680a87 252072007-12-16 Robert Millan <rmh@aybabtu.com>
25208
25209 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
25210 IDE disk check, since Linux is known to support 20 IDE disks.
25211 Reported by Colin Watson.
25212
84be7599 252132007-12-15 Bean <bean123ch@gmail.com>
25214
25215 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
25216 (lnxboot_img_SOURCES): New variable.
25217 (lnxboot_img_ASFLAGS): Likewise.
25218 (lnxboot_img_LDFLAGS): Likewise.
25219
25220 * boot/i386/pc/lnxboot.S: New file.
25221
6af9db01 252222007-11-24 Pavel Roskin <proski@gnu.org>
25223
25224 * configure.ac: Test if '--build-id=none' is supported by the
25225 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
25226 objcopy to generate incorrect binary files (binutils
25227 2.17.50.0.18-1 as shipped by Fedora 8).
25228 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
25229 linking, so that build ID doesn't break the test.
25230
7361cfe6 252312007-11-24 Pavel Roskin <proski@gnu.org>
25232
25233 * include/grub/i386/time.h: use "void" in the argument list
25234 of grub_cpu_idle().
25235 * include/grub/powerpc/time.h: Likewise.
25236 * include/grub/sparc64/time.h: Likewise.
25237
1593e10c 252382007-11-18 Christian Franke <franke@computer.org>
25239
25240 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
25241 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
25242 This fixes the problem that function keys did not work in grub-emu.
25243
3b8db1a8 252442007-11-18 Christian Franke <franke@computer.org>
25245
25246 * disk/host.c (grub_host_open): Remove attribute unused from
25247 name parameter. Add check for "host". This fixes the problem
25248 that grub-emu does not find partitions.
25249
2e29408d 252502007-11-18 Christian Franke <franke@computer.org>
25251
25252 * util/hostfs.c (is_dir): New function.
25253 (grub_hostfs_dir): Handle missing dirent.d_type case.
25254 (grub_hostfs_read): Add missing fseek().
25255 (grub_hostfs_label): Clear label pointer. This fixes a crash
25256 of grub-emu on "ls (host)".
25257
398cd047 252582007-11-18 Christian Franke <franke@computer.org>
25259
25260 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
25261 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
25262 to 64 bit boundary by default.
25263
c405c391 252642007-11-18 Bean <bean123ch@gmail.com>
25265
25266 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
25267 (hexdump_mod_SOURCES): New variable.
25268 (hexdump_mod_CFLAGS): Likewise.
25269 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 25270
c405c391 25271 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25272
25273 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25274
25275 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25276
25277 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25278
25279 * include/grub/hexdump.h: New file.
25280
25281 * commands/hexdump.c: New file.
25282
5cced7fd 252832007-11-10 Robert Millan <rmh@aybabtu.com>
25284
25285 * commands/i386/pc/play.c (beep_off): Switch order of arguments
25286 in grub_outb() calls.
25287 (beep_on): Likewise.
25288
8b714eb0 252892007-11-10 Christian Franke <franke@computer.org>
25290
25291 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
25292 (grub_menu_run): Likewise.
25293
ce0f1839 252942007-11-10 Robert Millan <rmh@aybabtu.com>
25295
25296 * include/grub/i386/efi/machine.h: New file.
25297 * include/grub/i386/linuxbios/machine.h: Likewise.
25298 * include/grub/i386/pc/machine.h: Likewise.
25299 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25300 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25301
25302 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
25303 (serial_hw_io_addr): New variable.
25304 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
25305 instead of `(unsigned short *) 0x400'.
25306
270c237d 253072007-11-10 Bean <bean123ch@gmail.com>
25308
25309 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
25310
a87783bf 253112007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25312
25313 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
25314 (vga_mod_SOURCES): Added.
25315 (vga_mod_CFLAGS): Likewise.
25316 (vga_mod_LDFLAGS): Likewise.
25317
25318 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
25319 grub_outb() calls.
25320 (set_map_mask): Likewise.
25321 (set_read_map): Likewise.
25322 (set_read_address): Likewise.
25323 (vga_font): Removed variable.
25324 (get_vga_glyph): Removed function.
25325 (invalidate_char): Likewise.
25326 (write_char): Changed to use grub_font_get_glyph() for font
25327 information.
25328 (grub_vga_putchar): Likewise.
25329 (grub_vga_getcharwidth): Likewise.
25330
6433b448 253312007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25332
25333 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
25334 flags.
25335 (pxeboot_img_LDFLAGS): Likewise.
25336 (diskboot_img_LDFLAGS): Likewise.
25337 (kernel_img_LDFLAGS): Likewise.
25338
49178511 253392007-11-06 Robert Millan <rmh@aybabtu.com>
25340
25341 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
25342 in grub_outb() calls.
25343 (serial_hw_init): Likewise.
25344
53b052de 253452007-11-05 Robert Millan <rmh@aybabtu.com>
25346
25347 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
25348 spaces. Skip non-regular files.
25349
5ab33bba 253502007-11-05 Robert Millan <rmh@aybabtu.com>
25351
25352 * kern/disk.c (grub_disk_firmware_fini)
25353 (grub_disk_firmware_is_tainted): New variables.
25354
25355 * include/grub/disk.h (grub_disk_firmware_fini)
25356 (grub_disk_firmware_is_tainted): Likewise.
25357
25358 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
25359 (grub_disk_biosdisk_fini): ... to here.
25360 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
25361 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
25362 is set. Register grub_disk_biosdisk_fini() in
25363 `grub_disk_firmware_fini'.
25364
25365 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
25366 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
25367 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
25368 to finish existing firmware disk interface.
25369
25370 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
25371 (ata_mod_SOURCES): New variable.
25372 (ata_mod_CFLAGS): Likewise.
25373 (ata_mod_LDFLAGS): Likewise.
25374
0149ab7c 253752007-11-05 Robert Millan <rmh@aybabtu.com>
25376
25377 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
25378 (grub_ata_wait): Reimplement using grub_millisleep().
25379
25380 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
25381 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
25382
be7ac41e 253832007-11-03 Marco Gerards <marco@gnu.org>
25384
25385 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
25386 (CRTC_ADDR_PORT): New macro.
25387 (CRTC_DATA_PORT): Likewise.
25388 (CRTC_CURSOR): Likewise.
25389 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25390 (CRTC_CURSOR_ADDR_LOW): Likewise.
25391 (update_cursor): New function.
25392 (grub_console_real_putchar): Call `update_cursor'.
25393 (grub_console_gotoxy): Likewise.
25394 (grub_console_cls): Set the default color when clearing the
25395 screen.
25396 (grub_console_setcursor): Implemented.
25397
bb06ab2e 253982007-11-03 Marco Gerards <marco@gnu.org>
25399
25400 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
25401 become activate.
25402 (grub_ata_pio_write): Likewise.
25403
25404 (grub_atapi_identify): Wait after issuing an ATA command.
25405 (grub_atapi_packet): Likewise.
25406 (grub_ata_identify): Likewise.
25407 (grub_ata_readwrite): Likewise.
25408
cf8f780b 254092007-11-03 Marco Gerards <marco@gnu.org>
25410
25411 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
25412 (grub_ata_pio_write): Likewise.
25413 (grub_ata_readwrite): Use `grub_error', instead of
25414 returning `grub_errno'.
25415
ed649e54 254162007-11-03 Marco Gerards <marco@gnu.org>
25417
25418 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
25419 grub_ata_pio_write once for every single sector, instead of for
25420 multiple sectors.
25421
ca25d8f0 254222007-10-31 Robert Millan <rmh@aybabtu.com>
25423
25424 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
25425
25426 * conf/i386-linuxbios.rmk: New file.
25427
25428 * kern/i386/pc/hardware.c: Likewise.
25429 * term/i386/pc/at_keyboard.c: Likewise.
25430 * term/i386/pc/vga_text.c: Likewise.
25431
25432 * include/grub/i386/linuxbios/boot.h: Likewise.
25433 * include/grub/i386/linuxbios/console.h: Likewise.
25434 * include/grub/i386/linuxbios/init.h: Likewise.
25435 * include/grub/i386/linuxbios/kernel.h: Likewise.
25436 * include/grub/i386/linuxbios/loader.h: Likewise.
25437 * include/grub/i386/linuxbios/memory.h: Likewise.
25438 * include/grub/i386/linuxbios/serial.h: Likewise.
25439 * include/grub/i386/linuxbios/time.h: Likewise.
25440
25441 * kern/i386/linuxbios/init.c: Likewise.
25442 * kern/i386/linuxbios/startup.S: Likewise.
25443 * kern/i386/linuxbios/table.c: Likewise.
25444
e911ecc1 254452007-10-31 Marco Gerards <marco@gnu.org>
25446
25447 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
25448 (ata_mod_SOURCES): New variable.
25449 (ata_mod_CFLAGS): Likewise.
25450 (ata_mod_LDFLAGS): Likewise.
25451
25452 * disk/ata.c: New file.
25453
25454 * include/grub/disk.h (grub_disk_dev_id): Add
25455 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 25456
7f66d0e0 254572007-10-31 Robert Millan <rmh@aybabtu.com>
25458
25459 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
25460 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
25461
25462 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
25463 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
25464
25465 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
25466 `<grub/types.h>'.
25467
25468 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
25469
5cd7dd46 254702007-10-27 Robert Millan <rmh@aybabtu.com>
25471
3236ca65 25472 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 25473
2ebfc90f 254742007-10-22 Robert Millan <rmh@aybabtu.com>
25475
25476 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
25477 `"../realmode.S"'.
25478 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
25479
73fcb0f3 254802007-10-22 Robert Millan <rmh@aybabtu.com>
25481
25482 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
25483 (pkgdata_MODULES): Add `biosdisk.mod'.
25484 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
25485 variables.
25486
25487 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
25488 (grub_biosdisk_init): Replace with ...
25489 (GRUB_MOD_INIT(biosdisk)): ... this.
25490 (grub_biosdisk_fini): Replace with ...
25491 (GRUB_MOD_FINI(biosdisk)): ... this.
25492
25493 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
25494 (grub_machine_init): Remove call to grub_biosdisk_init().
25495 (grub_machine_fini): Remove call to grub_machine_fini().
25496
25497 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
25498
3381d274 254992007-10-22 Robert Millan <rmh@aybabtu.com>
25500
25501 * include/grub/time.h: New file.
25502 * include/grub/i386/time.h: Likewise.
25503 * include/grub/powerpc/time.h: Likewise.
25504 * include/grub/sparc64/time.h: Likewise.
25505
25506 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
25507 instances to ...
25508 (KERNEL_MACHINE_TIME_HEADER): ... this.
25509 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25510 instances to ...
25511 (KERNEL_MACHINE_TIME_HEADER): ... this.
25512 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25513 instances to ...
25514 (KERNEL_MACHINE_TIME_HEADER): ... this.
25515
25516 * kern/i386/efi/init.c: Include `<grub/time.h>'.
25517 (grub_millisleep): New function.
25518 * kern/i386/pc/init.c: Include `<grub/time.h>'.
25519 (grub_millisleep): New function.
25520 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
25521 Remove `grub/machine/time.h' include.
25522 (grub_millisleep): New function.
25523 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
25524 Remove `grub/machine/time.h' include.
25525 (grub_millisleep): New function.
25526
25527 * include/grub/misc.h (grub_div_roundup): New function.
25528
25529 * kern/misc.c: Include `<grub/time.h>'.
25530 (grub_millisleep_generic): New function.
25531
25532 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
25533 Add `time.h'.
25534 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
25535 Add `time.h'.
25536 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
25537 `machine/time.h'. Add `time.h'.
25538 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25539
a39a0312 255402007-10-21 Robert Millan <rmh@aybabtu.com>
25541
25542 * include/grub/misc.h (grub_max): New function.
25543
2aad70e2 255442007-10-21 Robert Millan <rmh@aybabtu.com>
25545
25546 * util/misc.c (grub_util_info): Call fflush() before returning.
25547
54b71c4b 255482007-10-20 Robert Millan <rmh@aybabtu.com>
25549
25550 * genmk.rb (Image): Copy `extra_flags' from here ...
25551 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
25552
25553 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
25554 to `argc' and `args' arguments.
25555
a979f513 255562007-10-17 Robert Millan <rmh@aybabtu.com>
25557
25558 * kern/i386/loader.S: New file.
25559
25560 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
25561 * kern/i386/loader.S (grub_linux_prot_size)... to here.
25562 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
25563 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
25564 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
25565 * kern/i386/loader.S (grub_linux_real_addr)... to here.
25566 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
25567 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
25568 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
25569 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
25570 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
25571 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
25572 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
25573 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
25574
25575 * kern/i386/realmode.S: New file.
25576
25577 * kern/i386/pc/startup.S (protstack): Moved from here ...
25578 * kern/i386/realmode.S (protstack)... to here.
25579 * kern/i386/pc/startup.S (gdt): Moved from here ...
25580 * kern/i386/realmode.S (gdt)... to here.
25581 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
25582 * kern/i386/realmode.S (prot_to_real)... to here.
25583
25584 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25585 `kern/i386/realmode.S'.
25586
825fc8fd 255872007-10-17 Robert Millan <rmh@aybabtu.com>
25588
25589 * include/grub/i386/loader.h: New file.
25590
25591 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25592 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25593 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25594 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25595 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25596 * include/grub/i386/loader.h (grub_linux_prot_size)
25597 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25598 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25599 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25600 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25601
25602 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25603
e179b2f4 256042007-10-15 Robert Millan <rmh@aybabtu.com>
25605
25606 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25607 filesystem when dev->disk is unset.
25608 Do probe for filesystem even when dev->disk->has_partitions is set.
25609 In case a filesystem is found, always report it.
25610 In case it isn't, if dev->disk->has_partitions is set, report that
25611 a partition table was found instead of reporting that no filesystem
25612 could be identified.
25613
5db82af6 256142007-10-12 Robert Millan <rmh@aybabtu.com>
25615
25616 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25617 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25618
68f6ac74 25619 * include/grub/types.h (grub_host_to_target16): New macro.
25620 (grub_host_to_target32): Likewise.
25621 (grub_host_to_target64): Likewise.
25622 (grub_target_to_host16): Likewise.
25623 (grub_target_to_host32): Likewise.
25624 (grub_target_to_host64): Likewise.
5db82af6 25625
25626 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25627 Renamed from to ...
25628 (GRUB_MOD_ALIGN): ...this. Update all users.
25629
68f6ac74 25630 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25631 grub_host_to_target32.
25632 Replace grub_be_to_cpu32 with grub_target_to_host32.
25633 (load_modules): Likewise.
25634 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25635 Replace grub_be_to_cpu32 with grub_target_to_host32.
25636 Replace grub_cpu_to_be16 with grub_host_to_target16.
25637 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 25638
3cf497cc 256392007-10-12 Robert Millan <rmh@aybabtu.com>
25640
25641 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25642 * util/elf/grub-mkimage.c: ... here.
25643
25644 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25645 `util/powerpc/ieee1275/grub-mkimage.c'.
25646
c8cc3692 256472007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 25648
c8cc3692 25649 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25650 and make it easier to figure out.
25651 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25652 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25653 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25654 leave us with less than HEAP_MIN_SIZE total heap.
25655 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25656
5c58b791 256572007-10-03 Robert Millan <rmh@aybabtu.com>
25658
25659 * include/grub/i386/io.h: New file.
25660 * commands/i386/pc/play.c (inb): Removed.
25661 (outb): Removed.
25662 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25663 with grub_outb().
afcd2ef8 25664 * term/i386/pc/serial.c (inb): Removed.
25665 (outb): Removed.
25666 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25667 with grub_outb().
25668 * term/i386/pc/vga.c (inb): Removed.
25669 (outb): Removed.
25670 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25671 with grub_outb().
5c58b791 25672
1a477ed6 256732007-10-02 Robert Millan <rmh@aybabtu.com>
25674
25675 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25677 Reported by Marcin Kurek.
25678
6b5d80fa 256792007-09-07 Robert Millan <rmh@aybabtu.com>
25680
25681 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25682 SmartFirmware version updates (as released by Sven Luther), and avoid
25683 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25684 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25685 known broken.
25686
5618afbf 256872007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25688
25689 From Hitoshi Ozeki:
25690 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25691 when merging two regions.
25692
6139dcd9 256932007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25694
508e39ee 25695 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25696 * normal/completion.c (grub_normal_do_completion): Likewise.
25697 Reported by Hitoshi Ozeki.
25698
256992007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25700
6139dcd9 25701 Do not use devices at boot in chainloading.
f19dbdb7 25702
6139dcd9 25703 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25704 (boot_part_addr): Likewise.
25705 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25706 with BOOT_DRIVE and BOOT_PART_ADDR.
25707 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25708 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25709
38da6516 257102007-08-29 Robert Millan <rmh@aybabtu.com>
25711
25712 Patch from Simon Peter <dn.tlp@gmx.net>:
25713 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25714 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25715 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25716 util/i386/pc/grub-setup.c_DEPENDENCIES.
25717 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25718 util/grub-probe.c_DEPENDENCIES.
25719 * conf/powerpc-ieee1275.rmk: Likewise.
25720
29d0928c 257212007-08-28 Robert Millan <rmh@aybabtu.com>
25722
25723 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25724 to tell grub-mkdevicemap how to name devices.
25725 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25726 feature).
25727
25728 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25729 util/i386/get_disk_name.c.
25730 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25731 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25732 util/ieee1275/get_disk_name.c.
25733
25734 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25735
25736 * DISTLIST: Add util/i386/get_disk_name.c and
25737 util/ieee1275/get_disk_name.c.
25738
25739 * util/grub-mkdevicemap.c: Replace device naming logic with
25740 grub_util_get_disk_name() calls.
25741
5a0d3cca 257422007-08-20 Robert Millan <rmh@aybabtu.com>
25743
25744 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25745 (so that it works for both plural and singular quantities).
25746
8b72db2f 257472007-08-05 Robert Millan <rmh@aybabtu.com>
25748
25749 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25750 so that [xz] isn't taken into account when determining order.
25751
352466bf 257522007-08-02 Marco Gerards <marco@gnu.org>
25753
25754 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25755 `include/multiboot2.h', `include/grub/elfload.h',
25756 `include/multiboot.h', `include/grub/multiboot.h',
25757 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25758 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25759 `kern/elf.c', `loader/multiboot_loader.c',
25760 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25761 `loader/i386/pc/multiboot2.c',
25762 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25763 `util/i386/pc/grub-mkrescue.in'. Remove
25764 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25765 `include/grub/i386/pc/util/biosdisk.h' and
25766 `include/grub/powerpc/ieee1275/multiboot.h'.
25767
8f096014 257682007-08-02 Bean <bean123ch@gmail.com>
25769
25770 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25771 (ntfs_mod_SOURCES): New variable.
25772 (ntfs_mod_CFLAGS): Likewise.
25773 (ntfs_mod_LDFLAGS): Likewise.
25774
25775 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25776 (grub_probe_SOURCES): Likewise.
25777 (grub_emu_SOURCES): Likewise.
25778
25779 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25780 (grub_emu_SOURCES): Likewise.
25781
25782 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25783 (grub_emu_SOURCES): Likewise.
f19dbdb7 25784
8f096014 25785 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25786
25787 * fs/ntfs.c: New file.
25788
9959f7db 257892007-08-02 Bean <bean123ch@gmail.com>
25790
25791 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25792
25793 * file.h (grub_file): Likewise.
25794
25795 * fshelp.h (grub_fshelp_read_file): Likewise.
25796
25797 * util/i386/pc/grub-setup.c (setup): Likewise.
25798 (save_first_sector): Likewise.
25799 (save_blocklists): Likewise.
f19dbdb7 25800
9959f7db 25801 * fs/affs.c (grub_affs_read_file): Likewise.
25802
25803 * fs/ext2.c (grub_ext2_read_file): Likewise.
25804
25805 * fs/fat.c (grub_fat_read_data): Likewise.
25806
25807 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25808
25809 * fs/hfs.c (grub_hfs_read_file): Likewise.
25810
25811 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25812
25813 * fs/jfs.c (grub_jfs_read_file): Likewise.
25814
25815 * fs/minix.c (grub_minix_read_file): Likewise.
25816
25817 * fs/sfs.c (grub_sfs_read_file): Likewise.
25818
25819 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 25820
9959f7db 25821 * fs/xfs.c (grub_xfs_read_file): Likewise.
25822
25823 * command/blocklist.c (read_blocklist): Likewise.
25824 (print_blocklist): Likewise.
25825
0a203f83 258262007-08-02 Marco Gerards <marco@gnu.org>
25827
25828 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25829 `util/hostfs.c'.
25830
25831 * disk/host.c: New file.
25832
25833 * util/hostfs.c: Likewise.
25834
25835 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25836 return `GRUB_ERR_BAD_FS'.
25837 * fs/sfs.c (grub_sfs_mount): Likewise.
25838 * fs/xfs.c (grub_xfs_mount): Likewise.
25839
25840 * include/grub/disk.h (enum grub_disk_dev_id): Add
25841 `GRUB_DISK_DEVICE_HOST_ID'.
25842
25843 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25844
e5dfe777 258452007-07-24 Jerone Young <jerone@gmail.com>
25846
f19dbdb7 25847 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 25848 modules for compilation.
25849 * conf/powerpc-ieee1275.rmk: Likewise.
25850
25851 * include/multiboot.h: Move multiboot definitions to one file. Rename
25852 many definitions to not get grub specific.
25853 * include/multiboot2.h: Create header with multiboot 2 definitions.
25854 * include/grub/multiboot.h: Header for grub specific function
25855 prototypes and definitions.
25856 * include/grub/multiboot2.h: Likewise.
25857 * include/grub/multiboot_loader.h: Likewise.
25858 * include/grub/i386/pc/multiboot.h: Removed.
25859 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25860
25861 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25862 and 2 to allow for one multiboot and module commands.
25863 * loader/multiboot2.c: Add multiboot2 functionality.
25864 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25865 and definition names.
25866 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25867 2 functions.
25868 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25869 ieee1275 specific multiboot2 code.
25870
25871 * kern/i386/pc/startup.S: Change headers and definition names for
25872 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25873
daf0f0ba 258742007-07-22 Robert Millan <rmh@aybabtu.com>
25875
25876 * geninitheader.sh: Process file specified in first parameter rather
25877 than hardcoding grub_modules_init.lst.
fe6b695a 25878 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25879 than hardcoding grub_modules_init.h.
25880
25881 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25882 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25883 grub_probe_init.[ch] and grub_setup_init.[ch].
25884
25885 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25886 grub_modules_init.h with grub_emu_init.h.
25887 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25888 grub_probe_init.[ch] files.
25889 * conf/i386-efi.rmk: Likewise.
25890 * conf/i386-pc.rmk: Likewise.
25891 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25892 grub_setup_init.[ch] files.
25893
25894 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25895 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25896 to initialize modules rather than a list of hardcoded functions.
25897 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25898 grub_init_all() to initialize modules rather than a list of hardcoded
25899 functions.
25900
54cdc1cc 259012007-07-22 Robert Millan <rmh@aybabtu.com>
25902
25903 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25904 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25905
ad0686cc 259062007-07-22 Robert Millan <rmh@aybabtu.com>
25907
25908 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25909 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25910 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25911 flag when running on SmartFirmware.
25912 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25913 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25914 was set.
25915
25916 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25917 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25918 rather than decreasing it.
25919
25920 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25921 there's not enough space to do it, fail in the same way as when it
25922 can't be done because there are no partitions.
25923
25924 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25925 when nvsetenv failed.
25926
969c02ec 259272007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25928
25929 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
25930 because this rule is automatically generated.
25931 (grub-mkrescue): Removed for the same reason as above.
25932
5a79f472 259332007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
25934
25935 Migrate to GNU General Public License Version 3.
f19dbdb7 25936
5a79f472 25937 * COPYING: Replaced with the plain text version of GPLv3.
25938
25939 * config.guess: Updated from gnulib.
25940 * config.sub: Likewise.
25941
25942 * geninit.sh: Output a GPLv3 copyright notice.
25943 * geninitheader.sh: Likewise.
25944 * genmodsrc.sh: Likewise.
25945 * gensymlist.sh.in: Likewise.
25946
25947 * boot/i386/pc/boot.S: Upgraded to GPLv3.
25948 * boot/i386/pc/diskboot.S: Likewise.
25949 * boot/i386/pc/pxeboot.S: Likewise.
25950 * commands/blocklist.c: Likewise.
25951 * commands/boot.c: Likewise.
25952 * commands/cat.c: Likewise.
25953 * commands/cmp.c: Likewise.
25954 * commands/configfile.c: Likewise.
25955 * commands/echo.c: Likewise.
25956 * commands/help.c: Likewise.
25957 * commands/ls.c: Likewise.
25958 * commands/search.c: Likewise.
25959 * commands/terminal.c: Likewise.
25960 * commands/test.c: Likewise.
25961 * commands/videotest.c: Likewise.
25962 * commands/i386/cpuid.c: Likewise.
25963 * commands/i386/pc/halt.c: Likewise.
25964 * commands/i386/pc/play.c: Likewise.
25965 * commands/i386/pc/reboot.c: Likewise.
25966 * commands/i386/pc/vbeinfo.c: Likewise.
25967 * commands/i386/pc/vbetest.c: Likewise.
25968 * commands/ieee1275/halt.c: Likewise.
25969 * commands/ieee1275/reboot.c: Likewise.
25970 * commands/ieee1275/suspend.c: Likewise.
25971 * disk/loopback.c: Likewise.
25972 * disk/lvm.c: Likewise.
25973 * disk/raid.c: Likewise.
25974 * disk/efi/efidisk.c: Likewise.
25975 * disk/i386/pc/biosdisk.c: Likewise.
25976 * disk/ieee1275/ofdisk.c: Likewise.
25977 * font/manager.c: Likewise.
25978 * fs/affs.c: Likewise.
25979 * fs/ext2.c: Likewise.
25980 * fs/fat.c: Likewise.
25981 * fs/fshelp.c: Likewise.
25982 * fs/hfs.c: Likewise.
25983 * fs/hfsplus.c: Likewise.
25984 * fs/iso9660.c: Likewise.
25985 * fs/jfs.c: Likewise.
25986 * fs/minix.c: Likewise.
25987 * fs/sfs.c: Likewise.
25988 * fs/ufs.c: Likewise.
25989 * fs/xfs.c: Likewise.
25990 * hello/hello.c: Likewise.
25991 * include/grub/acorn_filecore.h: Likewise.
25992 * include/grub/arg.h: Likewise.
25993 * include/grub/bitmap.h: Likewise.
25994 * include/grub/boot.h: Likewise.
25995 * include/grub/cache.h: Likewise.
25996 * include/grub/device.h: Likewise.
25997 * include/grub/disk.h: Likewise.
25998 * include/grub/dl.h: Likewise.
25999 * include/grub/elfload.h: Likewise.
26000 * include/grub/env.h: Likewise.
26001 * include/grub/err.h: Likewise.
26002 * include/grub/file.h: Likewise.
26003 * include/grub/font.h: Likewise.
26004 * include/grub/fs.h: Likewise.
26005 * include/grub/fshelp.h: Likewise.
26006 * include/grub/gzio.h: Likewise.
26007 * include/grub/hfs.h: Likewise.
26008 * include/grub/kernel.h: Likewise.
26009 * include/grub/loader.h: Likewise.
26010 * include/grub/lvm.h: Likewise.
26011 * include/grub/misc.h: Likewise.
26012 * include/grub/mm.h: Likewise.
26013 * include/grub/net.h: Likewise.
26014 * include/grub/normal.h: Likewise.
26015 * include/grub/parser.h: Likewise.
26016 * include/grub/partition.h: Likewise.
26017 * include/grub/pc_partition.h: Likewise.
26018 * include/grub/raid.h: Likewise.
26019 * include/grub/rescue.h: Likewise.
26020 * include/grub/script.h: Likewise.
26021 * include/grub/setjmp.h: Likewise.
26022 * include/grub/symbol.h: Likewise.
26023 * include/grub/term.h: Likewise.
26024 * include/grub/terminfo.h: Likewise.
26025 * include/grub/tparm.h: Likewise.
26026 * include/grub/types.h: Likewise.
26027 * include/grub/video.h: Likewise.
26028 * include/grub/efi/api.h: Likewise.
26029 * include/grub/efi/chainloader.h: Likewise.
26030 * include/grub/efi/console.h: Likewise.
26031 * include/grub/efi/console_control.h: Likewise.
26032 * include/grub/efi/disk.h: Likewise.
26033 * include/grub/efi/efi.h: Likewise.
26034 * include/grub/efi/pe32.h: Likewise.
26035 * include/grub/efi/time.h: Likewise.
26036 * include/grub/i386/linux.h: Likewise.
26037 * include/grub/i386/setjmp.h: Likewise.
26038 * include/grub/i386/types.h: Likewise.
26039 * include/grub/i386/efi/kernel.h: Likewise.
26040 * include/grub/i386/efi/loader.h: Likewise.
26041 * include/grub/i386/efi/time.h: Likewise.
26042 * include/grub/i386/pc/biosdisk.h: Likewise.
26043 * include/grub/i386/pc/boot.h: Likewise.
26044 * include/grub/i386/pc/chainloader.h: Likewise.
26045 * include/grub/i386/pc/console.h: Likewise.
26046 * include/grub/i386/pc/init.h: Likewise.
26047 * include/grub/i386/pc/kernel.h: Likewise.
26048 * include/grub/i386/pc/loader.h: Likewise.
26049 * include/grub/i386/pc/memory.h: Likewise.
26050 * include/grub/i386/pc/multiboot.h: Likewise.
26051 * include/grub/i386/pc/serial.h: Likewise.
26052 * include/grub/i386/pc/time.h: Likewise.
26053 * include/grub/i386/pc/vbe.h: Likewise.
26054 * include/grub/i386/pc/vbeblit.h: Likewise.
26055 * include/grub/i386/pc/vbefill.h: Likewise.
26056 * include/grub/i386/pc/vbeutil.h: Likewise.
26057 * include/grub/i386/pc/vga.h: Likewise.
26058 * include/grub/ieee1275/ieee1275.h: Likewise.
26059 * include/grub/ieee1275/ofdisk.h: Likewise.
26060 * include/grub/powerpc/libgcc.h: Likewise.
26061 * include/grub/powerpc/setjmp.h: Likewise.
26062 * include/grub/powerpc/types.h: Likewise.
26063 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
26064 * include/grub/powerpc/ieee1275/console.h: Likewise.
26065 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
26066 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26067 * include/grub/powerpc/ieee1275/loader.h: Likewise.
26068 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
26069 * include/grub/powerpc/ieee1275/time.h: Likewise.
26070 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
26071 * include/grub/sparc64/libgcc.h: Likewise.
26072 * include/grub/sparc64/setjmp.h: Likewise.
26073 * include/grub/sparc64/types.h: Likewise.
26074 * include/grub/sparc64/ieee1275/console.h: Likewise.
26075 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26076 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26077 * include/grub/sparc64/ieee1275/time.h: Likewise.
26078 * include/grub/util/biosdisk.h: Likewise.
26079 * include/grub/util/getroot.h: Likewise.
26080 * include/grub/util/lvm.h: Likewise.
26081 * include/grub/util/misc.h: Likewise.
26082 * include/grub/util/raid.h: Likewise.
26083 * include/grub/util/resolve.h: Likewise.
26084 * io/gzio.c: Likewise.
26085 * kern/device.c: Likewise.
26086 * kern/disk.c: Likewise.
26087 * kern/dl.c: Likewise.
26088 * kern/elf.c: Likewise.
26089 * kern/env.c: Likewise.
26090 * kern/err.c: Likewise.
26091 * kern/file.c: Likewise.
26092 * kern/fs.c: Likewise.
26093 * kern/loader.c: Likewise.
26094 * kern/main.c: Likewise.
26095 * kern/misc.c: Likewise.
26096 * kern/mm.c: Likewise.
26097 * kern/parser.c: Likewise.
26098 * kern/partition.c: Likewise.
26099 * kern/rescue.c: Likewise.
26100 * kern/term.c: Likewise.
26101 * kern/efi/efi.c: Likewise.
26102 * kern/efi/init.c: Likewise.
26103 * kern/efi/mm.c: Likewise.
26104 * kern/i386/dl.c: Likewise.
26105 * kern/i386/efi/init.c: Likewise.
26106 * kern/i386/efi/startup.S: Likewise.
26107 * kern/i386/pc/init.c: Likewise.
26108 * kern/i386/pc/lzo1x.S: Likewise.
26109 * kern/i386/pc/startup.S: Likewise.
26110 * kern/ieee1275/ieee1275.c: Likewise.
26111 * kern/powerpc/cache.S: Likewise.
26112 * kern/powerpc/dl.c: Likewise.
26113 * kern/powerpc/ieee1275/cmain.c: Likewise.
26114 * kern/powerpc/ieee1275/crt0.S: Likewise.
26115 * kern/powerpc/ieee1275/init.c: Likewise.
26116 * kern/powerpc/ieee1275/openfw.c: Likewise.
26117 * kern/sparc64/cache.S: Likewise.
26118 * kern/sparc64/dl.c: Likewise.
26119 * kern/sparc64/ieee1275/init.c: Likewise.
26120 * kern/sparc64/ieee1275/openfw.c: Likewise.
26121 * loader/efi/chainloader.c: Likewise.
26122 * loader/efi/chainloader_normal.c: Likewise.
26123 * loader/i386/efi/linux.c: Likewise.
26124 * loader/i386/efi/linux_normal.c: Likewise.
26125 * loader/i386/pc/chainloader.c: Likewise.
26126 * loader/i386/pc/chainloader_normal.c: Likewise.
26127 * loader/i386/pc/linux.c: Likewise.
26128 * loader/i386/pc/linux_normal.c: Likewise.
26129 * loader/i386/pc/multiboot.c: Likewise.
26130 * loader/i386/pc/multiboot_normal.c: Likewise.
26131 * loader/powerpc/ieee1275/linux.c: Likewise.
26132 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26133 * normal/arg.c: Likewise.
26134 * normal/cmdline.c: Likewise.
26135 * normal/command.c: Likewise.
26136 * normal/completion.c: Likewise.
26137 * normal/execute.c: Likewise.
26138 * normal/function.c: Likewise.
26139 * normal/lexer.c: Likewise.
26140 * normal/main.c: Likewise.
26141 * normal/menu.c: Likewise.
26142 * normal/menu_entry.c: Likewise.
26143 * normal/misc.c: Likewise.
26144 * normal/parser.y: Likewise.
26145 * normal/script.c: Likewise.
26146 * normal/i386/setjmp.S: Likewise.
26147 * normal/powerpc/setjmp.S: Likewise.
26148 * normal/sparc64/setjmp.S: Likewise.
26149 * partmap/acorn.c: Likewise.
26150 * partmap/amiga.c: Likewise.
26151 * partmap/apple.c: Likewise.
26152 * partmap/gpt.c: Likewise.
26153 * partmap/pc.c: Likewise.
26154 * partmap/sun.c: Likewise.
26155 * term/gfxterm.c: Likewise.
26156 * term/terminfo.c: Likewise.
26157 * term/efi/console.c: Likewise.
26158 * term/i386/pc/console.c: Likewise.
26159 * term/i386/pc/serial.c: Likewise.
26160 * term/i386/pc/vesafb.c: Likewise.
26161 * term/i386/pc/vga.c: Likewise.
26162 * term/ieee1275/ofconsole.c: Likewise.
26163 * util/biosdisk.c: Likewise.
26164 * util/console.c: Likewise.
26165 * util/genmoddep.c: Likewise.
26166 * util/getroot.c: Likewise.
26167 * util/grub-emu.c: Likewise.
26168 * util/grub-mkdevicemap.c: Likewise.
26169 * util/grub-probe.c: Likewise.
26170 * util/lvm.c: Likewise.
26171 * util/misc.c: Likewise.
26172 * util/raid.c: Likewise.
26173 * util/resolve.c: Likewise.
26174 * util/update-grub.in: Likewise.
26175 * util/update-grub_lib.in: Likewise.
26176 * util/grub.d/00_header.in: Likewise.
26177 * util/grub.d/10_hurd.in: Likewise.
26178 * util/grub.d/10_linux.in: Likewise.
26179 * util/i386/efi/grub-install.in: Likewise.
26180 * util/i386/efi/grub-mkimage.c: Likewise.
26181 * util/i386/pc/grub-install.in: Likewise.
26182 * util/i386/pc/grub-mkimage.c: Likewise.
26183 * util/i386/pc/grub-mkrescue.in: Likewise.
26184 * util/i386/pc/grub-setup.c: Likewise.
26185 * util/i386/pc/misc.c: Likewise.
26186 * util/powerpc/ieee1275/grub-install.in: Likewise.
26187 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
26188 * util/powerpc/ieee1275/misc.c: Likewise.
26189 * video/bitmap.c: Likewise.
26190 * video/video.c: Likewise.
26191 * video/i386/pc/vbe.c: Likewise.
26192 * video/i386/pc/vbeblit.c: Likewise.
26193 * video/i386/pc/vbefill.c: Likewise.
26194 * video/i386/pc/vbeutil.c: Likewise.
26195 * video/readers/tga.c: Likewise.
26196
3572d015 261972007-07-02 Robert Millan <rmh@aybabtu.com>
26198
26199 * conf/i386-efi.rmk: Replace obsolete reference to
26200 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
26201 with util/getroot.c.
26202 * conf/powerpc-ieee1275.rmk: Likewise.
26203 * conf/sparc64-ieee1275.rmk: Likewise.
26204
26205 * util/grub-emu.c (main): Fix unchecked pointer handling.
26206
2c2a681b 262072007-07-02 Robert Millan <rmh@aybabtu.com>
26208
26209 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
26210 invocation to fail, in order to support partition-less media.
26211
26212 * util/i386/pc/grub-install.in: Likewise.
26213
26214 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
26215 which fs or partmap modules are needed (akin to its sister scripts).
26216
26217 Also use grub-probe to get rid of unportable /proc/mounts check.
26218
26219 Print the same informational message that the other scripts do, before
fe6b695a 26220 exiting.
2c2a681b 26221
6193defe 262222007-06-23 Robert Millan <rmh@aybabtu.com>
26223
fe6b695a 26224 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 26225 a font file can be found and, if so, echo the GRUB path to it.
26226
26227 * util/update-grub.in: Handle multiple terminals depending on user
26228 input, platform availability and font file presence. Propagate
26229 variables of our findings to /etc/grub.d/ children.
26230
26231 * util/grub.d/00_header.in: Handle multiple terminals, based on
26232 environment setup by update-grub.
26233
eface1dc 262342007-06-23 Robert Millan <rmh@aybabtu.com>
26235
ba50d28f 26236 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 26237
bf697e28 262382007-06-21 Robert Millan <rmh@aybabtu.com>
26239
26240 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
26241 indicate end of data section in kernel image.
26242 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
26243 GRUB_KERNEL_MACHINE_DATA_END.
26244
26245 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
26246 space for it.
26247 * kern/i386/efi/startup.S: Likewise.
26248
26249 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
26250 during image generation. Implement --prefix option to override this
26251 patch.
26252 * util/i386/efi/grub-mkimage.c: Likewise.
26253
26254 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
26255 code to make path relative to its root into a separate function.
26256
26257 * util/i386/pc/grub-install.in: Use newly provided
26258 make_system_path_relative_to_its_root() to convert ${grubdir}, then
26259 pass the result to grub-install --prefix.
26260
baa574b4 262612007-06-13 Robert Millan <rmh@aybabtu.com>
26262
26263 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
26264 DEFAULT_DEVICE_MAP.
26265 * util/grub-emu.c: Use above definitions from misc.h instead of
26266 defining them.
26267 * util/grub-mkdevicemap.c: Likewise.
26268 * util/i386/pc/grub-setup.c: Likewise.
26269 * util/grub-probe.c: Likewise.
26270 (probe): Abort with grub_util_error() when either
26271 grub_guess_root_device or grub_util_get_grub_dev fails.
26272
0215dcbf 262732007-06-12 Robert Millan <rmh@aybabtu.com>
26274
26275 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
26276 "pager" assignment.
26277 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
26278 "pcdata".
26279 * util/grub-probe.c (probe): Likewise for "drive_name".
26280
8af2ab7b 262812007-06-11 Robert Millan <rmh@aybabtu.com>
26282
26283 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
26284 not just the cdrom one.
26285
59d31694 262862007-06-11 Robert Millan <rmh@aybabtu.com>
26287
26288 * util/i386/pc/grub-mkrescue.in: Add "set -e".
26289 Add --pkglibdir=DIR option to override pkglibdir.
26290 Mention --image-type=TYPE in help output.
26291 Fix --grub-mkimage (it was a no-op).
fe6b695a 26292 Abort gracefully when no parameter is given.
59d31694 26293
7ee367e4 262942007-06-11 Robert Millan <rmh@aybabtu.com>
26295
26296 * util/i386/pc/grub-mkrescue.in: New file.
26297 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
26298 * Makefile.in: Handle bin_SCRIPTS.
26299
29b0ed46 263002007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
26301
26302 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
26303 list of video modes.
26304
c0f90770 263052007-06-06 Robert Millan <rmh@aybabtu.com>
26306
26307 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
26308 file doesn't exist, or if it is in a filesystem grub can't read.
26309
26310 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
26311 not abort if GRUB_DRIVE could not be defined. Rearrange generated
26312 header comment to fit in 80 columns when the variables are resolved.
26313
26314 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
26315 could be identified by update-grub. Remove redundant check for
fe6b695a 26316 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 26317 handles that).
26318
fb36dc26 263192007-06-04 Robert Millan <rmh@aybabtu.com>
26320
26321 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
26322
26323 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
26324
26325 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
26326
0c68c93e 263272007-06-04 Robert Millan <rmh@aybabtu.com>
26328
26329 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
26330
26331 * include/grub/partition.h: Declare grub_apple_partition_map_init and
26332 grub_apple_partition_map_fini.
26333
26334 * util/biosdisk.c
26335 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
26336 to access >2 TiB disks).
26337
26338 Print disk->total_sectors with %llu instead of %lu, since this
26339 variable is always 64-bit (prevents wrong disk size from being displayed
26340 on either >2 TiB disk or big-endian CPU).
26341
26342 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
26343 into a generic case that supports all (sane) partition maps.
26344
26345 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
26346 breaks big-endian.
26347
26348 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
26349 and grub_apple_partition_map_fini() after that.
26350
0f23eb74 263512007-06-01 Robert Millan <rmh@aybabtu.com>
26352
26353 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
26354
26355 * util/grub.d/00_header.in: Only enable gfxterm when
26356 convert_system_path_to_grub_path() succeeds.
26357
42c71976 263582007-05-20 Robert Millan <rmh@aybabtu.com>
26359
26360 * util/update-grub_lib.in: New file.
26361 * DISTLIST: Add update-grub_lib.in.
26362 * conf/common.rmk: Generate update-grub_lib and install it in
26363 $(lib_DATA).
26364 * Makefile.in: Add install routine for $(lib_DATA).
26365
26366 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
26367 function provided by update-grub_lib to support arbitrary paths of
26368 unifont.pff.
26369 * util/update-grub.in: Use convert_system_path_to_grub_path() to
26370 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
26371
5beb2291 263722007-05-19 Robert Millan <rmh@aybabtu.com>
26373
26374 * commands/i386/cpuid.c: New module.
26375 * DISTLIST: Add it.
26376 * conf/i386-efi.rmk: Enable cpuid.mod.
26377 * conf/i386-pc.rmk: Likewise.
26378
7262eca1 263792007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26380
26381 * kern/disk.c (grub_disk_read): Check return value of
26382 grub_realloc().
26383
260ba823 263842007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26385
26386 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
26387 arrays.
26388 * disk/raid.c (grub_raid_open): Likewise.
26389
1ecb6cf2 263902007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26391
26392 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
26393 stack instead of on the heap.
26394
26395 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
26396 before doing a read on it.
26397
26398 * configure.ac: Only use -fno-stack-protector for the target
26399 environment.
f19dbdb7 26400
21c8cbb1 264012007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26402
26403 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
26404 __attribute_ ((unused)) to mode_type argument.
26405
26406 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 26407
21c8cbb1 26408 * kern/misc.c (memcmp): Fix prototype.
26409
26410 * include/grub/partition.h [GRUB_UTIL]
26411 (grub_gpt_partition_map_init): Add prototype.
26412 (grub_gpt_partition_map_fini): Likewise.
26413
26414 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
26415 at the right place.
26416
26417 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
26418 (grub_fat_read_data): Likewise.
26419 (grub_fat_find_dir): Likewise.
26420
26421 * font/manager.c (find_glyph): Make table a const.
26422 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 26423
849d55d3 264242007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
26425
26426 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
26427 code, first search for device in /dev/mapper, then in /dev.
26428 (grub_util_get_grub_dev): New function.
26429 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
26430 prototype.
26431 * util/grub-probe.c (probe): Remove check for RAID, call
26432 grub_util_get_grub_dev() instead of
26433 grub_util_biosdisk_get_grub_dev().
26434 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
26435 grub_util_biosdisk_get_grub_dev().
26436 * util/i386/pc/grub-setup.c (main): Likewise.
26437
8fff7c2f 264382007-05-16 Robert Millan <rmh@aybabtu.com>
26439
26440 * DISTLIST: Update for the latest changes.
26441 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
26442 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
26443 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
26444 grub/util/biosdisk.h.
26445 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
26446 grub/util/biosdisk.h.
26447
48e12b52 264482007-05-16 Robert Millan <rmh@aybabtu.com>
26449
26450 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
26451
46b9d128 264522007-05-16 Robert Millan <rmh@aybabtu.com>
26453
26454 * util/i386/efi/grub-install.in: New.
26455 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
26456 newly added grub-install.
26457 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
26458 include.
26459 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
26460 grub/util/biosdisk.h.
26461 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
26462 grub/util/biosdisk.h.
26463
2d1a40a9 264642007-05-16 Robert Millan <rmh@aybabtu.com>
26465
26466 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
26467 * include/grub/util/biosdisk.h: ... here.
26468 * util/i386/pc/biosdisk.c: Moved to ...
26469 * util/biosdisk.c: ... here.
26470 * util/i386/pc/getroot.c: Moved to ...
26471 * util/getroot.c: ... here.
26472 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
26473 * util/grub-mkdevicemap.c: ... here.
26474 * util/i386/pc/grub-probe.c: Moved to ...
26475 * util/grub-probe.c: ... here.
26476
9e26e3bc 264772007-05-15 Robert Millan <rmh@aybabtu.com>
26478
26479 * util/update-grub.in: Remove duplicated line in grub.cfg header
26480 message.
26481
57f96397 264822007-05-13 Robert Millan <rmh@aybabtu.com>
26483
26484 * util/update-grub.in: Fix a few assumptions about the devices holding
26485 /, /boot and /boot/grub being the same.
26486 * util/grub.d/00_header.in: Likewise.
26487 * util/grub.d/10_hurd.in: Likewise.
26488 * util/grub.d/10_linux.in: Likewise.
26489
26490 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
26491 patterns. Use that to define the `.old' suffix as older than `'.
26492
26493 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
26494
26495 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
26496 the grub.cfg header message.
26497
2e610d62 264982007-05-11 Robert Millan <rmh@aybabtu.com>
26499
26500 * util/update-grub.in: Create device.map if it doesn't already exist,
26501 before attempting to run grub-probe.
26502 Check for grub-probe and grub-mkdevicemap with the same code
26503 grub-install is using.
26504 Remove test mode.
26505
3f6a10ef 265062007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
26507
26508 * Makefile.in: Add the datarootdir autoconf variable.
26509
02e7b75e 265102007-05-09 Robert Millan <rmh@aybabtu.com>
26511
26512 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 26513 fail gracefully if dev->disk->partition == NULL.
02e7b75e 26514
75f396cc 265152007-05-07 Robert Millan <rmh@aybabtu.com>
26516
26517 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
26518 determine partition map module.
26519 * util/i386/pc/grub-install.in: Use this feature to decide which
26520 partition module to load, instead of hardcoding pc and gpt.
26521
da65cb36 265222007-05-07 Robert Millan <rmh@aybabtu.com>
26523
26524 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
26525 source directory differs from build directory.
26526
b57d6a91 265272007-05-05 Robert Millan <rmh@aybabtu.com>
26528
26529 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
26530 initialisation.
26531
509d00f1 265322007-05-05 Robert Millan <rmh@aybabtu.com>
26533
26534 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
26535
c48f23ef 265362007-05-05 Robert Millan <rmh@aybabtu.com>
26537
26538 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
26539 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26540
20b97658 265412007-05-05 Robert Millan <rmh@aybabtu.com>
26542
26543 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26544 (grub_probe_SOURCES): Likewise.
26545 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26546 GPT and initialize dos_part and bsd_part accordingly.
26547 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26548 install_bsd_part.
26549 (main): Activate gpt module for use during partition identification,
26550 and deactivate it afterwards.
26551 * util/i386/pc/grub-install.in: Add gpt module to core.img.
26552 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
26553 partition identification, and deactivate it afterwards.
26554
99123174 265552007-05-05 Robert Millan <rmh@aybabtu.com>
26556
26557 * term/i386/pc/console.c (grub_console_fini): Call
26558 grub_term_set_current() before grub_term_unregister().
26559
ebd97f6e 265602007-05-04 Robert Millan <rmh@aybabtu.com>
26561
26562 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
26563 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
26564 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
26565 and update-grub_DATA.
26566 * conf/common.rmk: Build and install update-grub components.
26567 * conf/common.mk: Regenerate.
26568 * util/update-grub.in: New. Core of update-grub.
26569 * util/grub.d/00_header.in: New. Generates grub.cfg header.
26570 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
26571 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
26572 * util/grub.d/README: New. Document grub.d directory layout.
26573
b06a264d 265742007-05-01 Robert Millan <rmh@aybabtu.com>
26575
26576 * util/grub-emu.c: Move initialization functions
26577 grub_util_biosdisk_init() and grub_init_all() before
26578 grub_util_biosdisk_get_grub_dev(), which relies on them.
26579
41f0050e 265802007-04-19 Robert Millan <rmh@aybabtu.com>
26581
26582 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26583 it is used later.
26584
04582bb3 265852007-04-18 Jerone Young <jerone@gmail.com>
26586
f19dbdb7 26587 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 26588 stanza.
26589
08db4632 265902007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 26591
08db4632 26592 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26593 continue on and look for device node with real device name.
26594
801b76be 265952007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 26596
fe6b695a 26597 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 26598 ability.
26599 * Makefile.in: Add autoconf package transformation code.
26600 * util/i386/pc/grub-install.in: Likewise.
26601 * util/powerpc/ieee1275/grub-install.in: Likewise.
26602
6795c4e1 266032007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26604
26605 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26606 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26607 (EXT2_REVISION): Likewise.
26608 (EXT2_INODE_SIZE): Likewise.
26609 (struct grub_ext2_block_group): Added a missing member
26610 "used_dirs".
26611 (grub_ext2_read_inode): Divide by the inode size in a superblock
26612 instead of 128 to obtain INODES_PER_BLOCK.
26613 Use the macro EXT2_INODE_SIZE instead of directly using
26614 SBLOCK->INODE_SIZE.
26615
d70af616 266162007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26617
26618 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26619 superblock instead of the structure size to compute an
26620 offset. This fixes the problem that GRUB could not read a
26621 filesystem when inode size is different from 128-byte.
26622
3b801603 266232007-03-05 Marco Gerards <marco@gnu.org>
26624
26625 * normal/main.c (read_config_file): When "menu" is not set, create
26626 an initial context.
26627
4785bfe4 266282007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26629
26630 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26631 (HEAP_LIMIT): New macro.
26632 (grub_claim_heap): Claim memory up to `heaplimit'.
26633
a0cbb023 266342007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26635
26636 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26637 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26638 (_start): Likewise.
26639 (grub_arch_modules_addr): Return address after `_end'.
26640 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26641 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26642 (add_segments): Calculate `_end' from phdr size and location.
26643 (ALIGN_UP): Moved to ...
26644 * include/grub/misc.h: here.
26645 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26646 New macro.
26647 (GRUB_IEEE1275_MODULE_BASE): Removed.
26648
fd7d8eba 266492007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26650
26651 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26652 loop boundary.
26653
9b09e6fc 266542007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26655
26656 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26657 All users updated.
26658 (grub_elf64_load_hook_t): Likewise.
26659 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26660 debug output.
26661
3ce27299 266622007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26663
26664 * kern/mm.c: Update copyright.
26665 (grub_mm_debug): Correct syntax error.
26666 (grub_mm_dump_free): New function.
26667 (grub_debug_free): Call `grub_free'.
26668 * include/grub/mm.h: Update copyright.
26669 (grub_mm_dump_free): Add declaration.
26670
077d5fee 266712007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26672
26673 * include/grub/ieee1275/ieee1275.h: Update copyright.
26674 * kern/powerpc/ieee1275/init.c: Likewise.
26675 * kern/powerpc/ieee1275/openfw.c: Likewise.
26676
26677 * loader/powerpc/ieee1275/linux.c: Likewise.
26678 * include/grub/elfload.h: Likewise.
26679 * kern/elf.c: Likewise.
26680 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26681 callers.
26682 (grub_elf64_load): Likewise.
26683 (grub_elf32_load_segment): Move to a nested function.
26684 (grub_elf64_load_segment): Likewise.
26685
dc946850 266862007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26687
26688 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26689 prototype.
26690 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26691 (grub_heap_len): Likewise.
26692 (HEAP_SIZE): New macro.
26693 (grub_claim_heap): New function.
26694 (grub_machine_init): Don't claim heap directly. Call
26695 `grub_claim_heap'.
26696 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26697 (grub_available_iterate): New function.
26698
baa2a121 266992007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26700
26701 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26702 * configure.ac: Use it for testing the HOST and TARGET compilers.
26703
4fe9862e 267042006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26705
26706 * Makefile.in (enable_grub_emu): New variable.
26707 * configure.ac (--enable-grub-emu): New option.
26708 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26709 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26710 * conf/i386-pc.rmk: Likewise.
26711 * conf/powerpc-ieee1275.rmk: Likewise.
26712 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26713
a8aa5762 267142006-12-12 Marco Gerards <marco@gnu.org>
26715
26716 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26717
26718 * kern/env.c (grub_env_unset): Don't free the member `value' when
26719 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26720 pointer.
26721
26722 * normal/main.c (current_menu): Removed.
26723 (free_menu): Unset the `menu' environment variable.
26724 (grub_normal_menu_addentry): Make use of the environment variable
26725 `menu', instead of using the global `current_menu'. Allocate
26726 memory for the sourcecode of this entry.
26727 (read_config_file): New argument `nested', changed all callers.
26728 Only in the case of a new context, initialize a new menu. Set the
26729 `menu' environment variable.
26730 (grub_normal_execute): Don't set and unset the environment
26731 variable `menu' here anymore. Only free the menu when leaving the
26732 context.
26733
26734 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26735 leak.
26736
957b3a3e 267372006-12-11 Marco Gerards <marco@gnu.org>
26738
26739 * normal/menu_entry.c (run): Fix off by one bug so the last line
26740 is executed. Move the loader check to outside the loop.
26741
ef875714 267422006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26743
26744 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26745
4e739985 267462006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26747
26748 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26749 the number of sectors. Reported by Andrey Shuvikov
26750 <mr_hyro@yahoo.com>.
f19dbdb7 26751
790707f2 267522006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26753
26754 * kern/disk.c (grub_disk_read): When there is a read error, always
26755 try to read only the necessary data.
f19dbdb7 26756
790707f2 26757 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26758 disk/raid.c.
26759 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26760 prototype.
26761 [GRUB_UTIL] (grub_raid_fini): Likewise.
26762 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 26763 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 26764 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26765 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26766 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26767 and grub_raid_fini().
f19dbdb7 26768
03e58196 267692006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26770
26771 * include/grub/types.h (__unused): Rename to UNUSED.
26772 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26773 (grub_elf64_size): Likewise.
f19dbdb7 26774
ae4f23bf 267752006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26776
26777 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26778 grub_error_push and grub_error_pop in the error-handling path.
26779 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26780 length.
26781
2166cc83 267822006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26783
26784 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26785 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26787 (kernel_elf_SOURCES): Likewise.
26788 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26789 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26790 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26791 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26792 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26793 (elf_mod_SOURCES): New variable.
26794 (elf_mod_CFLAGS): Likewise.
26795 (elf_mod_LDFLAGS): Likewise.
26796 * include/grub/types.h (__unused): New macro.
26797 * include/grub/elfload.h: New file.
26798 * kern/elf.c: Likewise.
26799 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26800 (ELF32_LOADMASK): New macro.
26801 (ELF64_LOADMASK): Likewise.
26802 (vmlinux): Removed.
26803 (grub_linux_load32): New function.
26804 (grub_linux_load64): Likewise.
26805 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26806 Use grub_elf_t instead of grub_file_t.
26807
a09d5aa5 268082006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26809
26810 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26811 `catch_result' to struct set_color_args.
26812
d976fc51 268132006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26814
26815 * normal/menu.c: Include grub/script.h.
26816 * normal/menu_entry.c: Likewise.
26817 * include/grub/normal.h: Do not include grub/script.h.
26818
67507549 268192006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26820
26821 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26822
69203a99 268232006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26824
26825 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26826 disk.
26827 (grub_disk_close): Print debug messages when closing a disk.
26828 (grub_disk_read): Print debug messages when disk read fails.
26829 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26830 filesystem type.
26831 * kern/partition.c: Include misc.h.
26832 (grub_partition_iterate): Print debug messages when detecting
26833 partition type.
26834
e2b8278c 268352006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26836
26837 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26838 is negative.
26839 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26840
97b2f2ff 268412006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26842
26843 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26844 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26845
6555d655 268462006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26847
26848 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26849 instead of sizeof(lv). Patch by Michael Guntsche.
26850
4d42b77f 268512006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26852
26853 * disk/lvm.c: Rename VGS to VG_LIST.
26854 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26855 (grub_lvm_open): Likewise.
26856 Thanks to Michael Guntsche for finding this bug.
26857
5d74d927 268582006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26859
26860 * configure.ac (AC_INIT): Bumped to 1.95.
26861
a1bb27e4 268622006-10-14 Robert Millan <rmh@aybabtu.com>
26863
26864 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26865 with "/dev/.static/dev/md".
26866
e0994b8b 268672006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26868
26869 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26870 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26871 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26872 DRIVE_NAME are always freed.
26873
26874 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26875 DOS_PART, as a DOS partition is counted from one instead of zero
26876 now. Reported by Robert Millan.
26877
ddd5cee9 268782006-10-14 Robert Millan <rmh@aybabtu.com>
26879
26880 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26881 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26882 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26883 string returned by grub_guess_root_device.
26884 * util/i386/pc/grub-setup.c: Likewise.
26885 * util/i386/pc/grub-probefs.c: Likewise.
26886
26887 * util/i386/pc/grub-probefs.c: Rename to ...
26888 * util/i386/pc/grub-probe.c: ... this.
26889 * DISTLIST: Remove grub-probefs, add grub-probe.
26890 * conf/i386-efi.rmk: Likewise.
26891 * conf/i386-pc.rmk: Likewise.
26892 * util/i386/pc/grub-install.in: Likewise.
26893
26894 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26895 choose which information we want to print.
26896
2b002173 268972006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26898
26899 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26900 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26901 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26902 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26903 video/readers/tga.c and video/i386/pc/vbeutil.c.
26904
269052006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26906
26907 Added support for RAID and LVM.
f19dbdb7 26908
2b002173 26909 * disk/lvm.c: New file.
26910 * disk/raid.c: Likewise.
26911 * include/grub/lvm.h: Likewise.
f19dbdb7 26912 * include/grub/raid.h: Likewise.
2b002173 26913 * include/grub/util/lvm.h: Likewise.
26914 * include/grub/util/raid.h: Likewise.
26915 * util/lvm.c: Likewise.
26916 * util/raid.c: Likewise.
26917
26918 * include/grub/disk.h (grub_disk_dev_id): Add
26919 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26920 (grub_disk_get_size): New prototype.
26921 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26922 returns a partition.
26923 (grub_disk_get_size): New function.
f19dbdb7 26924
2b002173 26925 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26926 verbatim if grub_install_dos_part is -2.
26927
26928 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
26929 and LVM devices.
26930
26931 * util/i386/pc/grub-setup.c (setup): New argument
26932 MUST_EMBED. Force embedding of GRUB when the argument is
26933 true. Close FILE before returning.
26934 (main): Add support for RAID and LVM.
f19dbdb7 26935
2b002173 26936 * conf/common.rmk: Add RAID and LVM modules.
26937 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
26938 util/lvm.c.
26939 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
26940
26941 * kern/misc.c (grub_strstr): New function.
26942 * include/grub/misc.h (grub_strstr): New prototype.
26943
050548d0 269442006-10-10 Tristan Gingold <tristan.gingold@bull.net>
26945
26946 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
26947
da849d2d 269482006-10-05 Tristan Gingold <tristan.gingold@bull.net>
26949
26950 * kern/misc.c (grub_strtoull): Guess the base only if not
26951 specified.
26952
97b2f2ff 269532006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 26954
26955 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
26956 PowerMac support.
26957
97b2f2ff 269582006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 26959
26960 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
26961
26962 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
26963 Remove `flags' argument. All callers changed.
26964 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
26965 (IEEE1275_IHANDLE_INVALID): New variable.
26966 (IEEE1275_CELL_INVALID): New variable.
26967 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26968 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
26969 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
26970 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
26971 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
26972 codes from Open Firmware. All callers updated.
26973 (grub_ieee1275_next_property): Directly return Open Firmware return
26974 code.
26975 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
26976 Standardize error checking from `grub_ieee1275_get_property'.
26977 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
26978 `devalias' to `aliases'. Correct comments. Consolidate error paths.
26979
97b2f2ff 269802006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 26981
26982 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
26983 `instance_to_package_args' to `instance_to_path_args'.
26984
26985 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
26986 `grub_ieee1275_chosen'.
26987
26988 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
26989 `grub_ieee1275_interpret'.
26990
97b2f2ff 269912006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 26992
26993 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
26994
97b2f2ff 269952006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 26996
26997 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
26998 (__cmpdi): Likewise.
26999
27000 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
27001 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
27002 `grub_ssize_t'.
27003
02bb8acc 27004 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 27005
27006 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
27007 to type `grub_ssize_t'.
27008 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
27009
7f9a8531 270102006-09-22 Marco Gerards <marco@gnu.org>
27011
27012 * normal/script.c (grub_script_create_cmdmenu): Skip leading
27013 newlines.
27014
b5ef1102 270152006-09-22 Marco Gerards <marco@gnu.org>
27016
27017 * commands/echo.c: New file.
27018
27019 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
27020
27021 * conf/common.rmk (echo_mod_SOURCES): New variable.
27022 (echo_mod_CFLAGS): Likewise.
27023 (echo_mod_LDFLAGS): Likewise.
27024
2cff3677 270252006-09-22 Marco Gerards <marco@gnu.org>
27026
27027 * normal/main.c (get_line): Malloc memory instead of using
27028 preallocated memory. Removed the arguments `cmdline' and
27029 `max_len'. Updated all callers.
27030
6ba4688b 270312006-09-22 Marco Gerards <marco@gnu.org>
27032
27033 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
27034 (normal_mod_DEPENDENCIES): Likewise.
27035
27036 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
27037 (normal_mod_DEPENDENCIES): Likewise.
27038
27039 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
27040
e02ac02c 270412006-09-22 Johan Rydberg <jrydberg@gnu.org>
27042
27043 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
27044 programs.
27045 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
27046 (normal_mod_DEPENDENCIES): Likewise.
27047 * conf/i386-pc.mk: Regenerate.
27048 * conf/i386-efi.mk: Likewise
27049 * conf/common.mk: Likewise.
27050 * conf/powerpc-ieee1275.mk: Likewise.
27051 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27052
8d252e44 270532006-09-22 Robert Millan <rmh@aybabtu.com>
27054
27055 Sync with i386 version.
27056 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
27057 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
27058
209bf7ac 270592006-09-21 Robert Millan <rmh@aybabtu.com>
27060
27061 Import from GRUB Legacy (lib/device.c):
27062 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
27063 (init_device_map) [__linux__]: Add support for I2O devices.
27064
6b146090 270652006-09-14 Marco Gerards <marco@gnu.org>
27066
27067 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
27068 `-melf_i386'.
27069
e38600a8 270702006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 27071
27072 * util/i386/pc/grub-install.in: Skip menu.lst when removing
27073 /boot/grub/*.lst.
78fa1790 27074
2952da5d 27075 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 27076
2952da5d 27077 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
27078 before adding it to device.map.
27079
01b82a64 270802006-08-15 Johan Rydberg <jrydberg@gnu.org>
27081
fe6b695a 27082 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 27083 compiles a file; using the -MD option.
27084 * conf/common.mk: Regenerate.
27085 * conf/i386-pc.mk: Likewise.
27086 * conf/i386-efi.mk: Likewise.
27087 * conf/powerpc-ieee1275.mk: Likewise.
27088 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27089
1064790d 270902006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
27091
27092 Move the prototypes of grub_setjmp and grub_longjmp to
27093 cpu/setjmp.h, so that each architecture may specify different
27094 attributes.
f19dbdb7 27095
1064790d 27096 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
27097 (grub_longjmp): Likewise.
27098 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
27099 (grub_longjmp): Likewise.
27100 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
27101 (grub_longjmp): Likewise.
27102
27103 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
27104 [!GRUB_UTIL] (grub_longjmp): Removed.
27105
29dda3ed 271062006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
27107
27108 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
27109 "color!" method does not return any value.
27110
ad2a06ed 271112006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27112
27113 * include/grub/bitmap.h: New file.
27114
27115 * include/grub/i386/pc/vbeutil.h: Likewise.
27116
27117 * video/bitmap.c: Likewise.
27118
27119 * video/readers/tga.c: Likewise.
27120
27121 * video/i386/pc/vbeutil.c: Likewise.
27122
27123 * commands/videotest.c: Code cleanup and updated to reflect to new
27124 video API.
27125
27126 * term/gfxterm.c: Likewise.
27127
27128 * video/video.c: Likewise.
27129
27130 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
27131 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
27132 (bitmap_mod_SOURCES): New entry.
27133 (bitmap_mod_CFLAGS): Likewise.
27134 (bitmap_mod_LDFLAGS): Likewise.
27135 (tga_mod_SOURCES): Likewise.
27136 (tga_mod_CFLAGS): Likewise.
27137 (tga_mod_LDFLAGS): Likewise.
27138
27139 * include/grub/video.h (grub_video_blit_operators): New enum type.
27140 (grub_video_render_target): Changed as forward declaration and moved
27141 actual definition to be video driver specific.
27142 (grub_video_adapter.blit_bitmap): Added blitting operator.
27143 (grub_video_adapter.blit_render_target): Likewise.
27144 (grub_video_blit_bitmap): Likewise.
27145 (grub_video_blit_render_target): Likewise.
27146
27147 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
27148 driver specific render target definition.
27149 (grub_video_vbe_map_rgba): Added driver internal helper.
27150 (grub_video_vbe_unmap_color): Updated to use
27151 grub_video_i386_vbeblit_info.
27152 (grub_video_vbe_get_video_ptr): Likewise.
27153
27154 * include/grub/i386/pc/vbeblit.h
27155 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
27156 grub_video_i386_vbeblit_info.
27157 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27158 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27159 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27160 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27161 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27162 (grub_video_i386_vbeblit_index_index): Likewise.
27163 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
27164 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27165 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27166 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
27167 operator.
27168 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
27169 operator.
27170
27171 * video/i386/pc/vbeblit.c: Updated to reflect changes on
27172 include/grub/i386/pc/vbeblit.h.
27173
27174 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
27175 Updated to use grub_video_i386_vbeblit_info.
27176 (grub_video_i386_vbefill_R8G8B8): Likewise.
27177 (grub_video_i386_vbefill_index): Likewise.
27178 (grub_video_i386_vbefill): Added generic filler.
27179
27180 * video/i386/pc/vbefill.c: Updated to reflect changes on
27181 include/grub/i386/pc/vbefill.h.
27182
27183 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
27184 grub_video_i386_vbeblit_info.
27185 (grub_video_vbe_unmap_color): Likewise.
27186 (grub_video_vbe_blit_glyph): Likewise.
27187 (grub_video_vbe_scroll): Likewise.
27188 (grub_video_vbe_draw_pixel): Removed function.
27189 (grub_video_vbe_get_pixel): Likewise.
27190 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
27191 updated code to use it.
27192 (common_blitter): Added common blitter for render target and bitmap.
27193 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
27194 (grub_video_vbe_blit_render_target): Likewise.
27195
bc8c036d 271962006-07-30 Johan Rydberg <jrydberg@gnu.org>
27197
27198 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
27199 is in text mode if there is no console control protocol instance
27200 available.
27201
684a8eff 272022006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27203
27204 * include/grub/video.h: Code cleanup.
27205
27206 * include/grub/i386/pc/vbe.h: Likewise.
27207
27208 * video/i386/pc/vbe.c: Likewise.
27209
27210 * video/i386/pc/vbeblit.c: Likewise.
27211
27212 * video/i386/pc/vbefill.c: Likewise.
27213
27214 * video/video.c: Likewise. Also added more comments.
27215
5915059b 272162006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27217
27218 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
27219 (struct grub_biosdisk_dap): Likewise.
27220
27221 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
27222 linkage settings for all functions.
27223
90ce5d56 272242006-07-12 Marco Gerards <marco@gnu.org>
27225
27226 * configure.ac (--enable-mm-debug): Fix typo.
27227
27228 * genkernsyms.sh.in: Use proper quoting for `CC'.
27229
43e7f879 272302006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
27231
27232 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
27233 (normal_mod_ASFLAGS): Remove "-m32".
27234
4889bdec 272352006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
27236
27237 * util/misc.c: Include config.h.
27238 [!HAVE_MEMALIGN]: Do not include malloc.h.
27239 (grub_memalign): Use posix_memalign, if present. Then, use
27240 memalign, if present. Otherwise, emit an error.
27241
27242 * util/grub-emu.c: Do not include malloc.h.
27243
27244 * include/grub/util/misc.h: Include unistd.h. This is required for
27245 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
27246 D. Eades III <hde@foobar-qux.org>.
27247
27248 * configure.ac (AC_GNU_SOURCE): Added.
27249 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
27250 type.
27251
fd39d4da 272522006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
27253
27254 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
27255 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
27256
b786f3b5 272572006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
27258
27259 * include/grub/types.h (grub_host_addr_t): Rename to
27260 grub_target_addr_t.
27261 (grub_host_off_t): Rename to grub_target_off_t.
27262 (grub_host_size_t): Rename to grub_target_size_t.
27263 (grub_host_ssize_t): Rename to grub_target_ssize_t.
27264 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
27265
27266 * include/grub/kernel.h (struct grub_module_header): Change type
27267 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
27268 (grub_module_info): Likewise.
f19dbdb7 27269
051988bb 272702006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27271
27272 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
27273 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
27274 Velazquez <jesus.velazquez@gmail.com>.
27275
deae281b 272762006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27277
27278 Count partitions from 1 instead of 0 in the string representation
27279 of partitions. Still use 0-based internally.
f19dbdb7 27280
deae281b 27281 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
27282 (sun_partition_map_iterate): Use grub_partition_t instead of
27283 struct grub_partition *. Cast DESC->START_CYLINDER to
27284 grub_uint64_t after converting the endian.
27285 (sun_partition_map_probe): Subtract 1 for PARTNUM.
27286 (sun_partition_map_get_name): Add 1 to P->INDEX.
27287
27288 * partmap/pc.c (grub_partition_parse): Subtract 1 for
27289 PCDATA->DOS_PART.
27290 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
27291
27292 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
27293 zero instead of one.
27294 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
27295 (gpt_partition_map_get_name): Add 1 into P->INDEX.
27296
27297 * partmap/apple.c (apple_partition_map_iterate): Change the type
27298 of POS to unsigned.
27299 (apple_partition_map_probe): Subtract 1 for PARTNUM.
27300 (apple_partition_map_get_name): Add 1 into P->INDEX.
27301
27302 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
27303 of POS to unsigned.
27304 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
27305 calculate the offset of a partition.
27306 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
27307 (amiga_partition_map_get_name): Add 1 into P->INDEX.
27308
27309 * partmap/acorn.c (acorn_partition_map_find): Change the type of
27310 SECTOR to grub_disk_addr_t.
27311 (acorn_partition_map_iterate): Likewise.
27312 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
27313 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
27314 top.
27315 (acorn_partition_map_get_name): Add 1 into P->INDEX.
27316
27317 * kern/i386/pc/init.c (make_install_device): Add 1 into
27318 GRUB_INSTALL_DOS_PART.
27319
27320 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
27321 conditional.
27322
524a1e6a 273232006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27324
27325 Clean up the code to support 64-bit addressing in disks and
27326 files. This change is not enough for filesystems yet.
f19dbdb7 27327
524a1e6a 27328 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
27329 type of "start" to grub_uint64_t.
27330 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
27331 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
27332 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
27333 convert addresses.
27334
27335 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
27336 to grub_disk_addr_t.
27337
27338 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
27339 string.
27340
27341 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27342
27343 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
27344 to char *.
27345
27346 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
27347
27348 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
27349
27350 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
27351
27352 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
27353 to grub_off_t, to detect an error from grub_file_seek.
27354 (grub_multiboot_load_elf32): Likewise.
27355
27356 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
27357 maximum unsigned long value when an overflow is detected.
27358 (grub_strtoull): New function.
27359 (grub_divmod64): Likewise.
27360 (grub_lltoa): use grub_divmod64.
27361
27362 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
27363 grub_disk_addr_t.
27364 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
27365 the pointer to next character. Use grub_strtoull instead of
27366 grub_strtoul.
27367 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
27368 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
27369 respectively.
27370
fe6b695a 27371 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 27372 return value is signed.
27373 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
27374 test if OFFSET is less than zero, as OFFSET is unsigned now.
27375
27376 * kern/disk.c (struct grub_disk_cache): Change the type of
27377 "sector" to grub_disk_addr_t.
27378 (grub_disk_cache_get_index): Change the type of SECTOR to
27379 grub_disk_addr_t. Calculate the hash with SECTOR casted to
27380 unsigned after shifting.
27381 (grub_disk_cache_invalidate): Change the type of SECTOR to
27382 grub_disk_addr_t.
27383 (grub_disk_cache_unlock): Likewise.
27384 (grub_disk_cache_store): Likewise.
27385 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
27386 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
27387 grub_disk_addr_t and grub_uint64_t, respectively.
27388 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
27389 body, as the value of OFFSET is tweaked by
27390 grub_disk_check_range. Change the types of START_SECTOR, LEN and
27391 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
27392 respectively.
27393 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
27394 body, as the value of OFFSET is tweaked by
27395 grub_disk_check_range. Change the types of LEN and N to
27396 grub_size_t.
27397
27398 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
27399 and "saved_offset" to grub_off_t.
27400 (test_header): Cast BUF to char *.
27401 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
27402 to char *.
27403 (grub_gzio_read): Change the types of OFFSET and SIZE to
27404 grub_off_t and grub_size_t, respectively.
27405
27406 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
27407 Removed.
27408 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
27409 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
27410 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
27411 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
27412 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
27413
27414 * include/grub/types.h (grub_off_t): Unconditionally set to
27415 grub_uint64_t.
27416 (grub_disk_addr_t): Changed to grub_uint64_t.
27417
27418 * include/grub/partition.h (struct grub_partition): Change the
27419 types of "start", "len" and "offset" to grub_disk_addr_t,
27420 grub_uint64_t and grub_disk_addr_t, respectively.
27421 (grub_partition_get_start): Return grub_disk_addr_t.
27422 (grub_partition_get_len): Return grub_uint64_t.
27423
27424 * include/grub/misc.h (grub_strtoull): New prototype.
27425 (grub_divmod64): Likewise.
27426
27427 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
27428 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
27429 grub_off_t, respectively.
27430 All callers and references changed.
27431
27432 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
27433 grub_size_t in "read".
27434 All callers and references changed.
27435
27436 * include/grub/file.h (struct grub_file): Change the types of
27437 "offset" and "size" to grub_off_t and grub_off_t,
27438 respectively. Change the type of SECTOR to grub_disk_addr_t in
27439 "read_hook".
27440 (grub_file_read): Change the type of LEN to grub_size_t.
27441 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
27442 grub_off_t.
27443 (grub_file_size): Return grub_off_t.
27444 (grub_file_tell): Likewise.
27445 All callers and references changed.
27446
27447 * include/grub/disk.h (struct grub_disk_dev): Change the types of
27448 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
27449 "write".
27450 (struct grub_disk): Change the type of "total_sectors" to
27451 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 27452 "read_hook".
524a1e6a 27453 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
27454 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
27455 (grub_disk_write): Likewise.
27456 All callers and references changed.
27457
27458 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
27459 char * for grub_strncmp to silence gcc.
27460 (grub_iso9660_mount): Likewise.
27461 (grub_iso9660_mount): Likewise.
27462 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
27463 return statement.
27464 (grub_iso9660_iterate_dir): Likewise.
27465 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
27466
27467 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
27468 LEN to grub_disk_addr_t and grub_size_t, respectively.
27469
27470 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27471
27472 * fs/jfs.c (grub_jfs_read_file): Likewise.
27473
27474 * fs/minix.c (grub_jfs_read_file): Likewise.
27475
27476 * fs/sfs.c (grub_jfs_read_file): Likewise.
27477
27478 * fs/ufs.c (grub_jfs_read_file): Likewise.
27479
27480 * fs/xfs.c (grub_jfs_read_file): Likewise.
27481
27482 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
27483 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
27484 respectively.
27485
27486 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
27487 BLKNR to -1 instead of returning GRUB_ERRNO.
27488 (grub_ext2_read_file): Change the types of SECTOR and
27489 LEN to grub_disk_addr_t and grub_size_t, respectively.
27490
27491 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
27492 LEN to grub_disk_addr_t and grub_size_t, respectively.
27493
27494 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
27495 grub_file_read.
27496
27497 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
27498 string. Do not cast SECTOR explicitly.
27499
27500 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
27501 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
27502 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
27503 grub_disk_addr_t and grub_size_t, respectively. If the sector is
27504 over 2TB and LBA mode is not supported, raise an error.
27505 (get_safe_sectors): New function.
27506 (grub_biosdisk_read): Use get_safe_sectors.
27507 (grub_biosdisk_write): Likewise.
27508
27509 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
27510 (grub_efidisk_write): Likewise.
27511
27512 * disk/loopback.c (delete_loopback): Cosmetic changes.
27513 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
27514 correctly.
27515 (grub_loopback_open): Likewise.
27516 (grub_loopback_read): Likewise. Also, change the type of POS to
27517 grub_off_t, and fix the usage of grub_memset.
27518
27519 * commands/i386/pc/play.c: Include grub/machine/time.h.
27520
27521 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
27522 print FILE->SIZE.
27523
27524 * commands/configfile.c: Include grub/env.h.
27525
27526 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
27527 GRUB_ERRNO directly instead. Change the type of POS to
27528 grub_off_t. Follow the coding standard.
27529
27530 * commands/blocklist.c: Include grub/partition.h.
27531 (grub_cmd_blocklist): Return an error if the underlying device is
27532 not a disk. Take the starting sector of a partition into account,
27533 if a partition is used.
27534
27535 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
27536 a length field.
27537 (lba_mode): Support 64-bit addresses.
27538 (chs_mode): Likewise.
27539 (copy_buffer): Adapted to the new offsets of a length field and a
27540 segment field.
27541 (blocklist_default_start): Allocate 64-bit space.
27542
27543 * boot/i386/pc/boot.S (force_lba): Removed.
27544 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27545 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27546 space.
27547 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27548 is useless.
27549 (lba_mode): Refactored to support a 64-bit address. More size
27550 optimization.
27551 (setup_sectors): Likewise.
27552
53af98ad 275532006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27554
27555 * DISTLIST: Added include/grub/i386/linux.h. Removed
27556 include/grub/i386/pc/linux.h
27557
27558 * configure.ac (AC_INIT): Bumped to 1.94.
27559
27560 * config.guess: Updated from gnulib.
27561 * config.sub: Likewise.
27562 * install-sh: Likewise.
27563 * mkinstalldirs: Likewise.
27564
b4c1940a 275652006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27566
27567 * conf/common.rmk (grub_modules_init.lst): Depended on
27568 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
27569 MODSRCFILES.
27570
27571 * genmk.rb (PModule::rule): Reverted the previous change.
27572
cfca1cfd 275732006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27574
27575 * conf/common.rmk (grub_modules_init.lst): Depends on
27576 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
27577 that the target does not exist before producing.
27578 (grub_modules_init.h): Remove the target before generating.
27579 (grub_emu_init.c): Likewise.
27580
27581 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
27582
aa6d7826 275832006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27584
27585 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27586 for the target-specific tests. Make sure that we also have the
27587 up-to-date target variables for those tests.
27588
26c607b9 275892006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27590
27591 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27592 (PModule::rule): Likewise.
27593
0162321a 275942006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27595
27596 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27597 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27598 target-specific flags should be prefixed.
27599 (PModule::rule): Likewise.
27600
6c826348 276012006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27602
27603 * configure.ac (CMP): Check if cmp is available explicitly.
27604
b977bf01 276052006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27606
27607 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27608 (target_cpu): New variable.
27609 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 27610
b977bf01 27611 * util/i386/pc/grub-install.in (host_cpu): Removed.
27612 (target_cpu): New variable.
27613 (pkglibdir): Use target_cpu instead of host_cpu.
27614
27615 * util/genmoddep.c: Removed.
f19dbdb7 27616
b977bf01 27617 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27618 instead of GRUB_HOST_SIZEOF_VOID_P.
27619 * kern/dl.c: Likewise.
27620
27621 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27622 ...
27623 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27624 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27625 (GRUB_TARGET_SIZEOF_LONG): ... this.
27626 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27627 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27628 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27629 to ...
27630 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27631 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27632 (GRUB_TARGET_SIZEOF_LONG): ... this.
27633 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27634 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27635 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27636 to ...
27637 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27638 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27639 (GRUB_TARGET_SIZEOF_LONG): ... this.
27640 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27641 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27642
27643 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27644 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27645 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27646 instead of GRUB_HOST_SIZEOF_LONG.
27647 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27648 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27649 GRUB_CPU_WORDS_BIGENDIAN.
27650 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27651 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27652 grub_host_ssize_t.
27653
27654 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27655 (genmoddep_SOURCES): Likewise.
27656 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27657 (genmoddep_SOURCES): Likewise.
27658 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27659 (genmoddep_SOURCES): Likewise.
27660 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27661 Likewise.
27662 (genmoddep_SOURCES): Likewise.
27663
27664 * genmoddep.awk: New file.
27665
27666 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27667 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27668 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27669 (PModule::rule): Likewise.
27670 (Program::rule): Likewise.
27671 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27672 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27673 respectively.
27674
27675 * configure.ac: Rewritten intensively to use host and target
27676 instead of build and host, respectively.
27677
27678 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27679 (host_cpu): Removed.
27680 (target_cpu): New variable.
27681 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27682 (BUILD_CC): Removed.
27683 (BUILD_CFLAGS): Likewise.
27684 (BUILD_CPPFLAGS): Likewise.
27685 (TARGET_CC): New variable.
27686 (TARGET_CFLAGS): Likewise.
27687 (TARGET_CPPFLAGS): Likewise.
27688 (TARGET_LDFLAGS): Likewise.
27689 (AWK): Likewise.
27690 (include): Use target_cpu instead of host_cpu.
27691 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27692
b977bf01 27693 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27694
f09771a1 276952006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27696
27697 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27698 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27699 field 'false' to 'exec_on_false'.
27700 (grub_script_create_cmdif): Renamed argument names to reflect above
27701 changes.
27702
27703 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27704
27705 * normal/script.c (grub_script_create_cmdif): Likewise.
27706
118f4fb3 277072006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27708
27709 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27710 top.
27711 (grub_hfsplus_btree_recptr): Likewise.
27712 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27713 FILEBLOCK both to pass a block number and store next block
27714 number.
27715 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27716 overflow file correctly. Specify errors appropriately, because
27717 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27718 grub_hfsplus_btree_recptr to get the pointer to a found key.
27719 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27720 is found.
27721
27722 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27723 linux.mod.
27724 (_linux_mod_SOURCES): New variable.
27725 (_linux_mod_CFLAGS): Likewise.
27726 (_linux_mod_LDFLAGS): Likewise.
27727 (linux_mod_SOURCES): Likewise.
27728 (linux_mod_CFLAGS): Likewise.
27729 (linux_mod_LDFLAGS): Likewise.
27730
27731 * DISTLIST: Added loader/i386/efi/linux.c,
27732 loader/i386/efi/linux_normal.c and
27733 include/grub/i386/efi/loader.h.
27734
27735 * loader/i386/efi/linux.c: New file.
27736 * loader/i386/efi/linux_normal.c: Likewise.
27737 * include/grub/i386/efi/loader.h: Likewise.
27738
89a7d726 277392006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27740
27741 * commands/blocklist.c: New file.
27742
27743 * DISTLIST: Added commands/blocklist.c.
27744
27745 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 27746 color for the background, and a darker color for the foreground.
89a7d726 27747 (grub_console_checkkey): Return READ_KEY.
27748 (grub_console_cls): Set the background to
27749 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27750
27751 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27752
27753 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27754 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27755
27756 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27757 prototype.
27758
27759 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27760 BG. The spec is wrong again.
27761
27762 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27763 prototype.
27764 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27765
27766 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27767 commands/blocklist.c.
27768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 27769
89a7d726 27770 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27771 (blocklist_mod_SOURCES): New variable.
27772 (blocklist_mod_CFLAGS): Likewise.
27773 (blocklist_mod_LDFLAGS): Likewise.
27774
75c8f258 277752006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27776
27777 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27778 duplication.
27779 (lba_mode): Use %eax more intensively to reduce the code size.
27780
da2eb181 277812006-05-20 Marco Gerards <marco@gnu.org>
27782
27783 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27784
27785 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27786 for `menuentry'.
27787 (script): Accept leading newlines.
27788 (newlines): New rule to describe 0 or more newlines.
27789 (commands): Accept `command' with trailing newline. Fixed the
27790 order in which arguments were passed to `grub_script_add_cmd'.
27791 Accept commands separated by newlines.
27792 (function): Changed to accept newlines.
27793 (menuentry) Rewritten.
27794
27795 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27796 front of the list, instead of to the end.
27797
577b4050 277982006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27799
27800 * util/i386/pc/grub-install.in (bindir): New variable.
27801 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27802 Shaver <lbgwjl@gmail.com>.
27803
0d6e1189 278042006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27805
27806 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27807 grub/machine/linux.h
27808 * loader/i386/pc/linux.c: Likewise.
27809
27810 * include/grub/i386/pc/linux.h: Moved to ...
27811 * include/grub/i386/linux.h: ... here.
27812
27813 * include/grub/i386/linux.h (struct linux_kernel_params): New
27814 struct.
f19dbdb7 27815
31b86e9f 278162006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27817
27818 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27819 checking.
27820 (grub_video_vbe_blit_glyph): Likewise.
27821 (grub_video_vbe_blit_bitmap): Likewise.
27822 (grub_video_vbe_blit_render_target): Likewise.
27823
83b984de 278242006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27825
27826 * configure.ac (--with-platform): Properly quote the square
27827 brackets.
27828
5f0413bd 278292006-05-08 Marco Gerards <marco@gnu.org>
27830
27831 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27832 this...
27833 (kernel_elf_HEADERS): ...to this. Updated all users.
27834 (grubof_symlist.c): Renamed from this...
27835 (kernel_elf_symlist.c): ...to this. Updated all users.
27836 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27837 (grubof_SOURCES): Renamed from this...
27838 (kernel_elf_SOURCES): ...to this.
27839 (grubof_HEADERS): Renamed from this...
27840 (kernel_elf_HEADERS): ...to this.
27841 (grubof_CFLAGS): Renamed from this...
27842 (kernel_elf_CFLAGS): ...to this.
27843 (grubof_ASFLAGS): Renamed from this...
27844 (kernel_elf_ASFLAGS): ...to this.
27845 (grubof_LDFLAGS): Renamed from this...
27846 (kernel_elf_LDFLAGS): ...to this.
27847
27848 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27849 this...
27850 (kernel_elf_HEADERS): ...to this. Updated all users.
27851 (grubof_symlist.c): Renamed from this...
27852 (kernel_elf_symlist.c): ...to this. Updated all users.
27853 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27854 (grubof_SOURCES): Renamed from this...
27855 (kernel_elf_SOURCES): ...to this.
27856 (grubof_HEADERS): Renamed from this...
27857 (kernel_elf_HEADERS): ...to this.
27858 (grubof_CFLAGS): Renamed from this...
27859 (kernel_elf_CFLAGS): ...to this.
27860 (grubof_ASFLAGS): Renamed from this...
27861 (kernel_elf_ASFLAGS): ...to this.
27862 (grubof_LDFLAGS): Renamed from this...
27863 (kernel_elf_LDFLAGS): ...to this.
27864
27865 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27866 `kernel.elf' instead of `grubof'.
27867
05568c2e 278682006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27869
27870 Add --with-platform to configure. Use pkglibdir instead of
27871 pkgdatadir. This is reported by Roger Leigh.
27872
27873 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27874 (host_vendor): Likewise.
27875 (host_os): Likewise.
27876 (pkgdatadir): Likewise.
27877 (platform): New variable.
27878 (pkglibdir): Likewise.
27879 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27880
05568c2e 27881 * util/i386/pc/grub-install.in (datadir): Removed.
27882 (host_vendor): Likewise.
27883 (host_os): Likewise.
27884 (pkgdatadir): Likewise.
27885 (platform): New variable.
27886 (pkglibdir): Likewise.
27887 Use PKGLIBDIR instead of PKGDATADIR.
27888
27889 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27890 instead of GRUB_DATADIR.
27891 (main): Likewise.
27892 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27893 (main): Likewise.
27894 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27895 (main): Likewise.
27896
27897 * configure.ac (--with-platform): New option.
27898 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27899
27900 * Makefile.in: Include a makefile based on PLATFORM instead of
27901 HOST_VENDOR.
27902 (pkgdatadir): Not appended by the machine type.
27903 (pkglibdir): Appended by the machine type.
27904 (host_vendor): Removed.
27905 (platform): New variable.
27906 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27907 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27908 (uninstall): Likewise.
27909
4e93851c 279102006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27911
27912 Use the environment context in the menu. Remove the commands
27913 "default" and "timeout", and use variables instead.
f19dbdb7 27914
4e93851c 27915 * normal/menu.c: Include grub/env.h.
27916 (print_entry): Cast TITLE to silence gcc.
27917 (get_timeout): New function.
27918 (set_timeout): Likewise.
27919 (get_entry_number): Likewise.
27920 (run_menu): Use a default entry, a fallback entry and a timeout
27921 in the environment variables "default", "fallback" and
27922 "timeout". Also, tweak the default entry if it is not within the
27923 current menu entries.
27924 (grub_menu_run): Use a fallback entry in the environment variable
27925 "fallback".
27926
27927 * normal/main.c (read_config_file): Do not initialize
27928 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
27929 NEWMENU->TIMEOUT.
27930 (grub_normal_execute): Use a data slot to store the menu.
27931
27932 * include/grub/normal.h (struct grub_menu): Removed default_entry,
27933 fallback_entry and timeout.
27934 (struct grub_menu_list): Removed.
27935 (grub_menu_list_t): Likewise.
27936 (struct grub_context): Likewise.
27937 (grub_context_t): Likewise.
27938 (grub_context_get): Likewise.
27939 (grub_context_get_current_menu): Likewise.
27940 (grub_context_push_menu): Likewise.
27941 (grub_context_pop_menu): Likewise.
27942 (grub_default_init): Likewise.
27943 (grub_default_fini): Likewise.
27944 (grub_timeout_init): Likewise.
27945 (grub_timeout_fini): Likewise.
27946
27947 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
27948 and timeout.mod.
27949 (normal_mod_SOURCES): Removed normal/context.c.
27950
27951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
27952 commands/default.c, commands/timeout.c and normal/context.c.
27953 (normal_mod_SOURCES): Removed normal/context.c.
27954
27955 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
27956 commands/timeout.c and normal/context.c.
27957 (normal_mod_SOURCES): Removed normal/context.c.
27958
27959 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
27960 commands/default.c, commands/timeout.c and normal/context.c.
27961 (normal_mod_SOURCES): Removed normal/context.c.
27962
27963 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
27964 timeout.mod.
27965 (default_mod_SOURCES): Removed.
27966 (default_mod_CFLAGS): Likewise.
27967 (default_mod_LDFLAGS): Likewise.
27968 (timeout_mod_SOURCES): Removed.
27969 (timeout_mod_CFLAGS): Likewise.
27970 (timeout_mod_LDFLAGS): Likewise.
27971
27972 * DISTLIST: Removed commands/default.c, commands/timeout.c and
27973 normal/context.c.
27974
27975 * commands/default.c: Removed.
27976 * commands/timeout.c: Likewise.
27977 * normal/context.c: Likewise.
27978
1eb9cc1d 279792006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
27980
27981 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
27982
385bd9c1 279832006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
27984
27985 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
27986 "next" to "prev" for readability.
27987 (struct grub_env_sorted_var): New struct.
27988 (grub_env_context): Renamed to ...
27989 (initial_context): ... this.
27990 (grub_env_var_context): Renamed to ...
27991 (current_context): ... this.
27992 (grub_env_find): Look only at CURRENT_CONTEXT.
27993 (grub_env_context_open): Rewritten to copy exported variables from
27994 previous context.
27995 (grub_env_context_close): Rewritten according to the new
27996 scheme. Also, add an assertion to prevent the initial context from
27997 removed.
27998 (grub_env_insert): Removed the code for the sorted list.
27999 (grub_env_remove): Likewise.
28000 (grub_env_export): Simply mark the variable with
28001 GRUB_ENV_VAR_GLOBAL.
28002 (grub_env_set): A cosmetic change for naming consistency.
28003 (grub_env_get): Likewise.
28004 (grub_env_unset): Likewise.
28005 (grub_env_iterate): Rewritten to sort variables within this
28006 function.
28007 (grub_register_variable_hook): Fixed for naming consistency. Call
28008 grub_env_find again, only if NAME is not found at the first time.
28009 (mangle_data_slot_name): New function.
28010 (grub_env_set_data_slot): Likewise.
28011 (grub_env_get_data_slot): Likewise.
28012 (grub_env_unset_data_slot): Likewise.
28013
28014 * include/grub/env.h (grub_env_var_type): New enum.
28015 (GRUB_ENV_VAR_LOCAL): New constant.
28016 (GRUB_ENV_VAR_GLOBAL): Likewise.
28017 (GRUB_ENV_VAR_DATA): Likewise.
28018 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
28019 "type".
28020 (grub_env_set): Replace VAR with NAME for consistency.
28021 (grub_register_variable_hook): Likewise.
28022 (grub_env_export): Specify the name of the argument.
28023 (grub_env_set_data_slot): New prototype.
28024 (grub_env_get_data_slot): Likewise.
28025 (grub_env_unset_data_slot): Likewise.
28026
7f362539 280272006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28028
28029 Extend the loader so that GRUB can accept a loader which comes
28030 back to GRUB when a loaded image exits. Also, this change adds
28031 support for a chainloader on EFI.
f19dbdb7 28032
7f362539 28033 * term/efi/console.c: Include grub/misc.h.
28034 (grub_console_checkkey): Display a scan code on the top for
28035 debugging. This will be removed once the EFI port gets stable.
28036 Correct the scan code mapping.
28037
28038 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
28039 allocate memory from larger regions, in order to reduce the number
28040 of allocated regions. Otherwise, the MacOSX loader panics.
28041 (filter_memory_map): Avoid less than 1MB for compatibility with
28042 other loaders.
28043 (add_memory_regions): Allocate from the tail of a region, if
28044 possible, to avoid allocating a region near to 1MB, for the MacOSX
28045 loader.
28046
28047 * kern/efi/init.c (grub_efi_set_prefix): Specify
28048 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
28049
28050 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
28051 argument IMAGE_HANDLE and specify it to get a loaded image.
28052 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
28053 grub_efi_get_loaded_image.
fe6b695a 28054 (grub_efi_get_filename): Divide the length by the size of
7f362539 28055 grub_efi_char16_t.
28056 (grub_efi_get_device_path): New function.
28057 (grub_efi_print_device_path): Print End Device Path nodes. Divide
28058 the length by the size of grub_efi_char16_t for a file path device
28059 path node.
28060
28061 * kern/loader.c (grub_loader_noreturn): New variable.
28062 (grub_loader_set): Accept a new argument NORETURN. Set
28063 GRUB_LOADER_NORETURN to NORETURN.
28064 All callers changed.
28065 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
28066 grub_machine_fini.
28067
28068 * include/grub/efi/efi.h (grub_efi_get_device_path): New
28069 prototype.
28070 (grub_efi_get_loaded_image): Take an argument to specify an image
28071 handle.
28072
28073 * include/grub/loader.h (grub_loader_set): Added one more argument
28074 NORETURN.
28075
28076 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
28077 instead of grub_efi_open_protocol.
28078 (grub_efidisk_get_device_name): Likewise.
28079 (grub_efidisk_close): Print a newline.
28080 (grub_efidisk_get_device_handle): Fixed to use
28081 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
28082 GRUB_EFI_DEVICE_PATH_TYPE.
28083
28084 * disk/efi/efidisk.c (device_path_guid): Moved to ...
28085 * kern/efi/efi.c (device_path_guid): ... here.
28086
28087 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
28088 chain.mod.
28089 (kernel_mod_HEADERS): Added efi/disk.h.
28090 (_chain_mod_SOURCES): New variable.
28091 (_chain_mod_CFLAGS): Likewise.
28092 (_chain_mod_LDFLAGS): Likewise.
28093 (chain_mod_SOURCES): Likewise.
28094 (chain_mod_CFLAGS): Likewise.
28095 (chain_mod_LDFLAGS): Likewise.
28096
28097 * DISTLIST: Added include/grub/efi/chainloader.h,
28098 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
28099
28100 * include/grub/efi/chainloader.h: New file.
28101 * loader/efi/chainloader.c: Likewise.
28102 * loader/efi/chainloader_normal.c: Likewise.
28103
c0111d6e 281042006-04-30 Marco Gerards <marco@gnu.org>
28105
28106 * commands/configfile.c (grub_cmd_source): New function.
28107 (GRUB_MOD_INIT): Register the commands `source' and `.'.
28108 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
28109
df5341da 281102006-04-30 Marco Gerards <marco@gnu.org>
28111
28112 * normal/execute.c (grub_script_execute_cmd): Change the return
28113 type to `grub_err_t'. Correctly return the error.
28114 (grub_script_execute_cmdline): In case a command line is not a
28115 command or a function, try to interpret it as an assignment.
28116
f85934bd 281172006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28118
28119 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
28120 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
28121 skip a node whose name is obviously invalid as UTF-16,
28122 i.e. contains a NUL character. Stop the iteration when the last
28123 directory entry is found. Instead of using the return value of
28124 grub_hfsplus_btree_iterate_node, store the value in RET and use
28125 it, because the iterator can be stopped by the last directory
28126 entry.
28127
8f8a2cf8 281282006-04-30 Marco Gerards <marco@gnu.org>
28129
28130 * include/grub/env.h (grub_env_export): New prototype. Reported
28131 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
28132
a27e84ce 281332006-04-30 Marco Gerards <marco@gnu.org>
28134
28135 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
28136 size of the extents in a catalog file record.
28137
eaef0553 281382006-04-29 Marco Gerards <marco@gnu.org>
28139
28140 * commands/configfile.c (grub_cmd_configfile): Execute the
28141 configfile within its own context.
28142
28143 * include/grub/env.h (grub_env_context_open): New prototype.
28144 (grub_env_context_close): Likewise.
28145
28146 * kern/env.c (grub_env): Removed.
28147 (grub_env_sorted): Likewise.
28148 (grub_env_context): New variable.
28149 (grub_env_var_context): Likewise.
28150 (grub_env_find): Search both the active context and the global
28151 context.
28152 (grub_env_context_open): New function.
28153 (grub_env_context_close): Likewise.
28154 (grub_env_insert): Likewise.
28155 (grub_env_remove): Likewise.
28156 (grub_env_export): Likewise.
28157 (grub_env_set): Changed to use helper functions to avoid code
28158 duplication.
28159 (grub_env_iterate): Rewritten so both the current context and the
28160 global context are being used.
28161
28162 * normal/command.c (export_command): New function.
28163 (grub_command_init): Register the `export' function.
28164
7b455f4d 281652006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
28166
28167 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
28168 explicitly to suppress gcc's warnings.
28169 * fs/fat.c (grub_fat_find_dir): Likewise.
28170 (grub_fat_label): Likewise.
28171 * fs/xfs.c (grub_xfs_read_inode): Likewise.
28172 (grub_xfs_mount): Likewise.
28173 (grub_xfs_label): Likewise.
28174 * fs/affs.c (grub_affs_mount): Likewise.
28175 (grub_affs_label): Likewise.
28176 (grub_affs_iterate_dir): Likewise.
28177 * fs/sfs.c (grub_sfs_mount): Likewise.
28178 (grub_sfs_iterate_dir): Likewise.
28179 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
28180 * fs/hfs.c (grub_hfs_mount): Likewise.
28181 (grub_hfs_cmp_catkeys): Likewise.
28182 (grub_hfs_find_dir): Likewise.
28183 (grub_hfs_dir): Likewise.
28184 (grub_hfs_label): Likewise.
28185 * fs/jfs.c (grub_jfs_mount): Likewise.
28186 (grub_jfs_opendir): Likewise.
28187 (grub_jfs_getent): Likewise.
28188 (grub_jfs_lookup_symlink): Likewise.
28189 (grub_jfs_label): Likewise.
28190 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
28191 (grub_hfsplus_iterate_dir): Likewise.
28192 (grub_hfsplus_btree_iterate_node): Made static.
28193
28194 * util/grub-emu.c (prefix): New variable.
28195 (grub_machine_set_prefix): New function.
28196 (main): Do not set the environment variable "prefix" here. Only
28197 set PREFIX, which is used later by grub_machine_set_prefix.
28198
28199 * include/grub/video.h: Do not include grub/symbol.h.
28200 (grub_video_register): Not exported. This symbol is not defined in
28201 the kernel.
28202 (grub_video_unregister): Likewise.
28203 (grub_video_iterate): Likewise.
28204 (grub_video_setup): Likewise.
28205 (grub_video_restore): Likewise.
28206 (grub_video_get_info): Likewise.
28207 (grub_video_get_blit_format): Likewise.
28208 (grub_video_set_palette): Likewise.
28209 (grub_video_get_palette): Likewise.
28210 (grub_video_set_viewport): Likewise.
28211 (grub_video_get_viewport): Likewise.
28212 (grub_video_map_color): Likewise.
28213 (grub_video_map_rgb): Likewise.
28214 (grub_video_map_rgba): Likewise.
28215 (grub_video_fill_rect): Likewise.
28216 (grub_video_blit_glyph): Likewise.
28217 (grub_video_blit_bitmap): Likewise.
28218 (grub_video_blit_render_target): Likewise.
28219 (grub_video_scroll): Likewise.
28220 (grub_video_swap_buffers): Likewise.
28221 (grub_video_create_render_target): Likewise.
28222 (grub_video_delete_render_target): Likewise.
28223 (grub_video_set_active_render_target): Likewise.
28224
28225 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
28226 Undefined.
28227 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
28228
28229 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
28230 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28231 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28232 instead of $(srcdir)/genkernsyms.sh.
28233
28234 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
28235 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28236 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28237 instead of $(srcdir)/genkernsyms.sh.
28238
28239 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
28240 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28241 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28242 instead of $(srcdir)/genkernsyms.sh.
28243
28244 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
28245 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28246 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28247 instead of $(srcdir)/genkernsyms.sh.
28248
28249 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
28250 genkernsyms.sh.
28251
28252 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
28253 genkernsyms.sh.
28254 (gensymlist.sh): New target.
28255 (genkernsyms.sh): Likewise.
28256
28257 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
28258 genkernsyms.sh.in and gensymlist.sh.in.
28259
28260 * genkernsyms.sh: Removed.
28261 * gensymlist.sh: Likewise.
f19dbdb7 28262
7b455f4d 28263 * genkernsyms.sh.in: New file.
28264 * gensymlist.sh.in: Likewise.
28265
1885bb27 282662006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28267
28268 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
28269 clobber "prefix", since we may have already set it manually.
28270
71538dff 282712006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28272
28273 * kern/misc.c (abort): New alias for grub_abort.
28274
2965c7cc 282752006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
28276
28277 A new machine-specific function "grub_machine_set_prefix" is
28278 defined. This is called after loading modules, so that a prefix
28279 initialization can use modules. Also, this change adds an
28280 intensive debugging feature for the memory manager via the
28281 configure option "--enable-mm-debug".
f19dbdb7 28282
2965c7cc 28283 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
28284 PART.LEN.
28285
28286 * kern/sparc64/ieee1275/init.c (abort): Removed.
28287 (grub_stop): Likewise.
28288 (grub_exit): New function.
28289 (grub_set_prefix): Renamed to ...
28290 (grub_machine_set_prefix): ... this.
28291 (grub_machine_init): Do not call grub_set_prefix.
28292
28293 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
28294 (grub_machine_set_prefix): ... this.
28295 (grub_machine_init): Do not call grub_set_prefix.
28296
28297 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
28298 (grub_machine_init): Do not set the prefix here.
28299
28300 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
28301
28302 * kern/efi/init.c: Include grub/mm.h.
28303 (grub_efi_set_prefix): New function.
28304
28305 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
28306 (grub_efi_get_filename): New function.
28307 (grub_print_device_path): Renamed to ...
28308 (grub_efi_print_device_path): ... this.
28309
28310 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
28311 [MM_DEBUG] (grub_realloc): Likewise.
28312 [MM_DEBUG] (grub_free): Likewise.
28313 [MM_DEBUG] (grub_memalign): Likewise.
28314 [MM_DEBUG] (grub_mm_debug): New variable.
28315 [MM_DEBUG] (grub_debug_malloc): New function.
28316 [MM_DEBUG] (grub_debug_free): New function.
28317 [MM_DEBUG] (grub_debug_realloc): New function.
28318 [MM_DEBUG] (grub_debug_memalign): New function.
28319
28320 * kern/misc.c (grub_abort): Print a newline to distinguish
28321 the message.
28322
28323 * kern/main.c (grub_main): Call grub_machine_set_prefix and
28324 grub_set_root_dev after loading modules. This is necessary when
28325 setting a prefix depends on modules.
28326
28327 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
28328 (grub_efi_print_device_path): ... this.
28329 (grub_efi_get_filename): New prototype.
28330 (grub_efi_set_prefix): Likewise.
28331
28332 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
28333 and grub/disk.h.
28334 (grub_efidisk_get_device_handle): New prototype.
28335 (grub_efidisk_get_device_name): Likewise.
28336
28337 * include/grub/mm.h: Include config.h.
28338 (MM_DEBUG): Removed.
28339 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
28340 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
28341 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
28342 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
28343 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
28344 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
28345 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
28346 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
28347 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
28348
28349 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
28350
28351 * disk/efi/efidisk.c: Include grub/partition.h.
28352 (iterate_child_devices): New function.
28353 (add_device): First, compare only last device path nodes, so that
28354 devices are sorted by the types.
28355 (grub_efidisk_get_device_handle): New function.
28356 (grub_efidisk_get_device_name): Likewise.
28357
28358 * configure.ac (--enable-mm-debug): New option to enable the
28359 memory manager debugging feature. This makes the binary much
28360 bigger, so is disabled by default.
28361
9cacaa17 283622006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
28363
28364 Use grub_abort instead of grub_stop, and grub_exit must be
28365 define in each architecture now. Also, this change adds support
28366 for EFI disks.
f19dbdb7 28367
9cacaa17 28368 * util/i386/pc/grub-probefs.c: Include grub/term.h.
28369 (grub_getkey): New function.
28370 (grub_term_get_current): Likewise.
28371
28372 * util/i386/pc/grub-setup.c: Include grub/term.h.
28373 (grub_getkey): New function.
28374 (grub_term_get_current): Likewise.
28375
28376 * util/misc.c (grub_stop): Renamed to ...
28377 (grub_exit): ... this.
28378
28379 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
28380 (grub_exit): ... this.
28381 (grub_machine_init): Use grub_abort instead of abort.
28382 (grub_stop): Removed.
28383
28384 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
28385 abort.
28386
28387 * kern/i386/pc/startup.S (grub_exit): New function.
28388 (cold_reboot): New label.
28389
28390 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
28391 (grub_efi_init): Call grub_efidisk_init.
28392 (grub_efi_fini): Call grub_efidisk_fini.
28393
28394 * kern/efi/efi.c: Include grub/mm.h.
28395 (grub_efi_console_control_guid): Renamed to ...
28396 (console_control_guid): ... this.
28397 (grub_efi_loaded_image_guid): Renamed to ...
28398 (loaded_image_guid): ... this.
28399 (grub_efi_locate_handle): New function.
28400 (grub_efi_open_protocol): Likewise.
28401 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
28402 GRUB_EFI_CONSOLE_CONTROL_GUID.
28403 (grub_efi_exit): Removed.
28404 (grub_stop): Likewise.
28405 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
28406 (grub_exit): New function.
28407 (grub_print_device_path): Likewise.
28408
28409 * kern/rescue.c (grub_rescue_cmd_exit): New function.
28410 (grub_enter_rescue_mode): Register "exit".
28411
28412 * kern/misc.c (grub_real_dprintf): A cosmetic change.
28413 (grub_abort): New function.
28414
28415 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
28416
28417 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
28418
28419 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
28420
28421 * include/grub/efi/efi.h (grub_efi_exit): Removed.
28422 (grub_print_device_path): New prototype.
28423 (grub_efi_locate_handle): Likewise.
28424 (grub_efi_open_protocol): Likewise.
28425
28426 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
28427 * disk/efi/efidisk.c: Likewise.
28428
28429 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
28430
28431 * include/grub/efi/console_control.h
28432 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
28433
28434 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
28435 last 8 bytes as an array.
28436 (GRUB_EFI_DISK_IO_GUID): New macro.
28437 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
28438 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
28439 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
28440 grub_uint8_t.
28441 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
28442 (struct grub_efi_device_path): Rename the member "sub_type" to
28443 "subtype".
28444 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
28445 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
28446 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
28447 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
28448 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
28449 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
28450 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
28451 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
28452 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
28453 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
28454 (struct grub_efi_pci_device_path): New structure.
28455 (grub_efi_pci_device_path_t): New type.
28456 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
28457 (struct grub_efi_pccard_device_path): New structure.
28458 (grub_efi_pccard_device_path_t): New type.
28459 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
28460 (struct grub_efi_memory_mapped_device_path): New structure.
28461 (grub_efi_memory_mapped_device_path_t): New type.
28462 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
28463 (struct grub_efi_vendor_device_path): New structure.
28464 (grub_efi_vendor_device_path_t): New type.
28465 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
28466 (struct grub_efi_controller_device_path): New structure.
28467 (grub_efi_controller_device_path_t): New type.
28468 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
28469 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
28470 (struct grub_efi_acpi_device_path): New structure.
28471 (grub_efi_acpi_device_path_t): New type.
28472 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
28473 (struct grub_efi_expanded_acpi_device_path): New structure.
28474 (grub_efi_expanded_acpi_device_path_t): New type.
28475 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
28476 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
28477 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
28478 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
28479 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
28480 (struct grub_efi_atapi_device_path): New structure.
28481 (grub_efi_atapi_device_path_t): New type.
28482 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
28483 (struct grub_efi_fibre_channel_device_path): New structure.
28484 (grub_efi_fibre_channel_device_path_t): New type.
28485 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
28486 (struct grub_efi_1394_device_path): New structure.
28487 (grub_efi_1394_device_path_t): New type.
28488 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
28489 (struct grub_efi_usb_device_path): New structure.
28490 (grub_efi_usb_device_path_t): New type.
28491 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
28492 (struct grub_efi_usb_class_device_path): New structure.
28493 (grub_efi_usb_class_device_path_t): New type.
28494 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
28495 (struct grub_efi_i2o_device_path): New structure.
28496 (grub_efi_i2o_device_path_t): New type.
28497 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
28498 (struct grub_efi_mac_address_device_path): New structure.
28499 (grub_efi_mac_address_device_path_t): New type.
28500 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
28501 (struct grub_efi_ipv4_device_path): New structure.
28502 (grub_efi_ipv4_device_path_t): New type.
28503 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
28504 (struct grub_efi_ipv6_device_path): New structure.
28505 (grub_efi_ipv6_device_path_t): New type.
28506 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
28507 (struct grub_efi_infiniband_device_path): New structure.
28508 (grub_efi_infiniband_device_path_t): New type.
28509 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
28510 (struct grub_efi_uart_device_path): New structure.
28511 (grub_efi_uart_device_path_t): New type.
28512 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
28513 (struct grub_efi_vendor_messaging_device_path): New structure.
28514 (grub_efi_vendor_messaging_device_path_t): New type.
28515 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
28516 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
28517 (struct grub_efi_hard_drive_device_path): New structure.
28518 (grub_efi_hard_drive_device_path_t): New type.
28519 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
28520 (struct grub_efi_cdrom_device_path): New structure.
28521 (grub_efi_cdrom_device_path_t): New type.
28522 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
28523 (struct grub_efi_vendor_media_device_path): New structure.
28524 (grub_efi_vendor_media_device_path_t): New type.
28525 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
28526 (struct grub_efi_file_path_device_path): New structure.
28527 (grub_efi_file_path_device_path_t): New type.
28528 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
28529 (struct grub_efi_protocol_device_path): New structure.
28530 (grub_efi_protocol_device_path_t): New type.
28531 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
28532 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
28533 (struct grub_efi_bios_device_path): New structure.
28534 (grub_efi_bios_device_path_t): New type.
28535 (struct grub_efi_disk_io): New structure.
28536 (grub_efi_disk_io_t): New type.
28537 (struct grub_efi_block_io_media): New structure.
28538 (grub_efi_block_io_media_t): New type.
28539 (struct grub_efi_block_io): New structure.
28540 (grub_efi_block_io_t): New type.
28541
28542 * include/grub/misc.h (grub_stop): Removed.
28543 (grub_exit): New prototype.
28544 (grub_abort): Likewise.
28545
28546 * include/grub/disk.h (enum grub_disk_dev_id): Added
28547 GRUB_DISK_DEVICE_EFIDISK_ID.
28548
28549 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28550 disk/efi/efidisk.c.
28551 (kernel_syms.lst): Remove the target if an error occurs.
28552
49986a9f 285532006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
28554
28555 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
28556 as it was simply too buggy.
28557
970d3b8a 285582006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
28559
28560 * kern/misc.c (grub_lltoa): New function.
28561 (grub_vsprintf): Added support for the long long suffix,
28562 i.e. "ll".
28563
ff04ec24 285642006-04-20 Hollis Blanchard <hollis@penguinppc.org>
28565
28566 * Makefile.in (LDFLAGS): Add variable.
28567 (LD): Remove variable.
28568 * configure.ac: Add -m32 to LDFLAGS.
28569 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
28570 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
28571 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
28572 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
28573 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
28574 variables.
28575 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
28576 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
28577 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
28578
37e5e1a4 285792006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
28580
28581 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
28582 length for unknown glyph.
28583
c352d8dd 285842006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28585
2eab1c0d 28586 Add support for pre-loaded modules into the EFI port.
f19dbdb7 28587
2eab1c0d 28588 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28589 completely. Accept one more argument DIR. The caller has changed.
28590
28591 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28592
28593 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28594 (grub_efi_loaded_image_guid): New variable.
28595 (grub_efi_get_loaded_image): New function.
28596 (grub_arch_modules_addr): Likewise.
28597
28598 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28599 prototype.
28600
28601 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28602 (struct grub_efi_loaded_image): New structure.
28603 (grub_efi_loaded_image_t): New type.
28604
286052006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28606
c352d8dd 28607 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28608 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28609 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28610
6d01d6b4 286112006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28612
28613 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28614
976a4ea0 286152006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28616
28617 * DISTLIST: Added include/grub/efi/console.h,
28618 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28619 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28620
28621 * include/grub/efi/console.h: New file.
28622 * include/grub/efi/time.h: Likewise.
28623 * include/grub/i386/efi/kernel.h: Likewise.
28624 * kern/efi/init.c: Likewise.
28625 * kern/efi/mm.c: Likewise.
28626 * term/efi/console.c: Likewise.
f19dbdb7 28627
976a4ea0 28628 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28629 (grub_stop): Removed.
28630 (grub_get_rtc): Likewise.
28631 (grub_machine_init): Simply call grub_efi_init.
28632 (grub_machine_fini): Call grub_efi_fini.
28633
28634 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28635 (grub_efi_output_string): Removed.
28636 (grub_efi_stall): New function.
28637 (grub_stop): Likewise.
28638 (grub_get_rtc): Likewise.
28639
28640 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28641 (grub_efi_stall): New prototype.
28642 (grub_efi_allocate_pages): Likewise.
28643 (grub_efi_free_pages): Likewise.
28644 (grub_efi_get_memory_map): Likewise.
28645 (grub_efi_mm_init): Likewise.
28646 (grub_efi_mm_fini): Likewise.
28647 (grub_efi_init): Likewise.
28648 (grub_efi_fini): Likewise.
28649
28650 * include/grub/i386/efi/time.h: Do not include
28651 grub/symbol.h. Include grub/efi/time.h.
28652 (GRUB_TICKS_PER_SECOND): Removed.
28653 (grub_get_rtc): Likewise.
28654
28655 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28656 Added padding. The EFI spec is buggy.
28657 (GRUB_EFI_BLACK): New macro.
28658 (GRUB_EFI_BLUE): Likewise.
28659 (GRUB_EFI_GREEN): Likewise.
28660 (GRUB_EFI_CYAN): Likewise.
28661 (GRUB_EFI_RED): Likewise.
28662 (GRUB_EFI_MAGENTA): Likewise.
28663 (GRUB_EFI_BROWN): Likewise.
28664 (GRUB_EFI_LIGHTGRAY): Likewise.
28665 (GRUB_EFI_BRIGHT): Likewise.
28666 (GRUB_EFI_DARKGRAY): Likewise.
28667 (GRUB_EFI_LIGHTBLUE): Likewise.
28668 (GRUB_EFI_LIGHTGREEN): Likewise.
28669 (GRUB_EFI_LIGHTCYAN): Likewise.
28670 (GRUB_EFI_LIGHTRED): Likewise.
28671 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28672 (GRUB_EFI_YELLOW): Likewise.
28673 (GRUB_EFI_WHITE): Likewise.
28674 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28675 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28676 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28677 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28678 (GRUB_EFI_BACKGROUND_RED): Likewise.
28679 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28680 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28681 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28682 (GRUB_EFI_TEXT_ATTR): Likewise.
28683
28684 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28685 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28686 (kernel_mod_HEADERS): Added efi/time.h.
28687
83709125 286882006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28689
28690 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28691 include/grub/efi/api.h, include/grub/efi/console_control.h,
28692 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28693 include/grub/i386/efi/time.h, kern/efi/efi.c,
28694 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28695 and util/i386/efi/grub-mkimage.c.
28696
28697 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28698
28699 * genmk.rb (PModule#rule): Do not export symbols if
28700 #{prefix}_EXPORTS is set to "no".
28701
28702 * conf/i386-efi.mk: New file.
28703 * conf/i386-efi.rmk: Likewise.
28704 * include/grub/efi/api.h: Likewise.
28705 * include/grub/efi/console_control.h: Likewise.
28706 * include/grub/efi/efi.h: Likewise.
28707 * include/grub/efi/pe32.h: Likewise.
28708 * include/grub/i386/efi/time.h: Likewise.
28709 * kern/efi/efi.c: Likewise.
28710 * kern/i386/efi/init.c: Likewise.
28711 * kern/i386/efi/startup.S: Likewise.
28712 * util/i386/efi/grub-mkimage.c: Likewise.
28713
287142006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 28715
28716 * include/grub/script.h: Include <grub/parser.h> and
28717 "grub_script.tab.h".
28718 (struct grub_lexer_param): New struct.
28719 (struct grub_parser_param): Likewise.
28720 (grub_script_create_arglist): Pass the state in an argument.
28721 (grub_script_add_arglist): Likewise.
28722 (grub_script_create_cmdline): Likewise.
28723 (grub_script_create_cmdblock): Likewise.
28724 (grub_script_create_cmdif): Likewise.
28725 (grub_script_create_cmdmenu): Likewise.
28726 (grub_script_add_cmd): Likewise.
28727 (grub_script_arg_add): Likewise.
28728 (grub_script_lexer_ref): Likewise.
28729 (grub_script_lexer_deref): Likewise.
28730 (grub_script_lexer_record_start): Likewise.
28731 (grub_script_lexer_record_stop): Likewise.
28732 (grub_script_mem_record): Likewise.
28733 (grub_script_mem_record_stop): Likewise.
28734 (grub_script_malloc): Likewise.
28735 (grub_script_yylex): Likewise.
28736 (grub_script_yyparse): Likewise.
28737 (grub_script_yyerror): Likewise.
28738 (grub_script_yylex): Likewise.
28739 (grub_script_lexer_init): Return the state.
28740
28741 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28742 (grub_script_lexer_done): Likewise.
28743 (grub_script_lexer_getline): Likewise.
28744 (grub_script_lexer_refs): Likewise.
28745 (script): Likewise.
28746 (newscript): Likewise.
28747 (record): Likewise.
28748 (recording): Likewise.
28749 (recordpos): Likewise.
28750 (recordlen): Likewise.
28751 (grub_script_lexer_init): Return the state instead of setting
28752 global variables.
28753 (grub_script_lexer_ref): Use the newly added argument for state
28754 instead of globals.
28755 (grub_script_lexer_deref): Likewise.
28756 (grub_script_lexer_record_start): Likewise.
28757 (grub_script_lexer_record_stop): Likewise.
28758 (recordchar): Likewise.
28759 (nextchar): Likewise.
28760 (grub_script_yylex2): Likewise.
28761 (grub_script_yylex): Likewise.
28762 (grub_script_yyerror): Likewise.
28763
28764 * normal/parser.y (func_mem): Removed variable.
28765 (menu_entry): Likewise.
28766 (err): Likewise.
28767 (%lex-param): New parser option.
28768 (%parse-param): Likewise.
28769 (script): Always return the AST.
28770 (argument): Pass the state around.
28771 (arguments): Likewise.
28772 (grubcmd): Likewise.
28773 (commands): Likewise.
28774 (function): Likewise.
28775 (menuentry): Likewise.
28776 (if_statement): Likewise.
28777 (if): Likewise.
28778
28779 * normal/script.c (grub_script_memused): Removed variable.
28780 (grub_script_parsed): Likewise.
28781 (grub_script_malloc): Added a state argument. Use that instead of
28782 global variables.
28783 (grub_script_mem_record): Likewise.
28784 (grub_script_mem_record_stop): Likewise.
28785 (grub_script_arg_add): Likewise.
28786 (grub_script_add_arglist): Likewise.
28787 (grub_script_create_cmdline): Likewise.
28788 (grub_script_create_cmdif): Likewise.
28789 (grub_script_create_cmdmenu): Likewise.
28790 (grub_script_add_cmd): Likewise.
28791 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 28792
e2a8c904 287932006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 28794
28795 * normal/command.c (grub_command_init): Remove the title command.
28796
28797 * normal/lexer.c (grub_script_yylex): Renamed from this...
28798 (grub_script_yylex2): ... to this.
28799 (grub_script_yylex): New function. Temporary
28800 introduced to filter some tokens.
28801 (grub_script_yyerror): Print a newline.
28802
28803 * normal/main.c (read_config_file): Output information about the
28804 lines that contain errors. Wait for a key after all lines have
28805 been processed. Don't return an empty menu.
28806
28807 * normal/parser.y (func_mem): Don't initialize.
28808 (menu_entry): Likewise.
28809 (err): New variable.
28810 (script): Don't return anything when an error was encountered.
28811 (ws, returns): Removed rules.
28812 (argument): Disabled concatenated variable support.
28813 (arguments): Remove explicit separators.
28814 (grubcmd): Likewise.
28815 (function): Likewise.
28816 (menuentry): Likewise.
28817 (if): Likewise.
28818 (commands): Likewise. Add error handling.
28819
28820 * normal/script.c (grub_script_create_cmdline): If
28821 `grub_script_parsed' is 0, assume the parser encountered an error.
28822
c9a86192 288232006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28824
28825 * configure.ac: Add support for EFI. Fix the typo
28826 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28827
70f3b243 288282006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28829
28830 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28831 foreign multibyte characters should be shown correctly.
28832
65f201ad 288332006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28834
28835 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28836 calculation.
28837 (read_config_file): Made it to close file before returning.
28838
b4b93674 288392006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28840
28841 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28842 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28843 video/i386/pc/vbefill.c.
28844
28845 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28846 video/i386/pc/vbefill.c.
28847
28848 * include/grub/video.h (grub_video_blit_format): New enum.
28849 (grub_video_mode_info): Added new member blit_format.
28850 (grub_video_get_blit_format): New function prototype.
28851
28852 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28853 function prototype.
28854 (grub_video_vbe_map_rgb): Likewise.
28855 (grub_video_vbe_unmap_color): Likewise.
28856
28857 * include/grub/i386/pc/vbeblit.h: New file.
28858
28859 * include/grub/i386/pc/vbefill.h: New file.
28860
28861 * video/video.c (grub_video_get_blit_format): New function.
28862 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28863 (grub_video_vbe_map_rgb): Likewise.
28864 (grub_video_vbe_unmap_color): Likewise.
28865
28866 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28867 optimized fills.
28868 (grub_video_vbe_blit_render_target): Changed to use more optimized
28869 blits.
28870 (grub_video_vbe_setup): Added detection for optimized settings.
28871 (grub_video_vbe_create_render_target): Likewise.
28872
28873 * video/i386/pc/vbeblit.c: New file.
28874
28875 * video/i386/pc/vbefill.c: New file.
28876
c2379b9c 288772006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28878
28879 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28880 here...
28881
28882 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28883 parsing to support both hex and dec ranges. If filename was missing
28884 show usage information.
28885
bd0d7896 288862006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28887
28888 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28889 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28890
28891 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28892 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28893 (video_mod_SOURCES): Added.
28894 (video_mod_CFLAGS): Likewise.
28895 (video_mod_LDFLAGS): Likewise.
28896 (gfxterm_mod_SOURCES): Likewise.
28897 (gfxterm_mod_CFLAGS): Likewise.
28898 (gfxterm_mod_LDFLAGS): Likewise.
28899 (videotest_mod_SOURCES): Likewise.
28900 (videotest_mod_CFLAGS): Likewise.
28901 (videotest_mod_LDFLAGS): Likewise.
28902 (vesafb_mod_SOURCES): Removed.
28903 (vesafb_mod_CFLAGS): Likewise.
28904 (vesafb_mod_LDFLAGS): Likewise.
28905 (vga_mod_SOURCES): Likewise.
28906 (vga_mod_CFLAGS): Likewise.
28907 (vga_mod_LDFLAGS): Likewise.
28908
28909 * commands/videotest.c: New file.
28910
28911 * font/manager.c (fill_with_default_glyph): Modified to use
28912 grub_font_glyph.
28913 (grub_font_get_glyph): Likewise.
28914 (fontmanager): Renamed from this...
28915 (font_manager): ... to this.
28916
28917 * include/grub/font.h (grub_font_glyph): Added new structure.
28918 (grub_font_get_glyph): Modified to use grub_font_glyph.
28919
28920 * include/grub/misc.h (grub_abs): Added as inline function.
28921
28922 * include/grub/video.h: New file.
28923
28924 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28925 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28926 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28927 (grub_vbe_get_controller_info): Renamed from this...
28928 (grub_vbe_bios_get_controller_info): ... to this.
28929 (grub_vbe_get_mode_info): Renamed from this...
28930 (grub_vbe_bios_get_mode_info): ... to this.
28931 (grub_vbe_set_mode): Renamed from this...
28932 (grub_vbe_bios_set_mode): ... to this.
28933 (grub_vbe_get_mode): Renamed from this...
28934 (grub_vbe_bios_get_mode): ... to this.
28935 (grub_vbe_set_memory_window): Renamed from this...
28936 (grub_vbe_bios_set_memory_window): ... to this.
28937 (grub_vbe_get_memory_window): Renamed from this...
28938 (grub_vbe_bios_get_memory_window): ... to this.
28939 (grub_vbe_set_scanline_length): Renamed from this...
28940 (grub_vbe_set_scanline_length): ... to this.
28941 (grub_vbe_get_scanline_length): Renamed from this...
28942 (grub_vbe_bios_get_scanline_length): ... to this.
28943 (grub_vbe_set_display_start): Renamed from this...
28944 (grub_vbe_bios_set_display_start): ... to this.
28945 (grub_vbe_get_display_start): Renamed from this...
28946 (grub_vbe_bios_get_display_start): ... to this.
28947 (grub_vbe_set_palette_data): Renamed from this...
28948 (grub_vbe_bios_set_palette_data): ... to this.
28949 (grub_vbe_set_pixel_rgb): Removed.
28950 (grub_vbe_set_pixel_index): Likewise.
28951
28952 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
28953 from this...
28954 (grub_vbe_bios_get_controller_info): ... to this.
28955 (grub_vbe_get_mode_info): Renamed from this...
28956 (grub_vbe_bios_get_mode_info): ... to this.
28957 (grub_vbe_set_mode): Renamed from this...
28958 (grub_vbe_bios_set_mode): ... to this.
28959 (grub_vbe_get_mode): Renamed from this...
28960 (grub_vbe_bios_get_mode): ... to this.
28961 (grub_vbe_set_memory_window): Renamed from this...
28962 (grub_vbe_bios_set_memory_window): ... to this.
28963 (grub_vbe_get_memory_window): Renamed from this...
28964 (grub_vbe_bios_get_memory_window): ... to this.
28965 (grub_vbe_set_scanline_length): Renamed from this...
28966 (grub_vbe_set_scanline_length): ... to this.
28967 (grub_vbe_get_scanline_length): Renamed from this...
28968 (grub_vbe_bios_get_scanline_length): ... to this.
28969 (grub_vbe_set_display_start): Renamed from this...
28970 (grub_vbe_bios_set_display_start): ... to this.
28971 (grub_vbe_get_display_start): Renamed from this...
28972 (grub_vbe_bios_get_display_start): ... to this.
28973 (grub_vbe_set_palette_data): Renamed from this...
28974 (grub_vbe_bios_set_palette_data): ... to this.
28975 (grub_vbe_bios_get_controller_info): Fixed problem with registers
28976 getting corrupted after calling it. Added more pushes and pops.
28977 (grub_vbe_bios_set_mode): Likewise.
28978 (grub_vbe_bios_get_mode): Likewise.
28979 (grub_vbe_bios_get_memory_window): Likewise.
28980 (grub_vbe_bios_set_scanline_length): Likewise.
28981 (grub_vbe_bios_get_scanline_length): Likewise.
28982 (grub_vbe_bios_get_display_start): Likewise.
28983 (grub_vbe_bios_set_palette_data): Likewise.
28984
28985 * normal/cmdline.c (cl_set_pos): Refresh the screen.
28986 (cl_insert): Likewise.
28987 (cl_delete): Likewise.
28988
28989 * term/gfxterm.c: New file.
28990
28991 * term/i386/pc/vesafb.c: Removed file.
28992
28993 * video/video.c: New file.
28994
28995 * video/i386/pc/vbe.c (real2pm): Added new function.
28996 (grub_video_vbe_draw_pixel): Likewise.
28997 (grub_video_vbe_get_video_ptr): Likewise.
28998 (grub_video_vbe_get_pixel): Likewise
28999 (grub_video_vbe_init): Likewise.
29000 (grub_video_vbe_fini): Likewise.
29001 (grub_video_vbe_setup): Likewise.
29002 (grub_video_vbe_get_info): Likewise.
29003 (grub_video_vbe_set_palette): Likewise.
29004 (grub_video_vbe_get_palette): Likewise.
29005 (grub_video_vbe_set_viewport): Likewise.
29006 (grub_video_vbe_get_viewport): Likewise.
29007 (grub_video_vbe_map_color): Likewise.
29008 (grub_video_vbe_map_rgb): Likewise.
29009 (grub_video_vbe_map_rgba): Likewise.
29010 (grub_video_vbe_unmap_color): Likewise.
29011 (grub_video_vbe_fill_rect): Likewise.
29012 (grub_video_vbe_blit_glyph): Likewise.
29013 (grub_video_vbe_blit_bitmap): Likewise.
29014 (grub_video_vbe_blit_render_target): Likewise.
29015 (grub_video_vbe_scroll): Likewise.
29016 (grub_video_vbe_swap_buffers): Likewise.
29017 (grub_video_vbe_create_render_target): Likewise.
29018 (grub_video_vbe_delete_render_target): Likewise.
29019 (grub_video_vbe_set_active_render_target): Likewise.
29020 (grub_vbe_set_pixel_rgb): Remove function.
29021 (grub_vbe_set_pixel_index): Likewise.
29022 (index_color_mode): Remove static variable.
29023 (active_mode): Likewise.
29024 (framebuffer): Likewise.
29025 (bytes_per_scan_line): Likewise.
29026 (grub_video_vbe_adapter): Added new static variable.
29027 (framebuffer): Likewise.
29028 (render_target): Likewise.
29029 (initial_mode): Likewise.
29030 (mode_in_use): Likewise.
29031 (mode_list): Likewise.
29032
5f97350b 290332006-03-10 Marco Gerards <marco@gnu.org>
29034
29035 * configure.ac (AC_INIT): Bumped to 1.93.
29036
29037 * DISTLIST: Added `include/grub/hfs.h'.
29038
a3c5c6f8 290392006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
29040
29041 * boot/i386/pc/boot.S (general_error): Before looping, try INT
29042 18H, which might help the BIOS falling back to next boot media.
29043
6de53d26 290442006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
29045
29046 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
29047 Poe Chen <poe.poechen@gmail.com>.
29048
77c4a393 290492006-01-17 Marco Gerards <marco@gnu.org>
29050
29051 * include/grub/normal.h: Include <grub/script.h>.
29052 (grub_command_list): Removed struct.
29053 (grub_command_list_t): Removed type.
29054 (grub_menu_entry): Remove members `num' and `command_list'. Add
29055 members `commands' and `sourcecode'.
29056 * include/grub/script.h: Add inclusion guards.
29057 (grub_script_cmd_menuentry): New struct.
29058 (grub_script_execute_menuentry): New prototype.
29059 (grub_script_lexer_record_start): Likewise.
29060 (grub_script_lexer_record_stop): Likewise.
29061 * normal/execute.c (grub_script_execute_menuentry): New function.
29062 * normal/lexer.c (record, recording, recordpos, recordlen): New
29063 variables.
29064 (grub_script_lexer_record_start): New function.
29065 (grub_script_lexer_record_stop): Likewise.
29066 (recordchar): Likewise.
29067 (nextchar): Likewise.
29068 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
29069 2048 as the buffer size. Add the tokens `menuentry' and `@'.
29070 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
29071 (current_menu): New variable.
29072 (free_menu): Mainly rewritten.
29073 (grub_normal_menu_addentry): New function.
29074 (read_config_file): Rewritten.
29075 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 29076 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 29077 the menu entry.
29078 (run): Mainly rewritten.
29079 * normal/parser.y (menu_entry): New variable.
29080 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
29081 (menuentry): New rule.
29082 (command): Add `menuentry'.
29083 (if_statement): Allow additional returns before `fi'.
29084 * normal/script.c (grub_script_create_cmdmenu): New function.
29085
144f1f98 290862006-01-03 Marco Gerards <marco@gnu.org>
29087
29088 * INSTALL: GNU Bison is required.
29089 * configure.ac: Rewritten the test to detect Bison.
29090 * Makefile.in (YACC): New variable. Reported by Xun Sun
29091 <xun.sun.cn@gmail.com>.
29092
af4b2d89 290932006-01-03 Marco Gerards <marco@gnu.org>
29094
29095 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
29096 the HFS+ filesystem to filesystem blocks.
29097 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
29098 GCC warning is silenced.
29099
15643b71 291002006-01-03 Marco Gerards <marco@gnu.org>
29101
29102 * partmap/apple.c (apple_partition_map_iterate): Convert the data
29103 read from disk from big endian to host byte order.
29104
00905879 291052006-01-03 Hollis Blanchard <hollis@penguinppc.org>
29106
29107 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
29108 documentation.
29109 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
29110 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
29111 embedded HFS+ filesystem.
29112 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
29113 (grub_hfs_sblock): Move from here...
29114 * include/grub/hfs.h: To here... New file.
29115 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
29116 documentation.
29117 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
29118 New macros.
29119 (grub_hfsplus_volheader): Change type of member `magic' to
29120 `grub_uint16_t'.
29121 (grub_hfsplus_data): Add new member `embedded_offset'.
29122 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
29123 returned block.
29124 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
29125 Calculate the offset.
29126
8899bc3e 291272005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29128
29129 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
29130 Removed.
29131 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
29132
ae8c0277 291332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29134
29135 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
29136 ENV->NAME is NULL after allocating ENV->VALUE.
29137
07084456 291382005-12-25 Marco Gerards <marco@gnu.org>
29139
29140 * kern/env.c (grub_env_set): Rewritten the error handling code.
29141
4750f5f1 291422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29143
29144 * geninit.sh: Made more robust, and more portable.
29145
50214199 291462005-12-25 Marco Gerards <marco@gnu.org>
29147
29148 Add support for Apple HFS+ filesystems.
f19dbdb7 29149
50214199 29150 * fs/hfsplus.c: New file.
29151
29152 * DISTLIST: Added `fs/hfsplus.c'.
29153
29154 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
29155 (hfsplus_mod_SOURCES): New variable.
29156 (hfsplus_mod_CFLAGS): Likewise.
29157 (hfsplus_mod_LDFLAGS): Likewise.
29158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
29159 (grub_setup_SOURCES): Likewise.
29160 (grub_mkdevicemap_SOURCES): Likewise.
29161 (grub_emu_SOURCES): Likewise.
29162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29163
29164 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
29165
29166 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
29167
befaed6c 291682005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29169
29170 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
29171 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
29172 include/grub/parser.h, include/grub/script.h, kern/parser.c,
29173 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
29174 normal/lexer.c, normal/parser.y, normal/script.c, and
29175 partmap/gpt.c.
29176 Removed kern/sparc64/cache.c.
29177
29178 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
29179 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
29180 grub_emu_init.c.
29181
29182 * configure.ac (AC_INIT): Bumped to 1.92.
29183
6a124103 291842005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
29185
29186 * kern/err.c (grub_error_push): Added new function to support error
29187 stacks.
29188 (grub_error_pop): Likewise.
29189 (grub_error_stack_items): New local variable to support error stacks.
29190 (grub_error_stack_pos): Likewise.
29191 (grub_error_stack_assert): Likewise.
29192 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
29193 stack depth.
29194 (grub_print_error): Added support to print errors from error stack.
29195
29196 * include/grub/err.h (grub_error_push): Added function prototype.
29197 (grub_error_pop): Likewise.
29198
be973c1b 291992005-12-09 Hollis Blanchard <hollis@penguinppc.org>
29200
29201 * configure.ac: Accept `powerpc64' as host_cpu.
29202 (amd64): Rename to `biarch32'.
29203
29204 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
29205 non-cacheline-aligned addresses.
29206
29207 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
29208 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
29209 if `size' is non-zero.
29210
b04216ab 292112005-12-03 Marco Gerards <mgerards@xs4all.nl>
29212
29213 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
29214 and `cd' to make sure the filename is not prefixed with a
29215 directory name.
29216 (pkgdata_MODULES): Add `gpt.mod'.
29217 (gpt_mod_SOURCES): New variable.
29218 (gpt_mod_CFLAGS): Likewise.
29219 (gpt_mod_LDFLAGS): Likewise.
29220
29221 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
29222
29223 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
29224 New macro.
29225
29226 * partmap/gpt.c: New file.
29227
29228 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
29229 GPT partition map is detected.
29230
41730ed9 292312005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
29232
29233 * commands/i386/pc/play.c: New file.
29234 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
29235 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
29236 macros.
f19dbdb7 29237
95dc3643 292382005-11-27 Marco Gerards <mgerards@xs4all.nl>
29239
29240 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
29241 ((unused))' to silence gcc warning.
29242
1569ec51 292432005-11-26 Hollis Blanchard <hollis@penguinppc.org>
29244
29245 * configure.ac: Correct `AC_PROG_YACC' test.
29246
9abde152 292472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29248
29249 * util/powerpc/ieee1275/grub-install.in: Run the mount point
29250 check before installing files.
29251
44b83271 292522005-11-22 Mike Small <smallm@panix.com>
29253
29254 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
29255 number regex so multidigit numbers are recognized correctly.
29256
292572005-11-22 Mike Small <smallm@panix.com>
29258
29259 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
29260 debugging message before attempting to claim memory.
29261 (grub_rescue_cmd_initrd): Add a claim debugging message and try
29262 multiple addresses in case of failure.
29263
9c12956b 292642005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29265
29266 * term/tparm.c (get_space): Remove empty `if' statement.
29267
29268 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
29269
29270 * kern/parser.c (check_varstate): Rename `state' to 's'.
29271
aeaf81d9 292722005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29273
29274 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
29275 variable definitions to the beginning of each function. Sort stack
29276 variables by size.
29277 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
29278 `buf' argument to `char *'.
29279
79bbb63f 292802005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29281
29282 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
29283 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29284 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 29285 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29286 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29287 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29288 configfile.mod, search.mod, gzio.mod and test.mod.
29289 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29290 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29291 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29292 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29293 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29294 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29295 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29296 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29297 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29298 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29299 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29300 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29301 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29302 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29303 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29304 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29305 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29306 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29307 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29308 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29309 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29310 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29311 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
29312
29313 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
29314 `grep --include'.
29315 (pkgdata_MODULES): Add test.mod.
29316
233b1628 293172005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29318
29319 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
29320 appending to variables with "+=".
29321 (PModule): Use full pathname to generate *.lst filenames.
29322
29323 * Makefile.in: Fixed list rules moved from genmk.rb.
29324 (.DELETE_ON_ERROR): New special target.
29325 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
29326
29327 * conf/i386-pc.rmk: Include conf/common.mk.
29328 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29329 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 29330 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29331 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29332 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29333 configfile.mod, search.mod, gzio.mod and test.mod.
29334 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29335 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29336 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29337 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29338 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29339 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29340 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29341 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29342 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29343 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29344 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29345 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29346 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29347 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29348 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29349 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29350 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29351 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29352 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29353 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29354 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29355 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29356 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
29357 here...
29358 * conf/common.rmk: ... to here. New file.
29359
29360 * conf/common.mk: New file.
29361
16f820c8 293622005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
29363
29364 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
29365 (grub_script.tab.c): ... here.
29366
29367 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
29368 (grub_script.tab.c): ... here.
29369
29370 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
29371 (grub_script.tab.c): ... here.
29372
29373 * normal/command.c (grub_command_find): Fixed a memory leak of
29374 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
29375
63ba1554 293762005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29377
29378 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
29379 "@" which marks the start of a comment on ARM.
29380 (VARIABLE): Likewise.
29381
7f67dc13 293822005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29383
79bbb63f 29384 Add support for Linux/ADFS partition tables.
7f67dc13 29385
29386 * partmap/acorn.c: New file.
29387
29388 * include/grub/acorn_filecore.h: Likewise.
29389
29390 * DISTLIST: Added `partmap/acorn.c' and
29391 `include/grub/acorn_filecore.h'.
f19dbdb7 29392
7f67dc13 29393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29394 `partmap/acorn.c'.
29395 (pkgdata_MODULES): Add `acorn.mod'.
29396 (acorn_mod_SOURCES): New variable.
29397 (acorn_mod_CFLAGS): Likewise.
29398
29399 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29400 `partmap/acorn.c'.
29401 (pkgdata_MODULES): Add `acorn.mod'.
29402 (acorn_mod_SOURCES): New variable.
29403 (acorn_mod_CFLAGS): Likewise.
29404
29405 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
29406 (pkgdata_MODULES): Add `acorn.mod'.
29407 (acorn_mod_SOURCES): New variable.
29408 (acorn_mod_CFLAGS): Likewise.
29409 (acorn_mod_LDFLAGS): Likewise.
29410
29411 * include/types.h (grub_disk_addr_t): New typedef.
29412
6d099807 294132005-11-13 Marco Gerards <mgerards@xs4all.nl>
29414
29415 * geninit.sh: New file.
29416
29417 * geninitheader.sh: Likewise.
29418
29419 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
29420 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
29421 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
29422 * commands/configfile.c (grub_configfile_init)
29423 (grub_configfile_fini): Likewise.
29424 * commands/default.c (grub_default_init, grub_default_fini):
29425 Likewise.
29426 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
29427 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
29428 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
29429 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
29430 Likewise.
29431 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
29432 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
29433 Likewise.
29434 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 29435 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 29436 Likewise.
29437 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
29438 Likewise.
fe6b695a 29439 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 29440 Likewise.
29441 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
29442 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
29443 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
29444 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
29445 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
29446 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
29447 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
29448 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
29449 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
29450 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
29451 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
29452 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
29453 * partmap/amiga.c (grub_amiga_partition_map_init)
29454 (grub_amiga_partition_map_fini): Likewise.
29455 * partmap/apple.c (grub_apple_partition_map_init)
29456 (grub_apple_partition_map_fini): Likewise.
29457 * partmap/pc.c (grub_pc_partition_map_init)
29458 (grub_pc_partition_map_fini): Likewise.
29459 * partmap/sun.c (grub_sun_partition_map_init,
29460 grub_sun_partition_map_fini): Likewise.
29461 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
29462 Likewise.
29463
29464 * util/grub-emu.c: Include <grub_modules_init.h>.
29465 (main): Don't initialize and de-initialize any modules directly,
29466 use `grub_init_all' and `grub_fini_all' instead.
29467
29468 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
29469 `grub_vesafb_mod_init'.
29470 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
29471 all users.
29472 * term/i386/pc/vga.c (grub_vga_init): Renamed to
29473 `grub_vga_mod_init'. Updated all users.
29474 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 29475
6d099807 29476 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
29477 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
29478 rules.
29479
29480 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
29481 Generate a function to initialize the module in utilities.
29482 Updated all callers.
29483 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
29484 initialize the module in utilities. Updated all callers.
29485
9046bcf0 294862005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29487
29488 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
29489 escape sequence and a literal ^L to clear the screen.
29490
29491 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
29492 when returning from Open Firmware.
29493
d13ea639 294942005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29495
29496 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
29497 (grub_ofconsole_height): Likewise.
29498 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
29499 manually insert a '\n'.
29500 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
29501 `grub_ofconsole_height'. Return early if these are already set.
29502
a8fcf206 295032005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
29504
29505 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29506 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
29507 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
29508 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
29509 and `normal/script.c'.
29510 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29511 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29512 (test_mod_SOURCES): New variable.
29513 (test_mod_CFLAGS): Likewise.
29514 (test_mod_LDFLAGS): Likewise.
29515 (pkgdata_MODULES): Add `test.mod'.
29516 (grub_script.tab.c): New rule.
29517 (grub_script.tab.h): Likewise.
29518
b6b32745 295192005-11-07 Marco Gerards <mgerards@xs4all.nl>
29520
29521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29522 `commands/test.c', `normal/execute.c', `normal/lexer.c',
29523 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29524 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29525 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29526 (test_mod_SOURCES): New variable.
29527 (test_mod_CFLAGS): Likewise.
29528 (pkgdata_MODULES): Add `test.mod'.
29529 (grub_script.tab.c): New rule.
29530 (grub_script.tab.h): Likewise.
29531
daac212a 295322005-11-06 Marco Gerards <mgerards@xs4all.nl>
29533
29534 Add initial scripting support.
29535
29536 * commands/test.c: New file.
29537 * include/grub/script.h: Likewise.
29538 * normal/execute.c: Likewise.
29539 * normal/function.c: Likewise.
29540 * normal/lexer.c: Likewise.
29541 * normal/parser.y: Likewise.
29542 * normal/script.c: Likewise.
29543
29544 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29545
daac212a 29546 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29547 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29548 `normal/function.c' and `normal/script.c'.
29549 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29550 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29551 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
29552 variables.
daac212a 29553 (pkgdata_MODULES): Add `test.mod'.
29554 (grub_script.tab.c): New rule.
29555 (grub_script.tab.h): Likewise.
29556
29557 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
29558
29559 * include/grub/normal.h (grub_test_init): New prototype.
29560 (grub_test_fini): Likewise.
f19dbdb7 29561
daac212a 29562 * normal/command.c: Include <grub/script.h>.
29563 (grub_command_execute): Rewritten.
f19dbdb7 29564
daac212a 29565 * util/grub-emu.c (main): Call `grub_test_init' and
29566 `grub_test_fini'.
29567
77500b2b 295682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29569
29570 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
29571 to 0.
29572 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
29573 there are no pending characters.
29574
e45deb9e 295752005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29576
29577 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
29578 `grub_strndup' to drop device arguments. Replace unnecessary
29579 `grub_strndup' with `grub_strdup'.
29580
4ce32619 295812005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29582
29583 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29584 `debug' environment variable has been set.
29585
295862005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29587
4ce32619 29588 * Makefile.in (install-local): Use $(DATA).
29589 (uninstall): Likewise.
29590 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29591 (sbin_UTILITIES): ... to here.
29592 (sbin_SCRIPTS): New variable.
29593 (grub_install_SOURCES): New variable.
29594 * util/powerpc/ieee1275/grub-install.in: New file.
29595 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29596 variable.
29597 (add_segments): Call `grub_util_get_path'.
29598
25fe6f03 295992005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29600
29601 From Timothy Baldwin:
29602 * commands/ls.c (grub_ls_list_files): Close FILE with
29603 grub_file_close.
29604 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29605
04ccf3ec 296062005-10-24 Marco Gerards <mgerards@xs4all.nl>
29607
29608 * include/grub/parser.h: New file.
29609
29610 * kern/parser.c: Likewise.
29611
29612 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29613 (grub_setup_SOURCES): Likewise.
29614 (grub_probefs_SOURCES): Likewise.
29615 (grub_emu_SOURCES): Likewise.
29616 (kernel_img_HEADERS): Add `parser.h'.
29617
29618 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29619 (grub_emu_SOURCES): Add `kern/parser.c'.
29620 (grubof_SOURCES): Likewise.
29621
29622 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29623 (grubof_SOURCES): Add `kern/parser.c'.
29624
29625 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29626
29627 * kern/misc.c (grub_split_cmdline): Removed function.
29628
29629 * kern/rescue.c: Include <grub/parser.h>.
29630 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29631 of `grub_split_cmdline'.
29632
29633 * normal/command.c: Include <grub/parser.h>.
29634 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29635 of `grub_split_cmdline'.
29636
29637 * normal/completion.c: Include <grub/parser.h>.
29638 (cmdline_state): New variable.
29639 (iterate_dir): End the filename with a quote depending on the
29640 command line state.
29641 (get_state): new function.
29642 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29643 split the arguments and determine the current argument. When the
29644 argument string is not quoted, escape all spaces.
29645
6d8f4b0e 296462005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29647
29648 * normal/sparc64/setjmp.S: New file.
29649
15cf03ed 296502005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29651
29652 * include/grub/sparc64/libgcc.h: New file.
29653 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29654 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29655 normal/sparc64/setjmp.c.
29656
03e8661a 296572005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29658
29659 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29660 * kern/sparc64/cache.S: New file.
29661 * kern/sparc64/cache.c: Removed.
29662 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29663 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29664 -mtune=ultrasparc.
29665 (COMMON_LDFLAGS): Add -melf64_sparc.
29666 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29667 (grubof_SOURCES): Use cache.S instead of cache.c.
29668 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29669 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29670 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29671 commented though.
29672 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29673 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29674 (linux_mod_CFLAGS): Commented out.
29675 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29676 out because module isn't built.
29677 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29678 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29679 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29680 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29681 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29682 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29683 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29684 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29685 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29686 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29687 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29688 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29689 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29690 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29691
34eeec8a 296922005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29693
29694 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29695 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29696 longer, because HFS should not be used on PC.
29697
708367a3 296982005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29699
29700 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29701 consistently within the loop.
29702
6fa1251a 297032005-10-15 Marco Gerards <mgerards@xs4all.nl>
29704
29705 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29706 directory can not be read.
29707
4801580b 297082005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29709
29710 * configure.ac (AC_INIT): Increase the version number to 1.91.
29711
29712 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29713 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29714 term/i386/pc/serial.c.
29715
219ad426 297162005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29717
29718 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29719 file size must be permitted.
29720
29721 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29722 between %ah and %al.
29723
688e5699 297242005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29725
29726 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29727 grub_uint64_t.
29728 Call the hook with a NUL-terminated filename.
29729 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29730 grub_cpu_to_be32.
29731
29732 * kern/term.c (cursor_state): New variable.
29733 (grub_term_set_current): Reset the cursor state on a new
29734 terminal.
29735 (grub_setcursor): Rewritten to use CURSOR_STATE.
29736 (grub_getcursor): New function.
29737
29738 * include/grub/term.h (grub_getcursor): New prototype.
29739
29740 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29741 integers on ARM. Reported by Timothy Baldwin
29742 <T.E.Baldwin99@members.leeds.ac.uk>.
29743
bb34586c 297442005-10-11 Marco Gerards <mgerards@xs4all.nl>
29745
29746 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29747 allocated.
29748 (grub_sfs_dir): Likewise.
29749
9a909877 297502005-10-09 Marco Gerards <mgerards@xs4all.nl>
29751
29752 Add support for the SFS filesystem.
29753
29754 * fs/sfs.c: New file.
29755
29756 * DISTLIST: Added `fs/sfs.c'.
29757
29758 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29759 (grub_probefs_SOURCES): Likewise.
29760 (grub_emu_SOURCES): Likewise.
29761 (pkgdata_MODULES): Add `sfs.mod'.
29762 (sfs_mod_SOURCES): New variable.
29763 (sfs_mod_CFLAGS): Likewise.
29764 (sfs_mod_LDFLAGS): Likewise.
29765
29766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29767 (pkgdata_MODULES): Add `sfs.mod'.
29768 (sfs_mod_SOURCES): New variable.
29769 (sfs_mod_CFLAGS): Likewise.
29770
29771 * util/grub-emu.c (main): Call `grub_sfs_init' and
29772 `grub_sfs_fini'.
29773
29774 * include/grub/fs.h (grub_sfs_init): New prototype.
29775 (grub_sfs_fini): Likewise.
29776
57bdbde3 297772005-10-07 Marco Gerards <mgerards@xs4all.nl>
29778
29779 Add support for the AFFS filesystem.
29780
29781 * fs/affs.c: New file.
29782
29783 * DISTLIST: Added `fs/affs.c'.
29784
29785 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29786 (grub_probefs_SOURCES): Likewise.
29787 (grub_emu_SOURCES): Likewise.
29788 (pkgdata_MODULES): Add `affs.mod'.
29789 (affs_mod_SOURCES): New variable.
29790 (affs_mod_CFLAGS): Likewise.
29791 (affs_mod_LDFLAGS): Likewise.
29792
29793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29794 (pkgdata_MODULES): Add `affs.mod'.
29795 (affs_mod_SOURCES): New variable.
29796 (affs_mod_CFLAGS): Likewise.
29797
29798 * util/grub-emu.c (main): Call `grub_affs_init' and
29799 `grub_affs_fini'.
29800
29801 * include/grub/fs.h (grub_affs_init): New prototype.
29802 (grub_affs_fini): Likewise.
29803
047b67e0 298042005-10-01 Marco Gerards <mgerards@xs4all.nl>
29805
29806 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29807
59b8208a 298082005-10-01 Marco Gerards <mgerards@xs4all.nl>
29809
29810 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29811 `-m32' to CFLAGS.
29812
29813 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29814 linking.
f19dbdb7 29815
59b8208a 29816 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29817 (COMMON_LDFLAGS): New variable.
29818 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29819 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29820 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29821 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29822 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29823 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29824 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29825 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29826 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29827 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29828 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29829 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29830 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29831 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29832 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29833 variables.
29834 (normal_mod_ASFLAGS): Add `-m32'.
29835
29836 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29837 (grub_host_size_t, grub_host_ssize_t): New types.
29838 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 29839 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 29840 `GRUB_HOST_SIZEOF_VOID_P'.
29841
29842 * include/grub/kernel.h (struct grub_module_header): Type of
29843 member offset changed to `grub_host_off_t'. Type of member size
29844 changed to `grub_host_size_t'.
29845 (struct grub_module_info): Type of member offset changed to
29846 `grub_host_off_t'. Type of member size changed to
29847 `grub_host_size_t'.
29848
b4093103 298492005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29850
29851 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 29852
b4093103 29853 * kern/i386/pc/startup.S (multiboot_header): New label.
29854 (multiboot_entry): Likewise.
29855 (multiboot_trampoline): Likewise.
29856
29857 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29858 Increased to 0x4A0.
29859
29860 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29861 put parentheses after a question mark.
29862 [!GRUB_UTIL] (my_mod): New variable.
29863
29864 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29865
b2499b29 298662005-09-28 Marco Gerards <mgerards@xs4all.nl>
29867
29868 Adds support for the XFS filesystem. Btrees are not supported
29869 yet.
29870
29871 * fs/xfs.c: New file.
29872
29873 * DISTLIST: Added `fs/xfs.c'.
29874
29875 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29876 (grub_probefs_SOURCES): Likewise.
29877 (grub_emu_SOURCES): Likewise.
29878 (pkgdata_MODULES): Add `xfs.mod'.
29879 (xfs_mod_SOURCES): New variable.
29880 (xfs_mod_CFLAGS): Likewise.
29881
29882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29883 (pkgdata_MODULES): Add `xfs.mod'.
29884 (xfs_mod_SOURCES): New variable.
29885 (xfs_mod_CFLAGS): Likewise.
29886
29887 * util/grub-emu.c (main): Call `grub_xfs_init' and
29888 `grub_xfs_fini'.
29889
29890 * include/grub/fs.h (grub_xfs_init): New prototype.
29891 (grub_xfs_fini): Likewise.
29892
f19dbdb7 29893
83d37a62 298942005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29895
29896 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29897 color modes, allow greater than 16 colors to be configured as
29898 a default palette.
29899
47d2d65e 299002005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29901
29902 * normal/completion.c (complete_arguments): Add the qualifier
29903 const into OPTIONS.
29904
29905 From Omniflux <omniflux+lists@omniflux.com>:
29906 * include/grub/terminfo.h: New file.
29907 * include/grub/tparm.h: Likewise.
29908 * include/grub/i386/pc/serial.h: Likewise.
29909 * term/terminfo.c: Likewise.
29910 * term/tparm.c: Likewise.
29911 * term/i386/pc/serial.c: Likewise.
29912 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29913 serial.mod.
29914 (terminfo_mod_SOURCES): New variable.
29915 (terminfo_mod_CFLAGS): Likewise.
29916 (serial_mod_SOURCES): Likewise.
29917 (serial_mod_CFLAGS): Likewise.
29918
48b671ff 299192005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29920
29921 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29922 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29923 and kern/powerpc/ieee1275/cmain.c, respectively.
29924
29925 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29926 * kern/powerpc/ieee1275/crt0.S: ... here.
29927
29928 * boot/powerpc/ieee1275/cmain.c: Moved to ...
29929 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 29930
48b671ff 29931 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
29932 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
29933 instead of boot/powerpc/ieee1275/crt0.S and
29934 boot/powerpc/ieee1275/cmain.c, respectively.
29935
29936 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
29937 sectors. It was not used anyway.
29938
09fc77a7 299392005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29940
29941 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
29942 `unused parameter' warning.
29943
003789c7 299442005-08-30 Hollis Blanchard <hollis@penguinppc.org>
29945
29946 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
29947 function.
29948 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
29949 getcharwidth.
29950
67f44c86 299512005-08-28 Marco Gerards <metgerards@student.han.nl>
29952
29953 * include/grub/normal.h (enum grub_completion_type): Added
29954 `GRUB_COMPLETION_TYPE_ARGUMENT'.
29955
29956 * normal/cmdline.c (print_completion): Handle
29957 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
29958 * normal/menu_entry.c (store_completion): Likewise.
29959
29960 * normal/completion.c (complete_arguments): New function.
29961 (grub_normal_do_completion): Call `complete_arguments' when the
29962 current words start with a dash.
29963
0b5abe02 299642005-08-27 Marco Gerards <metgerards@student.han.nl>
29965
29966 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
29967 `gzio.mod' instead of `io.mod').
29968
d9864ee1 299692005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
29970
29971 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
29972 (DISTDIRS): Added io and video.
29973 Rewrite the search routine to make an output consistently.
29974
29975 * DISTLIST: Added conf/sparc64-ieee1275.mk,
29976 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
29977 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
29978 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
29979 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
29980 util/powerpc/ieee1275/misc.c.
f19dbdb7 29981
d9864ee1 29982 * include/grub/gzio.h: New file.
29983 * io/gzio.c: Likewise.
f19dbdb7 29984
d9864ee1 29985 * kern/file.c (grub_file_close): Call grub_device_close only if
29986 FILE->DEVICE is not NULL.
29987
29988 * include/grub/mm.h [!NULL] (NULL): New macro.
29989
29990 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
29991
29992 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
29993 (pkgdata_MODULES): Added gzio.mod.
29994 (gzio_mod_SOURCES): New variable.
29995 (gzio_mod_CFLAGS): Likewise.
29996
29997 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
29998 (pkgdata_MODULES): Added gzio.mod.
29999 (gzio_mod_SOURCES): New variable.
30000 (gzio_mod_CFLAGS): Likewise.
30001
30002 * commands/cat.c: Include grub/gzio.h.
30003 (grub_cmd_cat): Use grub_gzfile_open instead of
30004 grub_file_open.
f19dbdb7 30005
d9864ee1 30006 * commands/cmp.c: Include grub/gzio.h.
30007 (grub_cmd_cmp): Use grub_gzfile_open instead of
30008 grub_file_open.
30009
30010 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
30011 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
30012 grub_file_open.
30013 (grub_rescue_cmd_module): Likewise.
30014
fa46f4b5 300152005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30016
30017 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
30018 kern/sparc64/ieee1275/init.c because it contains _start.
30019 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
30020
e9211b5d 300212005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30022
30023 * configure.ac: Add support for sparc64 host with ieee1275
30024 firmware.
30025 * configure: Generated from configure.ac.
30026 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
30027 instead of int.
30028 (grub_ofdisk_read): Likewise.
30029 (grub_ofdisk_open): Use %p to print pointer values, and cast the
30030 pointers as (void *) to remove a warning.
30031 (grub_ofdisk_close): Likewise.
30032 (grub_ofdisk_read): Likewise.
30033 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
30034 returns, so make it return void to remove a warning.
30035 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
30036 Corresponding prototype change.
30037 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
30038 values, and cast the pointers as (void *) to remove a warning.
30039 (grub_mm_dump): Likewise.
30040 * conf/sparc64-ieee1275.mk: New file.
30041 * conf/sparc64-ieee1275.rmk: Likewise.
30042 * include/grub/sparc64/setjmp.h: Likewise.
30043 * include/grub/sparc64/types.h: Likewise.
30044 * include/grub/sparc64/ieee1275/console.h: Likewise.
30045 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30046 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30047 * include/grub/sparc64/ieee1275/time.h: Likewise.
30048 * kern/sparc64/cache.c: Likewise.
30049 * kern/sparc64/dl.c: Likewise.
30050 * kern/sparc64/ieee1275/init.c: Likewise.
30051 * kern/sparc64/ieee1275/openfw.c: Likewise.
30052
385c6a92 300532005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
30054
30055 * util/console.c (grub_ncurses_putchar): If C is greater than
30056 0x7f, set C to a question mark.
30057 (grub_ncurses_getcharwidth): New function.
30058 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
30059 getcharwidth.
30060
30061 * normal/menu.c (print_entry): Made aware of Unicode. First,
30062 convert TITLE to UCS-4, and predict the cursor position by
30063 grub_getcharwidth.
30064
30065 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
30066 const to SRC.
30067 * kern/misc.c (grub_utf16_to_utf8): Likewise.
30068
16ccb8b1 300692005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30070
30071 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
30072 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30073 grub_strcat.
30074
30075 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
30076 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30077 grub_strcpy and grub_strlen. Take it into account that a space
30078 character is inserted as a delimiter.
30079
6a85ce79 300802005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30081
30082 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 30083 invalid magic in the error.
6a85ce79 30084
30085 * commands/search.c: New file.
f19dbdb7 30086
6a85ce79 30087 * util/grub-emu.c (main): Call grub_search_init and
30088 grub_search_fini.
30089
30090 * kern/rescue.c (grub_rescue_print_disks): Removed.
30091 (grub_rescue_print_devices): New function.
30092 (grub_rescue_cmd_ls): Use grub_device_iterate with
30093 grub_rescue_print_devices instead of grub_disk_dev_iterate with
30094 grub_rescue_print_disks.
30095
30096 * kern/partition.c (grub_partition_iterate): Return the result of
30097 PARTMAP->ITERATE instead of GRUB_ERRNO.
30098
30099 * kern/device.c: Include grub/partition.h.
30100 (grub_device_iterate): New function.
30101
30102 * include/grub/partition.h (grub_partition_iterate): Return int
30103 instead of grub_err_t.
30104
30105 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
30106 prototype.
30107 [GRUB_UTIL] (grub_search_fini): Likewise.
30108
30109 * include/grub/device.h (grub_device_iterate): New prototype.
30110
30111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30112 commands/search.c.
30113 (pkgdata_MODULES): Added search.mod.
30114 (search_mod_SOURCES): New variable.
30115 (search_mod_CFLAGS): Likewise.
30116
30117 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
30118 (pkgdata_MODULES): Added search.mod.
30119 (search_mod_SOURCES): New variable.
30120 (search_mod_CFLAGS): Likewise.
30121
30122 * commands/ls.c (grub_ls_list_disks): Renamed to ...
30123 (grub_ls_list_devices): ... this, and use grub_device_iterate.
30124 All callers changed.
30125
30126 * DISTLIST: Added commands/search.c.
30127
ef095434 301282005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30129
30130 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
30131 conversion.
30132 (grub_getcharwidth): New function.
30133
30134 * kern/misc.c (grub_utf8_to_ucs4): New function.
30135
30136 * include/grub/term.h (struct grub_term): Added a new member
30137 "getcharwidth".
30138 (grub_getcharwidth): New prototype.
30139
30140 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
30141
30142 * term/i386/pc/console.c (map_char): New function. Segregated from
30143 grub_console_putchar.
30144 (grub_console_putchar): Use map_char.
30145 (grub_console_getcharwidth): New function.
30146 (grub_console_term): Specified grub_console_getcharwidth as
30147 getcharwidth.
30148
30149 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
30150 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
30151
30152 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
30153 GRUB_ERRNO.
30154 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
30155 on grub_strtoul completely.
30156 (write_char): Declare local variables in the beginning of the
30157 function.
30158 (grub_vesafb_getcharwidth): New function.
30159 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
30160 getcharwidth.
30161
1f0a95e4 301622005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
30163
30164 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
30165 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
30166 commands/i386/pc/vbetest.c.
30167
30168 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
30169 call grub_vbe_get_controller_info again, because the returned
30170 information is volatile.
30171 (grub_vbe_set_video_mode): Mostly rewritten.
30172 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
30173 grub_vbe_status_t correctly.
30174 (grub_vbe_get_video_mode_info): Likewise.
30175 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
30176 several if statements.
30177
30178 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
30179 * commands/i386/pc/vbeinfo.c: ... this.
30180
30181 * commands/i386/pc/vbe_test.c: Renamed to ...
30182 * commands/i386/pc/vbetest.c: ... this.
30183
30184 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
30185 ...
30186 (grub_cmd_vbeinfo): ... this. Save video modes before
30187 iterating. Skip a video mode, if it is not available, not enough
30188 information is given or it is monochrome. Show the memory
30189 model. Leave the interpretation of MODEVAR to grub_strtoul
30190 completely.
30191 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
30192 (GRUB_MOD_FINI): Likewise.
30193
30194 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
30195 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
30196 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
30197 duplicated grub_env_get. Leave the interpretation of MODEVAR to
30198 grub_strtoul completely.
30199 (real2pm): Removed.
30200 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
30201 (GRUB_MOD_FINI): Likewise.
30202
30203 * normal/misc.c: Include grub/mm.h.
30204
30205 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
30206 vbe_list_modes with vbetest.mod and vbeinfo.mod.
30207 (vbe_list_modes_mod_SOURCES): Removed.
30208 (vbe_list_modes_mod_CFLAGS): Likewise.
30209 (vbe_test_mod_SOURCES): Likewise.
30210 (vbe_test_mod_CFLAGS): Likewise.
30211 (vbeinfo_mod_SOURCES): New variable.
30212 (vbeinfo_mod_CFLAGS): Likewise.
30213 (vbetest_mod_SOURCES): Likewise.
30214 (vbetest_mod_CFLAGS): Likewise.
30215
992ffbbe 302162005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
30217
30218 * normal/misc.c: New file.
30219
30220 * DISTLIST: Added normal/misc.c.
f19dbdb7 30221
992ffbbe 30222 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
30223 DISK to HOOK. Call HOOK with DISK.
30224 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30225 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30226 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30227
30228 * normal/menu_entry.c (struct screen): Added a new member
30229 "completion_shown".
30230 (completion_buffer): New global variable.
30231 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
30232 (store_completion): New function.
30233 (complete): Likewise.
30234 (clear_completions): Likewise.
30235 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
30236 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
30237 a tab, call complete.
30238
30239 * normal/completion.c (disk_dev): Removed.
30240 (print_simple_completion): Likewise.
30241 (print_partition_completion): Likewise.
30242 (print_func): New global variable.
30243 (add_completion): Do not take the arguments WHAT or PRINT any
30244 longer. Added a new argument TYPE. Instead of printing directly,
30245 call PRINT_FUNC if not NULL.
30246 All callers changed.
30247 (complete_device): Use a local variable DEV instead of
30248 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
30249 (grub_normal_do_completion): Take a new argument HOOK. Do not
30250 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
30251 empty string, return NULL instead.
30252 All callers changed.
30253
30254 * normal/cmdline.c (print_completion): New function.
30255
30256 * kern/partition.c (grub_partition_iterate): Add an argument DISK
30257 to HOOK.
30258 All callers changed.
30259
30260 * kern/disk.c (grub_print_partinfo): Removed.
30261
30262 * include/grub/partition.h (struct grub_partition_map): Add a new
30263 argument DISK into HOOK of ITERATE.
30264 (grub_partition_iterate): Add a new argument DISK to HOOK.
30265
30266 * include/grub/normal.h (enum grub_completion_type): New enum.
30267 (grub_completion_type_t): New type.
30268 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
30269 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
30270 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
30271 (GRUB_COMPLETION_TYPE_FILE): Likewise.
30272 (grub_normal_do_completion): Added a new argument HOOK.
30273 (grub_normal_print_device_info): New prototype.
30274
30275 * include/grub/disk.h (grub_print_partinfo): Removed.
30276
30277 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
30278 (normal_mod_SOURCES): Likewise.
30279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30280 (normal_mod_SOURCES): Likewise.
30281
30282 * commands/ls.c (grub_ls_list_disks): Use
30283 grub_normal_print_device_info instead of grub_print_partinfo. Free
30284 PNAME.
30285 (grub_ls_list_files): Use grub_normal_print_device_info instead of
30286 duplicating the code.
30287
0bd41162 302882005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30289
30290 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 30291 follow GCS more precisely.
30292 * commands/i386/pc/vbe_test.c: Likewise.
30293 * include/grub/i386/pc/vbe.h: Likewise.
30294 * term/i386/pc/vesafb.c: Likewise.
30295 * video/i386/pc/vbe.c: Likewise.
0bd41162 30296
6323696a 302972005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30298
30299 * DISTLIST: Added term/i386/pc/vesafb.c
30300 DISTLIST: Added video/i386/pc/vbe.c
30301 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
30302 DISTLIST: Added commands/i386/pc/vbe_test.c.
30303 * commands/i386/pc/vbe_list_modes.c: New file.
30304 * commands/i386/pc/vbe_test.c: Likewise.
30305 * term/i386/pc/vesafb.c: Likewise.
30306 * video/i386/pc/vbe.c: Likewise.
30307 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
30308 (grub_vbe_probe) Added prototype.
30309 (grub_vbe_set_video_mode) Likewise.
30310 (grub_vbe_get_video_mode) Likewise.
30311 (grub_vbe_get_video_mode_info) Likewise.
30312 (grub_vbe_set_pixel_rgb) Likewise.
30313 (grub_vbe_set_pixel_index) Likewise.
30314 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
30315 (pkgdata_MODULES): Added vesafb.mod.
30316 (pkgdata_MODULES): Added vbe_list_modes.mod.
30317 (pkgdata_MODULES): Added vbe_test.mod.
30318 (vbe_mod_SOURCES): Added.
30319 (vbe_mod_CFLAGS): Likewise.
30320 (vesafb_mod_SOURCES): Likewise.
30321 (vesafb_mod_CFLAGS): Likewise.
30322 (vbe_list_modes_mod_SOURCES): Likewise.
30323 (vbe_list_modes_mod_CFLAGS): Likewise.
30324 (vbe_test_mod_SOURCES): Likewise.
30325 (vbe_test_mod_CFLAGS): Likewise.
30326
0a74e62f 303272005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
30328
0a74e62f 30329 * normal/command.c (grub_command_execute): If INTERACTIVE is
30330 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
30331 CMDLINE. Disable the pager if INTERACTIVE is true.
30332 All callers are changed.
30333
30334 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
30335 before reading a config file.
30336 * normal/main.c (read_config_file): Even if a command is not
30337 found, register it if it is within an entry.
30338
30339 * util/grub-emu.c: Include sys/types.h and unistd.h.
30340 (options): Added --hold.
30341 (struct arguments): Added a new member "hold".
30342 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
30343 missing.
30344 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
30345 cleared by a debugger, if it is not zero.
30346
30347 * include/grub/normal.h (grub_command_execute): Add an argument
30348 INTERACTIVE.
30349
e51f85ae 303502005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
30351
30352 * DISTLIST: Added include/grub/i386/pc/vbe.h.
30353
e9c6f39b 303542005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
30355
30356 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
30357 program with another one, because the old one didn't detect a bug
30358 in gcc-3.4. Always use regparm 2, because the new test is still
30359 not enough for gcc-4.0. Someone must investigate a simple test
30360 case which detects a bug in gcc-4.0.
30361
8de3495c 303622005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
30363
30364 * DISTLIST: Added normal/completion.c.
30365
30366 * normal/completion.c: New file.
f19dbdb7 30367
8de3495c 30368 * term/i386/pc/console.c (grub_console_getwh): New function.
30369 (grub_console_term): Assign grub_console_getwh to getwh.
30370
30371 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
30372 function is defined in normal/completion.c as
30373 grub_normal_do_completion.
30374 (grub_cmdline_get): Use grub_normal_do_completion instead of
30375 grub_tab_complete.
30376
30377 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
30378 returns non-zero, otherwise return 0.
30379 (grub_partition_iterate): First, probe the partition map. Then,
30380 call ITERATE only for this partition map.
30381
30382 * kern/misc.c (grub_strncmp): Rewritten.
30383
30384 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
30385 returns non-zero. Otherwise return 0.
30386
30387 * include/grub/partition.h (grub_partition_map_iterate): Return
30388 int instead of void.
30389
30390 * include/grub/normal.h (grub_normal_do_completion): New prototype.
30391
30392 * include/grub/misc.h (grub_strncmp): Change the type of N to
30393 grub_size_t.
30394
30395 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
30396 of void.
30397
30398 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 30399 unsigned explicitly before comparing it with I.
8de3495c 30400
30401 * kern/main.c (grub_env_write_root): Add the attribute unused into
30402 VAR.
30403
30404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30405 normal/completion.c.
30406 (normal_mod_SOURCES): Likewise.
30407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30408 (normal_mod_SOURCES): Likewise.
30409
30410 * normal/command.c (grub_iterate_commands): If ITERATE returns
30411 non-zero, return one immediately.
30412
e85e144b 304132005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
30414
30415 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
30416 * kern/i386/pc/startup.S: Updated Global Descriptor table's
30417 descriptions.
30418 (grub_vbe_get_controller_info): New function.
30419 (grub_vbe_get_mode_info): Likewise.
30420 (grub_vbe_set_mode): Likewise.
30421 (grub_vbe_get_mode): Likewise.
30422 (grub_vbe_set_memory_window): Likewise.
30423 (grub_vbe_get_memory_window): Likewise.
30424 (grub_vbe_set_scanline_length): Likewise.
30425 (grub_vbe_get_scanline_length): Likewise.
30426 (grub_vbe_set_display_start): Likewise.
30427 (grub_vbe_get_display_start): Likewise.
30428 (grub_vbe_set_palette_data): Likewise.
30429 * include/grub/i386/pc/vbe.h: New file.
30430
c46153d2 304312005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30432
30433 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30434 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
30435 * DISTLIST: Likewise.
30436 * kern/ieee1275/of.c: Moved to ...
30437 * kern/ieee1275/ieee1275.c: ... here.
30438
0cb90c45 304392005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30440
30441 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
30442 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
30443 Pass 0 as `end' parameter to grub_strtoul().
30444
a19fb360 304452005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30446
30447 * include/grub/powerpc/ieee1275/console.h: Do not include
30448 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
30449 ifdef.
30450 (grub_console_cur_color): Remove i386-specific prototype.
30451 (grub_console_real_putchar): Likewise.
30452 (grub_console_checkkey): Likewise.
30453 (grub_console_getkey): Likewise.
30454 (grub_console_getxy): Likewise.
30455 (grub_console_gotoxy): Likewise.
30456 (grub_console_cls): Likewise.
30457 (grub_console_setcursor): Likewise.
30458 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
30459 Include <grub/machine/console.h>.
30460 * term/ieee1275/ofconsole.c: Likewise.
30461
4ac9bd04 304622005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
30463
30464 * Makefile.in (LIBLZO): New variable.
30465
30466 * configure.ac: Check for LZO version 2.
30467
30468 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
30469 lzo/lzo1x.h instead of lzo1x.h.
30470
30471 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
30472 of -llzo.
30473
30474 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
30475 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
30476
30477 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
30478 copying the data from PARTITION to P.
30479
f4917dfd 304802005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30481
30482 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
30483 negative, unload the module.
30484
30485 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
30486 map is "pc_partition_map" but not "pc".
30487 (usage): Fix the description. The options are --boot-image and
30488 --core-image but not --boot-file or --core-file.
30489 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
30490 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
30491 DEFAULT_DIRECTORY.
30492
30493 * util/i386/pc/grub-install.in: Do not specify --boot-file or
30494 --core-file. Specify INSTALL_DEVICE as an argument.
30495
30496 * util/console.c: Include config.h.
30497 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
30498 [HAVE_NCURSES_H]: Include ncurses.h.
30499 [HAVE_CURSES_H]: Include curses.h.
30500 [!A_NORMAL] (A_NORMAL): Defined as zero.
30501 [!A_STANDOUT] (A_STANDOUT): Likewise.
30502
30503 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
30504 -lncurses.
30505 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
30506
30507 * configure.ac: Check for curses libraries and headers.
30508
30509 * Makefile.in (LIBCURSES): New variable.
30510
30511 * genmk.rb (Script::rule): Set the executable bits.
30512
30513 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
30514 name of the PC partition map is "pc_partition_map" but not "pc".
30515
0e143073 305162005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30517
30518 * util/i386/pc/grub-install.in (grub_probefs): New variable.
30519 (modules): Likewise.
30520 (usage): Added descriptions for --modules and --grub-probefs.
30521 Handle --modules and --grub-probefs. Save the arguments in MODULES
30522 and GRUB_PROBEFS, respectively.
30523 Auto-detect a filesystem module against GRUBDIR. If the result is
30524 empty and modules are not specified explicitly, abort the
30525 installation. Add the result to MODULES.
30526
30527 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
30528 disk/powerpc/ieee1275/ofdisk.c,
30529 include/grub/powerpc/ieee1275/init.h and
30530 term/powerpc/ieee1275/ofconsole.c.
30531 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
30532 term/ieee1275/ofconsole.c.
30533
30534 * include/grub/powerpc/ieee1275/console.h: Resurrected.
30535
30536 * COPYING: Upgraded to the latest version. Only the address of the
30537 FSF office has changed.
f19dbdb7 30538
efd6e6d5 305392005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30540
30541 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30542 kern/ieee1275.c with kern/ieee1275/of.c.
30543
30544 * kern/ieee1275.c: Moved to ...
30545 * kern/ieee1275/of.c: ... here.
30546
8ceafda2 305472005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30548
30549 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30550 readability.
8ceafda2 30551
30552 * config.guess: Updated to the latest version from gnulib.
30553 * config.sub: Likewise.
30554 * install.sh: Likewise.
30555 * mkinstalldirs: Likewise.
30556
30557 * include/grub/console.h: Removed. This file is arch-specific. Do
30558 not put this in include/grub.
30559
30560 * include/grub/i386/pc/console.h: Resurrected.
30561
30562 * util/console.c: Include grub/machine/console.h instead of
30563 grub/console.h.
30564 * util/grub-emu.c: Likewise.
30565
267f6cd9 305662005-08-04 Marco Gerards <metgerards@student.han.nl>
30567
30568 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
30569 hardcoded value.
f19dbdb7 30570
267f6cd9 30571 From Vincent Pelletier <subdino2004@yahoo.fr>
30572 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
30573 Redefined to use grub_getwh.
30574 (grub_term): New member named getwh.
30575 (grub_getwh): New prototype.
30576 * kern/term.c (grub_getwh): New function.
30577 * term/i386/pc/console.c (grub_console_getwh): New function.
30578 (grub_console_term): New member `getwh'.
30579 * term/i386/pc/vga.c (grub_vga_getwh): New function.
30580 (grub_vga_term): New member `getwh'.
0b5abe02 30581 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 30582 grub_ssize_t.
30583 (grub_ofconsole_getw): New function.
30584 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30585 (grub_ofconsole_term): New field named getwh and new initial
30586 value.
30587
3be7266d 305882005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30589
30590 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30591 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30592 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30593 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30594 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30595 of <grub/machine/ieee1275.h>.
30596 * commands/ieee1275/reboot.c: Likewise.
30597 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30598 * kern/ieee1275.c: ... to here. All users updated. Change all
30599 parameter structs to use new type `grub_ieee1275_cell_t'.
30600 * term/powerpc/ieee1275/ofconsole.c: Move ...
30601 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30602 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30603 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30604 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30605 to return int.
30606 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30607 Remove unused prototypes. All users updated.
30608 * include/grub/powerpc/ieee1275/console.h: Removed.
30609 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30610 `grub_ieee1275_cell_t'.
30611 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30612 Cast comparisons with -1 to the correct type.
30613 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30614 type to match `grub_ieee1275_entry_fn'.
30615
8b5f3938 306162005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30617
30618 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30619
30620 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30621 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30622 partmap/sun.c.
30623 (grub_probefs_SOURCES): New variable.
30624
30625 * util/i386/pc/grub-probefs.c: New file.
30626
30627 * util/i386/pc/grub-setup.c (main): Call
30628 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30629 grub_hfs_init and grub_jfs_init to initialize the system. Call
30630 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30631 grub_pc_partition_map_fini to finish the system.
30632
ea409713 306332005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30634
30635 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30636 function.
30637 (grub_multiboot_load_elf32): Likewise.
30638 (grub_multiboot_is_elf64): Likewise.
30639 (grub_multiboot_load_elf64): Likewise.
30640 (grub_multiboot_load_elf): Likewise.
30641 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30642 an ELF32 or ELF64 file.
30643 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30644
30645 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30646 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30647 NULL before calling FS->LABEL.
30648 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30649 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30650 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30651 before calling FS->LABEL.
30652
141a288b 306532005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30654
30655 * util/i386/pc/grub-install.in (datadir): New variable.
30656 (libdir): Removed.
30657 (pkgdatadir): New variable.
30658 (pkglibdir): Removed.
30659
0d5f8a54 306602005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30661
30662 * DISTLIST: Added util/i386/pc/grub-install.in.
30663
30664 * util/i386/pc/grub-install.in: New file.
30665
30666 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30667 (grub_install_SOURCES): Likewise.
30668
30669 * genmk.rb: Added support for scripts.
30670 (Script): New class.
30671 (scripts): New variable.
30672
30673 * Makefile.in (install-local): Install sbin_SCRIPTS by
30674 INSTALL_SCRIPT.
30675 (uninstall): Remove sbin_SCRIPTS.
30676
30677 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30678 device, try to get a GRUB device by
30679 grub_util_biosdisk_get_grub_dev.
30680 Free DEST_DEV.
30681
30682 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30683 description for --device-map.
30684
5f968e1e 306852005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30686
30687 Change the semantics of variable hooks. They now return strings
30688 instead of error values.
f19dbdb7 30689
5f968e1e 30690 * util/i386/pc/grub-setup.c: Include grub/env.h.
30691 (setup): Use grub_device_set_root instead of grub_env_set.
30692
30693 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30694 grub_env_get instead of grub_device_set_root and
30695 grub_device_get_root, respectively.
30696
30697 * kern/main.c (grub_env_write_root): New function.
30698 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30699 grub_env_set instead of grub_device_set_root.
30700
30701 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30702 many variables.
30703 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30704 rather than calling ENV->WRITE_HOOK afterwards.
30705 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30706 passing a pointer of a pointer.
30707 (grub_register_variable_hook): Change the types of "read_hook" and
30708 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30709 respectively.
30710 Allocate the default empty string on the heap, because this string
30711 may be freed later.
30712
30713 * kern/device.c: Include grub/env.h.
30714 (grub_device_set_root): Removed.
30715 (grub_device_get_root): Likewise.
30716 (grub_device_open): Use grub_env_get instead of
30717 grub_device_get_root.
30718
30719 * include/grub/env.h (grub_env_read_hook_t): New type.
30720 (grub_env_write_hook_t): Likewise.
30721 (grub_env_var): Change the types of "read_hook" and "write_hook"
30722 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30723 (grub_register_variable_hook): Likewise.
30724
30725 * include/grub/device.h (grub_device_set_root): Removed.
30726 (grub_device_set_root): Likewise.
30727
30728 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30729 make sure that DIRNAME terminates with '/', so that
30730 grub_fat_find_dir will fail if PATH is not a directory.
30731
30732 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30733 from DIRNAME.
30734 Use the qualifier auto for print_files and print_files_long.
30735 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30736 as a regular file.
30737 Put a newline only if there is no error.
30738 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30739 used.
30740
896f0afd 307412005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30742
30743 * kern/partition.c (grub_partition_probe): Initialize PART to
30744 NULL. Otherwise, when no partition map is registered, this returns
30745 a garbage.
30746
b28b81b2 307472005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30748
30749 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30750 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30751 valid.
30752
5f3607e0 307532005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30754
30755 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30756 information on each device, if it does not have partitions. Print
30757 "Device" instead of "Disk", because this function is not specific
30758 to disk devices.
30759
30760 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30761 static to ensure that it is put on the memory rather than a
30762 register.
30763
502c87e8 307642005-07-17 Yoshinori Okuji <okuji@enbug.org>
30765
30766 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30767 (grub_cat_init): Likewise.
30768 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30769 (options): Likewise.
30770 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30771 (grub_configfile_init): Likewise.
30772 * font/manager.c (GRUB_MOD_INIT): Likewise.
30773 * commands/help.c (GRUB_MOD_INIT): Likewise.
30774 (grub_help_init): Likewise.
30775 * normal/command.c (grub_command_init): Likewise.
30776 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30777 * disk/loopback.c (grub_loop_init): Likewise.
30778 (GRUB_MOD_INIT): Likewise.
30779 * commands/ls.c (grub_ls_init): Likewise.
30780 (GRUB_MOD_INIT): Likewise.
30781 (options): Likewise.
30782 * commands/boot.c (grub_boot_init): Likewise.
30783 (GRUB_MOD_INIT): Likewise.
30784 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30785 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30786 (GRUB_MOD_INIT): Likewise.
30787 * commands/cmp.c (grub_cmp_init): Likewise.
30788 (GRUB_MOD_INIT): Likewise.
30789
30790 * normal/arg.c: Use <> instead of "" to include header files.
30791 (SHORT_ARG_HELP): New macro.
30792 (SHORT_ARG_USAGE): Likewise.
30793 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30794 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30795 descriptions.
30796 (find_short): Check if C is 'h' or 'u' explicitly.
30797 (grub_arg_show_help): Use space characters instead of tabs. Treat
30798 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30799 are shown with --help and --usage only if they are not used for
30800 the command itself.
30801 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30802 'h' and 'u'.
30803
30804 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30805 const into "longarg". Change the type of "shortarg" to int.
30806
f806d18e 308072005-07-17 Yoshinori Okuji <okuji@enbug.org>
30808
30809 * boot/i386/pc/boot.S (boot_drive_check): New label.
30810
30811 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30812 macro.
30813
30814 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30815 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30816
e293232b 308172005-07-17 Yoshinori Okuji <okuji@enbug.org>
30818
30819 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30820 When turning off Gate A20, skip the check and return immediately,
30821 because this is not fatal usually.
30822
ebedfd00 308232005-07-17 Yoshinori Okuji <okuji@enbug.org>
30824
30825 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30826 be 0x7C00 instead of 0x8000.
30827
30828 * boot/i386/pc/pxeboot.S: Rewritten.
30829
30830 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30831 EXT_C.
30832 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30833 result.
30834
654fc59f 308352005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30836
30837 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30838 robustness. This routine now supports a BIOS call and System
30839 Control Port A to modify the gate A20.
30840
30841 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30842 Increased to 0x440.
30843
09f9923f 308442005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30845
30846 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30847 device path and resulting ihandle.
30848 (grub_ofdisk_close): dprintf the ihandle being closed.
30849 (grub_ofdisk_read): dprintf function parameters.
30850 * kern/mm.c (grub_mm_init_region): Likewise.
30851 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30852 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30853 size, and boot arguments.
30854 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30855 before loading into memory.
30856 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30857 before loading into memory.
30858
7ef504d8 308592005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30860
30861 * kern/mm.c: Added much documentation.
30862 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30863 8, set to 5 instead of 8.
30864
e0f050c2 308652005-07-10 Yoshinori Okuji <okuji@enbug.org>
30866
30867 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30868
30869 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30870 (grub_mkdevicemap_SOURCES): New variable.
30871
30872 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30873 lib/device.c of GRUB Legacy.
30874
7224189a 308752005-07-10 Yoshinori Okuji <okuji@enbug.org>
30876
30877 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30878 instead of PATH is NULL.
30879
68c864eb 308802005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30881
30882 * commands/cmp.c (BUFFER_SIZE): New macro.
30883 (grub_cmd_cmp): Close the right file at the right time. Compare
30884 only data just read. Don't report files of different size as
30885 identical. Dynamically allocate buffers. Move variable
30886 declarations at the beginning of function.
30887
e6f3e614 308882005-07-09 Yoshinori Okuji <okuji@enbug.org>
30889
30890 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30891 reverse.
30892
f8f1559a 308932004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30894
30895 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30896 when backspace is pressed at beginning of line.
30897
39c9d41d 308982005-07-03 Yoshinori Okuji <okuji@enbug.org>
30899
30900 * DISTLIST: Added genfslist.sh.
30901
30902 * normal/main.c (fs_module_list): New variable.
30903 (autoload_fs_module): New function.
30904 (read_fs_list): Likewise.
30905 (grub_normal_execute): Call read_fs_list.
30906
30907 * kern/fs.c (grub_fs_autoload_hook): New variable.
30908 (grub_fs_probe): Added support for auto-loading.
30909
30910 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30911 (grub_fs_module_list_t): New type.
30912
30913 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30914 (grub_fs_autoload_hook): New prototype.
30915
30916 * genfslist.sh: New file.
f19dbdb7 30917
39c9d41d 30918 * genmk.rb: Added a rule to generate a filesystem list.
30919
121c1d83 309202005-06-30 Marco Gerards <metgerards@student.han.nl>
30921
30922 * configure.ac: Fix the test for cross-compiling.
30923
30924 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30925 define GRUB_UTIL anymore.
30926
30927 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
30928 so this function works on other systems than just big endian.
30929 (load_modules): Likewise.
30930 (add_segments): Likewise.
30931
e75d76e1 309322005-06-23 Hollis Blanchard <hollis@penguinppc.org>
30933
30934 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
30935 contains `l' modifier, get a long from va_arg().
30936
50b5a0a7 309372005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
30938
30939 * kern/mm.c (grub_free): If the next free block which is being
30940 merged is the first free block, set the first block to the block
30941 being freed.
30942 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
30943
89371b20 309442005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30945
30946 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
30947 `grub_ieee1275_chosen'.
30948
168d6e58 309492005-05-08 Hollis Blanchard <hollis@penguinppc.org>
30950
30951 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
30952 (grub_ieee1275_chosen): New variable.
30953 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
30954 `chosen'.
30955 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
30956 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
30957 Rename first argument to `phandle' for consistency.
30958 (grub_ieee1275_get_property_length): Likewise.
30959 (grub_ieee1275_next_property): Likewise. Change type of first argument
30960 to grub_ieee1275_phandle_t.
30961 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
30962 Move export next to declaration.
30963 (grub_ieee1275_chosen): New variable.
30964 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
30965 Correct cosmetic typo.
30966 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
30967 `grub_ieee1275_chosen'.
30968 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
30969 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
30970 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
30971 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
30972 `grub_ieee1275_chosen'.
30973
ca5baa3f 309742005-05-10 Hollis Blanchard <hollis@penguinppc.org>
30975
30976 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
30977 /chosen/bootargs.
30978 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
30979 /chosen/bootargs as "variable=value" pairs.
30980
708b345f 309812005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
30982
30983 * include/grub/misc.h (grub_dprintf): New macro.
30984 (grub_real_dprintf): New prototype.
30985 (grub_strword): Likewise.
30986 (grub_iswordseparator): Likewise.
30987 * kern/misc.c (grub_real_dprintf): New function.
30988 (grub_strword): Likewise.
30989 (grub_iswordseparator): Likewise.
30990
f4c5e67c 309912005-04-30 Hollis Blanchard <hollis@penguinppc.org>
30992
30993 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
30994 (roundup): Remove macro.
30995 (grub_ieee1275_flags): Make static.
30996 (grub_ieee1275_realmode): Remove.
30997 (grub_ieee1275_test_flag): New function.
30998 (grub_ieee1275_set_flag): Likewise.
30999 (find_options): Rename to `grub_ieee1275_find_options'; update
31000 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
31001 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
31002 (cmain): New prototype.
31003 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
31004 `grub_ieee1275_flags' directly.
31005 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
31006 machine/biosdisk.h.
31007 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
31008 Don't include grub/machine/init.h.
31009 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
31010 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31011 Remove prototype.
31012 (grub_ieee1275_realmode): Likewise.
31013 (grub_ieee1275_flag): New enum.
31014 (grub_ieee1275_test_flag): New prototype.
31015 (grub_ieee1275_set_flag): New prototype.
31016 * include/grub/powerpc/ieee1275/init.h: Remove file.
31017 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
31018 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
31019 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
31020 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
31021 comment.
31022 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
31023 `grub_ieee1275_test_flag'.
31024 (grub_ieee1275_encode_devname): Likewise.
31025
ed16607e 310262005-04-21 Hollis Blanchard <hollis@penguinppc.org>
31027
31028 * include/grub/powerpc/ieee1275/ieee1275.h
31029 (grub_ieee1275_encode_devname): New prototype.
31030 (grub_ieee1275_get_filename): Likewise.
31031 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
31032 function.
31033 (grub_set_prefix): Likewise.
31034 (grub_machine_init): Call grub_set_prefix.
31035 * kern/powerpc/ieee1275/openfw.c: Fix typos.
31036 (grub_parse_type): New enum.
31037 (grub_ieee1275_get_devargs): New function.
31038 (grub_ieee1275_get_devname): Likewise.
31039 (grub_ieee1275_parse_args): Likewise.
31040 (grub_ieee1275_get_filename): Likewise.
31041 (grub_ieee1275_encode_devname): Likewise.
31042
be369920 310432005-03-30 Marco Gerards <metgerards@student.han.nl>
31044
31045 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
31046 `grub_loader_unset'.
31047
a5ce3a4a 310482005-03-26 Hollis Blanchard <hollis@penguinppc.org>
31049
31050 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
31051 instead of grub_ieee1275_interpret.
31052 (grub_halt_init): New function.
31053 (grub_halt_fini): Likewise.
31054 (GRUB_MOD_INIT): Correct message grammar.
31055 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
31056 instead of grub_ieee1275_interpret.
31057 (grub_reboot_init): New function.
31058 (grub_reboot_fini): Likewise.
31059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
31060 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
31061 util/i386/pc/misc.c with commands/ieee1275/halt.c,
31062 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
31063 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
31064 function.
31065 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
31066 Add prototype.
31067 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
31068 prototype.
31069 (grub_halt): Likewise.
31070 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
31071 (cmain): Remove __attribute__((unused)).
31072 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
31073 (grub_heap_len): Likewise.
31074 (grub_machine_fini): New function.
31075 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
31076 (grub_halt): Likewise.
31077 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
31078 function.
31079 * util/powerpc/ieee1275/misc.c: New file.
31080
0058f771 310812005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31082
31083 * DISTLIST: New file.
31084 * gendistlist.sh: Likewise.
f19dbdb7 31085
0058f771 31086 * Makefile.in (COMMON_DISTFILES): Removed.
31087 (BOOT_DISTFILES): Likewise.
31088 (CONF_DISTFILES): Likewise.
31089 (DISK_DISTFILES): Likewise.
31090 (FS_DISTFILES): Likewise.
31091 (INCLUDE_DISTFILES): Likewise.
31092 (KERN_DISTFILES): Likewise.
31093 (LOADER_DISTFILES): Likewise.
31094 (TERM_DISTFILES): Likewise.
31095 (UTIL_DISTFILES): Likewise.
31096 (DISTFILES): Likewise.
31097 (uninstall): Uninstall files in $(pkgdata_DATA).
31098 (DISTLIST): New target.
31099 (distdir): Use the contents of the file DISTLIST to get a list of
31100 distributed files.
31101
46b3b8a5 311022005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31103
31104 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
31105 descriptor. This is ported from GRUB Legacy.
31106
31107 * gencmdlist.sh: Added an extra semicolon to make it work with
31108 old sed versions. Reported by Robert Bihlmeyer
31109 <robbe@orcus.priv.at>.
31110
5822ff87 311112005-03-08 Yoshinori Okuji <okuji@enbug.org>
31112
31113 Automatic loading of commands is supported.
f19dbdb7 31114
5822ff87 31115 * normal/main.c (read_command_list): New function.
31116 (grub_normal_execute): Call read_command_list.
31117
31118 * normal/command.c (grub_register_command): Return zero or CMD.
31119 Allocate CMD->NAME from the heap.
31120 Initialize CMD->MODULE_NAME to zero.
31121 Find the same name as well. If the same command is found and it is
31122 a dummy command, overwrite members. If it is not a dummy command,
31123 return zero.
31124 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
31125 (grub_command_find): If a dummy command is found, load a module
31126 and retry to find a command only once.
31127
31128 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
31129 make sure that each command is loaded.
31130
31131 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
31132 macro.
31133 (struct grub_command): Remove const from the member `name'.
31134 Add a new member `module_name'.
31135 (grub_register_command): Return grub_command_t.
31136
31137 * commands/help.c (grub_cmd_help): Call grub_command_find to make
31138 sure that each command is loaded.
31139
31140 * genmk.rb (PModule::rule): Specify a module name without the
31141 suffix ".mod" to gencmdlist.sh.
31142
7b1f4b57 311432005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31144
31145 * gencmdlist.sh: New file.
f19dbdb7 31146
7b1f4b57 31147 * genmk.rb (PModule::rule): Generate a rule for a command list.
31148 Clean command.lst.
31149 Generate command.lst from $(COMMANDFILES).
31150
31151 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
31152 (DATA): Added $(pkgdata_DATA).
31153 (install-local): Install files in $(pkgdata_DATA).
31154
062aaf39 311552005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31156
31157 * term/i386/pc/vga.c (debug_command): Removed.
31158 (GRUB_MOD_INIT): Do not register the command "debug".
31159
31160 From Hollis Blanchard:
31161 * commands/configfile.c: New file.
31162 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31163 commands/configfile.c.
31164 (pkgdata_MODULES): Added configfile.mod.
31165 (configfile_mod_SOURCES): New variable.
31166 (configfile_mod_CFLAGS): Likewise.
31167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31168 commands/configfile.c.
31169 (pkgdata_MODULES): Added configfile.mod.
31170 (configfile_mod_SOURCES): New variable.
31171 (configfile_mod_CFLAGS): Likewise.
31172 * util/grub-emu.c (main): Call grub_configfile_init and
31173 grub_configfile_fini.
31174 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
31175 prototype.
31176 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 31177
cee01aa6 311782005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31179
31180 * normal/arg.c (grub_arg_show_help): Do not show the bug report
31181 address.
31182
31183 * commands/help.c (grub_cmd_help): Do not print newlines after
31184 the last command in print_command_help.
31185
93f3a1d8 311862005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31187
31188 * commands/default.h: New file.
31189 * commands/timeout.h: Likewise.
31190 * normal/context.c: Likewise.
f19dbdb7 31191
93f3a1d8 31192 * util/misc.c: Do not include sys/times.h.
31193 Include sys/time.h and grub/machine/time.h.
31194 (grub_get_rtc): Rewritten with gettimeofday.
31195
31196 * util/grub-emu.c (main): Call grub_default_init and
31197 grub_timeout_init before grub_normal_init, and call
31198 grub_timeout_fini and grub_default_fini after grub_main.
31199
31200 * util/console.c (grub_ncurses_checkkey): Return the read
31201 character or -1.
31202
31203 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
31204 timeouts.
31205
31206 * normal/main.c (read_config_file): Push MENU. If this fails,
31207 print an error and wait for a user input.
31208 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
31209 If a menu is empty or an error occurs, pop MENU.
31210 (grub_normal_execute): Pop and free MENU after grub_menu_run
31211 returns.
31212
31213 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
31214
31215 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
31216 include time.h.
31217 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31218 without GRUB_UTIL.
31219 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
31220 time.h.
31221 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31222 without GRUB_UTIL.
31223
31224 * include/grub/normal.h (struct grub_menu_list): New struct.
31225 (grub_menu_list_t): New type.
31226 (struct grub_context): New struct.
31227 (grub_context_t): New type.
31228 (grub_register_command): Got rid of EXPORT_FUNC.
31229 (grub_unregister_command): Likewise.
31230 (grub_context_get): New prototype.
31231 (grub_context_get_current_menu): Likewise.
31232 (grub_context_push_menu): Likewise.
31233 (grub_context_pop_menu): Likewise.
31234 [GRUB_UTIL] (grub_default_init): Likewise.
31235 [GRUB_UTIL] (grub_default_fini): Likewise.
31236 [GRUB_UTIL] (grub_timeout_init): Likewise.
31237 [GRUB_UTIL] (grub_timeout_fini): Likewise.
31238
31239 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
31240 commands/timeout.c and normal/context.c.
31241 (pkgdata_MODULES): Added default.mod and timeout.mod.
31242 (normal_mod_SOURCES): Added normal/context.c.
31243 (default_mod_SOURCES): New variable.
31244 (default_mod_CFLAGS): Likewise.
31245 (timeout_mod_SOURCES): Likewise.
31246 (timeout_mod_CFLAGS): Likewise.
31247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
31248 conf/i386-pc.rmk.
31249 (pkgdata_MODULES): Added default.mod and timeout.mod.
31250 (normal_mod_SOURCES): Added normal/context.c.
31251 (default_mod_SOURCES): New variable.
31252 (default_mod_CFLAGS): Likewise.
31253 (timeout_mod_SOURCES): Likewise.
31254 (timeout_mod_CFLAGS): Likewise.
31255
31256 * Makefile.in (all-local): Added $(MKFILES).
31257
4ed2e1dd 312582005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
31259
31260 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
31261 (grub_emu_SOURCES): Likewise.
31262 (pkgdata_MODULES): Add `sun.mod'.
31263 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31265 `partmap/sun.c'.
31266 (pkgdata_MODULES): Add `sun.mod'.
31267 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31268 * include/grub/partition.h (grub_sun_partition_map_init): New
31269 prototype.
31270 (grub_sun_partition_map_fini): Likewise.
31271 * partmap/sun.c: New file.
31272 * util/grub-emu.c (main): Initialize and de-initialize the sun
31273 partitionmap support.
31274
4d4e372e 312752005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
31276
31277 This implements an Emacs-like menu entry editor.
f19dbdb7 31278
4d4e372e 31279 * normal/menu_entry.c: New file.
f19dbdb7 31280
4d4e372e 31281 * util/console.c (grub_ncurses_putchar): Translate some Unicode
31282 characters to ASCII.
31283 (saved_char): New variable.
31284 (grub_ncurses_checkkey): Rewritten completely.
31285 (grub_ncurses_getkey): Likewise.
31286 (grub_ncurses_init): Call raw instead of cbreak.
31287
31288 * normal/menu.c (print_entry): Do not put a space.
31289 (init_page): Renamed to ...
31290 (grub_menu_init_page): ... this. All callers changed.
31291 (edit_menu_entry): Removed.
31292 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
31293
31294 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
31295
31296 * kern/misc.c (grub_vprintf): Call grub_refresh.
31297
31298 * normal/menu.c (DISP_LEFT): Renamed to ...
31299 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
31300 * normal/menu.c (DISP_UP): Renamed to ...
31301 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
31302 * normal/menu.c (DISP_RIGHT): Renamed to ...
31303 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
31304 * normal/menu.c (DISP_DOWN): Renamed to ...
31305 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
31306 * normal/menu.c (DISP_HLINE): Renamed to ...
31307 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
31308 * normal/menu.c (DISP_VLINE): Renamed to ...
31309 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
31310 * normal/menu.c (DISP_UL): Renamed to ...
31311 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
31312 * normal/menu.c (DISP_UR): Renamed to ...
31313 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
31314 * normal/menu.c (DISP_LL): Renamed to ...
31315 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
31316 * normal/menu.c (DISP_LR): Renamed to ...
31317 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
31318 * normal/menu.c (TERM_WIDTH): Renamed to ...
31319 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
31320 * normal/menu.c (TERM_HEIGHT): Renamed to ...
31321 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
31322 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
31323 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
31324 * normal/menu.c (TERM_MARGIN): Renamed to ...
31325 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
31326 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
31327 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
31328 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
31329 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
31330 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
31331 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
31332 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
31333 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
31334 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
31335 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
31336 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
31337 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
31338 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
31339 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
31340 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
31341 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
31342 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
31343 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
31344 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
31345 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
31346 All callers changed.
31347
31348 * include/grub/normal.h: New prototype.
31349
31350 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31351 normal/menu_entry.c.
31352 (normal_mod_SOURCES): Likewise.
31353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31354 (normal_mod_SOURCES): Likewise.
31355
e6b92c8a 313562005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
31357
31358 * include/grub/normal.h (grub_halt_init): New prototype.
31359 (grub_halt_fini): Likewise.
31360 (grub_reboot_init): Likewise.
31361 (grub_reboot_fini): Likewise.
31362
31363 * util/grub-emu.c: Include signal.h.
31364 (main_env): New global variable.
31365 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
31366 catch C-c.
31367 (grub_machine_fini): New function.
31368 (main): Call grub_halt_init and grub_reboot_init before
31369 grub_main, and grub_reboot_fini and grub_halt_fini after it.
31370 Call setjmp with MAIN_ENV to go back afterwards.
31371 Call grub_machine_fini right before return.
31372
31373 * include/grub/util/misc.h: Include setjmp.h.
31374 (main_env): New prototype.
31375
31376 * include/grub/kernel.h (grub_machine_fini): New prototype.
31377 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
31378 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
31379
31380 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
31381 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
31382 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 31383
e6b92c8a 31384 * util/i386/pc/misc.c: New file.
f19dbdb7 31385
e6b92c8a 31386 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31387 util/i386/pc/misc.c, commands/i386/pc/halt.c and
31388 commands/i386/pc/reboot.c.
31389
c642636f 313902005-02-14 Guillem Jover <guillem@hadrons.org>
31391
31392 * include/grub/dl.h (grub_dl_check_header): New prototype.
31393 (grub_arch_dl_check_header): Change return type to grub_err_t,
31394 remove size parameter and export function. Update all callers.
31395 * kern/dl.c (grub_dl_check_header): New function.
31396 (grub_dl_load_core): Use `grub_dl_check_header' instead of
31397 `grub_arch_dl_check_header'. Check ELF type. Check if sections
31398 are inside the core.
31399 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
31400 independent ELF header checks.
31401 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31402 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
31403 `grub_dl_check_header' instead of explicit checks. Check for the
31404 ELF type.
31405 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
31406 `grub_dl_check_header' instead of explicit checks. Remove arch
31407 specific ELF header checks.
31408
e6b92c8a 31409 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
31410 argument SIZE.
31411
5eabe94b 314122005-02-13 Hollis Blanchard <hollis@penguinppc.org>
31413
31414 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
31415 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
31416
1b14a681 314172005-02-12 Hollis Blanchard <hollis@penguinppc.org>
31418
31419 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 31420 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 31421 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 31422 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 31423 * partmap/amiga.c (amiga_partition_map_iterate): Return
31424 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
31425 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31426
aca108aa 314272005-02-01 Guillem Jover <guillem@hadrons.org>
31428
31429 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
31430 help info.
31431
c9f9c556 314322005-01-31 Marco Gerards <metgerards@student.han.nl>
31433
31434 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
31435 Removed prototype.
31436 (grub_rescue_cmd_linux): New prototype.
31437 (grub_rescue_cmd_initrd): Likewise.
31438 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
31439 `bi_rec'.
31440 (grub_linux_release_mem): Release the memory for the initrd.
31441 (grub_load_linux): Renamed from this...
31442 (grub_rescue_cmd_linux): ...To this. Changed all callers.
31443 Changed `entry' not to be static. Loop over memory regions to
31444 find another one when the default fails.
31445 (grub_rescue_cmd_initrd): New function.
31446 (grub_linux_init): Remove function.
31447 (grub_linux_fini): Likewise.
31448 (GRUB_MOD_INIT): Register `initrd'.
31449 (GRUB_MOD_FINI): Unregister `initrd'.
31450 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
31451 Function removed.
31452 (grub_linux_normal_fini): Likewise.
31453 (GRUB_MOD_INIT): Register `initrd'.
31454 (GRUB_MOD_FINI): Unregister `initrd'.
31455
990cf3aa 314562005-01-31 Marco Gerards <metgerards@student.han.nl>
31457
31458 * commands/help.c: New file.
31459 * normal/arg.c (show_help): Renamed to...
31460 (grub_arg_show_help): ... this.
31461 * commands/i386/pc/halt.c: New file.
31462 * commands/i386/pc/reboot.c: Likewise.
31463 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
31464 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
31465 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
31466 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
31467 variables.
31468 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31469 `commands/help.c'.
31470 (pkgdata_MODULES): Add `help.mod'.
31471 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
31472 * grub/i386/pc/init.h (grub_reboot): New prototype.
31473 (grub_halt): Likewise.
31474 * include/grub/normal.h (grub_arg_show_help): New prototype.
31475 (grub_help_init): Likewise.
31476 (grub_help_fini): Likewise.
31477 * util/grub-emu.c (main): Initialize and deinitialize the help
31478 command.
31479
31480 * normal/cmdline.c (grub_cmdline_get): Doc fix.
31481
31482 * normal/command.c (grub_command_init): Fixed the description of
31483 the `set' and `unset' commands.
31484
314852005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 31486
31487 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
31488 function.
31489 * commands/ieee1275/halt.c: New file.
31490 * commands/ieee1275/reboot.c: Likewise.
31491 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
31492 `__attribute__ ((unused))'. Some GCS related fixed.
31493 (grub_suspend_init) [GRUB_UTIL]: Function removed.
31494 (grub_suspend_fini): Likewise.
31495 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
31496 and `halt.mod'.
31497 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
31498 (halt_mod_CFLAGS): New variables.
31499 * include/grub/powerpc/ieee1275/ieee1275.h
31500 (grub_ieee1275_interpret): New prototype.
31501
1ab09cc7 315022005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
31503
31504 * include/grub/misc.h (memmove): New prototype.
31505 (memcpy): Likewise.
31506
8b8cbdb2 315072005-01-22 Hollis Blanchard <hollis@penguinppc.org>
31508
31509 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
31510 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
31511
e3741a27 315122005-01-22 Marco Gerards <metgerards@student.han.nl>
31513
31514 * kern/misc.c (grub_strndup): Function rewritten.
31515
776bd780 315162005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
31517
31518 * normal/menu.c (TERM_WIDTH): Macro redefined.
31519 (TERM_TOP_BORDER_Y): Likewise.
31520 (draw_border): Replaced while-loop by a for-loop. Make the number
31521 of lines consistent with the number of lines displayed in
31522 print_entries. Added a margin below the rectangle.
31523 (print_entry): Make the entry fit in the rectangle.
31524 (print_entries): Display the scroll arrows next to the right
31525 border.
31526
78026bce 315272005-01-21 Marco Gerards <metgerards@student.han.nl>
31528
31529 * fs/minix.c (grub_minix_find_file): Reserve more space for
31530 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
31531 `grub_strncpy' to copy `path' into it.
31532
67bbaf0f 315332005-01-21 Marco Gerards <metgerards@student.han.nl>
31534
31535 Add the loopback device, a device via which files can be accessed
31536 as devices.
f19dbdb7 31537
67bbaf0f 31538 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
31539 (pkgdata_MODULES): Add loopback.mod.
31540 (loopback_mod_SOURCES): New variable.
31541 (loopback_mod_CFLAGS): Likewise.
31542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31543 `disk/loopback.c'.
31544 (pkgdata_MODULES): Add loopback.mod.
31545 (loopback_mod_SOURCES): New variable.
31546 (loopback_mod_CFLAGS): Likewise.
31547 * disk/loopback.c: new file.
31548 * include/grub/normal.h (grub_loop_init): New prototype.
31549 (grub_loop_fini): New prototype.
31550 * util/grub-emu.c (main): Initialize and de-initialize loopback
31551 support.
31552 * include/grub/disk.h (grub_disk_dev_id): Add
31553 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
31554
6f1c18bd 315552005-01-20 Hollis Blanchard <hollis@penguinppc.org>
31556
31557 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
31558 function.
31559 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
31560 (suspend_mod_SOURCES): New variable.
31561 (suspend_mod_CFLAGS): Likewise.
31562 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
31563 New prototype.
31564 * commands/ieee1275/suspend.c: New file.
31565
b38551da 315662005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31567
31568 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 31569 ((unused))' to `__attribute__ ((used))'.
b38551da 31570 (GRUB_MOD_FINI): Likewise.
31571 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
31572 * genmk.rb (PModule): Assign space to common symbols when linking
31573 modules.
31574
777aff39 315752005-01-20 Marco Gerards <metgerards@student.han.nl>
31576
31577 * include/grub/mm.h (grub_mm_init_region): Change the type of the
31578 `unsigned' arguments to `grub_size_t'.
31579 (grub_malloc): Likewise.
31580 (grub_realloc): Likewise.
31581 (grub_memalign): Likewise.
31582 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31583 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31584 * util/misc.c (grub_malloc): Likewise.
31585 (grub_realloc): Likewise.
31586 * kern/mm.c (get_header_from_pointer): Change the casts to
31587 `unsigned' into a cast to `grub_size_t'.
31588
31589 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31590 point to `currnode' when `currnode' is changed.
31591
31592 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31593 Schottelius <nico-linux@schottelius.org>.
31594
d0ff18e1 315952005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31596
31597 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31598 (note_path): Remove variable.
31599 (GRUB_IEEE1275_NOTE_NAME): New macro.
31600 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31601 (grub_ieee1275_note_hdr): New structure.
31602 (grub_ieee1275_note_desc): Likewise.
31603 (grub_ieee1275_note): Likewise.
31604 (load_note): Remove `dir' argument. All callers updated. Remove
31605 `note_img' and `path'. Do not load a file from `note_path'.
31606 Initialize a struct grub_ieee1275_note and write that to `out'.
31607 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31608
4ca7004c 316092005-01-05 Marco Gerards <metgerards@student.han.nl>
31610
31611 * util/misc.c (grub_util_read_image): Revert last change. It
31612 called `grub_util_read_at', which seeks from the beginning of the
31613 file.
31614
0b412211 316152005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31616
31617 * TODO: Add note about endianness in grub-mkimage.
31618 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31619 section.
31620 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31621 (grub_mkimage_SOURCES): New target.
31622 * include/grub/kernel.h (grub_start_addr): Remove variable.
31623 (grub_end_addr): Likewise.
31624 (grub_total_module_size): Likewise.
31625 (grub_kernel_image_size): Likewise.
31626 (GRUB_MODULE_MAGIC): New constant.
31627 (grub_module_info): New structure.
31628 (grub_arch_modules_addr): New prototype.
31629 (grub_get_end_addr): Remove prototype.
31630 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31631 * include/grub/powerpc/ieee1275/kernel.h: New file.
31632 * include/grub/util/misc.h (grub_util_get_fp_size): New
31633 prototype.
31634 (grub_util_read_at): Likewise.
31635 (grub_util_write_image_at): Likewise.
31636 * kern/main.c (grub_get_end_addr): Remove function.
31637 (grub_load_modules): Call grub_arch_modules_addr instead of using
31638 grub_end_addr. Look for a grub_module_info struct in memory. Use
31639 the grub_module_info fields instead of calling grub_get_end_addr
31640 as loop conditions. Move grub_add_unused_region code here.
31641 (grub_add_unused_region): Remove function.
31642 * kern/i386/pc/init.c: Include grub/cache.h.
31643 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31644 one call to add_mem_region.
31645 (grub_arch_modules_addr): New function.
31646 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31647 (grub_total_module_size): Likewise.
31648 Include grub/machine/kernel.h.
31649 (grub_arch_modules_addr): New function.
31650 * util/grub-emu.c (grub_end_addr): Remove variable.
31651 (grub_total_module_size): Likewise.
31652 (grub_arch_modules_addr): New function.
31653 * util/misc.c: Include unistd.h.
31654 (grub_util_get_fp_size): New function.
31655 (grub_util_read_at): Likewise.
31656 (grub_util_write_image_at): Likewise.
31657 (grub_util_read_image): Call grub_util_read_at.
31658 (grub_util_write_image): Call grub_util_write_image_at.
31659 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31660 additional memory in kernel_img for a struct grub_module_info.
31661 Fill in that grub_module_info.
31662 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31663
458786f8 316642005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31665
31666 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31667 New function.
31668 * include/grub/powerpc/ieee1275/ieee1275.h
31669 (grub_ieee1275_milliseconds): New prototype.
31670 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31671 Change to 1000.
31672 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31673 grub_ieee1275_milliseconds.
31674
ac507d1b 316752005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31676
31677 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31678 variable.
31679 (find_options): New function.
31680 (cmain): Call find_options.
31681 * include/grub/powerpc/ieee1275/ieee1275.h
31682 (grub_ieee1275_realmode): New extern variable.
31683 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31684 grub_map if grub_ieee1275_realmode is false.
31685
6b8fd1c4 316862004-12-29 Marco Gerards <metgerards@student.han.nl>
31687
31688 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31689 lines are inserted and make it work like readline. Reported by
31690 Vincent Pelletier <subdino2004@yahoo.fr>.
31691
8514a1e0 316922004-12-28 Marco Gerards <metgerards@student.han.nl>
31693
31694 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31695
31696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31697 `kern/powerpc/cache.S'.
31698
924b6140 316992004-12-27 Marco Gerards <metgerards@student.han.nl>
31700
31701 * genmk.rb: Handle the `Program' class in the main loop. Written
31702 by Johan Rydberg <jrydberg@gnu.org>.
31703 (Program): New class.
31704 (programs): New variable.
31705 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31706 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31707 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31708 (help_arch): Function removed.
31709 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31710 `powerpc/libgcc.h' and `loader.h'.
31711 (pkgdata_PROGRAMS): New variable.
31712 (sbin_UTILITIES): Variable removed.
31713 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31714 (grubof_SOURCES): Variable re-defined so it only includes the
31715 core functionality.
31716 (grubof_CFLAGS): Remove `-DGRUBOF'.
31717 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31718 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31719 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31720 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31721 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31722 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31723 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31724 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31725 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31726 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31727 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31728 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31729 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31730 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31731 (pc_mod_CFLAGS): New variables.
31732 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31733 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31734 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31735 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31736 Moved from here...
31737 * include/grub/i386/pc/init.h (grub_os_area_addr)
31738 (rub_os_area_size): ... to here.
31739 * include/grub/powerpc/ieee1275/ieee1275.h
31740 (grub_ieee1275_entry_fn): Export symbol.
31741 * include/grub/powerpc/ieee1275/init.h: New file.
31742 * include/grub/powerpc/libgcc.h: Likewise.
31743 * include/grub/cache.h: Likewise.
31744 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31745 <hollis@penguinppc.org>.
31746 * kern/dl.c: Include <grub/cache.h>.
31747 (grub_dl_flush_cache): New function.
31748 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31749 for this module.
31750 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31751 (grub_console_init): Removed prototypes.
31752 (grub_machine_init): Don't initialize the modules anymore.
31753 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31754 static.
31755 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31756 Macro undef removed.
31757 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31758 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31759 relocation `R_PPC_REL32'. Return an error when the relocation is
31760 unknown.
31761 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31762 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31763 * util/misc.c (grub_arch_sync_caches): Likewise.
31764
e4b47e0c 317652004-12-19 Marco Gerards <metgerards@student.han.nl>
31766
31767 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31768 `symlist.c', add `grubof_symlist.c'.
31769 (symlist.c): Variable removed.
31770 (grubof_HEADERS): Variable added.
31771 (grubof_symlist.c): New target.
31772 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31773 `kernel_img_HEADERS'.
31774 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31775 * kern/powerpc/dl.c: New file.
31776 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31777 Function removed.
31778 (grub_arch_dl_relocate_symbols): Likewise.
31779 (grub_register_exported_symbols): Likewise.
31780
4ceb3636 317812004-12-13 Marco Gerards <metgerards@student.han.nl>
31782
31783 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31784 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31785 to fail instead. Reported by Vincent Pelletier
31786 <subdino2004@yahoo.fr>.
31787
31788 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31789 it is not allocated. Reported by Vincent Pelletier
31790 <subdino2004@yahoo.fr>.
31791
31792 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31793 output so the output looks better.
f19dbdb7 31794
3f1578fe 317952004-12-04 Marco Gerards <metgerards@student.han.nl>
31796
31797 Modulize the partition map support and add support for the amiga
31798 partition map.
f19dbdb7 31799
3f1578fe 31800 * commands/ls.c: Include <grub/partition.h> instead of
31801 <grub/machine/partition.h>.
31802 * kern/disk.c: Likewise.
31803 * kern/rescue.c: Likewise.
31804 * loader/i386/pc/chainloader.c: Likewise.
31805 * normal/cmdline.c: Likewise.
31806 * kern/powerpc/ieee1275/init.c: Likewise.
31807 (grub_machine_init): Call `grub_pc_partition_map_init',
31808 `grub_amiga_partition_map_init' and
31809 `grub_apple_partition_map_init'.
31810 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31811 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31812 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31813 `partition.h' and `pc_partition.h'.
31814 (grub_setup_SOURCES): Remove
31815 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31816 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31817 (grub_emu_SOURCES): Likewise.
31818 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31819 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31820 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31822 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31823 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31824 (grubof_SOURCES): Likewise.
31825 * disk/i386/pc/partition.c: File removed.
31826 * disk/powerpc/ieee1275/partition.c: Likewise.
31827 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31828 * include/grub/i386/pc/partition.h: Likewise.
31829 * kern/partition.c: New file.
31830 * partmap/amiga.c: Likewise.
31831 * partmap/apple.c: Likewise.
31832 * partmap/pc.c: Likewise.
31833 * include/grub/partition.h: Likewise..
31834 * include/grub/pc_partition.h: Likewise.
31835 * util/grub-emu.c: Include <grub/partition.h> instead of
31836 <grub/machine/partition.h>.
31837 (main): Call `grub_pc_partition_map_init',
31838 `grub_amiga_partition_map_init' and
31839 `grub_apple_partition_map_init' and deinitialize afterwards.
31840 * util/i386/pc/biosdisk.c: Include `#include
31841 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31842 `<grub/machine/partition.h>'.
31843 * util/i386/pc/grub-setup.c: Likewise.
31844 * util/i386/pc/biosdisk.c: Likewise.
31845 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31846 partition information in case of a PC partition.
31847 * util/i386/pc/grub-setup.c: Include `#include
31848 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31849 `<grub/machine/partition.h>'.
31850 (setup): Only access the PC specific partition information in case
31851 of a PC partition.
31852
0ef4ced9 318532004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31854
0ef4ced9 31855 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31856 (grub_longjmp): Likewise.
31857 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31858 20.
31859 * normal/powerpc/setjmp.S: New file.
31860 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31861 `normal/powerpc/setjmp.S'.
31862 (grubof_CFLAGS): Add `-DGRUBOF'.
31863 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31864 [GRUB_UTIL && !GRUBOF].
f19dbdb7 31865
19950e29 318662004-11-16 Marco Gerards <metgerards@student.han.nl>
31867
31868 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31869 property named `name'. Correctly handle the error returned by
31870 `grub_ieee1275_finddevice' if a device can not be opened.
31871
a2fea427 318722004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31873
31874 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31875 `actual' for negativity.
31876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31877 kern/fshelp.c.
31878
41ea0ea3 318792004-11-01 Marco Gerards <metgerards@student.han.nl>
31880
31881 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31882 (PAGE_OFFSET): New macro.
31883 (CRTC_ADDR_PORT): Likewise.
31884 (CRTC_DATA_PORT): Likewise.
31885 (START_ADDR_HIGH_REGISTER): Likewise.
31886 (START_ADDR_LOW_REGISTER): Likewise.
31887 (GRAPHICS_ADDR_PORT): Likewise.
31888 (GRAPHICS_DATA_PORT): Likewise.
31889 (READ_MAP_REGISTER): Likewise.
31890 (INPUT_STATUS1_REGISTER): Likewise.
31891 (INPUT_STATUS1_VERTR_BIT): Likewise.
31892 (page): New variable.
31893 (wait_vretrace): New function.
31894 (set_read_map): Likewise.
31895 (set_start_address): Likewise.
31896 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31897 the right page.
31898 (check_vga_mem): Take the page into account.
31899 (write_char): Likewise.
31900 (write_cursor): Likewise.
31901 (scroll_up): Likewise. Copy the page to the page that is not
31902 shown and switch between both pages.
31903 (grub_vga_putchar): Fix off by one error.
31904 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31905 account.
31906
ad0bd20b 319072004-11-01 Marco Gerards <metgerards@student.han.nl>
31908
31909 Add support for iso9660 (including rockridge).
f19dbdb7 31910
ad0bd20b 31911 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31912 (iso9660_mod_SOURCES): New variable.
31913 (iso9660_mod_CFLAGS): Likewise.
31914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31915 * include/grub/fs.h (grub_iso9660_init): New prototype.
31916 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31917 * fs/iso9660.c: New file.
31918
31919 * include/grub/misc.h (grub_strncat): New prototype.
31920 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31921
ad0bd20b 31922 * fs/hfs.c (grub_hfs_mount): Translate the error
31923 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31924 * fs/jfs.c (grub_jfs_mount): Likewise.
31925 * fs/ufs.c (grub_ufs_mount): Likewise.
31926
a5477a59 319272004-10-28 Hollis Blanchard <hollis@penguinppc.org>
31928
31929 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
31930 which initialized BAT registers.
31931 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
31932 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31933 Move from here...
31934 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
31935 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
31936 ... to here.
31937 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
31938 (grub_mapclaim): Likewise.
31939 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
31940 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
31941 hand.
31942
9304c1f8 319432004-10-19 Hollis Blanchard <hollis@penguinppc.org>
31944
31945 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
31946 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
31947 -ffreestanding and -msoft-float.
31948
86f4ae25 319492004-10-15 Hollis Blanchard <hollis@penguinppc.org>
31950
31951 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
31952 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
31953 set in grub_ieee1275_flags.
31954
38912228 319552004-10-14 Hollis Blanchard <hollis@penguinppc.org>
31956
31957 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
31958 prototype.
31959 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
31960 grub_console_init first.
31961 Change the memory range used for grub_ieee1275_claim and
31962 grub_mm_init_region.
31963 Print an error message if the claim fails.
31964 Include <grub/misc.h>.
31965
d1923dc8 319662004-10-13 Hollis Blanchard <hollis@penguinppc.org>
31967
31968 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
31969 Call grub_children_iterate for device nodes of type `scsi',
31970 `ide', or `ata'.
31971 (grub_ofdisk_open): Remove manual device alias resolution.
31972 Fix memory leak when device cannot be opened.
f19dbdb7 31973 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 31974 (grub_children_iterate): New prototype.
31975 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
31976 New function.
31977 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31978 Return -1 if args.size was -1.
31979
4512e4f3 319802004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31981
31982 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
31983 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
31984 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
31985 Open Firmware's memory for it; claim memory from _start to _end.
31986 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
31987 (_end): New extern.
31988 (_start): Zero BSS from __bss_start to _end.
31989 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31990 New extern.
31991 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
31992
4d61feb0 319932004-10-11 Hollis Blanchard <hollis@penguinppc.org>
31994
ad0bd20b 31995 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
31996 -1 if args.base was -1.
4d61feb0 31997
026fa2f9 319982004-10-08 Hollis Blanchard <hollis@penguinppc.org>
31999
32000 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
32001 escape sequence instead of a literal ^L. Also call
32002 grub_ofconsole_gotoxy.
32003
9f2220ef 320042004-10-03 Hollis Blanchard <hollis@penguinppc.org>
32005
32006 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
32007 void * arguments to grub_addr_t. All callers updated. Also make
32008 the `result' argument optional.
32009 (grub_ieee1275_release): change void * arguments to grub_addr_t.
32010 All callers updated.
32011
8a572cd7 320122004-09-22 Hollis Blanchard <hollis@penguinppc.org>
32013
32014 * commands/ls.c (grub_ls_list_files): Use the string following the
32015 initial ')', if present, as the filesystem path.
32016 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
32017
32018 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
32019
18aa81f2 320202004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
32021
32022 Make the source code of the menu interface more readable.
f19dbdb7 32023
18aa81f2 32024 * normal/menu.c: Include grub/mm.h.
32025 (TERM_WIDTH): New macro.
32026 (TERM_HEIGHT): Likewise.
32027 (TERM_INFO_HEIGHT): Likewise.
32028 (TERM_MARGIN): Likewise.
32029 (TERM_SCROLL_WIDTH): Likewise.
32030 (TERM_TOP_BORDER_Y): Likewise.
32031 (TERM_LEFT_BORDER_X): Likewise.
32032 (TERM_BORDER_WIDTH): Likewise.
32033 (TERM_MESSAGE_HEIGHT): Likewise.
32034 (TERM_BORDER_HEIGHT): Likewise.
32035 (TERM_NUM_ENTRIES): Likewise.
32036 (TERM_FIRST_ENTRY_Y): Likewise.
32037 (TERM_ENTRY_WIDTH): Likewise.
32038 (TERM_CURSOR_X): Likewise.
32039 (draw_border): Use macros instead of magic numbers.
32040 (print_entry): Likewise.
32041 (print_entries): Likewise.
32042 (run_menu): Likewise. Also, handle the key 'e'.
32043 (run_menu_entry): Ignore empty command lines.
32044 (print_message): Added a new argument EDIT. If EDIT is true,
32045 print a different message.
32046 (init_page): Likewise.
32047 (edit_menu_entry): New function. Not implemented yet.
32048
b47efe30 320492004-09-17 Marco Gerards <metgerards@student.han.nl>
32050
32051 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
32052 can be loaded from normal mode.
f19dbdb7 32053
b47efe30 32054 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
32055 `multiboot.mod'.
32056 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
32057 (multiboot_mod_CFLAGS): New variables.
32058 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 32059 * loader/i386/pc/multiboot_normal.c: Likewise.
32060
b47efe30 32061 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
32062 attribute `unused'.
f19dbdb7 32063
b47efe30 32064 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
32065 `fdiro' to read the mode information from instead of `diro'.
32066
32067 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
32068 looking up a symlink.
32069
32070 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
32071 macro.
32072 * normal/command.c (grub_command_execute): Don't parse the
32073 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
32074 flags of the command.
32075
32076 * normal/menu.c (grub_menu_run): Fix typo.
32077
da75ac71 320782004-09-14 Hollis Blanchard <hollis@penguinppc.org>
32079
32080 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
32081
32082 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
32083 `y + 1' instead of `y - 1'.
32084
32085 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 32086
062b24c2 320872004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
32088
32089 From Hollis Blanchard <hollis@penguinppc.org>:
32090 * kern/misc.c (memmove): New alias for grub_memmove.
32091 (memcmp): New alias for grub_memcmp.
32092 (memset): New alias for grub_memset.
f19dbdb7 32093 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 32094 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 32095 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 32096 (grub_ieee1275_get_property): Likewise.
f19dbdb7 32097
8ddad845 320982004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
32099
32100 Added normal mode command `chainloader' as module chain.mod, which
32101 depends on normal.mod and _chain.mod.
f19dbdb7 32102
8ddad845 32103 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
32104 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
32105 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
32106 Deleted prototype.
32107 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
32108 but arguments parsing moved to ...
32109 (grub_chainloader_cmd): ... here. New function.
32110 * include/grub/i386/pc/chainloader.h: New file.
32111 * loader/i386/pc/chainloader_normal.c: Likewise.
32112
2c1f4ce3 321132004-09-11 Marco Gerards <metgerards@student.han.nl>
32114
32115 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
32116 (grub_mkimage_LDFLAGS): Likewise.
32117 (grub_emu_SOURCES): Likewise.
32118 (kernel_img_HEADERS): Added fshelp.h.
32119 * fs/ext2.c: Include <grub/fshelp.h>.
32120 (FILETYPE_REG): New macro.
32121 (FILETYPE_INO_REG): Likewise.
32122 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
32123 Changed all users.
32124 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
32125 all users.
32126 (grub_fshelp_node): New struct.
32127 (grub_ext2_data): Added member `diropen'. Changed member `inode'
32128 to a pointer.
32129 (grub_ext2_get_file_block): Removed function.
32130 (grub_ext2_read_block): New function.
32131 (grub_ext2_read_file): Replaced parameter `data' by `node'.
32132 This function was written.
32133 (grub_ext2_mount): Read the root inode. Create a diropen struct.
32134 (grub_ext2_find_file): Removed function.
32135 (grub_ext2_read_symlink): New function.
32136 (grub_ext2_iterate_dir): Likewise.
32137 (grub_ext2_open): Rewritten.
32138 (grub_ext2_dir): Rewritten.
32139 * include/grub/fshelp.h: New file.
32140 * fs/fshelp.c: Likewise.
32141
3c52136a 321422004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
32143
32144 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
32145 (print_message): Add a missing newline.
32146 (run_menu): Added timeout support.
32147 (run_menu_entry): New local function.
32148 (grub_menu_run): Added support for booting.
32149
32150 * kern/loader.c (grub_loader_is_loaded): New function.
32151
32152 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
32153 (grub_get_rtc): Exported.
32154
32155 * include/grub/i386/pc/time.h: Include grub/symbol.h.
32156 (grub_get_rtc): Exported.
32157
32158 * include/grub/normal.h (struct grub_command_list): Remove
32159 constant from the member `command'.
32160
32161 * include/grub/loader.h (grub_loader_is_loaded): Declared.
32162
32163 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
32164
32165 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
32166
aa033560 321672004-08-28 Marco Gerards <metgerards@student.han.nl>
32168
32169 Add support for the JFS filesystem.
32170
32171 * fs/jfs.c: New file.
32172 * include/grub/fs.h (grub_jfs_init): New prototype.
32173 (grub_jfs_fini): New prototype.
32174 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
32175 (grub_emu_SOURCES): Likewise.
32176 (pkgdata_MODULES): Add jfs.mod.
32177 (jfs_mod_SOURCES): New variable.
32178 (jfs_mod_CFLAGS): Likewise.
32179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
32180 (grubof_SOURCES): Likewise.
32181 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
32182
32183 * fs/fat.c (grub_fat_find_dir): Convert the filename little
32184 endian to the host endian.
32185 (grub_fat_utf16_to_utf8): Move function from there...
32186 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 32187 the endianness of the source string anymore.
aa033560 32188 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
32189
94bc45af 321902004-08-24 Marco Gerards <metgerards@student.han.nl>
32191
32192 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
32193 (grub_boot_fini) [GRUB_UTIL]: Likewise.
32194 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
32195 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 32196
94bc45af 32197 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
32198 (grub_hfs_iterate_dir): Make the function static. Add prototypes
32199 for `node_found' and `it_dir'.
32200 (grub_hfs_dir): Add prototype for `dir_hook'.
32201
32202 * fs/minix.c (grub_minix_get_file_block): Add prototype for
32203 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
32204 and `indir32' to silence a gcc warning.
32205
32206 * include/grub/fs.h (grub_hfs_init): New prototype.
32207 (grub_hfs_fini): Likewise.
f19dbdb7 32208
32209
97543f08 322102004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
32211
32212 Each disk device has its own id now. This is useful to make use
32213 of multiple disk devices.
f19dbdb7 32214
97543f08 32215 * include/grub/disk.h (grub_disk_dev_id): New enum.
32216 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
32217 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
32218
32219 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
32220 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32221
32222 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
32223 GRUB_DISK_DEVICE_OFDISK_ID as an id.
32224
32225 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
32226 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32227
32228 * include/grub/disk.h (struct grub_disk_dev): Added a new member
32229 "id" which is used by the cache manager.
32230
32231 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
32232 of just "GRUB".
32233
64372eb4 322342004-08-18 Marco Gerards <metgerards@student.han.nl>
32235
32236 * fs/hfs.c: New file.
32237 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
32238 (grub_emu_SOURCES): Likewise.
32239 (pkgdata_MODULES): Add hfs.mod.
32240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
32241 (grubof_SOURCES): Likewise.
32242 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
32243
32244 * include/grub/misc.h (grub_strncasecmp): Add prototype.
32245 * kern/misc.c (grub_strncasecmp): Add function.
32246
cc61b58f 322472004-08-14 Marco Gerards <metgerards@student.han.nl>
32248
32249 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
32250 with parentheses.
32251
32252 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
32253 (grub_ext2_dir): In case the directory entry type is unknown, read
32254 it from the inode.
32255
0ef123f6 322562004-08-02 Peter Bruin <pjbruin@dds.nl>
32257
32258 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
32259 grub_load_linux instead of grub_rescue_cmd_linux as second
32260 argument of grub_rescue_register_command.
32261
32262 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
32263
a447c5df 322642004-07-27 Marco Gerards <metgerards@student.han.nl>
32265
32266 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
32267 function.
32268 * commands/boot.c: Remove the check for `GRUB_UTIL'.
32269 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32270 `loader/powerpc/ieee1275/linux.c',
32271 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
32272 * include/grub/powerpc/ieee1275/ieee1275.h
32273 (grub_ieee1275_release): New prototype.
32274 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
32275 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
32276 normal, boot, linux and linux_normal.
32277 * loader/powerpc/ieee1275/linux.c: New file.
32278 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32279
5a9e3546 322802004-07-12 Marco Gerards <metgerards@student.han.nl>
32281
32282 * normal/arg.c (grub_arg_parse): Correct error handling after
32283 reallocating the argumentlist (check if `argl' is not null instead
32284 of checking if `args' is not null).
32285 * kern/mm.c (grub_realloc): Return the same pointer when using the
32286 same region, instead of returning the header address.
32287
e15199cb 322882004-07-11 Marco Gerards <metgerards@student.han.nl>
32289
32290 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
32291 one block instead of two when looking for the initial partition.
32292 (grub_partition_probe): Initialize the local variable `p' with 0.
32293 Use base 10 for the grub_strtoul call.
32294 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
32295 need for one local variable.
32296 (grub_strtoul): Don't add the new value to `num', instead of that
32297 just assign it.
32298
020616c2 322992004-07-11 Marco Gerards <metgerards@student.han.nl>
32300
32301 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
32302 (pxeboot_img_SOURCES): New variable.
32303 (pxeboot_img_ASFLAGS): Likewise.
32304 (pxeboot_img_LDFLAGS): Likewise.
32305 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
32306 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
32307 <lode_leroy@hotmail.com>.
32308
6c51eb64 323092004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32310
32311 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
32312 there was no input.
32313
cfb12aff 323142004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32315
32316 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
32317 the history buffer logic.
32318
6eabba74 323192004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32320
32321 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
32322 (FILETYPE_INO_SYMLINK): New macros.
32323 (grub_ext2_find_file): Check if the node is a directory using the
32324 inode stat information instead of using the filetype in the
32325 dirent. Exclude the first character of an absolute symlink.
32326 (grub_ext2_dir): Mask out the filetype part of the mode member of
32327 the inode.
32328
66e19ef8 323292004-05-24 Marco Gerards <metgerards@student.han.nl>
32330
32331 Add support for UFS version 1 and 2. Add support for the minix
32332 filesystem version 1 and 2, both the variants with 14 and 30 long
32333 filenames.
f19dbdb7 32334
66e19ef8 32335 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
32336 fs/minix.c.
32337 (grub_emu_SOURCES): Likewise.
32338 (pkgdata_MODULES): Add ufs.mod and minix.mod.
32339 (ufs_mod_SOURCES): New variable.
32340 (ufs_mod_CFLAGS): Likewise.
32341 (minix_mod_SOURCES): Likewise.
32342 (minix_mod_CFLAGS): Likewise.
32343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
32344 fs/minix.c.
32345 (grubof_SOURCES): Likewise.
32346 * fs/ufs.c: New file.
32347 * fs/minix.c: New file.
32348 * include/grub/fs.h (grub_ufs_init): New prototype.
32349 (grub_ufs_fini): Likewise.
32350 (grub_minix_init): Likewise.
32351 (grub_minix_fini): Likewise.
32352 * util/grub-emu.c (main): Initialize and deinitialize UFS and
32353 minix fs.
32354
cc2e748a 323552004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
32356
32357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
32358 commands/ls.c, commands/terminal.c, commands/boot.c,
32359 commands/cmp.c and commands/cat.c.
32360 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
32361
32362 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
32363 "env.h"
32364
4b13b216 323652004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32366
32367 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
32368 and grub_, respectively. Because the conversion is trivial and
32369 mechanical, I omit the details here. Please refer to the CVS
32370 if you need more information.
32371
6a142551 323722004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32373
32374 * include/pupa: Renamed to ...
32375 * include/grub: ... this.
32376 * util/i386/pc/pupa-mkimage.c: Renamed to ...
32377 * util/i386/pc/grub-mkimage.c: ... this.
32378 * util/i386/pc/pupa-setup.c: Renamed to ...
32379 * util/i386/pc/grub-setup.c: ... this.
32380 * util/pupa-emu.c: Renamed to ...
32381 * util/grub-emu.c: ... this.
32382
e56cdf21 323832004-03-29 Marco Gerards <metgerards@student.han.nl>
32384
32385 Add support for the newworld apple macintosh (PPC). This has been
32386 tested on the powerbook 2000 only. It only adds support for
32387 generic ieee1275 functions, console and disk support. This should
32388 be easy to port to other architectures with support for Open
32389 Firmware.
f19dbdb7 32390
e56cdf21 32391 * configure.ac: Accept the powerpc as host_cpu. In the case of
32392 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
32393 specific tests are only executed while building for the i386.
32394 Inverse test for crosscompile.
32395 * genmk.rb (Utility): Allow assembler files.
32396 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
32397 * conf/powerpc-ieee1275.rmk: New file.
32398 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
32399 * disk/powerpc/ieee1275/partition.c: Likewise.
32400 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
32401 * include/pupa/powerpc/ieee1275/console.h: Likewise.
32402 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
32403 * include/pupa/powerpc/ieee1275/time.h: Likewise.
32404 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
32405 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
32406 * include/pupa/powerpc/ieee1275/loader.h
32407 * include/pupa/powerpc/setjmp.h: Likewise.
32408 * include/pupa/powerpc/types.h: Likewise.
32409 * kern/powerpc/ieee1275/init.c: Likewise.
32410 * kern/powerpc/ieee1275/openfw.c: Likewise.
32411 * term/powerpc/ieee1275/ofconsole.c: Likewise.
32412
32413 These files were written by Johan Rydberg
32414 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 32415
e56cdf21 32416 * boot/powerpc/ieee1275/cmain.c: New file.
32417 * boot/powerpc/ieee1275/crt0.S: Likewise.
32418 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
32419 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
32420
8c8cc205 324212004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
32422
32423 * Makefile.in: Update copyright.
32424 * genmodsrc.sh: Likewise.
32425 * gensymlist.sh: Likewise.
32426 * term/i386/pc/vga.c: Indent correctly.
32427
32428 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
32429 bugreporting address.
32430 * util/i386/pc/pupa-setup.c (usage): Likewise,
32431 (main): Call pupa_ext2_init and pupa_ext2_fini.
32432
f19dbdb7 32433 * fs/fat.c (log2): Renamed to ...
8c8cc205 32434 (fat_log2): ... this.
32435 All callers changed.
32436 * kern/misc.c (memcpy): Alias to pupa_memmove.
32437 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
32438 lvalue cast.
32439 * util/console.c (pupa_ncurses_fini): Return 0.
32440
32441 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
32442 Move fail label here.
32443 [__GNU__]: Don't warn when using stat.
32444 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
32445 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
32446 long int. Use strtol instead of strtoul.
f19dbdb7 32447
db1771cf 324482004-03-14 Marco Gerards <metgerards@student.han.nl>
32449
32450 * commands/boot.c: New file.
32451 * commands/cat.c: Likewise.
32452 * commands/cmp.c: Likewise.
32453 * commands/ls.c: Likewise.
32454 * commands/terminal.c: Likewise.
32455 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
32456 (pupa_register_command): Changed interface to match the new
32457 argument parser.
32458 (pupa_command_execute): Changed (almost rewritten) so it uses
32459 pupa_split_command. Added support for setting variables using the
32460 syntax `foo=bar'.
32461 (rescue_command): Changed to work with the new argument parser.
32462 (terminal_command): Moved from here to commands/terminal.c.
32463 (set_command): New function.
32464 (unset_command): New function.
32465 (insmod_command): New function.
32466 (rmmod_command): New function.
32467 (lsmod_command): New function.
32468 (pupa_command_init): Don't initialize the command terminal
32469 anymore. Initialize the commands set, unset, insmod, rmmod and
32470 lsmod.
32471 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
32472 (kernel_img_HEADERS): Add arg.h and env.h.
32473 (pupa_mkimage_LDFLAGS): Add kern/env.c.
32474 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
32475 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
32476 normal/arg.c.
32477 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
32478 terminal.mod.
32479 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
32480 (boot_mod_SOURCES): New variable.
32481 (terminal_mod_SOURCES): Likewise.
32482 (ls_mod_SOURCES): Likewise.
32483 (cmp_mod_SOURCES): Likewise.
32484 (cat_mod_SOURCES): Likewise.
32485
32486 * normal/arg.c: New file.
32487 * kern/env.c: Likewise.
32488 * include/pupa/arg.h: Likewise.
32489 * include/pupa/env.h: Likewise.
32490 * font/manager.c (font_command): Changed to match argument parsing
32491 interface changes.
32492 (PUPA_MOD_INIT): Likewise.
32493 * hello/hello.c (pupa_cmd_hello): Likewise.
32494 (PUPA_MOD_INIT): Likewise.
32495 * include/pupa/disk.h: Include <pupa/device.h>.
32496 (pupa_print_partinfo): New prototype.
32497 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
32498 (pupa_dl_get_prefix): Likewise.
32499 * include/pupa/misc.h: Include <pupa/err.h>.
32500 (pupa_isgraph): New prototype.
32501 (pupa_isdigit): Likewise.
32502 (pupa_split_cmdline): Likewise.
32503 * include/pupa/normal.h: Include <pupa/arg.h>.
32504 (pupa_command): Changed the prototype of the member `func' to
32505 match the argument parsing interface. Added member `options'.
32506 (pupa_register_command): Updated to match function.
32507 (pupa_arg_parse): New prototype.
32508 (pupa_hello_init) [PUPA_UTIL]: New prototype.
32509 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
32510 (pupa_ls_init) [PUPA_UTIL]: Likewise.
32511 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
32512 (pupa_cat_init) [PUPA_UTIL]: Likewise.
32513 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
32514 (pupa_boot_init) [PUPA_UTIL]: Likewise.
32515 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
32516 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
32517 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
32518 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
32519 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
32520 * kern/disk.c: Include <pupa/file.h>.
32521 (pupa_print_partinfo): New function.
32522 * kern/dl.c: Include <pupa/env.h>.
32523 (pupa_dl_dir): Variable removed.
32524 (pupa_dl_load): Use the environment variable `prefix' instead of
32525 the variable pupa_dl_dir.
32526 (pupa_dl_set_prefix): Function removed.
32527 (pupa_dl_get_prefix): Likewise.
32528 * kern/i386/pc/init.c: Include <pupa/env.h>.
32529 (pupa_machine_init): Use the environment variable `prefix' instead of
32530 using pupa_dl_set_prefix to set the prefix.
32531 * kern/main.c: Include <pupa/env.h>.
32532 (pupa_set_root_dev): Use the environment variable `prefix' instead of
32533 using pupa_dl_get_prefix to get the prefix.
32534 * kern/misc.c: Include <pupa/env.h>.
32535 (pupa_isdigit): New function.
32536 (pupa_isgraph): Likewise.
32537 (pupa_ftoa): Likewise.
32538 (pupa_vsprintf): Added support for printing values of the type
32539 `double'. Make it possible to format variable output when using
32540 formatting like `%1.2%f'.
32541 (pupa_split_cmdline): New function.
32542 * kern/rescue.c: Include <pupa/env.h>.
32543 (next_word): Removed function.
32544 (pupa_rescue_cmd_prefix): Likewise.
32545 (pupa_rescue_cmd_set): New function.
32546 (pupa_rescue_cmd_unset): New function.
32547 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32548 split the command line instead of splitting it here. Added
32549 support for setting variables using the syntax `foo=bar'. Don't
32550 initialize the prefix command anymore. Initialized the set and
32551 unset commands.
32552 * normal/cmdline.c: Include <pupa/env.h>.
32553 (pupa_tab_complete): Added prototypes for print_simple_completion,
32554 print_partition_completion, add_completion, iterate_commands,
32555 iterate_dev, iterate_part and iterate_dir. Moved code to print
32556 partition information from here to kern/disk.c.
fe6b695a 32557 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 32558 * normal/main.c: Include <pupa/env.h>.
32559 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
32560 instead of using pupa_dl_get_prefix to get the prefix.
32561 * term/i386/pc/vga.c: Include <pupa/arg.h>.
32562 (check_vga_mem): Cast pointers to `void *' to silence a gcc
32563 warning.
32564 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
32565 (pupa_vga_setcolor): Declare unused variables with `__attribute__
32566 ((unused))' to silence a gcc warning.
32567 (pupa_vga_setcolor): Likewise.
32568 (debug_command): Changed to match argument parsing
32569 interface changes.
32570 * util/pupa-emu.c: Include <pupa/env.h>.
32571 (options): Added 0's for unused fields to silence a gcc warning.
32572 (argp): Likewise.
32573 (main): Use the environment variable `prefix' instead of using
32574 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
32575 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
32576 and terminal.
32577
32578 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
32579 * util/misc.c: Include <malloc.h>.
32580 (pupa_malloc): Rewritten so errors are correctly reported.
32581 (pupa_realloc): Likewise.
32582 (pupa_memalign): Likewise.
32583 (pupa_mm_init_region): Declare unused variables with
32584 `__attribute__ ((unused))' to silence a gcc warning.
32585 * normal/i386/setjmp.S: Remove tab at the end of the file to
32586 silence a gcc warning.
32587 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32588 variables with `__attribute__ ((unused))' to silence a gcc
32589 warning.
32590 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32591 local variable i unsigned to silence a gcc warning.
32592
32593 * kern/term.c: Include <pupa/misc.h>.
32594 (pupa_more_lines): New variable.
32595 (pupa_more): Likewise.
32596 (pupa_putcode): When the pager is active pause at the end of every
32597 screen.
32598 (pupa_set_more): New function.
32599 * include/pupa/term.h (pupa_set_more): New prototype.
32600
32601
3b1139cb 326022004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32603
32604 Now this project is GRUB 2 rather than PUPA. The location of
32605 the CVS repository was moved to GRUB's.
f19dbdb7 32606
3b1139cb 32607 * configure.ac: Use bug-grub as the reporting address.
32608 Use GRUB instead of PUPA.
32609 Change the version number to 1.90.
32610
8367695c 326112004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32612
32613 * genkernsyms.sh: Updated copyright information.
32614 * genmk.rb: Likewise.
32615 * genmodsrc.sh: Likewise.
32616 * gensymlist.sh: Likewise.
32617 * boot/i386/pc/boot.S: Likewise.
32618 * boot/i386/pc/diskboot.S: Likewise.
32619 * disk/i386/pc/biosdisk.c: Likewise.
32620 * disk/i386/pc/partition.c: Likewise.
32621 * font/manager.c: Likewise.
32622 * fs/ext2.c: Likewise.
32623 * fs/fat.c: Likewise.
32624 * include/pupa/boot.h: Likewise.
32625 * include/pupa/device.h: Likewise.
32626 * include/pupa/disk.h: Likewise.
32627 * include/pupa/dl.h: Likewise.
32628 * include/pupa/elf.h: Likewise.
32629 * include/pupa/err.h: Likewise.
32630 * include/pupa/file.h: Likewise.
32631 * include/pupa/font.h: Likewise.
32632 * include/pupa/fs.h: Likewise.
32633 * include/pupa/kernel.h: Likewise.
32634 * include/pupa/loader.h: Likewise.
32635 * include/pupa/misc.h: Likewise.
32636 * include/pupa/mm.h: Likewise.
32637 * include/pupa/net.h: Likewise.
32638 * include/pupa/normal.h: Likewise.
32639 * include/pupa/rescue.h: Likewise.
32640 * include/pupa/setjmp.h: Likewise.
32641 * include/pupa/symbol.h: Likewise.
32642 * include/pupa/term.h: Likewise.
32643 * include/pupa/types.h: Likewise.
32644 * include/pupa/i386/setjmp.h: Likewise.
32645 * include/pupa/i386/types.h: Likewise.
32646 * include/pupa/i386/pc/biosdisk.h: Likewise.
32647 * include/pupa/i386/pc/boot.h: Likewise.
32648 * include/pupa/i386/pc/console.h: Likewise.
32649 * include/pupa/i386/pc/init.h: Likewise.
32650 * include/pupa/i386/pc/kernel.h: Likewise.
32651 * include/pupa/i386/pc/linux.h: Likewise.
32652 * include/pupa/i386/pc/loader.h: Likewise.
32653 * include/pupa/i386/pc/memory.h: Likewise.
32654 * include/pupa/i386/pc/multiboot.h: Likewise.
32655 * include/pupa/i386/pc/partition.h: Likewise.
32656 * include/pupa/i386/pc/time.h: Likewise.
32657 * include/pupa/i386/pc/vga.h: Likewise.
32658 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32659 * include/pupa/util/getroot.h: Likewise.
32660 * include/pupa/util/misc.h: Likewise.
32661 * include/pupa/util/resolve.h: Likewise.
32662 * kern/device.c: Likewise.
32663 * kern/disk.c: Likewise.
32664 * kern/dl.c: Likewise.
32665 * kern/err.c: Likewise.
32666 * kern/file.c: Likewise.
32667 * kern/fs.c: Likewise.
32668 * kern/loader.c: Likewise.
32669 * kern/main.c: Likewise.
32670 * kern/misc.c: Likewise.
32671 * kern/mm.c: Likewise.
32672 * kern/rescue.c: Likewise.
32673 * kern/term.c: Likewise.
32674 * kern/i386/dl.c: Likewise.
32675 * kern/i386/pc/init.c: Likewise.
32676 * kern/i386/pc/lzo1x.S: Likewise.
32677 * kern/i386/pc/startup.S: Likewise.
32678 * loader/i386/pc/chainloader.c: Likewise.
32679 * loader/i386/pc/linux.c: Likewise.
32680 * loader/i386/pc/multiboot.c: Likewise.
32681 * normal/cmdline.c: Likewise.
32682 * normal/command.c: Likewise.
32683 * normal/main.c: Likewise.
32684 * normal/menu.c: Likewise.
32685 * normal/i386/setjmp.S: Likewise.
32686 * term/i386/pc/console.c: Likewise.
32687 * term/i386/pc/vga.c: Likewise.
32688 * util/console.c: Likewise.
32689 * util/genmoddep.c: Likewise.
32690 * util/misc.c: Likewise.
32691 * util/pupa-emu.c: Likewise.
32692 * util/resolve.c: Likewise.
32693 * util/unifont2pff.rb: Likewise.
32694 * util/i386/pc/biosdisk.c: Likewise.
32695 * util/i386/pc/getroot.c: Likewise.
32696 * util/i386/pc/pupa-mkimage.c: Likewise.
32697 * util/i386/pc/pupa-setup.c: Likewise.
32698
e6eced71 326992004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32700
32701 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32702 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32703 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32704 reading and reset it after reading.
32705 (pupa_ext2_close): Return PUPA_ERR_NONE.
32706
32707 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32708 Correct value.
32709 (struct linux_kernel_header): Add kernel_version and
32710 initrd_addr_max.
32711 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32712 pupa_file_read succeeds.
32713 (pupa_rescue_cmd_initrd): Implement.
32714
5aded270 327152003-12-03 Marco Gerards <metgerards@student.han.nl>
32716
32717 * fs/ext2.c (pupa_ext2_label): New function.
32718 (pupa_ext2_fs): Added label.
32719 * fs/fat.c (pupa_fat_label): New function.
32720 (pupa_fat_fs): Added label.
32721 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32722
32723 * kern/misc.c (pupa_strndup): New function.
32724 * include/pupa/misc.h (pupa_strndup): New prototype.
32725
32726 * include/pupa/normal.h: Include <pupa/err.h>.
32727 (pupa_set_history): New prototype.
32728 (pupa_iterate_commands): New prototype.
32729 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32730 <pupa/disk.h>, <pupa/file.h>.
32731 (hist_size): New variable.
32732 (hist_lines): Likewise.
32733 (hist_end): Likewise.
32734 (hist_used): Likewise.
32735 (pupa_set_history): New function.
32736 (pupa_history_get): Likewise.
32737 (pupa_history_add): Likewise.
32738 (pupa_history_replace): Likewise.
32739 (pupa_tab_complete): Likewise.
32740 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32741 completion shows partitionnames while completing partitions, this
32742 feature was suggested by Jeff Bailey.
32743 * normal/command.c (pupa_iterate_commands): New function.
32744 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32745 (pupa_normal_init): Initialize history buffer.
32746 (PUPA_MOD_INIT): Likewise.
32747 (pupa_normal_fini): Free the history buffer.
32748 (PUPA_MOD_FINI): Likewise.
32749
32750 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32751 key.
32752
32753 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32754 * configure.ac [i386]: Check for regparam bug.
32755 (NESTED_FUNC_ATTR) [! i386]: Defined.
32756
1f7315a3 327572003-11-17 Marco Gerards <metgerards@student.han.nl>
32758
32759 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32760 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32761 (pupa_emu_SOURCES): New variable.
32762 (pupa_emu_LDFLAGS): Likewise.
32763 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32764 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32765 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32766 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32767 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32768 (pupa_jmp_buf): New typedef.
32769 (pupa_setjmp) [PUPA_UTIL]: New macro.
32770 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32771 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32772 (pupa_refresh): New prototype.
32773 * include/pupa/util/getroot.h: New file.
32774 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32775 it.
32776 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32777 (pupa_rescue_cmd_cat): Likewise.
32778 (pupa_rescue_cmd_ls): Likewise.
32779 (pupa_rescue_cmd_testload): Likewise.
32780 (pupa_rescue_cmd_lsmod): Likewise.
32781 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32782 * normal/menu.c (run_menu): Likewise.
32783 * kern/term.c (pupa_cls): Likewise.
32784 (pupa_refresh): New function.
32785 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32786 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32787 * util/console.c: New file.
f19dbdb7 32788
1f7315a3 32789 * util/i386/pc/getroot.c: New file.
32790 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32791 (pupa_putchar): New function.
32792 (pupa_refresh): Likewise.
32793 (xgetcwd): Function moved to ...
32794 (strip_extra_slashes): Likewise.
32795 (get_prefix): Likewise.
f19dbdb7 32796 * util/i386/pc/getroot.c: ... here.
1f7315a3 32797 (find_root_device): Function moved and renamed to...
32798 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32799 Changed all callers.
32800 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32801 and renamed to...
32802 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32803 Changed all callers.
32804 * util/misc.c (pupa_memalign): New function.
32805 (pupa_mm_init_region): Likewise.
32806 (pupa_register_exported_symbols): Likewise.
32807 (pupa_putchar): Function removed.
32808 * util/pupa-emu.c: New file.
32809
9a5c1ade 328102003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32811
32812 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32813 (_multiboot_mod_SOURCES): New variable.
32814 (_multiboot_mod_CFLAGS): Likewise.
32815 * loader/i386/pc/multiboot.c: New file.
32816 * include/pupa/i386/pc/multiboot.h: Likewise.
32817 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32818 (pupa_multiboot_real_boot): New function.
32819 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32820 (pupa_multiboot_real_boot): New prototype.
32821 (pupa_rescue_cmd_multiboot): Likewise
32822 (pupa_rescue_cmd_module): Likewise.
32823
32824 * kern/loader.c (pupa_loader_set): Continue when
32825 pupa_loader_unload_func() fails.
32826 (pupa_loader_unset): New function.
32827 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32828
32829 * kern/misc.c (pupa_stpcpy): New function.
32830 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32831
8e72a9c0 328322003-11-12 Marco Gerards <metgerards@student.han.nl>
32833
32834 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32835 for available extensions.
32836
32837 * include/pupa/i386/pc/time.h: New file.
32838 * kern/disk.c: Include <pupa/machine/time.h>.
32839 (PUPA_CACHE_TIMEOUT): New macro.
32840 (pupa_last_time): New variable.
32841 (pupa_disk_open): Flush the cache when there was a timeout.
32842 (pupa_disk_close): Reset the timer.
32843 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32844 pupa_currticks.
32845 * util/misc.c: Include <sys/times.h>
32846 (pupa_get_rtc): New function.
32847
c4adbd32 328482003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32849
32850 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32851 as blocks.
32852 (pupa_ext2_get_file_block): Use blocks member.
32853
32854 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32855 first block. Return -1 instead of pupa_errno on error.
32856
bfd30f06 328572003-10-27 Marco Gerards <metgerards@student.han.nl>
32858
32859 * README: In the pupa-mkimage example use _chain instead of chain
32860 and ext2 instead of fat.
32861 * TODO: Replace ext2fs with jfs as an example. Add an item for
32862 adding journal playback for ext2fs.
32863 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32864 (pkgdata_MODULES): Added ext2.mod.
32865 (ext2_mod_SOURCES): New variable.
32866 (ext2_mod_CFLAGS): Likewise.
32867 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32868 * include/pupa/misc.h (pupa_strncpy): New prototype.
32869 (pupa_strcat): Likewise.
32870 (pupa_strncmp): Likewise.
32871 * kern/misc.c (pupa_strcat): Enable function.
32872 (pupa_strncpy): New function.
32873 (pupa_strncmp): Likewise.
32874 * fs/ext2.c: New file.
f19dbdb7 32875
bfd30f06 32876 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32877 when the read failed before retrying.
32878 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32879 (_FILE_OFFSET_BITS): Likewise.
32880 * configure.ac: Added AC_SYS_LARGEFILE.
32881
98d15063 328822003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32883
32884 * genmk.rb (PModule#rule): Make sure to get only symbol names
32885 from the output of nm.
59cad637 32886 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32887
18d9c7cd 328882003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32889
32890 I forgot to check in these changes for a long time. This adds
32891 incomplete support for VGA console, and this is still very
32892 buggy. Also, a lot of consideration is required for I18N,
32893 UNICODE, and VGA font issues. Therefore, assume that this is
32894 such that "better than nothing".
f19dbdb7 32895
18d9c7cd 32896 * font/manager.c: New file.
32897 * include/pupa/font.h: Likewise.
32898 * include/pupa/i386/pc/vga.h: Likewise.
32899 * term/i386/pc/vga.c: Likewise.
32900 * util/unifont2pff.rb: Likewise.
32901
32902 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32903 (pkgdata_MODULES): Added vga.mod and font.mod.
32904 (vga_mod_SOURCES): New variables.
32905 (vga_mod_CFLAGS): Likewise.
32906 (font_mod_SOURCES): Likewise.
32907 (font_mod_CFLAGS): Likewise.
32908
32909 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32910
32911 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32912 (struct pupa_term): Added init and fini.
18d9c7cd 32913 Changed the argument of putchar to pupa_uint32_t.
32914
32915 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32916 (pupa_console_real_putchar): New prototype.
32917 (pupa_console_putchar): Removed.
32918 (pupa_console_checkkey): Exported.
32919 (pupa_console_getkey): Likewise.
32920
32921 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32922 characters.
32923
32924 * kern/term.c (pupa_term_set_current): Rewritten.
32925 (pupa_putchar): Likewise.
32926 (pupa_putcode): New function.
32927
32928 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
32929 (pupa_console_real_putchar): ... this.
32930 (pupa_vga_set_mode): New function.
32931 (pupa_vga_get_font): Likewise.
32932
32933 * normal/command.c: Include pupa/term.h.
32934 (terminal_command): New function.
32935 (pupa_command_init): Register the command "terminal".
32936
32937 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
32938 (DISP_UP): Likewise.
32939 (DISP_RIGHT): Likewise.
32940 (DISP_DOWN): Likewise.
32941 (DISP_HLINE): Likewise.
32942 (DISP_VLINE): Likewise.
32943 (DISP_UL): Likewise.
32944 (DISP_UR): Likewise.
32945 (DISP_LL): Likewise.
32946 (DISP_LR): Likewise.
32947
32948 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 32949
977329f5 329502003-02-08 NIIBE Yutaka <gniibe@m17n.org>
32951
32952 * util/resolve.c (pupa_util_resolve_dependencies): BUG
32953 FIX. Reverse the path_list.
32954
32955 * include/pupa/normal.h: Export pupa_register_command and
32956 pupa_unregister_command.
32957
32958 * hello/hello.c (pupa_cmd_hello): New module.
32959 * conf/i386-pc.rmk: Added hello.mod.
32960
1f5ab428 329612003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
32962
32963 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 32964
1f5ab428 32965 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
32966 (compress_kernel): New variable.
32967 (generate_image): Heavily modified to support compressing a
32968 large part of the core image.
32969
32970 * util/misc.c (pupa_util_read_image): Fix a file descriptor
32971 leak.
32972 (pupa_util_load_image): New function.
32973
32974 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
32975 (pupa_compressed_size): New variable.
32976 (codestart): Enable Gate A20 here.
32977 Decompress the compressed part of the core image.
32978 Rearrange the code to put functions and variables which are
32979 required for initialization in the non-compressed part.
32980 Include lzo1x.S.
32981
32982 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
32983 here.
32984
32985 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
32986
f19dbdb7 32987 * include/pupa/i386/pc/kernel.h
1f5ab428 32988 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
32989 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
32990 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
32991 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
32992 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
32993
32994 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
32995
32996 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
32997 (Utility#rule): Likewise.
32998
32999 * configure.ac: Check if LZO is available.
33000
ce5bf700 330012003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
33002
33003 * include/pupa/normal.h: New file.
33004 * include/pupa/setjmp.h: Likewise.
33005 * include/pupa/i386/setjmp.h: Likewise.
33006 * normal/cmdline.c: Likewise.
33007 * normal/command.c: Likewise.
33008 * normal/main.c: Likewise.
33009 * normal/menu.c: Likewise.
33010 * normal/i386/setjmp.S: Likewise.
f19dbdb7 33011
ce5bf700 33012 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
33013 (pupa_rescue_cmd_initrd): Likewise.
33014
33015 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
33016 Likewise.
33017
33018 * kern/i386/pc/startup.S (translation_table): New variable.
33019 (translate_keycode): New function.
33020 (pupa_console_getkey): Call translate_keycode.
33021
33022 * kern/rescue.c (attempt_normal_mode): New function.
33023 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
33024 it failed, print a message.
33025
33026 * kern/mm.c (pupa_real_malloc): Print more information when a
33027 free magic is broken.
33028 (pupa_free): If the first free header is not free actually, set
33029 it to P.
33030
33031 * kern/main.c (pupa_load_normal_mode): Just load the module
33032 "normal".
33033 (pupa_main): Don't print the message
33034 "Entering into rescue mode..." here.
33035
33036 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
33037 Declared.
33038 (pupa_rescue_cmd_initrd): Likewise.
33039 (pupa_rescue_cmd_initrd): Likewise.
33040
33041 * include/pupa/symbol.h (FUNCTION): Specify the type.
33042 (VARIABLE): Likewise.
33043
33044 * include/pupa/err.h (pupa_err_t): Added
33045 PUPA_ERR_UNKNOWN_COMMAND.
33046
33047 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
33048 (pupa_dl_get_prefix): Likewise.
33049
33050 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
33051 Added _chain.mod and _linux.mod instead of chain.mod and
33052 linux.mod.
33053 (chain_mod_SOURCES): Renamed to ...
33054 (_chain_mod_SOURCES): ... this.
33055 (chain_mod_CFLAGS): Renamed to ...
33056 (_chain_mod_CFLAGS): ... this.
33057 (linux_mod_SOURCES): Renamed to ...
33058 (_linux_mod_SOURCES): ... this.
33059 (linux_mod_CFLAGS): Renamed to ...
33060 (_linux_mod_CFLAGS): ... this.
33061 (normal_mod_SOURCES): New variable.
33062 (normal_mod_CFLAGS): Likewise.
33063 (normal_mod_ASFLAGS): Likewise.
33064
330652003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
33066
33067 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
33068 possible.
33069
fe6b695a 33070 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 33071 recursively.
33072 (pupa_dl_unref): Unrefer depending modules recursively.
33073 Don't call pupa_dl_unload implicitly, because PUPA can crash if
33074 a module is unloaded before one depending on that module is
33075 unloaded.
33076 (pupa_dl_unload): Unload depending modules explicitly,
33077 if possible.
33078
c04da074 330792003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
33080
33081 * include/pupa/i386/pc/linux.h: New file.
33082 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 33083
c04da074 33084 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
33085 Removed.
33086 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
33087 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
33088 of PUPA_CHAINLOADER_BOOT_SECTOR.
33089
33090 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
33091 (pupa_linux_prot_size): New variable.
33092 (pupa_linux_tmp_addr): Likewise.
33093 (pupa_linux_real_addr): Likewise.
33094 (pupa_linux_boot_zimage): New function.
33095 (pupa_linux_boot_bzimage): Likewise.
33096
33097 * kern/i386/pc/init.c (struct mem_region): New structure.
33098 (MAX_REGIONS): New macro.
33099 (mem_regions): New variable.
33100 (num_regions): Likewise.
33101 (pupa_os_area_addr): Likewise.
33102 (pupa_os_area_size): Likewise.
33103 (pupa_lower_mem): Likewise.
33104 (pupa_upper_mem): Likewise.
33105 (add_mem_region): New function.
33106 (compact_mem_regions): Likewise.
33107 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
33108 the size of the conventional memory and that of so-called upper
33109 memory (before the first memory hole).
33110 Instead of adding each found region to free memory, use
33111 add_mem_region and add them after removing overlaps.
33112 Also, add only 1/4 of the upper memory to free memory. The rest
33113 is used for loading OS images. Maybe this is ad hoc, but this
33114 makes it much easier to relocate OS images when booting.
33115
33116 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
33117 (pupa_enter_rescue_mode): Don't register initrd and module.
33118
33119 * kern/mm.c: Include pupa/dl.h.
33120
33121 * kern/main.c: Include pupa/file.h and pupa/device.h.
33122
33123 * kern/loader.c (pupa_loader_load_module_func): Removed.
33124 (pupa_loader_load_module): Likewise.
33125
33126 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
33127 ``.o''.
33128
33129 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
33130 (pupa_linux_tmp_addr): Likewise.
33131 (pupa_linux_real_addr): Likewise.
33132 (pupa_linux_boot_zimage): Likewise.
33133 (pupa_linux_boot_bzimage): Likewise.
33134
33135 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
33136 (pupa_upper_mem): Likewise.
33137 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
33138 module is too dangerous.
33139
33140 * include/pupa/loader.h (pupa_os_area_addr): Declared.
33141 (pupa_os_area_size): Likewise.
33142 (pupa_loader_set): Remove the first argument. Loader doesn't
33143 manage modules or initrd any longer.
33144 (pupa_loader_load_module): Removed.
33145
33146 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
33147 (linux_mod_SOURCES): New variable.
33148 (linux_mod_CFLAGS): Likewise.
33149
a13f9237 331502003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
33151
33152 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
33153 the length of a blocklist correctly.
33154
33155 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
33156 Use ioctl only if the OS file is a block device.
33157 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
33158 not very useful for normal files.
33159
33160 * kern/main.c (pupa_set_root_dev): New function.
33161 (pupa_load_normal_mode): Likewise.
33162 (pupa_main): Call those above.
33163
33164 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
33165 pupa_uint16_t.
33166
33167 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
33168
a5ffe966 331692003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33170
33171 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
33172 (setup): Configure the installed partition information and the
33173 dl prefix.
33174
33175 * loader/i386/pc/chainloader.c (my_mod): New variable.
33176 (pupa_chainloader_unload): New function.
33177 (pupa_rescue_cmd_chainloader): Refer itself.
33178 (PUPA_MOD_INIT): Save its own module in MY_MOD.
33179
33180 * kern/i386/pc/startup.S (install_partition): Removed.
33181 (version_string): Likewise.
33182 (config_file): Likewise.
33183 (pupa_install_dos_part): New variable.
33184 (pupa_install_bsd_part): Likewise.
33185 (pupa_prefix): Likewise.
33186 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
33187
33188 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
33189 and pupa/misc.h.
33190 (make_install_device): New function.
33191 (pupa_machine_init): Set the dl prefix.
33192
33193 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
33194 (buf): Renamed to ...
33195 (linebuf): ... this.
33196 (pupa_rescue_cmd_prefix): New function.
33197 (pupa_rescue_cmd_insmod): Likewise.
33198 (pupa_rescue_cmd_rmmod): Likewise.
33199 (pupa_rescue_cmd_lsmod): Likewise.
33200 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
33201 rmmod and lsmod.
33202
33203 * kern/mm.c (pupa_memalign): If failed even after invalidating
33204 disk caches, unload unneeded modules and retry.
33205
33206 * kern/misc.c (pupa_memmove): New function.
33207 (pupa_memcpy): Removed.
33208 (pupa_strcpy): New function.
33209 (pupa_itoa): Made static.
33210
33211 * kern/dl.c (pupa_dl_iterate): New function.
33212 (pupa_dl_ref): Likewise.
33213 (pupa_dl_unref): Likewise.
33214 (pupa_dl_unload): Return if succeeded or not.
33215 (pupa_dl_unload_unneeded): New function.
33216 (pupa_dl_unload_all): Likewise.
33217 (pupa_dl_init): Renamed to ...
33218 (pupa_dl_set_prefix): ... this.
33219 (pupa_dl_get_prefix): New function.
33220
33221 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
33222 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
33223 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33224 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33225 (pupa_install_dos_part): Declared.
33226 (pupa_install_bsd_part): Likewise.
33227 (pupa_prefix): Likewise.
33228 (pupa_boot_drive): Likewise.
33229
33230 * include/pupa/types.h: Fix a typo.
33231
33232 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
33233 pupa_memmove.
33234 (pupa_memmove): Declared.
33235 (pupa_strcpy): Likewise.
33236
33237 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
33238 pupa_mod_init takes one argument, its own module.
33239 (pupa_dl_unload_unneeded): Declared.
33240 (pupa_dl_unload_all): Likewise.
33241 (pupa_dl_ref): Likewise.
33242 (pupa_dl_unref): Likewise.
33243 (pupa_dl_iterate): Likewise.
33244 (pupa_dl_init): Renamed to ...
33245 (pupa_dl_set_prefix): ... this.
33246 (pupa_dl_get_prefix): Declared.
33247
33248 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 33249 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 33250 unloaded.
33251 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
33252 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
33253
33254 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
33255 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
33256
012d7999 332572003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33258
33259 * util/i386/pc/pupa-setup.c (setup): Define the internal
33260 function find_first_partition_start at the top level, because GCC
33261 3.0.x cannot compile internal functions in deeper scopes
33262 correctly.
33263 (find_root_device): Use lstat instead of stat.
33264 Don't follow symbolic links.
33265 Fix the path-constructing code.
33266
33267 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
33268 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
33269 by a BLKGETSIZE ioctl first, because block devices don't fill
33270 the member st_mode of the structure stat on Linux.
33271 [__linux__] (linux_find_partition): Use a temporary buffer
33272 REAL_DEV for the working space. Copy it to DEV before returning.
33273 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
33274 buffer cache consistent.
33275 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
33276 strncmp. The previous value was merely wrong.
33277 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
33278
33279 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
33280 FAT size is 12. The previous value was merely wrong.
33281
33282 * kern/main.c (pupa_main): Don't split the starting message from
33283 newlines.
33284
33285 * kern/term.c (pupa_putchar): Put CR after LF instead of before
33286 LF, because BIOS goes crazy about character attributes in this
33287 case.
33288
1cc73a62 332892003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33290
33291 * include/i386/pc/util/biosdisk.h: New file.
33292 * util/i386/pc/biosdisk.c: Likewise.
33293 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 33294
1cc73a62 33295 * Makefile.in (INCLUDE_DISTFILES): Added
33296 include/pupa/i386/pc/util/biosdisk.h.
33297 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
33298 directory util/i386/pc.
33299 (install-local): Added a rule for sbin_UTILITIES.
33300 (uninstall): Likewise.
33301
33302 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
33303
33304 * util/misc.c (xrealloc): New function.
33305 (pupa_malloc): Likewise.
33306 (pupa_free): Likewise.
33307 (pupa_realloc): Likewise.
33308 (pupa_stop): Likewise.
33309 (pupa_putchar): Likewise.
33310
33311 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
33312
33313 * include/pupa/util/misc.h (xrealloc): Declared.
33314
33315 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
33316 macro.
33317 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
33318 (PUPA_BOOT_MACHINE_BPB_END): ... this.
33319
33320 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
33321 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33322
33323 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
33324 way should be implemented.
33325 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33326
33327 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
33328 the size of NAME for safety.
33329 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
33330 0x88.
33331
33332 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
33333 (pupa_setup_SOURCES): Likewise.
33334
33335 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
33336
08b70fe8 333372002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33338
33339 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
33340 bunch of pushl's from pusha, because this destroys the return
33341 value.
33342
62ddcc8f 333432002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33344
33345 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
33346 This means that any missing prototypes could be fatal. Also, you
33347 must take care when writing assembly code. See the comments at
33348 the beginning of startup.S, for more details.
f19dbdb7 33349
62ddcc8f 33350 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
33351 compilation mechanism.
33352 (pupa_chainloader_real_boot): Likewise.
33353 (pupa_biosdisk_rw_int13_extensions): Likewise.
33354 (pupa_biosdisk_rw_standard): Likewise.
33355 (pupa_biosdisk_check_int13_extensions): Likewise.
33356 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
33357 (pupa_biosdisk_get_diskinfo_standard): Likewise.
33358 (pupa_get_memsize): Likewise.
33359 (pupa_get_mmap_entry): Likewise.
33360 (pupa_console_putchar): Likewise.
33361 (pupa_console_setcursor): Likewise.
33362 (pupa_getrtsecs): Use pushl instead of push.
33363
33364 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
33365 memory instead of the stack for a mmap entry, because some
33366 BIOSes may ignore the maximum size and overflow.
33367
33368 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
33369
33370 * genmk.rb (PModule#rule): Compile automatically generated
33371 sources with module-specific CFLAGS as well as other sources.
33372
9962ed99 333732002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33374
33375 * configure.ac: Check ld.
33376 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
33377 respectively, before checking endianness and sizes.
33378
33379 * Makefile.in (LD): New variable.
f19dbdb7 33380
abdfc3c5 333812002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33382
33383 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
33384
6a161fa9 333852002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33386
33387 * Changelog: New file.
33388