]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
[grub2.git] / ChangeLog
CommitLineData
5318fe98
VS
12010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
4 Avoid next pointing to nowhere.
5
6c85b743
VS
62010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9 rather than assuming than rootblock is exactly in the middle.
10 (grub_affs_label): Likewise.
11
a2a08a35
VS
122010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
15 reserved_first_sector to 0.
16 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
17 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
18 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19
7059d1ec
VS
202010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
21
22 Fix handling of UTF-16 UDF labels.
23
24 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
25 (read_string): .. here.
26 (grub_udf_label): Use read_string.
27
30aff4cb
BC
282010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
29
30 * grub-core/normal/menu_entry.c (run): Execute commands from menu
31 editor under argument scope.
32 Reported by: Jordan Uggla
33
5cf86f4b
VS
342010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
37
32570200
CW
382010-12-18 Colin Watson <cjwatson@ubuntu.com>
39
40 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
41 line, and other keys scroll an entire page (previous handling was
42 for \r and \n to scroll a page and other keys to scroll two lines).
43
e1dffcf2
VS
442010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
47 Set ptrdest to correct get_physical_target_address rather than
48 incorrect get_virtual_current_address.
49
b04298cf 502010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
51
52 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
53 correct cat to grub_uint8_t * rather than grub_uint32_t *.
54
5367ecd3
CW
552010-12-10 Colin Watson <cjwatson@ubuntu.com>
56
57 * .bzrignore: Ignore grub-core/rs_decoder.S.
58
1fb430f8
CW
592010-12-10 Colin Watson <cjwatson@ubuntu.com>
60
61 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
62 .mo/.mo.gz opening sequence to ...
63 (grub_mofile_open_lang): ... here.
64 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
65 * util/grub.d/00_header.in (grub_lang): Include country part of
66 locale.
67 Reported by: Mario Limonciello.
68
a94a6671
RM
692010-12-09 Robert Millan <rmh@gnu.org>
70
71 * NEWS: Document addition of ZFS support.
72
24b7938b
CW
732010-12-04 Colin Watson <cjwatson@ubuntu.com>
74
75 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
76 rather than `/ 2', as the latter requires -Wa,--divide which would
77 require bumping our minimum binutils version.
78
bddc3ef6
BC
792010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
80
81 * util/grub-script-check.c (main): Print script line number on
82 error.
83
bf78d5b2
RM
842010-12-01 Robert Millan <rmh@gnu.org>
85
86 * grub-core/fs/zfs/zfs.c: New file.
87 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
88 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
89 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
90 * grub-core/fs/zfs/zfsinfo.c: Likewise.
91
92 * include/grub/zfs/dmu.h: Likewise.
93 * include/grub/zfs/dmu_objset.h: Likewise.
94 * include/grub/zfs/dnode.h: Likewise.
95 * include/grub/zfs/dsl_dataset.h: Likewise.
96 * include/grub/zfs/dsl_dir.h: Likewise.
97 * include/grub/zfs/sa_impl.h: Likewise.
98 * include/grub/zfs/spa.h: Likewise.
99 * include/grub/zfs/uberblock_impl.h: Likewise.
100 * include/grub/zfs/vdev_impl.h: Likewise.
101 * include/grub/zfs/zap_impl.h: Likewise.
102 * include/grub/zfs/zap_leaf.h: Likewise.
103 * include/grub/zfs/zfs.h: Likewise.
104 * include/grub/zfs/zfs_acl.h: Likewise.
105 * include/grub/zfs/zfs_znode.h: Likewise.
106 * include/grub/zfs/zil.h: Likewise.
107 * include/grub/zfs/zio.h: Likewise.
108 * include/grub/zfs/zio_checksum.h: Likewise.
109
110 * Makefile.util.def: Build ZFS into libgrubmods.
111 * grub-core/Makefile.core.def: Build zfs.mod.
112
3f0f3831
SJ
1132010-11-30 Szymon Janc <szymon@janc.net.pl>
114
115 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
116 variable.
117 * grub-core/commands/wildcard.c (match_files): Likewise.
118
3a4253b2
RM
1192010-11-30 Robert Millan <rmh@gnu.org>
120
121 * grub-core/loader/i386/bsd.c
122 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
123 whether kernel is loaded using grub_loader_is_loaded(), rather
124 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
125 certain error conditions.
126
8c317b27
RM
1272010-11-30 Robert Millan <rmh@gnu.org>
128
c5c9cd3e
RM
129 * grub-core/commands/echo.c: Include `<grub/term.h>'.
130 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 131
49d3ab46
VS
1322010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
133
134 Avoid using tricks for initialising endian variables.
135
136 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
137 Make const.
138 (GRUB_MOD_INIT): Don't byte-swap.
139 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
140 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
141 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
142 (grub_swap_bytes32_compile_time): Likewise.
143 (grub_cpu_to_le32_compile_time): Likewise.
144 (grub_cpu_to_le16_compile_time): Likewise.
145
f420a804
VS
1462010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * util/grub-setup.c (setup): Stop recommending --force. People who
149 understand the dangers of blocklists are able to find this option
150 anyway and the ones who don't shouldn't use it anyway.
151
4e7db17b
RM
1522010-11-26 Robert Millan <rmh@gnu.org>
153
154 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
155 Update all users.
156
9be57a0d
CW
1572010-11-26 Colin Watson <cjwatson@ubuntu.com>
158
159 Fix LVM-on-RAID probing.
160
161 * util/grub-probe.c (probe): Remember which disk was detected as
162 RAID (perhaps an LVM physical volume). Use that disk's raidname
163 rather than that of the top-level disk.
164
2c7859b3 1652010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 166
d7647bb6
BC
167 Fix cmdline argument quotes for setparams command of menuentry
168 definitions.
7e623b0d
BC
169
170 * grub-core/commands/menuentry.c (setparams_prefix): Use single
171 quotes for arguments.
f866fe80 172 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 173 grub_strchrsub function instead.
f866fe80 174
7955bea0 175 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 176
74f72a64
CW
1772010-11-24 Colin Watson <cjwatson@ubuntu.com>
178
179 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
180 effort by skipping "." and ".." entries up-front.
181 Suggested by: Michael Lazarev.
182
5a407278
CW
1832010-11-24 Colin Watson <cjwatson@ubuntu.com>
184
185 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
186 ldflags to ldadd, to fix link line ordering.
187 (none_decompress): Likewise.
188
3030d8ec
CW
1892010-11-24 Colin Watson <cjwatson@ubuntu.com>
190
191 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
192 platforms.
193 (grub-emu-lite): Remove kern/emu/cache.S.
194
b7fbac12
CW
1952010-11-23 Colin Watson <cjwatson@ubuntu.com>
196
197 * util/deviceiter.c (compare_devices): If the by-id link for a
198 device couldn't be resolved, fall back to sorting by the by-id link
199 rather than segfaulting.
200 Reported and tested by: Daniel Mierswa.
201
5225f328
CW
2022010-11-23 Colin Watson <cjwatson@ubuntu.com>
203
204 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
205 ldflags, to fix link line ordering.
206
038b3ce8
CW
2072010-11-23 Colin Watson <cjwatson@ubuntu.com>
208
209 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
210 linkers are picky about this.
211
bf16e98e
CW
2122010-11-23 Colin Watson <cjwatson@ubuntu.com>
213
214 * grub-core/Makefile.am (command.lst): Adjust sed expression
215 ordering so that extended and priority commands aren't treated as
216 ordinary commands.
217
7242bab6
CW
2182010-11-23 Colin Watson <cjwatson@ubuntu.com>
219
220 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
221 Remove byte-swapping function calls, which are not valid in
222 structure initialisers.
223 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
224 non-const.
225 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
226 grub_gpt_partition_type_bios_boot.
227
14e8b279
CW
2282010-11-22 Colin Watson <cjwatson@ubuntu.com>
229
230 Fix test program build on GNU/kFreeBSD.
231
232 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
233 $(LIBNVPAIR)' library dependencies.
234
e6f63338 2352010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
236
237 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
238
cf8ffc38
CW
2392010-11-22 Colin Watson <cjwatson@ubuntu.com>
240
241 * util/grub-install.in: Remove excessive quoting that broke
242 installations to RAID devices.
243
7f8b0fd7
VS
2442010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
247 bootloader version instead of 0.
248
dfd240b1
VS
2492010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
252 warning.
253
7b61e609
VS
2542010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
257 retrieve the metadat sector if size isn't known.
258 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
259
9dfe92d0
RM
2602010-11-18 Robert Millan <rmh@gnu.org>
261
262 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
263 with grub_memcmp().
264
41cc919e
VS
2652010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
266
267 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
268 arrow.
269 Reported by: Jordan Uggla.
270
1afcc914
VS
2712010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
272
273 Make better UTF compliant.
274
275 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
276 sequences as incorrect.
277 (grub_is_valid_utf8): Likewise.
278 (grub_utf8_to_ucs4): Likewise.
279 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
280 (grub_ucs4_to_utf8_alloc): Likewise.
281 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
282
f1808884
VS
2832010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
284
285 Make legacy_source behave like source.
286
287 * grub-core/commands/legacycfg.c (legacy_file): Don't call
288 grub_show_menu.
289 (grub_cmd_legacy_source): Call grub_show_menu if needed.
290
24ec575b
CW
2912010-11-16 Colin Watson <cjwatson@debian.org>
292
293 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
294 (-Wunused implies -Wunused-parameter, but not vice versa).
295
72b7c7aa
CW
2962010-11-16 Colin Watson <cjwatson@ubuntu.com>
297
298 * configure.ac: Make error messages less confusing by testing for
299 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
300 accepted, but produces a diagnostic if something else is wrong).
301
e98937aa
VS
3022010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
305 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
306 (now unused).
307 (grub_keyboard_controller_init)
308 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
309 read the initial state since controller isn't inited yet.
310
f6bbabc3
VS
3112010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
314 allocate_regbeg may need to create new chunk header.
315
22e7dbb2
VS
3162010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
317
318 Fix quoting in legacy parser.
319
320 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
321 single quotes.
322 (grub_legacy_parse): Likewise.
323 Reported by: Jordan Uggla.
324 Tested by: Jordan Uggla.
325
03f80960
VS
3262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
327
328 Don't add -lgcc on i386 and x86_64.
329
330 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
331 * conf/Makefile.common (LDADD_KERNEL): Likewise.
332 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
333
779dc15b
VS
3342010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * configure.ac: Add -Wno-trampolines when supported.
337
d20a3b37
MV
3382010-11-14 Modestas Vainius <modax@debian.org>
339
340 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
341 fakeraid.
342
e5360933
GC
3432010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
344
345 Add generic logical block size support for UDF.
346
347 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
348 (GRUB_UDF_BLKSZ): Removed.
349 (struct grub_udf_data): New field "lbshift" to hold the logical block
350 size of the file system in log2 format. All users updated.
351 (sblocklist): Change type to unsigned.
352 (grub_udf_mount): Change type of "sblklist" to unsigned.
353 Move AVDP search before VRS recognition, because the latter requires
354 knowledge of the logical block size, which is detected during the
355 former.
356 Detect and validate logical block size during AVDP search, adding
357 support for block sizes 512, 1024 and 4096.
358 Make VRS recognition independent of block size.
359
cb0229c5
GC
3602010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
361
362 Properly handle deleted files on UDF.
363
364 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
365 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
366 set.
367
406858a8
GC
3682010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
369
370 Support reading files larger than 2 GiB.
371
372 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
373 "offset" to grub_off_t.
374 (grub_udf_read_file): Likewise for parameter "pos".
375
130da6a7
VS
3762010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
379 unavailable.
380 (Simple configuration): Refer to Changes from GRUB Legacy about
381 save_env availability.
382
65e93f6b
VS
3832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * util/grub-install.in: Ignore empty partition table detection
386 instead of trying to include part_ module.
387
1fd08bf1
VS
3882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
391 LVM on RAID support.
392
de1a024f
VS
3932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
394
395 Properly define WORDS_BIGENDIAN in wrapped environments.
396
397 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
398 definition.
399 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
400
401 Reported by: Manoel Rebelo Abranches.
402 Tested by: Manoel Rebelo Abranches.
403
bc5dd0b9
VS
4042010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * util/grub-mkconfig.in: Fix quoting.
407
58c184be
VS
4082010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
409
410 Support big ext2 files.
411
412 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
413 (grub_ext2_read_block): Support triple indirect blocks.
414 (grub_ext2_read_file): Use 64-bit types and read size_high.
415 (grub_ext2_open): Read size_high.
416 Reported by: Ximin Luo.
417 Tested by: Manoel Rebelo Abranches.
418
5f0c02b3
VS
4192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * util/grub-install.in: Handle filenames containing spaces.
422 Reported by: Jordan Uggla.
423 Tested by: Jordan Uggla.
424
4417aae6
VS
4252010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * util/grub-mkconfig.in (grub_script_check): New variable.
428 Use grub_script_check instead of grub-script-check.
429 Reported by: Barry Jackson.
430
7625a68e
VS
4312010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
432
433 * docs/grub.texi (menu): Correct the order.
434 Reported by: D. Hugh Redelmeier.
435
10001ac5
VS
4362010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
439 jump.
440
9c4cf53b
MRA
4412010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
442
10001ac5
VS
443 * include/grub/elfload.h (grub_elf32_size): New parameter.
444 All users updated.
9c4cf53b
MRA
445 Return maximum segments alignment.
446 (grub_elf64_size): Likewise.
447 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
448 Return maximum segments alignment.
449 (grub_elf64_size): Likewise.
450 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
451 (grub_linux_claimmap_iterate): New function. Uses the
452 "available" property in the "memory" node for memory allocation
453 for kernel in the PowerPC loader.
9c4cf53b
MRA
454 (grub_linux_load32): Correctly find linux entry point offset.
455 (grub_linux_load64): Likewise.
456
d2bf06bf
RM
4572010-11-07 Robert Millan <rmh@gnu.org>
458
459 On mips-yeeloong, build with -march=loongson2f when this flag is
460 available (GCC >= 4.4).
461 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
462 `-march=mips3'.
463 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
464 or otherwise add -march=mips3.
465
898c99a2
BC
4662010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
467
87220a68
BC
468 Suppress shell expansion on echo '*' and echo "*" like cases.
469 Reported by: Jordan Uggla.
898c99a2
BC
470
471 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
472 string arguments before shell expansion.
473 * tests/grub_cmd_echo.in: New testcases.
474
4f9b406a
RM
4752010-11-07 Robert Millan <rmh@gnu.org>
476
477 * conf/mips-qemu-mips.rmk: Remove stale file from previous
478 transition.
479
80c6d25e
VS
4802010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/kern/emu/hostdisk.c
483 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
484
4a1a0153
VS
4852010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
488 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
489 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
490
34706ddc
VS
4912010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
494
6972dea9
VS
4952010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * util/grub-install.in: Replace useless recomendation to pass
498 --modules with a recomendation to report a bug.
499
9c693bd6
VS
5002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
501
502 Properly register serial terminfo.
503 Reported by: Jordan Uggla
504
505 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
506 const.
507 (grub_serial_terminfo_output_template): Likewise.
508 (grub_cmd_serial): Register "serial" with terminfo.
509 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
510 grub_serial_terminfo_output.
511
6c9e4c0c
RM
5122010-11-05 Robert Millan <rmh@gnu.org>
513
514 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
515 needed).
516
b9b3839f
RM
5172010-11-05 Robert Millan <rmh@gnu.org>
518
519 On Yeeloong, pass machine type information to Linux.
520
521 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
522 (LOONGSON_MACHTYPE): New macro, set to
523 "machtype=lemote-yeeloong-2f-8.9inches".
524 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
525 additional argument to Linux.
526
1a3aaff4
RM
5272010-11-04 Robert Millan <rmh@gnu.org>
528
529 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
530 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
531 (its SATA disks are detected as slaveless IDE master drives on
532 kFreeBSD).
533 Reported by Carsten Aulbert.
534
a75f4f62
CW
5352010-11-02 Colin Watson <cjwatson@ubuntu.com>
536
537 * util/bin2h.c (main): Fix spelling error in generated output.
538
33b4b0c6
GS
5392010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
540
541 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
542
2b36fbf4
VS
5432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
546 vga= option is supplied.
547
74aaf558
VS
5482010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
551 * util/grub.d/10_kfreebsd.in: Likewise.
552 * util/grub.d/10_linux.in: Likewise.
553 * util/grub.d/20_linux_xen.in: Likewise.
554
6428dec3
VS
5552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
558 argument as an argument to no-argument option.
559
f8729d98
VS
5602010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * util/grub.d/10_linux.in: Add missing load_video with explicit
563 GRUB_GFXPAYLOAD_LINUX.
564
89d68fa6
VS
5652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
568
3a1197cd
VS
5692010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
572 elements with invlid index.
573 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
574 * grub-core/disk/raid.c (insert_array): Automatically reallocate
575 members.
576 * include/grub/raid.h (grub_raid_member): New struct.
577 (grub_raid_array): Transform devices and start_sector into usage of
578 grub_raid_member. All users updated
579 (allocated_devs): New member.
580
71574288
VS
5812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
584 is modified
585
8d40ec65
BC
5862010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
587
588 NetBSD build fix for getline function conflict from gnulib.
589
590 * Makefile.util.def (libgrubkern.a): New library for grub kernel
591 components that depend on gnulib headers.
592 (libgrubmods.a): Renamed from earlier libgrub.a.
593 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
594
95b9257e
VS
5952010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
598 install rather than creating a broken install.
599
26c53dc6
VS
6002010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * util/grub-setup.c (argp): Remove misleading example of installing to
603 a partition.
604
4171b3c5
VS
6052010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * util/grub-setup.c (setup): Clarify the error message.
608
18568d18
VS
6092010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
612
4f6a2e21
VS
6132010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/kern/emu/misc.c
616 (grub_make_system_path_relative_to_its_root)
617 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
618
6192010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
620
621 * grub-core/kern/emu/misc.c
622 (grub_make_system_path_relative_to_its_root): Revert r2882.
623
e138c458
VS
6242010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
627 useless field head. All users updated.
628 (free_subchunk): Correct handling of IN_REGION subchunk.
629
0cbcdf0e
CW
6302010-10-22 Colin Watson <cjwatson@ubuntu.com>
631
632 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
633 (Supported kernels): Likewise.
634
b65ea155
GS
6352010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
636
637 Make mktemp invocations portable.
638
639 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
640 exit if mktemp fails.
641 * tests/grub_script_blockarg.in: Likewise.
642 * tests/partmap_test.in: Likewise.
643 * tests/util/grub-shell-tester.in: Likewise.
644 * tests/util/grub-shell.in: Likewise.
645 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
646 * Makefile.am: Likewise, and chain shell commands with `&&'
647 instead of ';'.
648 * util/grub-mkrescue.in: Use the same explicit template as above, and
649 exit if mktemp fails.
650
05f43cdd
BC
6512010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
652
653 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
654 Linux kernel, reported by Dennis Schridde.
655
800e6a9b
SJ
6562010-10-17 Szymon Janc <szymon@janc.net.pl>
657
658 * grub-core/normal/auth.c (grub_auth_check_authentication):
659 Set-but-not-used variable removed.
660
d82df574
VS
6612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * docs/grub.texi (GNU/Linux): Document APM unavailability with
664 32-bit linux protocol.
665
7bced458
VS
6662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
667
668 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
669 cursor shape for sanity.
670
5b027690
VS
6712010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * docs/grub.texi (Installation): Document buggy BIOS install.
674
ba5f65cf
VS
6752010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * docs/grub.texi (Installation): Indent.
678
fdf2ec9c
VS
6792010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * util/grub-setup.c (setup): New parameter allow_floppy.
682 (arguments): New member allow_floppy.
683 (argp_parser): Handle --allow-floppy.
684 (main): Pass allow_floppy.
685 * util/grub-install.in: New option --allow-floppy passed though to
686 grub-setup.
687
861dfd4c
VS
6882010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * util/grub-install.in: Handle partitionless disks.
691
f77a8c24
VS
6922010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
693
694 * util/grub-setup.c (setup): Don't clean blocklists before readability
695 verfification.
696
27d9ee32
VS
6972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * docs/grub.texi (Installation): Document embedding zone. Remove
700 obsolete grub-install example.
701
6bdda8f8
SJ
7022010-10-16 Szymon Janc <szymon@janc.net.pl>
703
704 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
705 Set-but-not-used variable ifdef'ed.
706 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
707 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
708 variable removed.
709 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
710 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
711 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
712 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
713 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
714 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
715 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
716 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
717 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
718 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
719 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
720 Likewise.
721
e19b016b
VS
7222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
725 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
726 enum value.
727
6c8d3002
VS
7282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
731 synonym to _S5_. Needed for some DSDTs.
732
c32b51c9
VS
7332010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
734
735 Userspace ACPI parser debugging.
736
737 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
738 headers and add relevant defines. Don't include standard headers.
739 (main) [GRUB_DSDT_TEST]: New function.
740 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
741 Don't declare functions.
742
fbfbeb39
VS
7432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
744
745 Remove dead grub_efi_mm_fini.
746
747 * grub-core/kern/efi/mm.c (allocated_page): Removed.
748 (ALLOCATED_PAGES_SIZE): Likewise.
749 (MAX_ALLOCATED_PAGES): Likewise.
750 (allocated_pages): Likewise.
751 (grub_efi_allocate_pages): Don't record allocated pages.
752 (grub_efi_free_pages): Likewise.
753 (grub_efi_mm_init): Likewise.
754 (grub_efi_mm_fini): Removed.
755
65f7ed7c
VS
7562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
759 (grub_efi_mm_init): Take into account the memory map size increase.
760
24977b44
VS
7612010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
762
763 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
764 (serial_hw_put): Wait based on real time rather than port reads. Don't
765 roken ports.
766 * include/grub/serial.h (grub_serial_port): New field broken.
767
1eb01cd2
RM
7682010-10-16 Robert Millan <rmh@gnu.org>
769
770 * grub-core/kern/emu/misc.c
771 (grub_make_system_path_relative_to_its_root): Fix premature return
772 when processing non-root ZFS filesystems.
5f8b440b 773 Reported by Sergio Talens-Oliag.
1eb01cd2 774
2d5fed60
RM
7752010-10-15 Robert Millan <rmh@gnu.org>
776
777 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
778 guarantee compressed ones are processed first.
779
d0f4c1ea
VS
7802010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
783 grub_efiemu_autocore.
784
d87c681f
VS
7852010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
788 rather than 0x1b.
789 (grub_console_getkey): Use correct jae opcode rather than ja.
790
219b3564
RM
7912010-10-12 Robert Millan <rmh@gnu.org>
792
793 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
794 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
795 variable. All references updated.
796
797 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
798
20c6bb7e
VS
7992010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
800
801 Correctly distinguish mdraid flavours.
802
803 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
804 (insert_array): New argument raid.
805 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
806 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
807 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
808
74baff84
VS
8092010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
812 handling of special keys.
813
3ef068df 8142010-10-02 Aleš Nesrsta <starous@volny.cz>
815
c7980ad9
VS
816 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
817 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 818
a9455194 8192010-10-02 Aleš Nesrsta <starous@volny.cz>
820
c7980ad9
VS
821 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
822 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
823 users updated.
a9455194 824 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 825 Use right endpoint when querying descriptor.
a9455194 826
441cfe65
VS
8272010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
828
829 Clear out 0x80 color bit on EFI.
830 Tested by: decoder
831 Reported by: decoder and meta tech.
832
833 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
834 (grub_console_setcolorstate): Clear out 0x80 bit.
835 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
836 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
837 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
838
bf26bcc4
VS
8392010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
842 Set to "auto".
843
6e3c515d
VS
8442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
847 mo_file after freeing.
848
e6d983ba
VS
8492010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
852
74ccb5b5
VS
8532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
856 flags.
857
17821956
VS
8582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
861 usage.
862
ee74fa48
VS
8632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
864
865 Put terminfo into core on ieee1275 and yeeloong (needed for console).
866
867 * gentpl.py: New groups terminfoinkernel and terminfomodule.
868 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
869 and terminfo.h when needed.
870 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
871 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
872 (terminfo): Enable only on terminfokernel.
873 (extcmd): Likewise.
874 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
875 * include/grub/lib/arg.h: Likewise.
876 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
877 incorrect usage of ->.
878
aa438e68
VS
8792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
882 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
883
57994012
VS
8842010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Fix coreboot compilation.
887
888 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
889 Take VBE info into account even if only text is supported.
890 (fill_vbe_info): Take into account the case when only VGA text
891 is supported.
892 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
893 on coreboot, multiboot and qemu.
894
2a406611
VS
8952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
896
897 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
898 debug messages.
899 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
900
d33613fc
VS
9012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
904 parameters.
905
44a1b432
VS
9062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
907
908 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
909 if they were BSD-style.
910
edde54e6
VS
9112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/boot/i386/pc/lnxboot.S: Replace
914 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
915 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
916
b65830fa
VS
9172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
918
919 Write embedding zone using Reed-Solomon.
920
921 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
922 * grub-core/Makefile.am (rs_decoder.S): New target.
923 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
924 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
925 (multiboot): Move to RS part.
926 (post_reed_solomon): New label.
927 (grub_boot_drive): Move to non-RS part since it's modified in memory
928 on boot.
929 Include rs_decoder.S.
930 * grub-core/lib/reed_solomon.c: New file.
931 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
932 New definition.
933 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
934 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
935 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
936 * include/grub/partition.h (grub_partition_map): Change prototype of
937 embed to allow returning additional sectors.
938 * include/grub/reed_solomon.h: New file.
939 * util/grub-setup.c (setup): Handle Reed-Solomon.
940
0b4b227f
CW
9412010-09-28 Colin Watson <cjwatson@ubuntu.com>
942
943 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
944 i386 and x86-64 definedness tests.
945
f772623b
YB
9462010-09-27 Yves Blusseau <blusseau@zetam.org>
947
948 Fix generation of kernel_syms.lst
949
950 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
951 ASM_PREFIX
952
8e57a6ca
RM
9532010-09-26 Robert Millan <rmh@gnu.org>
954
955 Support degraded ZFS arrays in "grub-probe -t device" resolution.
956
957 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
958 the pool is an array of devices, iterate through it and return the
959 first device that passes a stat() test (instead of blindly returning
960 the first one).
961
f9130836
RM
9622010-09-26 Robert Millan <rmh@gnu.org>
963
964 Build fixes for GNU/kFreeBSD.
965
966 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
967 to programs that require ZFS conversion.
968 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
969 kernels that don't have FLOPPY_MAJOR.
970
96510faf
BC
9712010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
972
973 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
974
449333eb
BC
9752010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
976
977 Fix grub-emu build.
978
979 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
980 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
981 mdraid09 and mdraid1x.
982
e1fd1939
CW
9832010-09-24 Colin Watson <cjwatson@ubuntu.com>
984
985 Re-enable grub-extras.
986
987 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
988 avoid confusing Automake. Run autogen only twice, once for the top
989 level and once for grub-core. Add Makefile.util.def and
990 Makefile.core.def from extra modules to the appropriate autogen
991 invocations. If Makefile.common exists in an extra module, include
992 it in both Makefile.util.am and grub-core/Makefile.core.am;
993 similarly, include any Makefile.util.common file in Makefile.util.am
994 and any Makefile.core.common file in grub-core/Makefile.core.am.
995 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
996 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
997 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
998 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
999
1000 * gentpl.py (gvar_add): Turn GVARS into a set.
1001 (global_variable_initializers): Sort global variables on output.
1002 (vars_init): New function.
1003 (first_time): Likewise.
1004 (library): Ensure that non-global variable initialisations are
1005 emitted before the first time we emit code for a library block.
1006 Append to variables rather than setting them. Only emit
1007 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
1008 each conditional path.
1009 (program): installdir() emits an Autogen macro, so must be passed to
1010 var_add rather than gvar_add.
1011 (data): Likewise.
1012 (script): Likewise.
1013 (rules): New function, centralising handling for different target
1014 types. Set up Guile association lists for first_time and vars_init,
1015 and send most output to a diversion so that variable initialisations
1016 can be emitted first.
1017 (module_rules): Use new rules function.
1018 (kernel_rules): Likewise.
1019 (image_rules): Likewise.
1020 (library_rules): Likewise.
1021 (program_rules): Likewise.
1022 (script_rules): Likewise.
1023 (data_rules): Likewise.
1024
1025 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
1026
1027 * .bzrignore: Add contrib and grub-core/contrib. Remove
1028 grub-core/Makefile.gcry.am.
1029
1d12cf29
YB
10302010-09-24 Yves Blusseau <blusseau@zetam.org>
1031
1032 * grub-core/lib/LzFind.c: Add missing include.
1033 * grub-core/lib/LzmaEnc.c: Likewise.
1034 * grub-core/script/lexer.c: Likewise.
1035 * grub-core/script/yylex.l: Likewise.
1036 * util/grub-macho2img.c: Likewise.
1037 * util/grub-menulst2cfg.c: Likewise.
1038 * util/grub-mklayout.c: Likewise.
1039 * util/grub-mkpasswd-pbkdf2.c
1040 * util/grub-mkrelpath.c: Likewise.
1041 * util/resolve.c: Likewise.
1042
dd363028
BC
10432010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
1044
1045 * Makefile.util.def (example_unit_test): Add
1046 grub-core/gnulib/libgnu.a.
1047
f5a109e2
GS
10482010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
1049
1050 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
1051
6d0fa83c
VS
10522010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 Support xz compression on yeeloong.
1055
1056 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
1057 * configure.ac: Check for LZMA.
1058 * grub-core/Makefile.core.def (xz_decompress): New target.
1059 (none_decompress): Likewise.
1060 * grub-core/boot/decompressor/minilib.c: New file.
1061 * grub-core/boot/decompressor/none.c: Likewise.
1062 * grub-core/boot/decompressor/xz.c: Likewise.
1063 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
1064 * grub-core/kern/mips/cache_flush.S: Likewise.
1065 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
1066 * grub-core/kern/mips/startup.S: Move first stage to ...
1067 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
1068 nomacro.
1069 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
1070 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
1071 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
1072 Allocate statically.
1073 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
1074 Allocate statically or use scratch. Don't check CRC32.
1075 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
1076 Allocate statically. Don't check CRC32.
1077 * include/grub/decompressor.h: New file.
1078 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
1079 Removed.
1080 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
1081 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
1082 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
1083 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
1084 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
1085 * util/grub-mkimage.c (grub_compression_t): New type.
1086 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
1087 (image_target_desc): New field default_compression.
1088 (image_targets): Adjust yeeloong targets.
1089 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
1090 (compress_kernel): New parameter comp.
1091 (generate_image): Likewise. Handle new compression case.
1092 (options): New option --compression
1093 (help): Likewise.
1094 (main): Handle new option.
1095
1b655af6
GS
10962010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
1097
1098 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
1099
8f03f0b5
CW
11002010-09-22 Colin Watson <cjwatson@ubuntu.com>
1101
1102 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
1103 typo in __i386__ conditional.
1104
7835dfd3
VS
11052010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
1108 include.
1109
e255597e
VS
11102010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
1111
6d0fa83c 1112 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
1113
1114 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
1115 new tags as supported.
1116 (acpiv2_size): New function.
1117 (grub_multiboot_get_mbi_size): Take new tags into account.
1118 (grub_multiboot_make_mbi): Add new tags.
1119 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 1120
6cc14051 11212010-09-21 Aleš Nesrsta <starous@volny.cz>
1122
1123 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
1124 Added missing configuration of USB device.
1125
df7769d8
CW
11262010-09-21 Colin Watson <cjwatson@ubuntu.com>
1127
1128 * grub-core/normal/menu_entry.c (run): Make sure we always return
1129 a value.
1130
b031012d
CW
11312010-09-21 Colin Watson <cjwatson@ubuntu.com>
1132
1133 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
1134 NumberOfPages is UINT64 according to the UEFI specification, not
1135 UINTN. Fix printf format.
1136
174de8f3
CW
11372010-09-21 Colin Watson <cjwatson@ubuntu.com>
1138
1139 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
1140 `err' to grub_usb_err_t.
1141 Reported and tested by: KESHAV P.R.
1142
d7dbe923
CW
11432010-09-21 Colin Watson <cjwatson@ubuntu.com>
1144
1145 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
1146 tpart non-const, so that we can assign to it. (Since this is a
1147 typedef, the constness refers to the pointer rather than what it
1148 points to.)
1149
8d5e2af3
CW
11502010-09-21 Colin Watson <cjwatson@ubuntu.com>
1151
1152 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
1153 $(top_srcdir)/grub-core/gnulib as well as
1154 $(top_builddir)/grub-core/gnulib.
1155 Reported by: KESHAV P.R.
1156
5c527783
CW
11572010-09-21 Colin Watson <cjwatson@ubuntu.com>
1158
1159 * util/grub-install.in: Fix the bootloader ID option to be
1160 consistently --bootloader-id, not --bootloader_id.
1161 Reported by: KESHAV P.R.
1162
d309a16e
CW
11632010-09-21 Colin Watson <cjwatson@ubuntu.com>
1164
1165 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
1166 check hash checksum." consistently translatable.
1167
b830cd16
YB
11682010-09-21 Yves Blusseau <blusseau@zetam.org>
1169
1170 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
1171 $(top_builddir).
1172
c4fe27a8
CW
11732010-09-21 Colin Watson <cjwatson@ubuntu.com>
1174
1175 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
1176 (GRUB_MOD_INIT): Register sha1sum command.
1177 (GRUB_MOD_FINI): Unregister sha1sum command.
1178
a4c1d277
YB
11792010-09-21 Yves Blusseau <blusseau@zetam.org>
1180
1181 Keep boot and grub directory names in sync with utils scripts
1182
1183 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
1184 * config.h.in: Add previous macros.
1185 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
1186 * util/grub-install.in: Use $bootdir and $grubdir variables.
1187
4eff79d2
CW
11882010-09-21 Colin Watson <cjwatson@ubuntu.com>
1189
1190 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
1191 convert partition names to disk names if the new `convert' parameter
1192 is set.
1193 (grub_util_biosdisk_get_grub_dev): If opening the disk device
1194 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
1195 disk in its own right. This can happen with Xen disk images.
1196
934d7e44
YB
11972010-09-21 Yves Blusseau <blusseau@zetam.org>
1198
1199 * util/grub-editenv.c: Update strings to avoid warnings when generating
1200 grub.pot file.
1201 * util/grub-setup.c: Likewise.
934d7e44 1202
df3367cc
VS
12032010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * configure.ac: Change version to 1.99~beta0.
1206
77a94e98
VS
12072010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
1210 Add BADRAM.
1211 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
1212 Likewise.
1213 * include/multiboot.h: Resynced with specification.
1214 * include/multiboot2.h: Likewise.
1215
269004c1
CW
12162010-09-21 Colin Watson <cjwatson@ubuntu.com>
1217
1218 Fix po directory handling.
1219
1220 * configure.ac: Create po/Makefile.in rather than po/Makefile.
1221 * grub-core/gnulib/Makefile.am: Import gettext module.
1222 * m4/gnulib-cache.m4: Likewise.
1223 * m4/gnulib-comp.m4: Likewise.
1224 * m4/gettext.m4: New file, from gnulib.
1225 * m4/glibc2.m4: Likewise.
1226 * m4/iconv.m4: Likewise.
1227 * m4/intdiv0.m4: Likewise.
1228 * m4/intl.m4: Likewise.
1229 * m4/intldir.m4: Likewise.
1230 * m4/intlmacosx.m4: Likewise.
1231 * m4/intmax.m4: Likewise.
1232 * m4/inttypes-pri.m4: Likewise.
1233 * m4/lcmessage.m4: Likewise.
1234 * m4/lib-ld.m4: Likewise.
1235 * m4/lib-link.m4: Likewise.
1236 * m4/lib-prefix.m4: Likewise.
1237 * m4/lock.m4: Likewise.
1238 * m4/nls.m4: Likewise.
1239 * m4/po.m4: Likewise.
1240 * m4/printf-posix.m4: Likewise.
1241 * m4/progtest.m4: Likewise.
1242 * m4/threadlib.m4: Likewise.
1243 * m4/uintmax_t.m4: Likewise.
1244 * m4/visibility.m4: Likewise.
1245 * po/Makefile.am: Remove.
1246 * po/Makefile.in.in: New file, from gettext.
1247 ($(DOMAIN).pot-update): Support POTFILES-shell.
1248 * po/Makevars: New file.
1249 * po/POTFILES-shell: Rename to ...
1250 * po/POTFILES-shell.in: ... this. Update.
1251 * po/POTFILES: Rename to ...
1252 * po/POTFILES.in: ... this. Update.
1253 * po/Rules-quot: New file, from gettext.
1254 * po/boldquot.sed: Likewise.
1255 * po/en@boldquot.header: Likewise.
1256 * po/en@quot.header: Likewise.
1257 * po/insert-header.sin: Likewise.
1258 * po/quot.sed: Likewise.
1259 * po/remove-potcdate.sin: Likewise.
1260
3e0fa5d0
VS
12612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
1264
ade9bd66
VS
12652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * util/grub.d/20_linux_xen.in: Use submenus.
1268
fc55cc4c
VS
12692010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 Support submenus.
1272
1273 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
1274 parameter submenu. All users updated.
1275 * grub-core/normal/main.c (free_menu): Rename to ...
1276 (grub_normal_free_menu): ... this. Made global.
1277 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
1278 if requested.
1279 * grub-core/normal/menu_entry.c (screen): New field submenu.
1280 (make_screen): Set submenu.
1281 (run): Open new context if requested.
1282 * include/grub/menu.h (grub_menu_entry): New field submenu.
1283 * include/grub/normal.h (grub_normal_free_menu): New proto.
1284
600cedf7
VS
12852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 Menu entries extractor.
1288
1289 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
1290 variants.
1291 (GRUB_MOD_INIT): Register new variants.
1292 (GRUB_MOD_FINI): Unregister new variants.
1293 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
1294 into grub_cmd_legacy_source.
1295 (grub_cmd_legacy_source): Implement extractor variants.
1296 (GRUB_MOD_INIT): Register new variants.
1297 (GRUB_MOD_FINI): Unregister new variants.
1298 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
1299 as an extractor.
1300 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
1301 search as an extractor.
1302 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
1303 test as an extractor.
1304 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
1305 as an extractor.
1306 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
1307 (grub_env_new_context): New function.
1308 (grub_env_context_open): Likewise.
1309 (grub_env_extractor_open): Likewise.
1310 (grub_env_extractor_close): Likewise.
1311 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
1312 grub_extractor_level.
1313 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
1314 * include/grub/env.h (grub_env_extractor_open): New proto.
1315 (grub_env_extractor_close): Likewise.
1316 * include/grub/normal.h (grub_extractor_level): New external variable.
1317
7bda3a87
VS
13182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 Make cutmem accept a region specification.
1321 Suggested by: Samuel Thibault
1322
1323 * grub-core/mmap/mmap.c (parsemem): New function.
1324 (grub_cmd_cutmem): Handle new arguments.
1325
2ea57f88
VS
13262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 New command cutmem.
1329
1330 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
1331 (GRUB_MOD_INIT): Register new command.
1332 (GRUB_MOD_FINI): Unregister new command.
1333
74342e31
VS
13342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Support some annoying BSD and Minix subpartitions.
1337
1338 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
1339 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
1340 Properly handle concatenation.
1341 * grub-core/kern/device.c (grub_device_iterate): Likewise.
1342 * grub-core/normal/completion.c (iterate_partition): Likewise.
1343 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
1344 contain partition. All users updated.
1345 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
1346 struct.
1347 (grub_openbsdlabel_partition_map): Likewise.
1348 (bsdlabel_partition_map_iterate): Rename to ..
1349 (iterate_real): ... this. New arguments sector, freebsd and pmap.
1350 (bsdlabel_partition_map_iterate): New function.
1351 (netopenbsdlabel_partition_map_iterate): Likewise.
1352 (netbsdlabel_partition_map_iterate): Likewise.
1353 (openbsdlabel_partition_map_iterate): Likewise.
1354 (GRUB_MOD_INIT): Register new partmaps.
1355 (GRUB_MOD_FINI): Unregister new partmaps.
1356 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
1357 (grub_partition_msdos_iterate): ... this. All users updated.
1358 Don't support embedding other than in a minix partition.
1359 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
1360 proto.
1361 * include/grub/partition.h (grub_partition): New field msdostype.
1362 * util/grub-install.in: Handle openbsd and netbsd types being in
1363 part_bsd module.
1364
1e8d555b
VS
13652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
1368
1369 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
1370 * grub-core/Makefile.core.def (mdraid): Renamed to ...
1371 (mdraid09): ... this.
1372 (mdraid1x): New module.
1373 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
1374 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
1375
899d8af4
VS
13762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
1379 vsprintf.
1380
40901acd
CW
13812010-09-20 Colin Watson <cjwatson@ubuntu.com>
1382
1383 * grub-core/commands/efi/lsefimmap.c: Correct header.
1384 * NEWS: Update.
1385
dfe3b247
CW
13862010-09-20 Colin Watson <cjwatson@ubuntu.com>
1387
1388 * util/grub-editenv.c (argp_parser): Don't pass translated strings
1389 as printf format strings; the translations might contain '%' which
1390 could cause a crash.
1391 (main): Likewise.
1392 * util/grub-fstest.c (argp_parser): Likewise.
1393 * util/grub-setup.c (argp_parser): Likewise.
1394 (main): Likewise.
1395
3286a4b4
VS
13962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 Use argp in grub-fstest.
1399
1400 * util/grub-fstest.c: Don't include getopt.h.
1401 Include argp.h.
1402 (root): New variable.
1403 (args_count): Likewise.
1404 (nparm): Likewise.
1405 (num_disks): Likewise.
1406 (images): Likewise.
1407 (cmd): Likewise.
1408 (debug_str): Likewise.
1409 (args): Likewise.
1410 (options): Transformed to argp.
1411 (usage): Removed.
1412 (main): Split argument parsing into ...
1413 (argp_parser): ... this. Changed to argp format.
1414 (argp): New variable.
1415 (main): Use argp_parse.
1416
3dccbe4b
TG
14172010-09-20 Tristan Gingold <gingold@free.fr>
14182010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14192010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * grub-core/commands/efi/lsefimmap.c: New file.
1422 * grub-core/Makefile.core.def (lsefimmap): New module.
1423 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
1424
38c259a7
VS
14252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 Pause the execution (10s max) if any errors are displayed so the user
1428 has a chance to see them.
1429
1430 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
1431 (grub_print_error): Increment grub_err_printed_errors.
1432 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
1433 execution if any errors were displayed.
1434 (show_menu): Remove old code for pause.
1435 * grub-core/normal/menu_entry.c (run): Likewise.
1436 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
1437 users updated.
1438 (grub_normal_get_char_counter): Likewise.
1439 * include/grub/err.h (grub_err_printed_errors): New external variable.
1440 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
1441
f218b09c
VS
14422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1443
1444 Support multiboot VBE info.
1445
1446 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1447 Take VBE info into account.
1448 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
1449 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1450 Call fill_vbe_info when appropriate.
1451 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
1452 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
1453 as supported.
1454 (grub_multiboot_get_mbi_size): Take new tags into account.
1455 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
1456 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
1457 Call fill_vbe_tag when appropriate.
1458 (grub_multiboot_make_mbi): Properly align tags.
1459 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
1460 function.
1461 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
1462 proto.
1463 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
1464
a9cc5438
VS
14652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Suport manual terminal geometry specification.
1468
1469 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
1470 Save state in grub_ofconsole_terminfo_output.
1471 (grub_ofconsole_term): Use grub_terminfo_getwh.
1472 (grub_ofconsole_getwh): Removed.
1473 * grub-core/term/serial.c (grub_serial_getwh): Removed.
1474 (grub_serial_term): Use grub_terminfo_getwh.
1475 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
1476 (options): New struct.
1477 (OPTION_*): New enum.
1478 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
1479 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
1480 width and height.
1481 (grub_terminfo_getwh): New proto.
1482 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
1483
1a8fed20
VS
14842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 Handle legacy "terminal" command.
1487
1488 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
1489 and FLAG_TERMINAL.
1490 (legacy_commands): Add terminal and title.
1491 (grub_legacy_parse): Handle terminal. Simplify title handling.
1492
41e9c57d
VS
14932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
1496 parameters overflow.
1497
61c874c5
CW
14982010-09-20 Colin Watson <cjwatson@ubuntu.com>
1499
1500 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
1501 widthspec.h.
1502
1503 * docs/grub.texi (Shell-like scripting): Document `!'.
1504 (Network): Simplify using new i386-pc-pxe format. Mention
1505 grub-mknetdir.
1506
1507 * NEWS: Update.
1508
943682b4
CW
15092010-09-20 Colin Watson <cjwatson@ubuntu.com>
1510
1511 * Makefile.am (SUBDIRS): Restore "."; it's important to force
1512 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
1513 when needed.
1514
6d3d698d
CW
15152010-09-20 Colin Watson <cjwatson@ubuntu.com>
1516
1517 * grub-core/commands/efi/lsefisystab.c: Correct header.
1518 * grub-core/commands/efi/lssal.c: Likewise.
1519 * grub-core/commands/testload.c: Likewise.
1520
c982589f
CW
15212010-09-20 Colin Watson <cjwatson@ubuntu.com>
1522
1523 * util/grub-mkrescue.in: Add explicit root argument to --set to
1524 prevent the UUID being interpreted as an argument to --set (matches
1525 previous change to prepare_grub_to_access_device).
1526
a63c31b6
CW
15272010-09-20 Colin Watson <cjwatson@ubuntu.com>
1528
1529 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
1530 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
1531 the verbosity of later #ifs.
1532 (find_partition_start): Define this function on FreeBSD too.
1533 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
1534 function.
1535 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
1536 on FreeBSD.
1537
6439b8ee
YB
15382010-09-20 Yves Blusseau <blusseau@zetam.org>
1539
1540 * util/grub-editenv.c: Use argp instead of getopt.
1541
c5930ec8
YB
15422010-09-20 Yves Blusseau <blusseau@zetam.org>
1543
1544 * util/grub-setup.c: Use argp instead of getopt.
1545
15c69261
YB
15462010-09-20 Yves Blusseau <blusseau@zetam.org>
1547
1548 Use gnulib-tool to create gnulib source files.
1549
1550 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
1551 grub-core/gnulib directories
1552 * .bzignore: Add **/.deps and autogenerated gnulib files
1553 * configure.ac: Assign auxiliary directory to build-aux, add invocation
1554 of gnulib macros, add grub-core/gnulib/Makefile
1555 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
1556 include m4 directory to aclocal.
1557 * Makefile.util.def: Remove direct compilation of gnulib source files
1558 and use the new grub-core/gnulib/libgnu.a.
1559 * build-aux/config.rpath: move config.rpath from top directory to
1560 build-aux
1561 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
1562 in gnulib headers
1563 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
1564 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
1565 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
1566 header.
1567 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
1568 string.
1569
e511c9f5
YB
15702010-09-20 Yves Blusseau <blusseau@zetam.org>
1571
1572 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
1573 grub-core/genmod.sh and grub-core/gensyminfo.sh
1574
c2dede05
BC
15752010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
1576
1577 Add a test for echo command options.
1578
1579 * tests/grub_cmd_echo.in: New test.
1580 * Makefile.util.def: Rules for new test.
1581
c55f5018
SJ
15822010-09-20 Szymon Janc <szymon@janc.net.pl>
1583
1584 Remove crc.mod and move crc command to hashsum.mod.
1585 Remove lib/crc.c - users updated to use gcrypt implementation.
1586
1587 * grub-core/commands/crc.c: Removed.
1588 * grub-core/Makefile.core.def (crc): Module removed.
1589 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
1590 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
1591 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
1592 * grub-core/lib/crc.c: Removed.
1593 * include/grub/lib/crc.h: Removed.
1594 * Makefile.util.def (crc): Remove lib/crc.c
1595 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
1596 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
1597 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
1598 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
1599 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
1600 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
1601
e0337366
VS
16022010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
1605
742f9232
VS
16062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 Split config.h for util and core.
1609
1610 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
1611 (ADDR32): Likewise.
1612 (DATA32): Likewise.
1613 (BSS_START_SYMBOL): Likewise.
1614 (END_SYMBOL): Likewise.
1615 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
1616 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
1617 * config.h.in: New file.
1618 * configure.ac: Use config-util.h as config define file.
1619 Rename MACHINE into GRUB_MACHINE. All users updated.
1620 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
1621 updated.
1622 (NESTED_FUNC_ATTR): Likewise.
1623 Substitue new variables.
1624 (COND_HAVE_ASM_USCORE): New conditional.
1625 * grub-core/Makefile.am (ASM_PREFIX): New variable.
1626 (kernel_syms.lst): Use ASM_PREFIX.
1627 * grub-core/kern/emu/console.c: Include config-util.h.
1628 * grub-core/kern/emu/misc.c: Likewise.
1629 * grub-core/kern/emu/mm.c: Likewise.
1630 * include/grub/emu/misc.h: Likewise.
1631 * include/grub/libgcc.h: Likewise.
1632
39feb0e8
VS
16332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
1636 constants usage.
1637 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
1638 Fix GRUB_TERM_KEY_* constants usage.
1639 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
1640
9af6dac3
VS
16412010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
1644 print pointer.
1645 * grub-core/bus/usb/uhci.c: Remove empty define.
1646 (grub_uhci_check_transfer): Add missing cast.
1647 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
1648 print pointer.
1649 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
1650 PRIuGRUB_SIZE.
1651 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
1652
d6d94820
VS
16532010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1654
1655 * grub-core/Makefile.core.def (legacycfg): Add
1656 lib/i386/pc/vesa_modes_table.c on emu.
1657
3572f2b6
BC
16582010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1659
1660 Reduce number of temporary files generated by build system.
1661
1662 * grub-core/gencmdlist.sh: Removed.
1663 * grub-core/genfslist.sh: Removed.
1664 * grub-core/genhandlerlist.sh: Removed.
1665 * grub-core/genmodsrc.sh: Removed.
1666 * grub-core/genpartmaplist.sh: Removed.
1667 * grub-core/genparttoollist.sh: Removed.
1668 * grub-core/gentermiinallist.sh: Removed.
1669 * grub-core/genvideolist.sh: Removed.
1670
1671 * grub-core/genmod.sh.in: New file.
1672 * grub-core/gensyminfo.sh.in: New file.
1673
1674 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
1675 * conf/Makefile.extra-dist: Update with new files.
1676 * gentpl.py: Remove rules related to unnecessary temporary files.
1677 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
1678 and und-* files.
1679 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
1680 genmod.sh scripts.
1681 * grub-core/bus/usb/uhci.c: Remove empty #define.
1682 * grub-core/genmoddep.awk: Updated with new syminfo format.
1683 * util/bash-completion.d/Makefile.am: Add config.log to
1684 CLEANFILES.
1685
c836b030
YB
16862010-09-19 Yves Blusseau <blusseau@zetam.org>
1687
1688 * Makefile.util.def: Add forgotten $(LIBINTL) library.
1689
2f4e8053
BC
16902010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
1691
1692 * util/grub-mkconfig.in: Check the config script for syntax errors
1693 before saving.
1694
75831c34
CW
16952010-09-19 Colin Watson <cjwatson@ubuntu.com>
16962010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * Makefile.util.def (grub-install): Use util/grub-install.in on all
1699 platforms.
1700 * util/grub-install.in: Add EFI and IEEE1275 support.
1701 * util/i386/efi/grub-install.in: Removed.
1702 * util/ieee1275/grub-install.in: Likewise.
1703
eaf41b25
VS
17042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
1707 (grub_cmd_cmosclean): Likewise.
1708 (GRUB_MOD_INIT): Register command cmosclean.
1709 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
1710 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
1711
1a9130dd
CPE
17122010-09-18 Carles Pina i Estany <carles@pina.cat>
17132010-09-18 Aleš Nesrsta <starous@volny.cz>
17142010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 Add keyboard layouts support.
1717
1718 * Makefile.util.def (grub-mklayout): New file.
1719 (grub-kbdcomp): New script.
1720 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
1721 Add keyboard_layouts.h.
1722 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
1723 commands/boot.c on yeeloong.
1724 (keylayouts): New module.
1725 * grub-core/bus/usb/ohci.c
1726 * grub-core/bus/usb/uhci.c
1727 * grub-core/bus/usb/usbhub.c (rescan): New variable.
1728 (grub_usb_add_hub): Poll interrupt pipe for device handling.
1729 (attach_root_port): Likewise.
1730 (poll_nonroot_hub): Likewise.
1731 (grub_usb_poll_devices): Likewise.
1732 (detach_device): Close transfer.
1733 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
1734 function.
1735 (grub_usb_bulk_setup_readwrite): Likewise.
1736 (grub_usb_bulk_finish_readwrite): Likewise.
1737 * grub-core/commands/keylayouts.c: New file.
1738 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
1739 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
1740 aliases.
1741 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
1742 support scancode 2.
1743 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
1744 * include/grub/keyboard_layouts.h: New file.
1745 * util/grub-mklayout.c: New file.
1746 * util/grub-kbdcomp.in: Likewise.
1747
a1d84a5e
VS
17482010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1749
1750 Unify memory types.
1751
1752 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
1753 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
1754 types.
1755 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
1756 (grub_upper_mem): Likewise.
1757 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
1758 * include/grub/memory.h (grub_memory_type_t): New enum.
1759 All users updated.
1760
9696382e
VS
17612010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/Makefile.core.def (lsapm): New module.
1764 * grub-core/commands/i386/pc/lsapm.c: New file.
1765 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
1766 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
1767 Likewise.
1768 * include/grub/i386/pc/apm.h: New file.
1769 * include/multiboot.h (multiboot_apm_info): New struct.
1770
17712010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 GRUB-legacy configuration file support.
1774
1775 * Makefile.util.def (grub-menulst2cfg): New util.
1776 * docs/man/grub-menulst2cfg.h2m: New file.
1777 * grub-core/Makefile.core.def (legacycfg): New module.
1778 * grub-core/commands/legacycfg.c: New file.
1779 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
1780 (grub_normal_add_menu_entry): ... this.
1781 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
1782 (grub_normal_set_password): ...this.
1783 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
1784 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
1785 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
1786 * grub-core/lib/legacy_parse.c: New file.
1787 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
1788 * include/grub/i386/pc/vesa_modes_table.h: New file.
1789 * include/grub/legacy_parse.h: Likewise.
1790 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
1791 * util/grub-menulst2cfg.c: New file.
1792
bf8d1338
CW
17932010-09-17 Colin Watson <cjwatson@ubuntu.com>
1794
1795 * grub-core/kern/emu/hostdisk.c
1796 (convert_system_partition_to_system_disk): Initialise node.
1797
9c0bad2e
CW
17982010-09-17 Colin Watson <cjwatson@ubuntu.com>
1799
1800 * grub-core/kern/emu/hostdisk.c
1801 (convert_system_partition_to_system_disk): Fix devmapper memory pool
1802 leak.
1803 Reported and based on patch by: Modestas Vainius.
1804
a939d135
CW
18052010-09-17 Colin Watson <cjwatson@ubuntu.com>
1806
1807 Fix DM-RAID probing with recent versions of device-mapper udev
1808 rules.
1809
1810 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
1811 canonicalise device paths under /dev/mapper/.
1812 (convert_system_partition_to_system_disk): Compare the
1813 uncanonicalised path to /dev/mapper/ rather than the canonicalised
1814 path, since device nodes under /dev/mapper/ are often symlinks.
1815
0f7ee3c9
YB
18162010-09-17 Yves Blusseau <blusseau@zetam.org>
1817
1818 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
1819
10854d0d
YB
18202010-09-16 Yves Blusseau <blusseau@zetam.org>
1821
1822 * configure.ac: Avoid some annoying error messages if freetype-config
1823 program is not found.
1824
108538d8
CW
18252010-09-16 Colin Watson <cjwatson@ubuntu.com>
1826
1827 Support RAID on virtio devices, and others.
1828
1829 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
1830 Rename to ...
1831 [__MINGW32__] (grub_find_device): ... this.
1832 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
1833 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
1834 reasonable default if dir is NULL.
1835 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
1836 ...
1837 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
1838 (grub_guess_root_device): Update callers.
1839 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
1840
1841 * util/raid.c (grub_util_getdiskname): Remove.
1842 (grub_util_raid_getmembers): Use grub_find_device rather than
1843 grub_util_getdiskname.
1844
e5bfc130
CW
18452010-09-16 Colin Watson <cjwatson@ubuntu.com>
1846
1847 * docs/grub.texi (serial): Remove obsolete comment about GRUB
1848 needing to be compiled with serial support.
1849 (ls): Indicate that multiple files are accepted.
1850 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
1851 indicate that multiple files are accepted.
1852
be458ae2
CW
18532010-09-16 Colin Watson <cjwatson@ubuntu.com>
1854
1855 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
1856 libgrub_a_init.c, and util/bash-completion.d/grub.
1857
cb731b5e
VS
18582010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 * util/grub-setup.c (setup): Fix incorrect container semantics.
1861
35139e8a
VS
18622010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
1865 misusage.
1866 Reported by: J. Nick Terry
1867
e50fca4a
VS
18682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 Move embedding routines to partmap sources files.
1871
1872 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
1873 [GRUB_UTIL]: New variable.
1874 (gpt_partition_map_iterate): Set part.parent.
1875 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
1876 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
1877 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
1878 New function.
1879 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
1880 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
1881 (grub_partition_map) [GRUB_UTIL]: New field embed.
1882 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
1883 (setup): Use ->embed.
1884
f00478b7
VS
18852010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
1888 function.
1889 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
1890 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
1891
2b94e3ff
YB
18922010-09-15 Yves Blusseau <blusseau@zetam.org>
1893
1894 Add function to get completions from usage.
1895
1896 * util/bash-completion.d/grub-completion.bash.in: Add function to get
1897 completions from usage. Use LC_ALL=C to get options properly.
1898
2e04a006
VS
18992010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/gnulib/basename-lgpl.c: Imported.
1902 * grub-core/gnulib/basename.c: Likewise.
1903 * grub-core/gnulib/dirname-lgpl.c: Likewise.
1904 * grub-core/gnulib/dirname.c: Likewise.
1905 * grub-core/gnulib/dirname.h: Likewise.
1906 * grub-core/gnulib/stripslash.c: Likewise.
1907
5dcdf93a
VS
19082010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/gnulib/error.c: Resynced.
1911 * grub-core/gnulib/getopt.c: Likewise.
1912 * grub-core/gnulib/getopt_int.h: Likewise.
1913 * grub-core/gnulib/regex.h: Likewise.
1914 * grub-core/gnulib/regex_internal.c: Likewise.
1915 * grub-core/gnulib/regex_internal.h: Likewise.
1916
014f47b7
SJ
19172010-09-15 Szymon Janc <szymon@janc.net.pl>
1918
1919 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
1920 CRC calculations and validity checks.
1921 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
1922 calculations.
1923
dd521a4a
SJ
19242010-09-15 Szymon Janc <szymon@janc.net.pl>
1925
1926 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
1927
79c4eeb9
VS
19282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 Fix incorrect echo options handling.
1931 Reported by: Yves Blusseau.
1932
1933 * include/grub/command.h (grub_command_flags_t): New flags
1934 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
1935 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
1936 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
1937
ed80f7d5
VS
19382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
1941 users updated.
1942 (GRUB_COMMAND_FLAG_MENU): Likewise.
1943 (GRUB_COMMAND_FLAG_BOTH): Likewise.
1944 (GRUB_COMMAND_FLAG_TITLE): Removed.
1945 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
1946 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
1947 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
1948 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
1949 (grub_command_flags_t): New enum. All users updated.
1950
5fe7620a
SG
19512010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
1952
1953 Fix solaris compilation.
1954
1955 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
1956 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
1957 (grub-emu-list): Likewise.
1958
545b752f
VS
19592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 Remove deprecated root command.
1962
1963 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
1964 updated.
1965
6c1a338c
VS
19662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * util/i386/pc/grub-setup.c: Merge this ...
1969 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
1970 * util/grub-setup.c: ... into this.
1971 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
1972 New struct.
1973
19742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
1977 possible.
1978
d2ea4551
VS
19792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
1982 allocate p.
1983
3c3b5040
VS
19842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
1987 explicit root argument to set to prevent UUID to be interpreted as
1988 argument to set.
1989
b71c3fae
VS
19902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1991
1992 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
1993
275433e6
VS
19942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Don't export grub_gate_a20.
1997
1998 * grub-core/kern/i386/pc/init.c: Remove leftovers.
1999 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
2000 to ...
2001 (grub_gate_a20): ... this. All users updated.
2002 * include/grub/i386/pc/init.h: Removed. All users updated.
2003
a5dbb1f1
VS
20042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 Create euro.pf2 which supports most European languages.
2007
2008 * Makefile.am (grubdata_DATA): Add euro.pf2.
2009 (euro.pf2): New target.
2010 (CLEANFILES): Add euro.pf2.
2011
62a747cb
VS
20122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 * configure.ac: Disable emu-usb by default to prevent inadvertent
2015 device takeover.
2016
608e43b1
VS
20172010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2018
2019 Disable usbserial on grub-emu since our libusb code isn't good enough
2020 yet.
2021
2022 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
2023 (usbserial_pl2303): Likewise.
2024 (usbserial_ftdi): Likewise.
2025
94564f81
VS
20262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * include/grub/disk.h (grub_disk): Remove has_partitions.
2029 All users updated.
2030 * disk/loopback.c (grub_loopback): Remove has_partitions.
2031 All users updated.
2032 (options): Remove partitions. All users updated.
2033 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
2034 * util/i386/pc/grub-setup.c (setup): copy partition table only when
2035 actual partition table is found.
2036
3352800b
VS
20372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 Remove readability checks (too many false negatives).
2040
2041 * util/grub-install.in: Remove readability checks.
2042 * util/grub-mkconfig.in: Likewise.
2043 * util/grub.d/10_hurd.in: Likewise.
2044 * util/grub.d/10_kfreebsd.in: Likewise.
2045 * util/grub.d/10_linux.in: Likewise.
2046 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
2047 way.
2048
2419f17a
VS
20492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 Enable acpi shutdown on all ACPI platforms.
2052
2053 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
2054 on coreboo, multiboot and EFI.
2055 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
2056 (grub_acpi_halt): Likewise.
2057 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
2058 (grub_cmd_halt): Don't call grub_acpi_halt directly.
2059 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
2060 * grub-core/lib/i386/halt.c (grub_halt)
2061 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
2062
0575c7c3
VS
20632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
2066 context.
2067
54ac3cd1
VS
20682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/video/efi_gop.c: Fix over-80-chars line.
2071 * grub-core/video/efi_uga.c: Likewise.
2072
b2a30ac5
VS
20732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 Filter devaliases and never open same device twice.
2076
2077 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
2078 (last_ihandle): Likewise.
2079 (ofdisk_hash_ent): New member shortest.
2080 (ofdisk_hash_add): Add canonical path too.
2081 (scan): New function.
2082 (grub_ofdisk_iterate): Iterate over hashed entries.
2083 (compute_dev_path): Don't add :0.
2084 (grub_ofdisk_open): Don't really open the disk.
2085 (grub_ofdisk_close): Avoid closing unrelated disk.
2086 (grub_ofdisk_read): Implement reopen logic.
2087 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
2088 New function.
2089 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
2090 New proto.
2091
fb53b340
VS
20922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Fix sparc64.
2095
2096 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
2097 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
2098 right address. Add sparc64_ieee1275_ldflags.
2099 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
2100 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
2101 to grub_host_to_target_addr
2102 (load_image): Likewise.
2103
f452b040
VS
21042010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/normal/completion.c (complete_file): Handle device
2107 containing slash.
2108 Fix based on patch by Doug Nazar.
2109
9b5b2541
VS
21102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 grub-mknetdir script.
2113
2114 * Makefile.util.def (grub-mknetdir): New module.
2115 * tests/util/grub-shell.in: Support boot=net
2116 * util/grub-mknetdir.in: New file.
2117
9d2be652
VS
21182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 videoinfo on non-vbe.
2121
2122 * grub-core/Makefile.core.def (vbeinfo): Removed.
2123 (vbetest): Removed.
2124 (videoinfo): New module.
2125 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
2126 * grub-core/commands/i386/pc/vbetest.c: Removed.
2127 * grub-core/commands/videoinfo.c: New file.
2128 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
2129 specification.
2130 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
2131 as vbetest.
2132 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
2133 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
2134 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
2135 mode_number. New parameter mode. All users updated.
2136 (grub_video_gop_iterate): New function.
2137 (grub_video_efi_gop): New member iterate.
2138 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
2139 (grub_vbe_set_video_mode): Remove setting useless fields.
2140 (vbe2videoinfo): New function.
2141 (grub_video_vbe_iterate): Likewise.
2142 (grub_video_vbe_setup): Use vbe2videoinfo.
2143 (grub_video_vbe_print_adapter_specific_info): New function.
2144 (grub_video_vbe_adapter): New fields iterate and
2145 print_adapter_specific_info.
2146 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
2147 All users updated.
2148 (grub_video_mode_info): New field mode_number.
2149 (grub_video_adapter): New fields iterate and
2150 print_adapter_specific_info.
2151
179503f5
TG
21522010-09-13 Tristan Gingold <gingold@free.fr>
21532010-09-13 Robert Millan <rmh.grub@aybabtu.com>
21542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/commands/efi/lsefisystab.c: New file.
2157 * grub-core/commands/efi/lssal.c: Likewise.
2158 * grub-core/Makefile.core.def (lsacpi): New module.
2159 (lsefisystab): Likewise.
2160 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
2161 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
2162 (grub_efi_sal_system_table): New struct.
2163 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
2164 (grub_efi_sal_system_table_memory_descriptor): Likewise.
2165 (grub_efi_sal_system_table_platform_features): Likewise.
2166 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
2167 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
2168 (grub_efi_sal_system_table_ap_wakeup): Likewise.
2169 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
2170
cf9827de
VS
21712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 Support explicit user claim that a device is BIOS-visible.
2174
2175 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
2176 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
2177 * grub-core/kern/emu/hostdisk.c
2178 (convert_system_partition_to_system_disk): Support mdX.
2179 (find_system_device): New parameter add. All users updated.
2180 (grub_util_biosdisk_is_present): New function.
2181 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
2182 proto.
2183
53f0eb1f
VS
21842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 Search hints support.
2187
2188 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
2189 All users updated.
2190
b23ffd70
YB
21912010-09-13 Yves Blusseau <blusseau@zetam.org>
2192
2193 Bash completion script for util commands
2194
2195 * Makefile.am: Add util/bash-completion.d directory
2196 * configure.ac: Likewise.
2197 * util/bash-completion.d/Makefile.am: New file.
2198 * util/bash-completion.d/grub-completion.bash.in: Likewise.
2199
d547dc28
VS
22002010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
2203 (print_backlog): set backlog_ucs4 and backlog_glyphs.
2204 Reported by: Yves Blusseau.
2205
2fc8ccb9
VS
22062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
2209 partition size and offset.
2210
d8a84076
VS
22112010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
2214
84fb3b3d
VS
22152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
2218
768ec2e2
VS
22192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
2222 (grub_xvasprintf): Likewise.
2223
4870900f
VS
22242010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
2227
faca6bec
VS
22282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
2231 args ending with NULL.
2232
22332010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
2234
2235 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
2236 pointer.
2237
3c70f225
SJ
22382010-09-11 Szymon Janc <szymon@janc.net.pl>
2239
2240 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
2241
4df7996d
VS
22422010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 Shutdown using ACPI.
2245
2246 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
2247 * grub-core/commands/acpihalt.c: New file.
2248 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
2249 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
2250 (grub_acpi_halt): New proto.
2251 (GRUB_ACPI_SLP_EN): New const.
2252 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
2253 (GRUB_ACPI_OPCODE_*): New enum.
2254 (GRUB_ACPI_EXTOPCODE_*): Likewise.
2255
126b4c32
TG
22562010-09-11 Tristan Gingold <gingold@free.fr>
22572010-09-11 Robert Millan <rmh.grub@aybabtu.com>
22582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * commands/lsacpi.c: New file.
2261 * grub-core/Makefile.core.def (lsacpi): New module.
2262 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
2263 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
2264 (grub_acpi_madt_entry_header): New struct.
2265 (grub_acpi_madt): Likewise.
2266 (grub_acpi_madt_entry_interrupt_override): Likewise.
2267 (grub_acpi_madt_entry_sapic): Likewise.
2268 (grub_acpi_madt_entry_lsapic): Likewise.
2269 (grub_acpi_madt_entry_platform_int_source): Likewise.
2270 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
2271 (PRIuGRUB_UINT32_T): Likewise.
2272 (PRIxGRUB_UINT64_T): Likewise.
2273
1aa4fe88
VS
22742010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 Implement loading palette on ieee1275_fb.
2277
2278 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
2279 (have_setcolors): Likewise.
2280 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
2281 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
2282 (grub_video_ieee1275_set_palette): Implement.
2283
25761e13
VS
22842010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22852010-09-11 Colin Watson <cjwatson@ubuntu.com>
2286
2287 * util/grub-install.in (grub_partition): New variable.
2288 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
2289 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
2290 Fixes a bug reported by Yves Blusseau.
2291
050abaea
VS
22922010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Fix emu on mipsel.
2295
2296 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
2297 =grub_cpu_flush_cache on all mips and not only yeeloong.
2298 * configure.ac (COND_mips): New conditional.
2299 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
2300 platforms.
2301 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
2302 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
2303 [GRUB_LINKER_HAVE_INIT]: New function.
2304 (grub_emu_post_init): Likewise.
2305 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
2306 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
2307 * include/grub/cache.h (_mips): Include mips/cache.h.
2308 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
2309 LVM and RAID prototypes.
2310 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
2311 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
2312 function.
2313
5ed7d816
CW
23142010-09-10 Colin Watson <cjwatson@ubuntu.com>
2315
2316 * util/grub-install.in: Don't try to verify core.img until after
2317 running grub-mkimage to create it.
2318
90367e04
RM
23192010-09-10 Robert Millan <rmh@gnu.org>
2320
2321 * util/grub.d/10_hurd.in: Add misc readability checks.
2322 * util/grub.d/10_kfreebsd.in: Likewise.
2323 * util/grub.d/10_linux.in: Likewise.
2324
c452fa66
CW
23252010-09-10 Colin Watson <cjwatson@ubuntu.com>
2326
2327 * util/grub-install.in: ${imgext} won't be defined here until the
2328 install branch is merged. For the meantime, only verify core.img on
2329 i386-pc and sparc64-ieee1275 platforms.
2330
c38fe9f4
RM
23312010-09-10 Robert Millan <rmh@gnu.org>
2332
2333 Solaris support in grub_find_zpool_from_dir(). Thanks
2334 Seth Goldberg for referring to getextmntent() facility.
2335
2336 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
2337 `sys/mkdev.h'.
2338 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
2339 `<sys/mnttab.h>'.
2340 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
2341 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
2342 method for finding zpool name.
2343
905f7773
CW
23442010-09-10 Colin Watson <cjwatson@ubuntu.com>
2345
2346 grub-fstest needs the host and hostfs modules while other utilities
2347 actively require those modules to be absent, so grub-fstest needs
2348 its own initialisation and finalisation code.
2349
2350 * Makefile.am (grub_fstest.pp): New target.
2351 (grub_fstest_init.lst): Likewise.
2352 (grub_fstest_init.c): Likewise.
2353 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
2354
fb90b546
RM
23552010-09-10 Robert Millan <rmh@gnu.org>
2356
2357 * configure.ac: Check for `struct statfs.f_fstypename' and
2358 `struct statfs.f_mntfromname'.
2359
2360 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
2361 kFreeBSD-specific code.
2362
66d4bea5
RM
23632010-09-10 Robert Millan <rmh@gnu.org>
2364
2365 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
2366 on ZFS. Now non-main filesystems are supported as / too.
2367
b6a690ee
CW
23682010-09-09 Colin Watson <cjwatson@ubuntu.com>
2369
2370 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
2371 and grub-core/disk/host.c to ...
2372 (grub-fstest): ... here. Having the host disk implementation
2373 present confuses grub-probe and other utility programs.
2374
2375 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
2376 when writing to a file, not when writing to stdout.
2377
8901b00c 23782010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
2379
2380 * tests/partmap_test.in: New test for partitions.
2381 * Makefile.util.def: Rules for new test.
2382
7bf45fdd
RM
23832010-09-09 Robert Millan <rmh@gnu.org>
2384
2385 * util/grub-probe.c (probe): Fix a pair of unhandled error
2386 conditions.
2387
4dfbc574
RM
23882010-09-09 Robert Millan <rmh@gnu.org>
2389
2390 Basic Btrfs support (detection and UUID).
2391
2392 * grub-core/fs/btrfs.c: New file.
2393 * Makefile.util.def (library): Register btrfs.c.
2394 * grub-core/Makefile.core.def: Likewise.
2395
6b8e78ae
RM
23962010-09-08 Robert Millan <rmh@gnu.org>
2397
2398 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
2399 with (optional) parameters to specify device and relative path.
2400 * util/grub-install.in: Use is_path_readable_by_grub() to
2401 verify readability of a few critical files.
2402 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
2403 verify readability of grub.cfg.new.
2404
27f21a8b
VS
24052010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 Split minix.mod into minix.mod and minix2.mod.
2408
2409 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
2410 * grub-core/Makefile.core.def (minix2): New module.
2411 * grub-core/fs/minix.c: Use definitions instead of runtime version
2412 checking.
2413 * grub-core/fs/minix2.c: New file.
2414
c0e53ea5
YB
24152010-09-08 Yves Blusseau <blusseau@zetam.org>
2416
2417 Add new --boot-directory option to replace --root-directory
2418
2419 * util/grub-install.in: Add new --boot-directory option
2420 * util/grub-reboot.in: Likewise.
2421 * util/grub-set-default.in: Likewise.
2422
b9fe6ea2
YB
24232010-09-08 Yves Blusseau <blusseau@zetam.org>
2424
2425 * util/grub-mkconfig.in: Use new variable.
2426
d87aedff
YB
24272010-09-08 Yves Blusseau <blusseau@zetam.org>
2428
2429 * configure.ac: Define some useful variables.
2430
e55e8495
VS
24312010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2434 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
2435 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
2436 Use terminfo and don't use cursor-on/cursor-off unless it's known
2437 to work.
2438 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
2439 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
2440
6fa6d675
CW
24412010-09-08 Colin Watson <cjwatson@ubuntu.com>
2442
2443 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
2444 starts with "(,", fill the drive containing the loaded image in
2445 between those two characters, but expect that a full partition
2446 specification including partition map names will follow.
2447
92f2aef0
RM
24482010-09-08 Robert Millan <rmh@gnu.org>
2449
2450 * configure.ac: Remove `--enable-grub-fstest' option.
2451 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
2452
2453 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
2454 `grub-fstest' instead of `grub-probe' for readability verification.
2455 * util/grub-probe.c (probe): Remove readability verification kludge.
2456
99fd620d
RM
24572010-09-08 Robert Millan <rmh@gnu.org>
2458
2459 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
2460 initializing `GRUB_FS'.
2461
058e30ac 24622010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
2463
2464 Not command (!) support to GRUB script.
2465
2466 * tests/grub_script_not.in: New test.
2467 * Makefile.util.def: Rules for new test.
2468
2469 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
2470 ! command as a special case.
2471 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
2472
b61d05ed 24732010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2474
058e30ac 2475 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
2476 grub_free.
b61d05ed 2477
4d69c786 24782010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2479
2480 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
2481
aa3119c4 24822010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
2483
2484 * docs/grub.texi (Shell-like scripting): Documentation for break,
2485 continue, shift and return commands.
2486
db0f7e3d
VS
24872010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 Rename CD-ROM to cd on BIOS.
2490
2491 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
2492 "cd".
2493 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2494
88b87c93
VS
24952010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2496
2497 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
2498 * util/grub-probe.c (main): Likewise.
2499 * util/i386/pc/grub-setup.c (main): Likewise.
2500 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2501 Reported and debugged by: alexxy
2502
294f324d
VS
25032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
2506 diagnostic info.
2507
d7ee3441
JS
25082010-09-05 Jo Shields <directhex@apebox.org>
2509
2510 * util/grub.d/30_os-prober.in: Add missing classes.
2511
d7e06c1f
VS
25122010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * docs/grub.texi (Theme file format): Document new position format.
2515
fc157e53
VS
25162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
2519 a table. Use @code instead of @verbatim.
2520
506e9a1c
CB
25212010-09-05 Colin D Bennett <colin@gibibit.com>
2522
2523 Gfxmenu documentation.
2524
2525 * docs/grub.texi (Theme file format): New chapter.
2526
f0aff67c
SJ
25272010-09-05 Szymon Janc <szymon@janc.net.pl>
2528
2529 * grub-core/Makefile.core.def (xzio): New module.
2530 * grub-core/io/xzio.c: New file.
2531 * grub-core/lib/xzembed/xz.h: New file (from xembed).
2532 * grub-core/lib/xzembed/xz_config.h: Likewise.
2533 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
2534 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
2535 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
2536 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
2537 * grub-core/lib/xzembed/xz_private.h: Likewise.
2538 * grub-core/lib/xzembed/xz_stream.h: Likewise.
2539 * include/grub/file.h (grub_file_filter_id): New compression filter
2540 GRUB_FILE_FILTER_XZIO.
2541
82a85062
VS
25422010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
2545 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
2546 size.
2547
3579415d
VS
25482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
2551 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2552
5124ae6d
VS
25532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 Uncompressed checksum support.
2556
2557 * grub-core/commands/hashsum.c (options): Add option --uncompress.
2558 (check_list): New parameter uncompress.
2559 (grub_cmd_hashsum): Handle --uncompress.
2560
9aadb3d1
VS
25612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2562
2563 Reintroduce testload.
2564
2565 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
2566 from here ...
2567 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
2568 (GRUB_MOD_INIT): New function.
2569 (GRUB_MOD_FINI): Likewise.
2570 * grub-core/Makefile.core.def (testload): New module.
2571
a17792c3
SJ
25722010-09-05 Szymon Janc <szymon@janc.net.pl>
2573
2574 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
2575 (uint8_t): New type.
2576 (uint16_t): Likewise.
2577 (uint32_t): Likewise.
2578 (uint64_t): Likewise.
2579
b81e40a3
SJ
25802010-09-05 Szymon Janc <szymon@janc.net.pl>
2581
2582 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
2583
fc2ef117
VS
25842010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
2587 Made static.
2588 (grub_gzfile_open): Removed. All users updated.
2589 (GRUB_MOD_INIT): New function.
2590 (GRUB_MOD_FINI): Likewise.
2591 * grub-core/kern/file.c (grub_file_filters_all): New variable.
2592 (grub_file_filters_enabled): Likewise.
2593 (grub_file_open): Handle filters.
2594 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
2595 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
2596 * include/grub/file.h (grub_file_filter_id_t): New type.
2597 (grub_file_filter_t): Likewise.
2598 (grub_file_filters_all): New extern variable.
2599 (grub_file_filters_enabled): Likewise.
2600 (grub_file_filter_register): New inline function.
2601 (grub_file_filter_unregister): Likewise.
2602 (grub_file_filter_disable): Likewise.
2603 (grub_file_filter_disable_compression): Likewise.
2604 * include/grub/gzio.h: Removed.
2605
35ee15e0
BC
26062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2607
2608 Filename expansion support for wildcards in GRUB script.
2609
2610 * tests/grub_script_expansion.in: New test.
2611 * Makefile.util.def: Rule for new test.
2612
2613 * grub-core/commands/wildcard.c: New file, implements filename
2614 expansion support for GRUB script.
2615 * grub-core/Makefile.core.def: Rule update for regexp.mod.
2616 * grub-core/script/argv.c: Cosmetic changes.
2617 * grub-core/script/execute.c (grub_script_arglist_to_argv):
2618 Refactored to perform wildcard expansion on arguments.
2619 * include/grub/script_sh.h (grub_script_wildcard_translator): New
2620 struct.
2621
2622 * tests/util/grub-shell.in: Fix quoting for read input.
2623
5f0c4aca
BC
26242010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2625
2626 Support for updating environment variables with matched substrings
2627 of regexp.
2628
2629 * tests/grub_cmd_regexp.in: New test.
2630 * Makefile.util.def: Rule for new test.
2631
2632 * grub-core/commands/regexp.c: New option -s to update environment
2633 variables with regexp matches.
2634
3759a35f
SJ
26352010-09-04 Szymon Janc <szymon@janc.net.pl>
2636
2637 * include/grub/file.h (grub_file): New member not_easly_seekable.
2638 (grub_file_seekable): New inline function.
2639 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
2640 easily seekable.
2641 (grub_gzio_open): Set not_easly_seekable.
2642 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
2643 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2644
ed8c6dec
BC
26452010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2646
2647 Support for options to appear multiple times on cmdline.
2648
2649 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
2650 * grub-core/commands/extcmd.c: Support for repeatable option.
2651 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
2652 repeatable option support.
2653
2654 Refactor menuentry into a regular command.
2655
2656 * grub-core/commands/menuentry.c: New file, menuentry command
2657 implementation.
2658 * grub-core/Makefile.core.def: Rule update for normal.mod.
2659 * grub-core/normal/main.c: Moved menuentry creation to
2660 grub-core/commands/menuentry.c.
2661 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
2662 (grub_menu_execute_entry_real): Removed.
2663 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
2664 function.
2665 (grub_script_execute_menuentry): Removed.
2666 * grub-core/script/parser.y (menuentry): Removed.
2667 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
2668 * grub-core/script/yylex.l (menuentry): Removed.
2669 * include/grub/menu.h (grub_menu_init): New prototype.
2670 (grub_menu_fini): New prototype.
2671 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
2672 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
2673 (grub_script_execute_sourcecode): New prototype.
2674
dacd0cf0
BC
26752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2676
2677 "return" command for GRUB script functions.
2678
2679 * tests/grub_script_return.in: New test.
2680 * Makefile.util.def: Rules for new test.
2681
2682 * grub-core/script/execute.c (grub_script_return): New function.
2683 * grub-core/script/main.c: Register/unregister return commaond.
2684 * include/grub/script_sh.h (grub_script_return): New prototype.
2685
52e72f9d
BC
26862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2687
2688 "setparams" command to update positional parameters.
2689
2690 * tests/grub_script_setparams.in: New test.
2691 * Makefile.util.def: Rules for new test.
2692
2693 * grub-core/script/argv.c (grub_script_argv_make): New function.
2694 * grub-core/script/execute.c (replace_scope): New function.
2695 (grub_script_setparams): New function.
2696 * grub-core/script/lexer.c: Remove unused variables.
2697 * grub-core/script/main.c: Register/unregister setparams command.
2698 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
2699 (grub_script_setparams): New prototype.
2700
25b60c91
BC
27012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2702
2703 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
2704 grub_free order.
2705
37e7bf68
BC
27062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2707
2708 Support for passing block of commands as an argument to extcmds.
2709
2710 * Makefile.util.def: Rules for new test.
2711 * tests/grub_script_blockarg.in: New test.
2712 * grub-core/tests/test_blockarg.c: New file, block argument
2713 command used in the test.
2714
2715 * include/grub/extcmd.h (grub_extcmd_context): New struct.
2716 (grub_register_extcmd_prio): New function prototype.
2717 (grub_extcmd_dispatcher): New function prototype.
2718 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
2719 type.
2720 * include/grub/script_sh.h (struct grub_script): New members
2721 `children', `next_siblings' and `refcnt' for block arguments and
2722 reference counting.
2723 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
2724 (grub_script_arg): New member `script' for block argument.
2725 (grub_script_argv): New member `script' for block argument.
2726 (grub_parser_param): New member `scripts' for block argument.
2727 (grub_script_mem_free): New extern function prototype.
2728 (grub_script_ref): New function prototype.
2729 (grub_script_unref): New function prototype.
2730
2731 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
2732 extcmd form to support block arguments.
2733 * grub-core/script/argv.c: Block arguments support.
2734 * grub-core/script/execute.c: Likewise.
2735 * grub-core/script/lexer.c: Likewise.
2736 * grub-core/script/main.c: Likewise.
2737 * grub-core/script/script.c: Likewise.
2738 * grub-core/script/parser.y: Likewise. New `block' and `block0'
2739 non-terminals.
2740
2741 * grub-core/commands/acpi.c: Update extcmd implementations with
2742 grub_extcmd_context_t.
2743 * grub-core/commands/cat.c: Likewise.
2744 * grub-core/commands/echo.c: Likewise.
2745 * grub-core/commands/extcmd.c: Likewise.
2746 * grub-core/commands/hashsum.c: Likewise.
2747 * grub-core/commands/hdparm.c: Likewise.
2748 * grub-core/commands/help.c: Likewise.
2749 * grub-core/commands/hexdump.c: Likewise.
2750 * grub-core/commands/i386/cpuid.c: Likewise.
2751 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2752 * grub-core/commands/i386/pc/halt.c: Likewise.
2753 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2754 * grub-core/commands/iorw.c: Likewise.
2755 * grub-core/commands/keystatus.c: Likewise.
2756 * grub-core/commands/loadenv.c: Likewise.
2757 * grub-core/commands/ls.c: Likewise.
2758 * grub-core/commands/lspci.c: Likewise.
2759 * grub-core/commands/memrw.c: Likewise.
2760 * grub-core/commands/probe.c: Likewise.
2761 * grub-core/commands/search_wrap.c: Likewise.
2762 * grub-core/commands/setpci.c: Likewise.
2763 * grub-core/commands/sleep.c: Likewise.
2764 * grub-core/disk/loopback.c: Likewise.
2765 * grub-core/hello/hello.c: Likewise.
2766 * grub-core/loader/i386/bsd.c: Likewise.
2767 * grub-core/loader/xnu.c: Likewise.
2768 * grub-core/term/gfxterm.c: Likewise.
2769 * grub-core/term/serial.c: Likewise.
2770 * grub-core/tests/lib/functional_test.c: Likewise.
2771
888d1500
BC
27722010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
2773
2774 Multi-line quoted strings support.
2775
2776 * grub-core/script/lexer.c (append_newline): Removed.
2777 (grub_script_lexer_yywrap): Refactored.
2778 (grub_script_lexer_init): Refactored.
2779 * grub-core/script/yylex.l (yywrap): New function.
2780 (grub_lexer_resplit): New function.
2781 (grub_lexer_unput): New function.
2782 * include/grub/script_sh.h (grub_lexer_param): New members, unput
2783 and resplit.
2784 * tests/grub_script_echo1.in: Added few more testcases.
2785
dda060dd
VS
27862010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/kern/misc.c: Don't add abort alias in utils.
2789 Reported by: echoline.
2790
6556eba9
BC
27912010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
2792
2793 Add missing files into "make dist" tarball for other platforms.
2794
2795 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
2796 * conf/Makefile.common (dist_noinst_DATA): New variable.
2797 * conf/Makefile.extra-dist: Added missing make dist files.
2798 * grub-core/Makefile.core.def: Likewise.
2799
c8e7bf5f
VS
28002010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 Compress grub_prefix.
2803
2804 * grub-core/boot/i386/pc/lnxboot.S: Use
2805 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
2806 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
2807 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
2808 GRUB_MACHINE_PREFIX_END. All users updated.
2809 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
2810 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
2811 + 0x40.
2812 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2813 * util/grub-mkimage.c (image_target_desc): Change data_end to
2814 prefix_end. All users updated.
2815
a7c00cdb
VS
28162010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
2819 value.
2820 (grub_openbsd_boot): Likewise.
2821 (grub_netbsd_boot): Likewise.
2822 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
2823 (grub_xnu_boot): Likewise.
2824
9f915872
VS
28252010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * configure.ac: Clean LIBS variable after tests.
2828
efa1bee7
CW
28292010-09-02 Colin Watson <cjwatson@ubuntu.com>
2830
2831 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
2832
61d720e5
VS
28332010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
2836 echo if libdevmapper will be used.
2837
ef8e0ec8
IT
28382010-09-02 Ian Turner <Ian.Turner@deshaw.com>
2839
2840 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
2841 constant for the same file.
2842
03e261d8
VS
28432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
2846
c2a4eba6
CW
28472010-09-02 Colin Watson <cjwatson@ubuntu.com>
2848
2849 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
2850 grub-core/*.pp.
2851
9056cbf3
CW
28522010-09-02 Colin Watson <cjwatson@ubuntu.com>
2853
2854 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
2855 required by the boot protocol.
2856
2857 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
2858 ebp and edi members.
2859 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
2860 state.ebp and state.edi.
2861 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
2862 %ebp and %edi according to grub_relocator32_ebp and
2863 grub_relocator32_edi respectively.
2864 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
2865 and state.edi.
2866
529cc99a
VS
28672010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 Add i386-pc-pxe image target.
2870
2871 * util/grub-mkimage.c (image_target_desc): New enum value
2872 IMAGE_I386_PC_PXE.
2873 (image_targets): New target i386-pc-pxe.
2874 (generate_image): Handle i386-pc-pxe image.
2875
9a093920
VS
28762010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 Fix grub_pxe_scan.
2879
2880 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
2881 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
2882 All users updated.
2883 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
2884 (grub_pxe_pxenv): Correct type.
2885
f9cefc4e
CW
28862010-09-01 Colin Watson <cjwatson@ubuntu.com>
2887
2888 * NEWS: Document most of the important changes since 1.98.
2889
4066f57f
CW
28902010-09-01 Colin Watson <cjwatson@ubuntu.com>
2891
2892 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
2893 generated manual page) a little.
2894
da2891f9
CW
28952010-09-01 Colin Watson <cjwatson@ubuntu.com>
2896
2897 * docs/grub.texi: Add myself as an author.
2898
ad717fae
VS
28992010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * Makefile.util.def (libgrub.a): Add missing sunpc.
2902 Reported by: Seth Goldberg.
2903
eefe8abd
VS
29042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 Interrupt wrapping and code simplifications.
2907
9494ef9a
VS
2908 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
2909 x86_noieee1275 which are functionaly equivalent in this case.
2910 (grub-install): Make source on each platform explicit. Enable on
2911 all noemu.
2912 * gentpl.py (x86_efi_pc): Removed group.
2913 (x86_noefi): Likewise.
2914 (i386_noefi): Likewise.
2915 (x86_noieee1275): Likewise.
2916 (i386_noieee1275): Likewise.
2917 (i386_noefi_noieee1275): Likewise.
2918 (i386_pc_qemu_coreboot): Likewise.
2919 (i386_coreboot_multiboot): Likewise.
2920 (i386_pc_coreboot_multiboot_qemu): Likewise.
2921 (x86_noefi_mips): Likewise.
2922 (noieee1275): Likewise.
2923 (ieee1275_mips): Likewise.
2924 (noemu_noieee1275): Likewise.
2925 (cmos): New group.
2926 (usb): Likewise.
2927 (videoinkernel): Likewise.
2928 (videomodules): Likewise.
eefe8abd 2929 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
2930 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
2931 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
2932 include/grub/loader.h, include/grub/msdos_partition.h,
2933 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
2934 include/grub/machine/console.h, include/grub/machine/vga.h,
2935 include/grub/machine/vbe.h, include/grub/machine/init.h,
2936 include/grub/machine/kernel.h, include/grub/cpu/time.h,
2937 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 2938 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
2939 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
2940 * grub-core/Makefile.core.def (kernel): Explicit the source for
2941 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
2942 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
2943 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
2944 Use videoinkernel tag.
2945 (usb): Enable on all usb.
2946 (usbserial_common): Likewise.
2947 (usbserial_pl2303): Likewise.
2948 (usbserial_ftdi): Likewise.
2949 (uhci): Enable on all x86.
2950 (ohci): Enable on all pci.
2951 (cmostest): Enable on all CMOS.
2952 (acpi): Include commands/acpi.c on all platforms.
2953 (halt): Add relevant lib/*/halt.c.
2954 (hdparm): Enable on all pci.
2955 (lspci): Likewise.
2956 (usbtest): Enable on all usb.
2957 (ata): Enable on all pci.
2958 (ata_pthru): Likewise.
2959 (usbms): Enable on all usb.
2960 (usb_keyboard): Likewise.
2961 (font): Use tag videomodules.
2962 (bufio): Likewise.
2963 (datetime): Use tag cmos. Enable on all noemu.
2964 (mmap): Use tags common and x86.
2965 (gfxterm): Use tag videomodules.
2966 (bitmap): Likewise.
2967 (bitmap_scale): Likewise.
2968 (video_fb): Likewise.
2969 (video): Likewise.
2970 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
2971 adjust padding accordingly. All users updated.
2972 (grub_ohci_transaction): Fix bad format specification.
2973 (GRUB_MOD_INIT): Add asserts for struct size.
2974 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
2975 (grub_alloc_td): Likewise.
2976 (grub_free_queue): Likewise.
2977 (grub_uhci_transfer): Likewise.
2978 (grub_uhci_transaction): Fix bad format specification.
2979 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
2980 (grub_usb_bulk_readwrite): Likewise.
2981 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
2982 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
2983 Made static.
2984 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
2985 Made static.
2986 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
2987 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
2988 Transformed into C.
2989 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
2990 Moved from here ...
2991 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
2992 ... here. Transformed into C. Made static.
2993 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
2994 Moved from here ...
2995 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
2996 ... here. Transformed into C. Made static.
2997 * grub-core/kern/i386/pc/startup.S
2998 (grub_biosdisk_check_int13_extensions): Moved from here ...
2999 * grub-core/disk/i386/pc/biosdisk.c
3000 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
3001 Made static.
3002 * grub-core/kern/i386/pc/startup.S
3003 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
3004 * grub-core/disk/i386/pc/biosdisk.c
3005 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
3006 Transformed into C. Made static.
3007 * grub-core/kern/i386/pc/startup.S
3008 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
3009 * grub-core/disk/i386/pc/biosdisk.c
3010 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
3011 Transformed into C. Made static.
3012 * grub-core/kern/i386/pc/startup.S
3013 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
3014 * grub-core/disk/i386/pc/biosdisk.c
3015 (grub_biosdisk_get_diskinfo_standard): ... here.
3016 Transformed into C. Made static.
3017 * grub-core/kern/i386/pc/startup.S
3018 (grub_biosdisk_get_num_floppies): Moved from here ...
3019 * grub-core/disk/i386/pc/biosdisk.c
3020 (grub_biosdisk_get_num_floppies): ... here.
3021 Transformed into C. Made static.
3022 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
3023 New function.
3024 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
3025 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
3026 Transformed into C. Made static.
3027 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
3028 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
3029 Transformed into C. Made static.
3030 * grub-core/kern/i386/ieee1275/init.c: Removed.
3031 * grub-core/kern/i386/misc.S: Likewise.
3032 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
3033 Splitted from here ...
3034 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
3035 Transformed into C. Made static. All users updated.
3036 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
3037 Transformed into C. Made static. All users updated.
3038 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
3039 Moved from here...
3040 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
3041 Transformed into C. Made static. All users updated.
3042 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
3043 Moved from here...
3044 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
3045 Transformed into C. Made static. All users updated.
3046 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
3047 Removed (replaced by C version).
3048 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
3049 Moved from here...
3050 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
3051 Transformed into C. Made static.
3052 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
3053 Moved from here...
3054 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
3055 ... here. Transformed into C.
3056 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
3057 Moved from here...
3058 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
3059 ... here. Transformed into C.
3060 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
3061 Moved from here...
3062 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
3063 ... here. Transformed into C. Made static.
3064 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
3065 Moved from here...
3066 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
3067 ... here. Transformed into C.
21ed554b
VS
3068 * grub-core/kern/i386/pc/startup.S
3069 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
3070 * grub-core/video/i386/pc/vbe.c
3071 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
3072 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
3073 Moved from here...
3074 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
3075 ... here. Transformed into C.
3076 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
3077 Moved from here...
3078 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
3079 ... here. Transformed into C.
3080 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
3081 Moved from here...
3082 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
3083 ... here. Transformed into C.
3084 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
3085 Moved from here...
3086 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
3087 ... here. Transformed into C.
3088 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
3089 Moved from here...
3090 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
3091 ... here. Transformed into C. Made static.
3092 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
3093 Moved from here...
3094 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
3095 ... here. Transformed into C. Made static.
3096 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
3097 Moved from here...
3098 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
3099 ... here. Transformed into C. Made static.
3100 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
3101 pxe_rm_entry as third argument.
3102 (grub_bios_interrupt): New function.
3103 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
3104 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
3105 of calling grub_stop.
3106 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
3107 * grub-core/lib/efi/halt.c (grub_halt): ...here.
3108 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
3109 * grub-core/lib/emu/halt.c (grub_halt): ... here.
3110 * grub-core/lib/i386/halt.c: Moved from here ...
3111 * grub-core/lib/i386/halt.c: ... here.
3112 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
3113 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
3114 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
3115 grub_stop_floppy.
3116 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
3117 * include/grub/i386/coreboot/init.h: Removed.
3118 * include/grub/i386/multiboot/init.h: Likewise.
3119 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
3120 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
3121 * include/grub/i386/pc/int.h: New file.
3122 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
3123 (grub_pxe_scan): Removed.
3124 (grub_pxe_call): Update prototype.
3125 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
3126 prototypes.
3127 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
3128 * include/grub/i386/qemu/init.h: Removed.
3129 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
3130 noreturn.
3131 (grub_halt): Likewise.
3132 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
3133 (grub_reboot): Likewise.
3134 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
3135 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
3136 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
3137
215dd471
RM
31382010-08-30 Robert Millan <rmh@gnu.org>
3139
3140 * NEWS: Document addition of ZFS support in `grub-install' and
3141 `grub-mkconfig'.
3142
ebd65b82
BC
31432010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
3144
3145 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
3146 dprintf output.
3147
11721d19
VS
31482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Remove leftover embedding of font objects.
3151
3152 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3153 * util/grub-install.in (font): Removed.
3154 * util/grub-mkimage.c (generate_image): Remove font support. All users
3155 updated.
3156
37837d4e
VS
31572010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 Remove leftover embedding of font objects.
3160
3161 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
3162 * util/grub-install.in (font): Removed.
3163 * util/grub-mkimage.c (generate_image): Remove font support. All users
3164 updated.
3165
b4c1aae0
VS
31662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 3169 Reported by: Ian Turner
b4c1aae0 3170
8920a08d
VS
31712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
3174 timeout to avoid indefinite boot stalling.
3175
f21db033
VS
31762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
3179 (grub_env_write_color_highlight): Likewise.
3180
9a9de209
VS
31812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * grub-core/normal/term.c (print_more): Return to normal and not
3184 to standard state after printing "---MORE---".
3185
3dca01d7
VS
31862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
3189 Mask out the bit 0x80 since it has other meaning that specifiing color.
3190
0b986c40
VS
31912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3192
3193 New relocator. Allows for more kernel support and more straightforward
3194 loader writing.
3195
3196 * Makefile.am (BOOTTARGET): New variable.
3197 (QEMU32): Likewise.
3198 (linux.init.x86_64): New target.
3199 (linux.init.i386): Likewise.
3200 (multiboot.elf): Likewise.
3201 (kfreebsd.elf): Likewise.
3202 (kfreebsd.aout): Likewise.
3203 (pc-chainloader.elf): Likewise.
3204 (pc-chainloader.bin): Likewise.
3205 (ntldr.elf): Likewise.
3206 (ntldr.bin): Likewise.
3207 (multiboot2.elf): Likewise.
3208 (kfreebsd.init.x86_64): Likewise.
3209 (kfreebsd.init.i386): Likewise.
3210 (knetbsd.init.i386): Likewise.
3211 (kopenbsd.init.i386): Likewise.
3212 (knetbsd.init.x86_64): Likewise.
3213 (kopenbsd.init.x86_64): Likewise.
3214 (linux-initramfs.i386): Likewise.
3215 (linux-initramfs.x86_64): Likewise.
3216 (kfreebsd-mfsroot.i386.img): Likewise.
3217 (knetbsd.image.i386): Likewise.
3218 (kopenbsd.image.i386): Likewise.
3219 (kopenbsd.image.x86_64): Likewise.
3220 (knetbsd.miniroot-image.i386.img): Likewise.
3221 (kfreebsd-mfsroot.x86_64.img): Likewise.
3222 (knetbsd.image.x86_64): Likewise.
3223 (knetbsd.miniroot-image.x86_64.img): Likewise.
3224 (kfreebsd-mfsroot.i386.gz): Likewise.
3225 (bootcheck-kfreebsd-i386): Likewise.
3226 (kfreebsd-mfsroot.x86_64.gz): Likewise.
3227 (bootcheck-kfreebsd-x86_64): Likewise.
3228 (knetbsd.miniroot-image.i386.gz): Likewise.
3229 (bootcheck-knetbsd-i386): Likewise.
3230 (bootcheck-kopenbsd-i386): Likewise.
3231 (bootcheck-kopenbsd-x86_64): Likewise.
3232 (knetbsd.miniroot-image.x86_64.gz): Likewise.
3233 (bootcheck-knetbsd-x86_64): Likewise.
3234 (bootcheck-linux-i386): Likewise.
3235 (bootcheck-linux-x86_64): Likewise.
3236 (bootcheck-linux16-i386): Likewise.
3237 (bootcheck-linux16-x86_64): Likewise.
3238 (bootcheck-multiboot): Likewise.
3239 (bootcheck-multiboot2): Likewise.
3240 (bootcheck-kfreebsd-aout): Likewise.
3241 (bootcheck-pc-chainloader): Likewise.
3242 (bootcheck-ntldr): Likewise.
3243 (CLEANFILES): Add new targets.
3244 (BOOTCHECKS): New variable.
3245 (.PHONY): Add bootchecks.
3246 (SUCCESSFUL_BOOT_STRING): New variable.
3247 (BOOTCHECK_TIMEOUT): Likewise.
3248 (bootcheck): New target
3249 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
3250 * configure.ac: Correct efiemu excuse.
3251 * docs/grub.texi (Supported kernels): New chapter.
3252 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
3253 include/grub/mm_private.h. Simplify inclusion of
3254 include/grub/boot.h, include/grub/loader.h
3255 and include/grub/msdos_partition.h
3256 (KERNEL_HEADER_FILES) [i386_coreboot]:
3257 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
3258 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
3259 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
3260 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
3261 include/grub/machine/loader.h.
3262 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
3263 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
3264 extra_dist.
3265 (pci.mod): Enable on i386-multiboot.
3266 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
3267 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
3268 i386-qemu.
3269 (relocator.mod): Rewritten.
3270 (aout.mod): Enable on all x86.
3271 (bsd.mod): Likewise.
3272 (ntldr.mod): New module.
3273 (linux.mod): Use loader/i386/linux.c on all x86.
3274 (xnu.mod): Enable on all x86.
3275 (vga_text.mod): disable on EFI and QEMU.
3276 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
3277 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
3278 * grub-core/efiemu/loadcore.c: Likewise.
3279 * grub-core/efiemu/main.c: Likewise.
3280 (grub_efiemu_exit_boot_services): Removed.
3281 (grub_efiemu_finish_boot_services): Likewise.
3282 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
3283 function.
3284 * grub-core/efiemu/i386/nocfgtables.c: New file.
3285 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
3286 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
3287 (grub_efi_finish_boot_services): Moved from here ...
3288 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
3289 Fille finish memory map and related data.
3290 (finish_mmap_buf): New variable.
3291 (grub_efi_uintn_t finish_mmap_size): Likewise.
3292 (grub_efi_uintn_t finish_key): Likewise.
3293 (grub_efi_uintn_t finish_desc_size): Likewise.
3294 (grub_efi_uint32_t finish_desc_version): Likewise.
3295 (grub_efi_is_finished): Likewise.
3296 (grub_efi_get_memory_map): Use saved memory map if EFI is already
3297 finished.
3298 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
3299 (grub_elf64_phdr_iterate): Likewise.
3300 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
3301 (grub_os_area_size): Likewise.
3302 (grub_machine_init): Don't reserve os area.
3303 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
3304 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3305 * grub-core/kern/i386/loader.S: Removed.
3306 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
3307 (grub_os_area_size): Likewise.
3308 (grub_machine_init): Don't reserve os area.
3309 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3310 Don't call grub_dl_unload_all.
3311 Don't include loader.S.
3312 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
3313 Declare the memory after _end as available.
3314 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 3315 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 3316 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
3317 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
3318 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
3319 * include/grub/mm_private.h (grub_mm_header): ... here.
3320 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
3321 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
3322 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
3323 (grub_mm_region): ..here. Removed addr. Added pre_size.
3324 All users updated.
3325 * grub-core/kern/mm.c (base): Renamed to ...
3326 (grub_mm_base): ... this. Made global.
3327 (grub_real_malloc): Alloc from end of region.
3328 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
3329 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
3330 * grub-core/kern/powerpc/cache_flush.S: ... here.
3331 * grub-core/lib/efi/relocator.c: New file.
3332 * grub-core/lib/i386/relocator.c: Rewritten.
3333 * grub-core/lib/i386/relocator16.S: New file.
3334 * grub-core/lib/i386/relocator32.S: Likewise.
3335 * grub-core/lib/i386/relocator64.S: Likewise.
3336 * grub-core/lib/i386/relocator_asm.S: Rewritten.
3337 * grub-core/lib/i386/relocator_common.S: New file.
3338 * grub-core/lib/ieee1275/relocator.c: Likewise.
3339 * grub-core/lib/mips/relocator.c: Rewritten.
3340 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
3341 stylistic adjustments.
3342 * grub-core/lib/powerpc/relocator.c: New file.
3343 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
3344 * grub-core/lib/relocator.c: Rewritten.
3345 * grub-core/lib/x86_64/relocator_asm.S: New file.
3346 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
3347 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
3348 (bsd_tag): New struct.
3349 (tags): New variable.
3350 (tags_last): Likewise.
3351 (netbsd_module): New struct.
3352 (netbsd_mods): New variable.
3353 (netbsd_mods_last): Likewise.
3354 (openbsd_opts): New parameter "serial".
3355 (OPENBSD_SERIAL_ARG): New definition.
3356 (netbsd_opts): New parameter "serial".
3357 (NETBSD_SERIAL_ARG): New definition.
3358 (grub_freebsd_add_meta): Reorganised into ...
3359 (grub_bsd_add_meta): ...this. All users updated.
3360 (grub_freebsd_add_mmap): Reorganised into ...
3361 (generate_e820_mmap): ...this...
3362 (grub_bsd_add_mmap): ...and this. All users updated.
3363 (grub_freebsd_list_modules): Use tags.
3364 (grub_netbsd_add_meta_module): New function.
3365 (grub_netbsd_list_modules): Likewise.
3366 (grub_freebsd_boot): Use relocator and finish EFI.
3367 (grub_openbsd_boot): Likewise.
3368 (grub_netbsd_setup_video): New function.
3369 (grub_netbsd_add_modules): Likewise.
3370 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
3371 and finish EFI.
3372 (grub_bsd_unload): Unload tags.
3373 (grub_bsd_load_aout): Use relocator.
3374 (grub_bsd_elf32_size_hook): New function.
3375 (grub_bsd_elf32_hook): Use relocator.
3376 (grub_bsd_elf64_size_hook): New function.
3377 (grub_bsd_elf64_hook): Use relocator.
3378 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
3379 (grub_bsd_load): Zero-out openbsd_ramdisk.
3380 (grub_bsd_load): Use relocator.
3381 (grub_cmd_openbsd): Support serial.
3382 (grub_cmd_netbsd): Support modules.
3383 (grub_cmd_freebsd_module): Use relocator.
3384 (grub_netbsd_module_load): New function.
3385 (grub_cmd_netbsd_module): Likewise.
3386 (grub_cmd_openbsd_ramdisk): Likewise.
3387 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
3388 kopenbsd_ramdisk.
3389 (GRUB_MOD_FINI): Unregister new commands.
3390 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
3391 (grub_freebsd_load_elfmodule_obj): Use relocator.
3392 (grub_freebsd_load_elfmodule): Likewise.
3393 (grub_freebsd_load_elf_meta): Likewise.
3394 (grub_netbsd_load_elf_meta): New function.
3395 (grub_openbsd_find_ramdisk): Likewise.
3396 * grub-core/loader/i386/bsd_helper.S: Removed.
3397 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
3398 * grub-core/loader/i386/bsd_trampoline.S: Removed.
3399 * grub-core/loader/i386/efi/linux.c: Likewise.
3400 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
3401 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
3402 (DEFAULT_VIDEO_MODE): Likewise.
3403 (real_mode_target): New variable.
3404 (prot_mode_target): Likewise.
3405 (initrd_mem_target): Likewise.
3406 (relocator): Likewise.
3407 (efi_mmap_buf): Likewise.
3408 (efi_mmap_size): Likewise.
3409 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
3410 (free_pages): Use relocator.
3411 (allocate_pages): Account for efi_mmap and use relocator. Return error.
3412 (grub_linux_setup_video): Return error.
3413 (grub_linux_trampoline_start): Removed.
3414 (grub_linux_trampoline_end): Likewise.
3415 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
3416 andd video parameters depending on firmware.
3417 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
3418 [GRUB_MACHINE_EFI]: Pass EFI parameters.
3419 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
3420 (grub_cmd_initrd): Use relocator.
3421 * grub-core/loader/i386/linux_trampoline.S: Removed.
3422 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
3423 (elf_sec_entsize): Likewise.
3424 (elf_sec_shstrndx): Likewise.
3425 (elf_sections): Likewise.
3426 (grub_multiboot_load): Use relocator.
3427 (grub_multiboot_get_mbi_size): Account for sections.
3428 (grub_multiboot_make_mbi): Use relocator and support sections.
3429 (grub_multiboot_add_elfsyms): New function.
3430 (grub_multiboot_free_mbi): Free sections.
3431 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
3432 (grub_linux_real_target): Likewise.
3433 (grub_linux_real_chunk): Likewise.
3434 (grub_linux16_prot_size): Likewise.
3435 (grub_linux16_boot): Use relocator.
3436 (grub_linux_unload): Unload relocator.
3437 (grub_cmd_linux): Use relocator.
3438 (grub_cmd_initrd): Likewise.
3439 * grub-core/loader/i386/pc/ntldr.c: New file.
3440 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
3441 Don't try to guess CPU frequency.
3442 (grub_xnu_set_video): Stretch bitmap.
3443 (grub_xnu_boot): Use relocator.
3444 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
3445 (grub_linux_unload): Free relocator.
3446 (grub_linux_load32): Use relocator.
3447 (grub_linux_load64): Likewise.
3448 (grub_cmd_initrd): Likewise.
3449 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
3450 (grub_multiboot_unload): Unload relocator.
3451 (grub_cmd_multiboot): Use relocator.
3452 (grub_cmd_module): Likewise.
3453 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
3454 Use relocator and support sections.
3455 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
3456 (elf_sec_entsize): Likewise.
3457 (elf_sec_shstrndx): Likewise.
3458 (elf_sections): Likewise.
3459 (grub_multiboot_load): Use relocator.
3460 (grub_multiboot_get_mbi_size): Account for sections.
3461 (grub_multiboot_make_mbi): Use relocator and support sections.
3462 (grub_multiboot_add_elfsyms): New function.
3463 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
3464 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
3465 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
3466 Prototype changed. All users updated.
3467 (grub_xnu_align_heap): Simplified.
3468 (grub_xnu_writetree_toheap): Likewise.
3469 (grub_xnu_unload): Unload relocator.
3470 (grub_cmd_xnu_kernel): Use relocator.
3471 (grub_cmd_xnu_kernel64): Likewise.
3472 (grub_xnu_register_memory): Simplified.
3473 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
3474 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
3475 EFI is finished.
3476 (grub_console_checkkey): Likewise.
3477 (grub_console_getkey): Likewise.
3478 (grub_console_getwh): Likewise.
3479 (grub_console_getxy): Likewise.
3480 (grub_console_gotoxy): Likewise.
3481 (grub_console_cls): Likewise.
3482 (grub_console_setcolorstate): Likewise.
3483 (grub_console_setcursor): Likewise.
3484 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
3485 * grub-core/tests/boot/kbsd.init-i386.S: New file.
3486 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
3487 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
3488 * grub-core/tests/boot/kernel-8086.S: Likewise.
3489 * grub-core/tests/boot/kernel-i386.S: Likewise.
3490 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
3491 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
3492 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
3493 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
3494 * grub-core/tests/boot/knetbsd.cfg: Likewise.
3495 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
3496 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
3497 * grub-core/tests/boot/linux.cfg: Likewise.
3498 * grub-core/tests/boot/linux.init-i386.S: Likewise.
3499 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
3500 * grub-core/tests/boot/linux16.cfg: Likewise.
3501 * grub-core/tests/boot/multiboot.cfg: Likewise.
3502 * grub-core/tests/boot/multiboot2.cfg: Likewise.
3503 * grub-core/tests/boot/ntldr.cfg: Likewise.
3504 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
3505 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
3506 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
3507 New definition.
3508 * include/grub/dl.h (grub_dl_unload_all): Removed.
3509 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
3510 (grub_efi_finish_boot_services): Change prototype.
3511 (grub_efi_is_finished): New variable.
3512 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
3513 Changed prototype.
3514 (grub_efiemu_finish_boot_services): Removed.
3515 (grub_machine_efiemu_init_tables): New prototype.
3516 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
3517 (grub_elf64_phdr_iterate): Likewise.
3518 * include/grub/i386/bsd.h: Include relocator.h.
3519 (freebsd_tag_header): New struct.
3520 (grub_openbsd_bios_mmap): Removed.
3521 (grub_unix_real_boot): Removed.
3522 (grub_freebsd_load_elfmodule32): Changed prototype.
3523 (grub_freebsd_load_elfmodule_obj64): Likewise.
3524 (grub_freebsd_load_elf_meta32): Likewise.
3525 (grub_freebsd_load_elf_meta64): Likewise.
3526 (grub_freebsd_add_meta): Removed.
3527 (grub_netbsd_load_elf_meta32): New prototype.
3528 (grub_netbsd_load_elf_meta64): Likewise.
3529 (grub_bsd_add_meta): Likewise.
3530 (grub_openbsd_ramdisk_descriptor): New struct.
3531 (grub_openbsd_find_ramdisk32): New prototype.
3532 (grub_openbsd_find_ramdisk64): Likewise.
3533 * include/grub/i386/coreboot/loader.h: Removed.
3534 * include/grub/i386/efi/loader.h: Likewise.
3535 * include/grub/i386/ieee1275/loader.h: Likewise.
3536 * include/grub/i386/linux.h (linux_kernel_header): Change void *
3537 to grub_uint32_t.
3538 * include/grub/i386/loader.h: Removed.
3539 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
3540 value.
3541 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
3542 (grub_phys_addr_t): New type.
3543 (grub_vtop): New inline function.
3544 (grub_map_memory): Likewise.
3545 (grub_unmap_memory): Likewise.
3546 * include/grub/i386/multiboot/loader.h: Removed.
3547 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
3548 (NETBSD_BTINFO_CONSOLE): New definition.
3549 (NETBSD_BTINFO_SYMTAB): Likewise.
3550 (NETBSD_BTINFO_MODULES): Likewise.
3551 (NETBSD_BTINFO_FRAMEBUF): Likewise.
3552 (grub_netbsd_bootinfo): New struct.
3553 (grub_netbsd_btinfo_common): Use explicit bitsize.
3554 (grub_netbsd_btinfo_mmap_entry): Removed.
3555 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
3556 (grub_netbsd_btinfo_bootdisk): New struct.
3557 (grub_netbsd_btinfo_symtab): Likewise.
3558 (grub_netbsd_btinfo_serial): Likewise.
3559 (grub_netbsd_btinfo_modules): Likewise.
3560 (grub_netbsd_btinfo_framebuf): Likewise.
3561 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
3562 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
3563 Likewise.
3564 (grub_openbsd_bootargs): Use explicit bitsize.
3565 (grub_openbsd_bootarg_console): New struct.
3566 (GRUB_OPENBSD_COM_MAJOR): New definition.
3567 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
3568 * include/grub/i386/pc/efiemu.h: Removed.
3569 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
3570 * include/grub/i386/qemu/loader.h: Removed.
3571 * include/grub/i386/relocator.h: Rewritten.
3572 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
3573 * include/grub/mips/memory.h: New file.
3574 * include/grub/mips/multiboot.h: Rewritten.
3575 * include/grub/mips/relocator.h: Rewritten.
3576 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
3577 (grub_vtop): New function.
3578 (grub_map_memory): Likewise.
3579 (grub_unmap_memory): Likewise.
3580 * include/grub/misc.h (ALIGN_DOWN): New definition.
3581 * include/grub/mm.h (grub_mm_check_real): New proto.
3582 (GRUB_MM_CHECK): New definition.
3583 * include/grub/mm_private.h: New file.
3584 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
3585 (grub_multiboot_get_mbi_size): Removed.
3586 (grub_multiboot_make_mbi): Change prottype.
3587 (grub_multiboot_set_accepts_video): New proto.
3588 (grub_multiboot_add_elfsyms): Likewise.
3589 (grub_multiboot_payload_eip): New variable.
3590 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
3591 New prototype.
3592 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
3593 New definition.
3594 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
3595 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
3596 * include/grub/powerpc/ieee1275/loader.h: Removed.
3597 * include/grub/powerpc/memory.h: New file.
3598 * include/grub/powerpc/relocator.h: Likewise.
3599 * include/grub/relocator.h: Likewise.
3600 * include/grub/relocator_private.h: Likewise.
3601 * include/grub/sparc64/ieee1275/loader.h: Removed.
3602 * include/grub/x86_64/memory.h: New file.
3603 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
3604 (grub_xnu_heap_malloc): Likewise.
3605 (grub_xnu_heap_real_start): Removed.
3606 (grub_xnu_heap_start): Likewise.
3607 (grub_xnu_relocator): New variable.
3608 (grub_xnu_heap_target_start): Likewise.
3609 * tests/util/grub-shell.in: Support non-pc.
3610 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 3611
5303b85d
VS
36122010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
3615 on malloc error.
3616 (grub_bidi_logical_to_visual): Check that malloc succeded.
3617 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
3618 puts.
3619 (grub_xputs_normal): Likewise.
3620
d768d159
VS
36212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
3624 extra_dist.
3625
36262010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * grub-core/efiemu/runtime/efiemu.sh: Removed.
3629
5bf84df4
VS
36302010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
3633
3626810e
VS
36342010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
3635
3636 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
3637 dprintf.
3638
a7363f53
BC
36392010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
3640
3641 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
3642
902f75f6
VS
36432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/normal/term.c (print_more): Fix a memory leak.
3646 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
3647 (grub_xputs_normal): Likewise.
3648
3c707967
VS
36492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
3652 the begining of the string
3653
2053cc07
VS
36542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/script/script.c (grub_script_parse): Free parsed on
3657 failure.
3658
46422ebf
VS
36592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
3662 on failure.
3663
9e0fa3f6
VS
36642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
3667 return.
3668
3393cf16
VS
36692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
3672 (scroll_up): Fix a memory leak.
3673
b17540cb
VS
36742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
3677 errors.
3678
67140446
VS
36792010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Handle USB pendrives exposed as floppies.
3682
3683 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
3684 floppy.
3685 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
3686 Check for partitions on all devices.
3687
e35e46fc
VS
36882010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
3691 (readkey): Likewise.
3692
d24c6190
BC
36932010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3694
3695 Multiple variable names support to "export" command.
3696
3697 * normal/context.c (grub_cmd_export): "export" command supports
3698 multiple variable names.
3699
04ddcc6a
ST
37002010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
3701
3702 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
3703 --target=drive output to Mach device name.
3704
0c8b61d8
BC
37052010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3706
3707 New Automake based build system for GRUB.
3708
3709 * ABOUT-NLS: New file.
3710 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
3711 in Makefile.util.def file.
3712 * Makefile.util.def: New file. Autogen build definitions file for
3713 GRUB host utils.
3714 * conf/Makefile.common: New file. Common variables for GRUB host
3715 utils and target modules.
3716 * conf/Makefile.extra-dist: New file. Extra files for make dist.
3717 * docs/Makefile.am: New file. Automake file for docs.
3718 * gentpl.py: New file. Python script to generate Autogen
3719 template.
3720 * grub-core/Makefile.am: New file. GRUB target modules' rules
3721 that doesn't fit in Makefile.core.def file.
3722 * grub-core/Makefile.core.def: New file. Autogen build
3723 definitions file for GRUB target modules.
3724 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
3725 specific setjmp.S file.
3726 * po/Makefile.am: New file.
3727
3728 * .bzrignore: New ignores.
3729 * INSTALL: New requirements, without Ruby.
3730 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
3731 * autogen.sh: Updated to invoke autogen as necessary.
3732 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
3733 and defines for Automake conditionals.
3734 * geninit.sh: Refactoring.
3735
3736 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
3737 necessary.
3738 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
3739 New prototype.
3740
3741 * include/grub/test.h: Fix functional test modules' naming.
3742 * grub-core/tests/example_functional_test.c: Fix test module name.
3743
3744 * util/misc.c: Hosted versions' of grub functions for libgrub.a
3745 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
3746 * util/grub-editenv.c: Likewise.
3747 * util/grub-fstest.c: Likewise.
3748 * util/grub-mkdevicemap.c: Likewise.
3749 * util/grub-mkfont.c: Likewise.
3750 * util/grub-mkimage.c: Likewise.
3751 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3752 * util/grub-probe.c: Likewise.
3753 * util/grub-script-check.c: Likewise.
3754 * util/i386/pc/grub-setup.c: Likewise.
3755 * util/sparc64/ieee1275/grub-setup.c: Likewise.
3756
3757 * tests/util/grub-shell.in: Fix override directory path.
3758 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
3759 * util/import_gcry.py: Create Makefile.gcry.def file instead.
3760
3761 * util/lvm.c: Update #includes.
3762 * util/raid.c: Likewise.
3763 * util/resolve.c: Likewise.
3764 * grub-core/bus/emu/pci.c: Likewise.
3765 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
3766 * grub-core/lib/posix_wrap/string.h: Likewise.
3767 * grub-core/kern/emu/main.c: Likewise.
3768
3769 * grub-core/gensymlist.sh: New file. Script for generating kernel
3770 symbols file.
3771 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
3772
3773 * grub-core/gentrigtables.c: Fix unused variable warnings.
3774
3775 * Makefile.in: Removed.
3776 * conf/any-emu.rmk: Removed.
3777 * conf/common.rmk: Removed.
3778 * conf/i386-coreboot.rmk: Removed.
3779 * conf/i386-efi.rmk: Removed.
3780 * conf/i386-ieee1275.rmk: Removed.
3781 * conf/i386-multiboot.rmk: Removed.
3782 * conf/i386-pc.rmk: Removed.
3783 * conf/i386-qemu.rmk: Removed.
3784 * conf/i386.rmk: Removed.
3785 * conf/mips-yeeloong.rmk: Removed.
3786 * conf/mips.rmk: Removed.
3787 * conf/powerpc-ieee1275.rmk: Removed.
3788 * conf/sparc64-ieee1275.rmk: Removed.
3789 * conf/tests.rmk: Removed.
3790 * conf/x86-efi.rmk: Removed.
3791 * conf/x86_64-efi.rmk: Removed.
3792 * gendistlist.sh: Removed.
3793 * geninitheader.sh: Removed.
3794 * genkernsyms.sh.in: Removed.
3795 * genmk.rb: Removed.
3796 * gensymlist.sh.in: Removed.
3797 * mkinstalldirs: Removed.
3798 * boot: Moved ...
3799 * grub-core/boot: ... to here.
3800 * bus: Moved ...
3801 * grub-core/bus: ... to here.
3802 * commands: Moved ...
3803 * grub-core/commands: ... to here.
3804 * disk: Moved ...
3805 * grub-core/disk: ... to here.
3806 * efiemu: Moved ...
3807 * grub-core/efiemu: ... to here.
3808 * font: Moved ...
3809 * grub-core/font: ... to here.
3810 * fs: Moved ...
3811 * grub-core/fs: ... to here.
3812 * gencmdlist.sh: Moved ...
3813 * grub-core/gencmdlist.sh: ... to here.
3814 * genemuinit.sh: Moved ...
3815 * grub-core/genemuinit.sh: ... to here.
3816 * genemuinitheader.sh: Moved ...
3817 * grub-core/genemuinitheader.sh: ... to here.
3818 * genfslist.sh: Moved ...
3819 * grub-core/genfslist.sh: ... to here.
3820 * genhandlerlist.sh: Moved ...
3821 * grub-core/genhandlerlist.sh: ... to here.
3822 * genmoddep.awk: Moved ...
3823 * grub-core/genmoddep.awk: ... to here.
3824 * genmodsrc.sh: Moved ...
3825 * grub-core/genmodsrc.sh: ... to here.
3826 * genpartmaplist.sh: Moved ...
3827 * grub-core/genpartmaplist.sh: ... to here.
3828 * genparttoollist.sh: Moved ...
3829 * grub-core/genparttoollist.sh: ... to here.
3830 * genterminallist.sh: Moved ...
3831 * grub-core/genterminallist.sh: ... to here.
3832 * gentrigtables.c: Moved ...
3833 * grub-core/gentrigtables.c: ... to here.
3834 * genvideolist.sh: Moved ...
3835 * grub-core/genvideolist.sh: ... to here.
3836 * gettext: Moved ...
3837 * grub-core/gettext: ... to here.
3838 * gfxmenu: Moved ...
3839 * grub-core/gfxmenu: ... to here.
3840 * gnulib: Moved ...
3841 * grub-core/gnulib: ... to here.
3842 * hello: Moved ...
3843 * grub-core/hello: ... to here.
3844 * hook: Moved ...
3845 * grub-core/hook: ... to here.
3846 * io: Moved ...
3847 * grub-core/io: ... to here.
3848 * kern: Moved ...
3849 * grub-core/kern: ... to here.
3850 * lib: Moved ...
3851 * grub-core/lib: ... to here.
3852 * loader: Moved ...
3853 * grub-core/loader: ... to here.
3854 * mmap: Moved ...
3855 * grub-core/mmap: ... to here.
3856 * normal: Moved ...
3857 * grub-core/normal: ... to here.
3858 * partmap: Moved ...
3859 * grub-core/partmap: ... to here.
3860 * parttool: Moved ...
3861 * grub-core/parttool: ... to here.
3862 * script: Moved ...
3863 * grub-core/script: ... to here.
3864 * term: Moved ...
3865 * grub-core/term: ... to here
3866 * tests/example_functional_test.c: Moved ...
3867 * grub-core/tests/example_functional_test.c: ... to here.
3868 * tests/lib/functional_test.c: Moved ...
3869 * grub-core/tests/lib/functional_test.c: ... to here.
3870 * tests/lib/test.c: Moved ...
3871 * grub-core/tests/lib/test.c: ... to here.
3872 * video: Moved ...
3873 * grub-core/video: ... to here.
3874
645586e6
BC
38752010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
3876
3877 Replace --enable-grub-emu-modules with grub-emu-lite.
3878
3879 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
3880 cache.S.
3881
3882 * include/grub/emu/misc.h (grub_emu_init): New prototype.
3883 * kern/emu/full.c: New file. For grub-emu specific initialization.
3884 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
3885 * kern/emu/main.c: Call initialization function grub_emu_init.
3886
3887 * Makefile.in: Include grub-emu-lite in install.
3888 * commands/parttool.c: Use grub_no_autoload to differentiate
3889 between grub-emu and grub-emu-lite.
3890 * include/grub/misc.h: New variable grub_no_autoload.
3891
3892 * conf/any-emu.rmk: New rules for grub-emu-lite.
3893 * configure.ac: Remove --enable-grub-emu-modules.
3894 * genmk.rb: Cleanup unnecessary rules.
3895 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
3896
3897 * normal/main.c: Don't load list files on grub-emu-lite.
3898 * util/misc.c (grub_arch_sync_caches): Removed.
3899
f86a4030
CW
39002010-08-23 Colin Watson <cjwatson@ubuntu.com>
3901
3902 * kern/mips/startup.S (grub_prefix): Update comment to refer to
3903 grub-mkimage rather than grub-mkelfimage.
3904 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3905
06776944
VS
39062010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
3909 a key after CapsLock or NumLock. It's just a qemu bug.
3910
df262419
VS
39112010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
3914 needed by libusb wrapper.
3915
b40ea81b
ST
39162010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
3917
3918 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
3919
dee50575
VS
39202010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
3923 --nounzip is passed.
3924
fb1d7b79
VS
39252010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 USB hotunplugging and USB serial support.
3928
3929 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
3930 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
3931 (grub_uhci_transfer): Respect timeout and set *actual.
3932 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
3933 non-standard length.
3934 (grub_usb_device_attach): Autoload modules.
3935 (GRUB_MOD_INIT): Set grub_term_poll_usb.
3936 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
3937 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
3938 users updated.
3939 (grub_usb_add_hub): Fill nports and children.
3940 (attach_root_port): Receive hub instead of controller.
3941 All users updated. Fill hub->devices.
3942 (grub_usb_root_hub): Allocate hub->devices.
3943 (detach_device): New function.
3944 (poll_nonroot_hub): Fill children and detach devices.
3945 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
3946 actual arguments. All users updated.
3947 (grub_usb_bulk_read_extended): New function.
3948 * bus/usb/serial/common.c: New file.
3949 * bus/usb/serial/ftdi.c: Likewise.
3950 * bus/usb/serial/pl2303.c: Likewise.
3951 * commands/terminal.c (handle_command): Support wildcard.
3952 * commands/usbtest.c: Output "Unknown" instead of empty string.
3953 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
3954 (usbserial_common_mod_SOURCES): New variable.
3955 (usbserial_common_mod_CFLAGS): Likewise.
3956 (usbserial_common_mod_LDFLAGS): Likewise.
3957 (pkglib_MODULES): Add usbserial_pl2303.mod.
3958 (usbserial_pl2303_mod_SOURCES): New variable.
3959 (usbserial_pl2303_mod_CFLAGS): Likewise.
3960 (usbserial_pl2303_mod_LDFLAGS): Likewise.
3961 (pkglib_MODULES): Add usbserial_ftdi.mod.
3962 (usbserial_ftdi_mod_SOURCES): New variable.
3963 (usbserial_ftdi_mod_CFLAGS): Likewise.
3964 (usbserial_ftdi_mod_LDFLAGS): Likewise.
3965 (pkglib_MODULES): Add serial.mod.
3966 (serial_mod_SOURCES): New variable.
3967 (serial_mod_CFLAGS): Likewise.
3968 (serial_mod_LDFLAGS): Likewise.
3969 * conf/i386-pc.rmk: Likewise.
3970 * conf/mips-yeeloong.rmk: Likewise.
3971 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
3972 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
3973 * disk/usbms.c (first_available_slot): New variable.
3974 (grub_usbms_attach): Don't reuse free slots due to potential cache
3975 problems.
3976 * include/grub/serial.h: Moved to ..
3977 * include/grub/ns8250.h: ...this.
3978 * include/grub/serial.h: New file.
3979 * include/grub/term.h (grub_term_poll_usb): New variable.
3980 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
3981 readkey. All users updated.
3982 (grub_terminfo_output_state): Pass term to put.
3983 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
3984 (grub_usb_controller_dev): Add timeout and actual arguments to
3985 transfer. All users updated.
3986 (grub_usb_interface): New field detach_data.
3987 (grub_usb_device): New fields children and nports.
3988 (grub_usb_ep_type_t): New type.
3989 (grub_usb_get_ep_type): New function.
3990 (grub_usb_bulk_read_extended): Likewise.
3991 * include/grub/usbdesc.h (grub_usb_desc): New type.
3992 * include/grub/usbserial.h: New file.
3993 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
3994 * kern/term.c (grub_term_poll_usb): New variable.
3995 (grub_getkey): Call grub_term_poll_usb if set.
3996 (grub_checkkey): Likewise.
3997 (grub_getkeystatus): Likewise.
3998 * term/serial.c: Moved controller-specific parts to ...
3999 * term/ns8250.c: ... here.
4000 * term/serial.c: Mostly rewritten.
4001 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
4002 according to spec.
4003
21a313de
RM
40042010-08-20 Robert Millan <rmh@gnu.org>
4005
4006 Make kFreeBSD code more generic to support ext2fs as root, ufs as
4007 a separate module and maybe other interesting combinations.
4008
4009 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
4010 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
4011 (kfreebsd_entry): Add generic filesystem module load routine.
4012 Map GRUB `ext2' to kFreeBSD `ext2fs'.
4013
63c734a6
CW
40142010-08-20 Colin Watson <cjwatson@ubuntu.com>
4015
4016 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
4017 "numcenter" (I misunderstood the purpose of this entry).
4018 * docs/grub.texi (sendkey): Likewise.
4019
c4d16542
CW
40202010-08-20 Colin Watson <cjwatson@ubuntu.com>
4021
4022 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
4023 status flag options; simply omitting the option is equivalent and
4024 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
4025 (keysym_table): Rename "num5numlock" to "numlock".
4026 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
4027 can uniformly say that only the last of multiple `sendkey'
4028 invocations has any effect.
4029 * docs/grub.texi (sendkey): New section.
4030
93541d66
CW
40312010-08-19 Colin Watson <cjwatson@ubuntu.com>
4032
4033 * commands/i386/pc/sendkey.c (options): Fix three typos.
4034
b4ece5e1
VS
40352010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 Implement sendkey support.
4038
4039 * commands/i386/pc/sendkey.c: New file.
4040 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
4041 (sendkey_mod_SOURCES): New variable.
4042 (sendkey_mod_CFLAGS): Likewise.
4043 (sendkey_mod_LDFLAGS): Likewise.
4044
51f1f5af
CW
40452010-08-18 Colin Watson <cjwatson@ubuntu.com>
4046
4047 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
4048 fix warnings from Autoconf.
4049
9da94e05
CW
40502010-08-18 Colin Watson <cjwatson@ubuntu.com>
4051
4052 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
4053 to avoid false positives with some assemblers that output things
4054 like "someprefix_func" as part of their output.
4055
729a0f2e
RM
40562010-08-15 Robert Millan <rmh@gnu.org>
4057
4058 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
4059 errors.
4060 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
4061 grub_get_libzfs_handle() errors.
4062
f3710e08
RM
40632010-08-14 Robert Millan <rmh@gnu.org>
4064
4065 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
4066 filesystem is not ZFS.
4067
7a3c13de
BC
40682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4069
4070 Fix for misspelled color names defaulting to black/black (bug
4071 reported by Doug Nazar)
4072
4073 * include/grub/normal.h (grub_parse_color_name_pair): Add return
4074 status to prototype.
4075 * normal/color.c (grub_parse_color_name_pair): Return failure
4076 status.
4077 (grub_env_write_color_normal): Ignore bad color names.
4078 (grub_env_write_color_highlight): Likewise.
4079 * normal/main.c (GRUB_MOD_INIT): Set default color names.
4080
ab8ba50d
BC
40812010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4082
4083 "shift" command support to GRUB script.
4084
4085 * include/grub/script_sh.h (grub_script_shift): New prototype.
4086 * script/execute.c (grub_script_shift): New function.
4087 * script/main.c (grub_script_init): Register shift command.
4088 (grub_script_fini): Unregister shift command.
4089 * util/grub-script-check.c (grub_script_cmd_shift): New function.
4090
4091 * tests/grub_script_shift.in: New testcase.
4092 * conf/tests.rmk: Rules for new testcase.
4093
4d61999e
BC
40942010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4095
4096 "continue" command support to GRUB script.
4097
4098 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
4099 (grub_script_break): Continue support.
4100 * script/main.c (grub_script_init): Register continue command.
4101 (grub_script_fini): Unregister continue command.
4102
4103 * tests/grub_script_continue.in: New testcase.
4104 * conf/tests.rmk: Rules for new testcase.
4105
4df51e00
BC
41062010-08-12 BVK Chaitanya <bvk@dbook>
4107
4108 "break" command support to GRUB script.
4109
4110 * conf/common.rmk: Rule updates to grub-script-check.
4111 * include/grub/misc.h (grub_min): New function.
4112 * include/grub/script_sh.h (grub_script_init): New prototype.
4113 (grub_script_fini): New prototype.
4114 (grub_script_break): New prototype.
4115 * script/main.c (grub_script_init): New function.
4116 (grub_script_fini): New function.
4117 * script/execute.c (grub_script_break): New function.
4118 * normal/main.c: Calls to grub_script_{init,fini}.
4119 * util/grub-script-check.c (grub_script_break): New function.
4120
4121 * tests/grub_script_break.in: New testcase.
4122 * conf/tests.rmk: Rules for new test case.
4123
f12c8420
BC
41242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4125
4126 Function parameters support to GRUB script.
4127
4128 * script/yylex.l (VARIABLE): Regular expression update.
4129 * script/function.c (grub_script_function_call): Moved ...
4130 * script/execute.c (grub_script_function_call): ... to here.
4131 (grub_script_execute_arglist_to_argv): Removed.
4132 (grub_script_arglist_to_argv): New function.
4133 * script/argv.c: New file.
4134 (grub_script_argv_free): New function.
4135 (grub_script_argv_next): Likewise.
4136 (grub_script_argv_append): Likewise.
4137 (grub_script_argv_split_append): Likewise.
4138 * include/grub/script_sh.h (grub_script_argv): New struct.
4139 (grub_script_argv_free): New function.
4140 (grub_script_argv_next): Likewise.
4141 (grub_script_argv_append): Likewise.
4142 (grub_script_argv_split_append): Likewise.
4143
4144 * conf/common.rmk (normal.mod): New source script/argv.c.
4145
4146 * tests/grub_script_echo1.in: More tests.
4147 * tests/grub_script_vars1.in: Likewise.
4148 * tests/grub_script_functions.in: New test case.
4149 * conf/tests.rmk: Rules for new testcase.
4150
8022b748
BC
41512010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
4152
4153 Remove grub_script_cmdblock struct.
4154
4155 * include/grub/script_sh.h: Remove grub_script_cmdblock.
4156 * script/parser.y: Likewise.
4157 * script/execute.c: Rename cmdblock suffix to cmdlist.
4158 * script/script.c: Likewise.
4159 * util/grub-script-check.c: Likewise.
4160
79a6ba61
YB
41612010-08-11 Yves Blusseau <blusseau@zetam.org>
4162
4163 * .bzrignore: add grub-macho2img
4164
d04b9414
VS
41652010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
4168
f947ab49
VS
41692010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 Remove the dump of sm712 initialisation sequence.
4172
4173 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
4174 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
4175 (GRUB_VGA_IO_MISC_WRITE): Likewise.
4176 (GRUB_VGA_CR_*): Added many registers.
4177 (GRUB_VGA_SR_*): Likewise.
4178 (GRUB_VGA_GR_*): Likewise.
4179 (grub_vga_write_arx): New function.
4180 (grub_video_hw_config): New struct.
4181 (grub_vga_set_geometry): New function.
4182 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
4183 GRUB_PCI_CLASS_SUBCLASS_VGA.
4184 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
4185 * video/sm712.c (grub_sm712_write_reg): New function
4186 (grub_sm712_read_reg): Likewise.
4187 (grub_sm712_sr_write): Likewise.
4188 (grub_sm712_gr_write): Likewise.
4189 (grub_sm712_cr_write): Likewise.
4190 (grub_sm712_write_arx): Likewise.
4191 (grub_sm712_cr_shadow_write): Likewise.
4192 (grub_sm712_write_dda_lookup): Likewise.
4193 (grub_video_sm712_setup): Initialise the video rather then
4194 blindly replay the dump.
4195 (main) [TEST]: Add a routine to be able to compile as standalone for
4196 tests.
4197 * video/sm712_init.c (sm712_init): Removed.
4198 (sm712_sr_seq1): New array.
4199 (sm712_sr_seq2): Likewise.
4200
f0206638
VS
42012010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 * include/grub/vga.h: Add missing grub/pci.h include.
4204
2764da3b
YB
42052010-08-10 Yves Blusseau <blusseau@zetam.org>
4206
4207 * util/grub-macho2img.c (main): fix typo
4208
cf0c775e
VS
42092010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
4212 (grub_vga_gr_read): Likewise.
4213 (grub_vga_cr_write): Likewise.
4214 (grub_vga_cr_read): Likewise.
4215 (grub_vga_sr_write): Likewise.
4216 (grub_vga_sr_read): Likewise.
4217 (grub_vga_palette_read): Likewise.
4218 (grub_vga_palette_write): Likewise.
4219 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
4220 (grub_sm712_sr_read): New function.
4221 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
4222 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
4223
07f360e9
RM
42242010-08-09 Robert Millan <rmh@gnu.org>
4225
4226 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
4227 out unused variables on non-ZFS build.
4228
346c2072
RM
42292010-08-08 Robert Millan <rmh@gnu.org>
4230
4231 Fix path generation for sub-filesystems in ZFS.
4232
4233 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
4234 missing slash.
4235
71175420
RM
42362010-08-08 Robert Millan <rmh@gnu.org>
4237
4238 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
4239
0d8286f3
RM
42402010-08-08 Robert Millan <rmh@gnu.org>
4241
4242 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
4243 exist, issue a proper error message (rely on `ls' for translated
4244 strings).
4245
55dd2924
RM
42462010-08-08 Robert Millan <rmh@gnu.org>
4247
4248 Fix grub-probe invocation.
4249
4250 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
4251
d3dd9e80
RM
42522010-08-04 Robert Millan <rmh@gnu.org>
4253
4254 * configure.ac: Remove checks for getfsstat() and getmntany().
4255 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
4256 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
4257 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
4258 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
4259 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
4260 function.
4261 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
4262 via find_mount_point_from_dir() and getfsstat() / getmntany().
4263
0de22aa9
RM
42642010-08-04 Robert Millan <rmh@gnu.org>
4265
4266 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4267 (grub_find_zpool_from_mount_point): Merge into ...
4268 (grub_find_zpool_from_dir): ... this.
4269 * kern/emu/misc.c: Likewise.
4270
4271 * kern/emu/misc.c
4272 (grub_make_system_path_relative_to_its_root): Replace
4273 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
4274 with grub_find_zpool_from_dir().
4275 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
4276
62858144
RM
42772010-08-04 Robert Millan <rmh@gnu.org>
4278
4279 Support OpenSolaris in ZFS device resolution.
4280
4281 * configure.ac: Check for getmntany().
4282 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
4283 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
4284 support.
4285
9dd6fd50
RM
42862010-08-03 Robert Millan <rmh@gnu.org>
4287
4288 Fix grub-emu build.
4289
4290 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
4291 * include/grub/emu/misc.h: ... here.
4292
4293 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
4294 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
4295
4296 * util/misc.c: Remove `<grub/util/libzfs.h>'.
4297 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
4298 (grub_get_libzfs_handle): Move to ...
4299 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
4300 (grub_get_libzfs_handle): ... here.
4301
c9f7ff97
BC
43022010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
4303
4304 * script/execute.c (grub_script_execute_cmdline): Check for NULL
4305 as command name case.
4306
a870a783
CW
43072010-08-02 Colin Watson <cjwatson@ubuntu.com>
4308
4309 * disk/raid.c (insert_array): Select unique numbers for named arrays
4310 as well, for use as keys in the disk cache.
4311
c7db243b
RM
43122010-08-01 Robert Millan <rmh@gnu.org>
4313
4314 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
4315 kFreeBSD device name, except on ZFS where the filesystem label is
4316 used.
4317 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
4318 `/boot/zfs/zpool.cache'.
4319 Set mountfrom kernel variable using ${kfreebsd_device}.
4320
f7abdefb
RM
43212010-08-01 Robert Millan <rmh@gnu.org>
4322
4323 Make it even harder to use uninitialized `libzfs_handle' (and
4324 make the interface a bit simpler).
4325
4326 * include/grub/util/misc.h (grub_util_init_libzfs)
4327 (libzfs_handle): Remove.
4328 (grub_get_libzfs_handle): New prototype.
4329
4330 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
4331 attribute.
4332 (grub_util_init_libzfs): Remove.
4333 (grub_get_libzfs_handle): New function.
4334
4335 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
4336 grub_get_libzfs_handle() to obtain a libzfs handle instead of
4337 accessing `libzfs_handle' directly.
4338
c882acc0
RM
43392010-08-01 Robert Millan <rmh@gnu.org>
4340
4341 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4342 (grub_find_zpool_from_mount_point): New function prototypes.
4343
4344 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4345 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4346
4347 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4348 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4349 `static' attribute.
4350
4351 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4352 finding zpool from mount point into ...
4353 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4354
4355 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4356 requested path is part of a ZFS pool, use
4357 grub_find_zpool_from_mount_point() to detect its filesystem name,
4358 and generate a path with `/fsname@path' syntax.
4359
8bfe31d8
CW
43602010-08-01 Colin Watson <cjwatson@ubuntu.com>
4361
4362 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
4363 (void) rather than () so that this is a proper prototype.
4364
553df63d
VS
43652010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
4368
8687cf07
VS
43692010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
4372 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
4373
ea9be8ea
CW
43742010-08-01 Colin Watson <cjwatson@ubuntu.com>
4375
4376 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
4377
6eea041a
CW
43782010-08-01 Colin Watson <cjwatson@ubuntu.com>
4379
4380 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
4381
2cfb45df
CW
43822010-08-01 Colin Watson <cjwatson@ubuntu.com>
4383
4384 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
4385 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
4386 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
4387 disable gfxpayload.
4388 (Shell-like scripting): Add real content.
4389 (Serial terminal): Suggest `terminal_input serial; terminal_output
4390 serial' rather than putting the two commands on separate lines,
4391 since console input will be inoperative after the first command.
4392 (menuentry): Document --class, --users, and --hotkey options.
4393 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
4394 Vladimir Serbinenko).
4395
7decd202
VS
43962010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
43972010-08-01 Colin Watson <cjwatson@ubuntu.com>
4398
4399 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
4400
c882acc0
RM
44012010-08-01 Robert Millan <rmh@gnu.org>
4402
4403 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
4404 (grub_find_zpool_from_mount_point): New function prototypes.
4405
4406 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
4407 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
4408
4409 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
4410 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
4411 `static' attribute.
4412
4413 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
4414 finding zpool from mount point into ...
4415 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
4416
4417 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
4418 requested path is part of a ZFS pool, use
4419 grub_find_zpool_from_mount_point() to detect its filesystem name,
4420 and generate a path with `/fsname@path' syntax.
4421
deb0caa3
RM
44222010-08-01 Robert Millan <rmh@gnu.org>
4423
4424 Prevent accidental use of uninitialized libzfs_handle.
4425
4426 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
4427 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
4428 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
4429
ce04ef47
CW
44302010-08-01 Colin Watson <cjwatson@ubuntu.com>
4431
4432 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
4433 util/grub.d/10_linux.in). Fixes Debian bug #591093.
4434
ebf53056
RM
44352010-08-01 Robert Millan <rmh@gnu.org>
4436
4437 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 4438
3710bb6b
RM
44392010-07-31 Robert Millan <rmh@gnu.org>
4440
4441 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
4442
8072efeb
RM
44432010-07-31 Robert Millan <rmh@gnu.org>
4444
4445 * kern/emu/misc.c: Add missing license header.
4446
3169f4c7
RM
44472010-07-31 Robert Millan <rmh@gnu.org>
4448
4449 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
4450
4451 * include/grub/util/libnvpair.h: Include `<config.h>'.
4452 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
4453 declaring libnvpair prototypes ourselves.
4454 * include/grub/util/libzfs.h: Include `<config.h>'.
4455 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
4456 declaring libzfs prototypes ourselves.
4457
4458 (libzfs_handle): Moved to ...
4459 * include/grub/util/misc.h (libzfs_handle): ... here.
4460 Include `<grub/util/libzfs.h>'.
4461
c9a00aee
RM
44622010-07-30 Robert Millan <rmh@gnu.org>
4463
4464 * include/grub/emu/misc.h: Add missing license header.
4465
a184f9c8
RM
44662010-07-30 Robert Millan <rmh@gnu.org>
4467
4468 Enable `grub-probe -t device' resolution on ZFS.
4469
4470 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
4471 * include/grub/util/libnvpair.h: New file.
4472 * include/grub/util/libzfs.h: New file.
4473
4474 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
4475 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
4476 `<grub/util/libnvpair.h>'.
4477 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
4478
4479 (find_mount_point_from_dir): New static function.
4480 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
4481 function.
4482 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
4483 find_root_device_from_libzfs() before ressorting to find_root_device().
4484
4485 * include/grub/util/misc.h (grub_util_init_libzfs): New function
4486 prototype.
4487 * util/misc.c: Include `<grub/util/libzfs.h>'.
4488 (grub_util_init_libzfs): New function.
4489 [HAVE_LIBZFS] (libzfs_handle): New global variable.
4490 [HAVE_LIBZFS] (fini_libzfs): New static function.
4491 (grub_util_init_libzfs): New function.
4492 * util/grub-probe.c (main): Call grub_util_init_libzfs().
4493
f7790cdd
RM
44942010-07-30 Robert Millan <rmh@gnu.org>
4495
4496 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
4497 (xmalloc, xrealloc, xstrdup, xasprintf): Add
4498 `warn_unused_result' attribute.
4499 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
4500 (grub_xasprintf, grub_xvasprintf): Likewise.
4501 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
4502
0806b63c
RM
45032010-07-29 Robert Millan <rmh@gnu.org>
4504
4505 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
4506 (probe): Handle `PRINT_FS_LABEL'.
4507 (main): Handle `-t fs_label'.
4508
9f841f5c
RM
45092010-07-29 Robert Millan <rmh@gnu.org>
4510
4511 * configure.ac: Remove grub-mkisofs checks.
4512
46371121
VS
45132010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * util/ieee1275/grub-install.in: Don't use empty grub_device.
4516 Reported by: Lennart Sorensen.
4517
45182010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
4521 prior to terminal_input/terminal_output separation. It's been over 1.5
4522 years and those versions weren't widely deployed.
4523
a9600892
CW
45242010-07-22 Colin Watson <cjwatson@ubuntu.com>
4525
4526 * disk/raid.c (insert_array): Don't count named arrays when looking
4527 for unused array numbers.
697e053c 4528 Reported and tested by: Michael Guntsche.
a9600892 4529
c03507df
CW
45302010-07-20 Colin Watson <cjwatson@ubuntu.com>
4531
4532 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
4533 implementation of this so that grub-emu links again, with a note
4534 that this should support hotplugging in the future.
4535
b26f1c11
CW
45362010-07-20 Colin Watson <cjwatson@ubuntu.com>
4537
4538 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4539
efc9d7f1
CW
45402010-07-20 Colin Watson <cjwatson@ubuntu.com>
4541
4542 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
4543 handle on failure.
4544 (grub_loopback_close): Remove empty function.
4545 (grub_loopback_dev): Remove close method.
4546
dd8ff5c9
CW
45472010-07-20 Colin Watson <cjwatson@ubuntu.com>
4548
4549 Disable EFI cursor when the EFI console becomes inactive.
4550
4551 * term/efi/console.c (grub_efi_console_init): New function.
4552 (grub_efi_console_fini): New function.
4553 (grub_console_term_output): Register init and fini methods.
4554
5e3bec67
VS
45552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4556
4557 * tests/util/grub-shell-tester.in: Remove bashism and declare as
4558 sh script.
4559
afaec079
VS
45602010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * disk/loopback.c (grub_loopback): Replace filename with file.
4563 (delete_loopback): Handle new semantics.
4564 (grub_cmd_loopback): Likewise.
4565 (grub_loopback_iterate): Likewise.
4566 (grub_loopback_close): Likewise.
4567
a6a11f3c
VS
45682010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
4571 with -p "".
4572 Reported by: Tito Keitel.
4573
64a638b0
VS
45742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * docs/grub.texi (Naming convention): Document new naming convention.
4577
ab8ba957
VS
45782010-07-20 Vadim Solomin <vadic052@gmail.com>
45792010-07-20 Colin Watson <cjwatson@ubuntu.com>
4580
4581 Generate device.map in something closer to the old ordering.
4582
4583 * util/deviceiter.c (struct device): New declaration.
4584 (compare_file_names): Rename to ...
4585 (compare_devices): ... this. Sort by kernel name in preference to
4586 the stable by-id name, but keep the latter as a fallback comparison.
4587 Update header comment.
4588 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
4589 of `struct device' rather than of plain file names.
4590
a29d6a4b
TF
45912010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
4592
4593 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
4594 on i386.
4595
39d824e8
VS
45962010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * commands/acpi.c (setup_common_tables): Use sizeof instead of
4599 hardcoding size.
4600 (setv1table): Likewise.
4601
f058276b
FZ
46022010-07-20 Colin Watson <cjwatson@ubuntu.com>
4603
4604 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
4605 removing the homehost if present.
4606 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
4607 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
4608 removing the homehost if present.
4609 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
4610 if possible.
4611 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
4612
4613 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
4614 parameter. Set its pointer target to 0.
4615 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
4616 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
4617 `data_offset' value from the superblock for 1.x metadata.
4618 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
4619 data on the device.
4620 (insert_array): Record the start sector of data on the device.
4621 (grub_raid_register): Pass start_sector parameters to
4622 grub_raid_list->detect and insert_array.
4623 * include/grub/raid.h (struct grub_raid_array): Add start_sector
4624 member.
4625 (struct grub_raid): Add start_sector parameter to `detect'.
4626
4627 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
4628 __attribute__ ((packed)), leaving a comment.
4629 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
4630 (grub_mdraid_detect_09): ... here and ...
4631 (grub_mdraid_detect_1x): ... here.
4632
46332010-07-20 Peter Henn <peter.henn@web.de>
4634
4635 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
4636 chunk size and disk size, which are already given as sector counts
4637 as distinct from the 0.90 units. Fetch the correct device number
4638 from the role table instead of using the table index.
4639
46402010-07-20 Felix Zielcke <fzielcke@z-51.de>
4641
4642 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
4643 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
4644 (WriteMostly1): New macro.
4645 Set array->name to NULL for metadata format 0.90. Add support for
4646 metadata 1.x. Fix some comments.
4647 * disk/raid.c (): Add support for name based RAID arrays. Fix a
4648 few comments.
4649 * util/getroot.c (grub_util_get_grub_dev): Add support for
4650 /dev/md/name style devices.
4651
4b761da9
CW
46522010-07-20 Colin Watson <cjwatson@ubuntu.com>
4653
4654 * .bzrignore: Ignore 20_linux_xen.
4655
5771289a
CW
46562010-07-17 Colin Watson <cjwatson@ubuntu.com>
4657
4658 * util/import_unicode.py: Remove unnecessary imports.
4659
5dab68df
AN
46602010-07-17 Aleš Nesrsta <starous@volny.cz>
4661
4662 Hotplugging and USB hub support.
4663
4664 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
4665 (grub_ohci): Likewise.
4666 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
4667 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
4668 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
4669 (GRUB_OHCI_CTRL_EDS): Likewise.
4670 (GRUB_OHCI_BULK_EDS): Likewise.
4671 (GRUB_OHCI_TDS): Likewise.
4672 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
4673 (grub_ohci_ed_phys2virt): New function.
4674 (grub_ohci_virt_to_phys): Likewise.
4675 (grub_ohci_td_phys2virt): Likewise.
4676 (grub_ohci_td_virt2phys): Likewise.
4677 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
4678 attachment.
4679 (grub_ohci_find_ed): New function.
4680 (grub_ohci_alloc_td): Likewise.
4681 (grub_ohci_free_td): Likewise.
4682 (grub_ohci_free_tds): Likewise.
4683 (grub_ohci_transfer): Use previously allocated memory.
4684 (grub_ohci_portstatus): Reset status changed bit.
4685 (grub_ohci_detect_dev): Supply status changed.
4686 (grub_ohci_fini_hw): Free memory.
4687 (grub_ohci_restore_hw): Reallocate memory.
4688 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
4689 Reset status change.
4690 (grub_uhci_detect_dev): Supply status_change.
4691 * bus/usb/usb.c (attach_hooks): New var.
4692 (grub_usb_device_attach): New function.
4693 (grub_usb_register_attach_hook_class): Likewise.
4694 (grub_usb_unregister_attach_hook_class): Likewise.
4695 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
4696 (grub_usb_add_hub): Reset connection changed bit.
4697 (attach_root_port): New function.
4698 (grub_usb_root_hub): Likewise.
4699 (poll_nonroot_hub): Likewise.
4700 (grub_usb_poll_devices): Likewise.
4701 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
4702 * disk/usbms.c (grub_usbms_open): Use device hooks.
4703 (grub_usbms_iterate) :Poll devices.
4704 (grub_usbms_finddevs): Split into ...
4705 (grub_usbms_attach): ... this ...
4706 (grub_usbms_attach): ... and this.
4707 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
4708 in detect_dev.
4709 (grub_usb_interface): New fields attached and detach_hook.
4710 (grub_usb_attach_hook_class): New type.
4711 (grub_usb_attach_desc): New struct.
4712 (grub_usb_register_attach_hook_class): New function.
4713 (grub_usb_unregister_attach_hook_class): Likewise.
4714 (grub_usb_poll_devices): Likewise.
4715 (grub_usb_device_attach): Likewise.
4716 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
4717 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
4718
3222efaf
VS
47192010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
4722 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
4723 delta determination style. Works with most NetBSD partitions too.
4724
139b714a
VS
47252010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
4728 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
4729
986aad56
VS
47302010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
4733
99be513c
AB
47342010-07-14 Anton Blanchard <anton@samba.org>
4735
4736 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
4737 ET_DYN files.
4738
18075f62
GS
47392010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4740
4741 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
4742
8d9a5b15
GS
47432010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
4744
4745 * kern/partition.c (grub_partition_check_containment): New function to
4746 check that a partition is physically contained in a parent. Since
4747 offsets are relative (and non-negative), this reduces to checking that
4748 the partition ends before its parent.
4749 (grub_partition_map_probe): Discard out-of-range sub-partitions.
4750 (grub_partition_iterate): Likewise.
4751 * include/grub/partition.h (grub_partition_map): Slightly more detailed
4752 comments.
4753 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
4754 partitions that start before their parent, and add debug printfs.
4755
19563c25
CW
47562010-07-13 Colin Watson <cjwatson@ubuntu.com>
4757
4758 * Makefile.in (.SUFFIX): Spell correctly, as ...
4759 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
4760 bare module name without `.mod', e.g. `test') tried to invoke a
4761 Modula-2 compiler.
4762
1a1f1e67
CW
47632010-07-13 Colin Watson <cjwatson@ubuntu.com>
4764
4765 * README: Point to the Info manual.
4766
811b0dca
JS
47672010-07-13 Jiro SEKIBA <jir@unicus.jp>
4768
4769 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
4770 2nd superblock position from partition size.
4771
e4f4eafc
CW
47722010-07-10 Colin Watson <cjwatson@ubuntu.com>
4773
4774 * Makefile.in (MAINTAINER_CLEANFILES): Remove
4775 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
4776 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
4777 outputs.
4778
4274c30f
VS
47792010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Restructure SCSI .id handling.
4782 Reported and tested by: Aleš Nesrsta.
4783
4784 * disk/ata.c (grub_atapi_close): Removed. All users updated.
4785 (grub_atapi_dev): Changed .name to "ata". New field .id.
4786 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
4787 (grub_usbms_dev): New field .id.
4788 * disk/scsi.c (grub_scsi_iterate): Generate name.
4789 (grub_scsi_open): Parse name.
4790 * include/grub/scsi.h (grub_make_scsi_id): New function.
4791 (grub_scsi_dev): Change iterate and open to number instead of naming
4792 busses. All users updated.
4793 (grub_scsi): Remove name. Add .bus.
4794
5bc24388
VS
47952010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 * commands/help.c (grub_cmd_help): Fix a typo.
4798
249975ba
VS
47992010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
4802 Reported and tested by: Colin Watson.
4803
3eaac1a1
VS
48042010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
4805
4806 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
4807 in this context.
4808
becce1b1
VS
48092010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4810
4811 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
4812
f7bf0918
CW
48132010-07-07 Colin Watson <cjwatson@ubuntu.com>
4814
4815 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
4816 indentation.
4817
0b0f9620
CW
48182010-07-06 Colin Watson <cjwatson@ubuntu.com>
4819
4820 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
4821 and disk/raid6_recover.c.
4822 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
4823 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
4824
1e545469
CW
48252010-07-06 Colin Watson <cjwatson@ubuntu.com>
4826
4827 * term/gfxterm.c (repaint_schedulded): Rename to ...
4828 (repaint_scheduled): ... this. Update all callers.
4829 (repaint_was_schedulded): Rename to ...
4830 (repaint_was_scheduled): ... this. Update all callers.
4831
5357687a
CW
48322010-07-06 Colin Watson <cjwatson@ubuntu.com>
4833
4834 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
4835 which we expect to be handled by upper layers.
4836
29d7e783
BC
48372010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
4838
4839 * bus/usb/usbhub.c: #include time.h header.
4840
37582066
CW
48412010-07-06 Colin Watson <cjwatson@ubuntu.com>
4842
4843 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
4844 entry_name also for entries without stat blocks (e.g. ".."); fixes
4845 corruption of the first entry in a directory.
4846
c8c06953
CW
48472010-07-06 Colin Watson <cjwatson@ubuntu.com>
4848
4849 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
4850 after setting gfxterm as the active terminal. GRUB_BACKGROUND
4851 doesn't work otherwise.
4852
e75056f1
CW
48532010-07-05 Colin Watson <cjwatson@ubuntu.com>
4854
4855 * docs/grub.texi (Features): Update list of supported file systems.
4856 (GNU/Linux): Update for GRUB 2.
4857 (Serial terminal): Remove mention of --disable-serial, which was a
4858 GRUB Legacy configure option. Update instructions to use
4859 `terminal_input' and `terminal_output' rather than `terminal'.
4860 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
4861 configuration' and `Installing GRUB using grub-install'.
4862 (Menu entry editor): Update for GRUB 2.
4863 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
4864 Document new -a, -u, and -v options.
4865 (initrd): New section.
4866 (initrd16): New section.
4867 (linux): New section.
4868 (linux16): New section.
4869 (search): The `var' argument to `--set' is optional.
4870 (GRUB only offers a rescue shell): Go into a little more detail on
4871 drive ordering.
4872
5cf69151
CW
48732010-07-05 Colin Watson <cjwatson@ubuntu.com>
4874
4875 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
4876
e3f90044
CW
48772010-07-05 Colin Watson <cjwatson@ubuntu.com>
4878
4879 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
4880 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
4881
38d8f4f3
CW
48822010-07-05 Colin Watson <cjwatson@ubuntu.com>
4883
4884 * util/i386/pc/grub-setup.c (setup): Rename prefix to
4885 install_prefix, in line with install_dos_part and install_bsd_part.
4886 Add new prefix variable, which is copied to install_prefix after
4887 comparing core.img in memory with the one read from disk in the
4888 no-embedding case, and use that rather than overwriting
4889 install_prefix immediately when installing to a partition.
4890 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
4891 Bicakci.
4892
57ebd41e
GS
48932010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4894
4895 * configure.ac: Avoid == in test command, it's not portable.
4896 * util/grub.d/30_os-prober.in: Likewise.
4897
cb7f64b2
CW
48982010-07-04 Colin Watson <cjwatson@ubuntu.com>
4899
4900 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
4901
6b654bb0
GS
49022010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
4903
4904 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
4905 multiple (top-level) partmaps.
4906
72a2026d
VS
49072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 4910 Reported by: Tino Keitel.
72a2026d 4911
df3eb88f
VS
49122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 Bidi and diacritics support.
4915
4916 * Makefile.in (widthspec.bin): New target.
4917 (widthspec.h): Likewise.
4918 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
4919 * autogen.sh: Generate unidata.c.
4920 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
4921 * commands/ls.c (grub_ls_list_devices): Likewise.
4922 (grub_ls_list_files): Likewise.
4923 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
4924 (grub_mini_cmd_lsmod): Likewise.
4925 * commands/read.c: Likewise.
4926 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
4927 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
4928 * lib/arg.c (grub_arg_show_help): Likewise.
4929 * lib/crypto.c (grub_password_get): Likewise.
4930 * normal/auth.c (grub_username_get): Likewise.
4931 * normal/misc.c (grub_normal_print_device_info): Likewise.
4932 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
4933 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
4934 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
4935 (normal/charset.c_DEPENDENCIES): New variable.
4936 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
4937 (pkglib_MODULES): Remove charset.mod.
4938 (charset_mod_SOURCES): Removed.
4939 (charset_mod_CFLAGS): Likewise.
4940 (charset_mod_LDFLAGS): Likewise.
4941 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
4942 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
4943 and term/tparm.c.
4944 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4945 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
4946 (kernel_img_HEADERS): Add terminfo.h.
4947 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
4948 Fill ->font. Reverse ascii bitmaps.
4949 (grub_font_get_xheight): New function.
4950 * font/font.c (grub_font_get_string_width): Moved from here ...
4951 * gfxmenu/font.c (grub_font_get_string_width): ... here.
4952 * font/font.c (grub_font_draw_string): Moved from here ...
4953 * gfxmenu/font.c (grub_font_draw_string): ... here.
4954 * font/font.c (grub_font_dup_glyph): New function.
4955 (grub_font_blit_glyph): Likewise.
4956 (grub_font_blit_glyph_mirror): Likewise.
4957 (blit_comb): Likewise.
4958 (grub_font_construct_dry_run): Likewise.
4959 (grub_font_get_constructed_device_width): Likewise.
4960 (grub_font_construct_glyph): Likewise.
4961 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
4962 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
4963 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
4964 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
4965 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
4966 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
4967 (grub_font_get_xheight): New proto.
4968 (grub_font_get_constructed_device_width): Likewise.
4969 (grub_font_construct_glyph): Likewise.
4970 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
4971 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
4972 * include/grub/font.h (grub_font_draw_string): Moved from here ...
4973 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
4974 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
4975 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
4976 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
4977 (grub_console_getcharwidth): Likewise.
4978 * include/grub/misc.h (grub_xputs): New proto.
4979 (grub_puts): Inlined.
4980 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
4981 (grub_normal_get_line_counter): Removed.
4982 (grub_install_newline_hook): Likewise.
4983 (grub_normal_get_char_counter): New proto.
4984 (grub_normal_reset_more): Likewise.
4985 (grub_xputs_normal): Likewise.
4986 * include/grub/powerpc/ieee1275/console.h: Removed.
4987 * include/grub/sparc64/ieee1275/console.h: Likewise.
4988 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
4989 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
4990 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
4991 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
4992 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
4993 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
4994 (grub_term_input): Pass reference to self. All users updated.
4995 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
4996 Pass reference to self. New fields normal_color, highlight_color and
4997 data. All users updated.
4998 (grub_putchar): Removed.
4999 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
5000 (grub_unicode_estimate_width): New function.
5001 (grub_term_getcharwidth): Add defaults.
5002 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
5003 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
5004 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
5005 (grub_cls): Remove EXPORT_FUNC.
5006 (grub_setcolorstate): Inline.
5007 (grub_newline_hook): Removed.
5008 * include/grub/terminfo.h: Rewritten. All users updated.
5009 * include/grub/unicode.h: New file.
5010 * include/grub/video.h (grub_video_signed_rect): New type.
5011 * kern/emu/console.c (grub_console_highlight_color): Removed.
5012 (grub_console_normal_color): Likewise.
5013 (grub_console_standard_color): Made static.
5014 (grub_ncurses_putchar): Remove mapping.
5015 (grub_ncurses_getcharwidth): Removed.
5016 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5017 (grub_ncurses_setcolor): Removed.
5018 (grub_ncurses_getcolor): Likewise.
5019 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
5020 (grub_console_putchar): ... this.
5021 (grub_console_putchar): Handle argument difference.
5022 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
5023 console_init_early and console_init_lately.
5024 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
5025 * kern/misc.c (grub_puts): Removed.
5026 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
5027 (grub_vsnprintf_real): Remove str = NULL support.
5028 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
5029 * normal/charset.c (grub_utf8_to_ucs4): ... here.
5030 * kern/term.c (grub_putcode): Renamed to ...
5031 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
5032 (grub_putchar): Removed.
5033 (grub_xputs_dumb): New function.
5034 (grub_xputs): New variable.
5035 * lib/charset.c: Move from here ...
5036 * normal/charset.c: ... to here.
5037 (grub_ucs4_to_utf8): New function.
5038 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
5039 (join_types): New variable.
5040 (unpack_join): New function.
5041 (bidi_types): New variable.
5042 (unpack_bidi): New function.
5043 (get_bidi_type): Likewise.
5044 (get_join_type): Likewise.
5045 (is_mirrored): Likewise.
5046 (grub_unicode_get_comb_type): Likewise.
5047 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
5048 (is_type_after): Likewise.
5049 (grub_unicode_aglomerate_comb): Likewise.
5050 (bidi_line_wrap): Likewise.
5051 (grub_bidi_line_logical_to_visual): Likewise.
5052 (grub_bidi_logical_to_visual): Likewise.
5053 (grub_unicode_mirror_code): Likewise.
5054 (grub_unicode_shape_code): Likewise.
5055 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
5056 Don't use grub_putchar.
5057 * normal/main.c (grub_normal_init_page): Use grub_putcode.
5058 (grub_normal_reader_init): Likewise.
5059 (grub_xputs_saved): New variable.
5060 (GRUB_MOD_INIT): Set grub_xputs.
5061 (GRUB_MOD_FINI): Restore grub_xputs.
5062 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
5063 (menu_init): Avoid printing gfxmenu error.
5064 (show_menu): Use grub_normal_get_char_counter.
5065 * normal/menu_entry.c (update_screen): Fix out-of-array.
5066 (complete): Avoid NULL dereferencing.
5067 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
5068 * normal/menu_text.c (print_spaces): Removed.
5069 (grub_print_ucs4): Likewise.
5070 (grub_print_message_indented): Use grub_print_ucs4.
5071 (print_message): Use grub_putcode.
5072 (print_entry): Hanlde diacritics.
5073 * normal/term.c (term_state): New type.
5074 (grub_more_lines): Removed.
5075 (term_states): New variable.
5076 (grub_normal_line_counter): Renamed to ..
5077 (grub_normal_char_counter): ...this. All users updated.
5078 (grub_normal_get_line_counter): Renamed to ...
5079 (grub_normal_get_char_counter): ... this.
5080 (grub_normal_reset_more): New function.
5081 (process_newline): Removed.
5082 (print_more): New function.
5083 (grub_install_newline_hook): Removed.
5084 (map_code): New function.
5085 (grub_puts_terminal): Use grub_print_ucs4.
5086 (putglyph): New function.
5087 (putcode_real): Likewise.
5088 (grub_putcode): Use putcode_real.
5089 (get_maxwidth): New function.
5090 (get_startwidth): Likewise.
5091 (print_ucs4_terminal): Likewise.
5092 (find_term_state): Likewise.
5093 (put_glyphs_terminal): Likewise.
5094 (print_backlog): Likewise.
5095 (print_ucs4_real): Likewise.
5096 (grub_print_ucs4): Likewise.
5097 (grub_xputs_normal): Likewise.
5098 * term/efi/console.c (grub_console_putchar): Output diacritics.
5099 (grub_console_getcharwidth): Removed.
5100 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5101 * term/gfxterm.c (clear_char): Free chars.
5102 (scroll_up): Avoid leaking memory.
5103 (grub_gfxterm_putchar): Support diacritics.
5104 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
5105 * term/i386/pc/console.c (grub_console_term_output): Declare as
5106 GRUB_TERM_CODE_TYPE_VGA.
5107 * term/i386/pc/vga.c (grub_vga_term): Declare as
5108 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
5109 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
5110 GRUB_TERM_CODE_TYPE_VGA.
5111 * term/i386/vga_common.c (map_char): Removed.
5112 (grub_console_putchar): Likewise.
5113 (grub_console_getcharwidth): Likewise.
5114 * term/ieee1275/ofconsole.c: Simplify using terminfo.
5115 (colors): Reordered to match terminfo.
5116 (grub_ofconsole_normal_color): Removed.
5117 (grub_ofconsole_writeesc): Likewise.
5118 (grub_ofconsole_highlight_color): Likewise.
5119 (grub_ofconsole_getcharwidth): Likewise.
5120 (grub_ofconsole_setcolorstate): Likewise.
5121 (grub_ofconsole_setcolor): Likewise.
5122 (grub_ofconsole_getcolor): Likewise.
5123 (grub_ofconsole_readkey): Renamed to ...
5124 (readkey): ... this. Remove escape sequence handling. Return -1 on no
5125 key.
5126 (grub_ofconsole_checkkey): Removed.
5127 (grub_ofconsole_getkey): Likewise.
5128 (grub_ofconsole_getxy): Likewise.
5129 (grub_ofconsole_gotoxy): Likewise.
5130 (grub_ofconsole_cls): Likewise.
5131 (grub_ofconsole_refresh): Likewise.
5132 (grub_ofconsole_terminfo_input): New struct.
5133 (grub_ofconsole_terminfo_output): Likewise.
5134 (grub_ofconsole_term_input): Use terminfo.
5135 (grub_ofconsole_term_output): Likewise.
5136 (grub_console_init): Split into ...
5137 (grub_console_init_early): ...this and ...
5138 (grub_console_init_lately): ...this. Use terminfo.
5139 (grub_ofconsole_putchar): Renamed to ...
5140 (put): ... this. Remove mapping.
5141 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
5142 * term/serial.c: Simplify using terminfo.
5143 (xpos): Removed.
5144 (ypos): Likewise.
5145 (keep_track): Likewise.
5146 (registered): Likewise.
5147 (input_buf): Likewise.
5148 (npending): Likewise.
5149 (serial_translate_key_sequence): Likewise.
5150 (fill_input_buf): Likewise.
5151 (grub_serial_checkkey): Likewise.
5152 (grub_serial_getkey): Likewise.
5153 (grub_serial_getxy): Likewise.
5154 (grub_serial_gotoxy): Likewise.
5155 (grub_serial_putchar): Likewise.
5156 (grub_serial_cls): Likewise.
5157 (grub_serial_setcolorstate): Likewise.
5158 (grub_serial_setcursor): Likewise.
5159 (serial_hw_init): Use serial_hw_fetch.
5160 (grub_serial_terminfo_input): New variable.
5161 (grub_serial_terminfo_output): Likewise.
5162 (grub_serial_term_input): Use terminfo.
5163 (grub_serial_term_output): Likewise.
5164 * term/terminfo.c (putstr): Use put.
5165 (grub_terminfo_all_free): New function
5166 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
5167 (grub_terminfo_output_register): New function.
5168 (grub_terminfo_output_unregister): Likewise.
5169 (grub_terminfo_getxy): Likewise.
5170 (grub_terminfo_readkey): Likewise.
5171 (grub_terminfo_checkkey): Likewise.
5172 (grub_terminfo_getkey): Likewise.
5173 (grub_terminfo_input_init): Likewise.
5174 (print_terminfo): Likewise.
5175 (grub_cmd_terminfo): Handle encoding.
5176 (grub_terminfo_gotoxy): Track position.
5177 (grub_terminfo_cls): Likewise.
5178 (grub_terminfo_putchar): Likewise.
5179 (grub_terminfo_setcolorstate): Handle colors
5180 (grub_terminfo_cursor_on): This ...
5181 (grub_terminfo_cursor_off): ... and this merged into ...
5182 (grub_terminfo_setcursor): ... this.
5183 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
5184 * unicode/ArabicShaping.txt: New file (imported from Unicode).
5185 * unicode/BidiMirroring.txt: Likewise.
5186 * unicode/UnicodeData.txt: Likewise.
5187 * unicode/COPYING: Likewise.
5188 * util/grub-editenv.c (grub_putchar): Removed.
5189 (grub_xputs_real): New function.
5190 (grub_xputs): New variable.
5191 * util/grub-fstest.c (grub_putchar): Removed.
5192 (grub_xputs_real): New function.
5193 (grub_xputs): New variable.
5194 * util/grub-mkdevicemap.c (grub_putchar): Removed.
5195 (grub_xputs_real): New function.
5196 (grub_xputs): New variable.
5197 * util/grub-probe.c (grub_putchar): Removed.
5198 (grub_xputs_real): New function.
5199 (grub_xputs): New variable.
5200 * util/grub-script-check.c (grub_putchar): Removed.
5201 (grub_xputs_real): New function.
5202 (grub_xputs): New variable.
5203 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
5204 (grub_xputs_real): New function.
5205 (grub_xputs): New variable.
5206 * util/import_unicode.py: New file.
5207 * util/grub-mkfont.c (ft_errmsgs): New array.
5208 (grub_glyph_info): Make bitmap a pointer.
5209 (file_formats): New type WIDTH_SPEC.
5210 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
5211 (options): Add width-spec.
5212 (help): Likewise.
5213 (add_char): Renamed to ...
5214 (add_glyph): ... this.
5215 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
5216 (glyph_replace): New type.
5217 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
5218 (add_char): New function.
5219 (add_subst): Likewise.
5220 (process_cursive): Likewise.
5221 (add_font): Handle GSUB.
5222 (write_font_width_spec): New function.
5223 (main): Sort glyphs.
5224 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
5225 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
5226 * kern/term.c (grub_cls): Moved from here...
5227 * normal/term.c (grub_cls): ... here.
5228
50f0bcda
CW
52292010-07-02 Colin Watson <cjwatson@ubuntu.com>
5230
5231 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
5232 suitable for using within the format argument of printf when
5233 converting grub_size_t.
5234 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
5235 "x" to convert grub_size_t arguments.
5236
40372103
VS
52372010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
5240 too long captions.
5241 (list_get_minimal_size): Take selection box into account.
5242
942a10c7
VS
52432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
5246 NULL font.
5247
2bdb2892
CW
52482010-07-02 Colin Watson <cjwatson@ubuntu.com>
5249
5250 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
5251 devices when iterating over /dev/disk/by-id; they will be handled
5252 later if appropriate, which they aren't always (e.g. LVM).
5253
e03ed6c1
CW
52542010-07-02 Colin Watson <cjwatson@ubuntu.com>
5255
5256 * include/grub/misc.h (grub_reboot): Declare as noreturn.
5257 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
5258 fails.
5259 (grub_halt): Likewise.
5260 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
5261 reset-all fails.
5262 (grub_halt): Don't return, even if all of shut-down, power-off, and
5263 poweroff fail.
5264
47695765
CW
52652010-07-02 Colin Watson <cjwatson@ubuntu.com>
5266
5267 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
5268 arguments, not three.
5269
507736c8
CW
52702010-07-02 Colin Watson <cjwatson@ubuntu.com>
5271
5272 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
5273 * util/grub.d/10_linux.in: Use it to check for LVM, so that
5274 LVM-on-RAID is handled correctly.
5275
e3c8cd37
CW
52762010-07-02 Colin Watson <cjwatson@ubuntu.com>
5277
5278 * docs/grub.texi (Changes from GRUB Legacy): New section.
5279 (Future): Fix typo.
5280
8d4a2fec
CW
52812010-07-02 Colin Watson <cjwatson@ubuntu.com>
5282
5283 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
5284 grub.d/README accidentally ends up executable for one reason or
5285 another. Ignore it.
5286
1c4827be
VS
52872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
5290 (gpt_partition_map_iterate): Support non-512B sectors.
5291
d9a0c941
VS
52922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * kern/efi/init.c (grub_efi_init): Disable watchdog.
5295 Tested by: Seth Goldberg.
5296
48f27e87
VS
52972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
5300 Properly align mbi.
5301 Reported by: Seth Goldberg.
5302
b0c4f956
VS
53032010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * util/grub-mkrescue.in: Avoid module duplication.
5306
105a2e8c
SF
53072010-07-01 Sean Finney <seanius@seanius.net>
5308
5309 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
5310
5944958c
SF
53112010-07-01 Sean Finney <seanius@seanius.net>
5312
5313 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
5314
53152010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * disk/lvm.c (grub_lvm_checkvalue): New function.
5318 (grub_lvm_check_flag): Likewise.
5319
b79889ba
RM
53202010-07-01 Robert Millan <rmh@gnu.org>
5321
5322 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
5323 Support 'p' as partition separator on kernel of FreeBSD (used
5324 with GPT labels).
5325 (grub_util_biosdisk_get_grub_dev): Likewise.
5326
ec1d04f1
VS
53272010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 Yeeloong firmware port.
5330
5331 * boot/mips/yeeloong/fwstart.S: New file.
5332 * bus/cs5536.c (gpiodump): New const.
5333 (set_io_space): New function.
5334 (set_iod): Likewise.
5335 (set_p2d): Likewise.
5336 (grub_cs5536_init_geode): Likewise.
5337 * commands/mips/yeeloong/lsspd.c: New file.
5338 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
5339 (serial_mod_SOURCES): New variable.
5340 (serial_mod_CFLAGS): Likewise.
5341 (serial_mod_LDFLAGS): Likewise.
5342 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
5343 term/terminfo.c and term/tparm.c.
5344 (pkglib_IMAGES): Add fwstart.img.
5345 (fwstart_img_SOURCES): New variable.
5346 (fwstart_img_CFLAGS): Likewise.
5347 (fwstart_img_ASFLAGS): Likewise.
5348 (fwstart_img_LDFLAGS): Likewise.
5349 (fwstart_img_FORMAT): Likewise.
5350 (pkglib_MODULES): Add lsspd.mod.
5351 (lsspd_mod_SOURCES): New variable.
5352 (lsspd_mod_CFLAGS): Likewise.
5353 (lsspd_mod_LDFLAGS): Likewise.
5354 (pkglib_MODULES): Add halt.mod.
5355 (halt_mod_SOURCES): New variable.
5356 (halt_mod_CFLAGS): Likewise.
5357 (halt_mod_LDFLAGS): Likewise.
5358 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
5359 (serial_mod_SOURCES): Removed.
5360 (serial_mod_CFLAGS): Likewise.
5361 (serial_mod_LDFLAGS): Likewise.
5362 * disk/ata.c (check_device): New function.
5363 (grub_ata_device_initialize): Use check_device.
5364 (grub_ata_iterate): Recheck devices.
5365 (grub_ata_open): Likewise.
5366 (grub_atapi_iterate): Likewise.
5367 (grub_atapi_open): Likewise.
5368 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
5369 (GRUB_ATA_CH1_PORT1): Likewise.
5370 (GRUB_ATA_CH0_PORT2): Likewise.
5371 (GRUB_ATA_CH1_PORT2): Likewise.
5372 * include/grub/mips/loongson.h: New file.
5373 * include/grub/mips/yeeloong/ec.h: Likewise.
5374 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
5375 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
5376 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
5377 * include/grub/misc.h (grub_halt): Declare as noreturn.
5378 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
5379 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
5380 (UART_ENABLE_FIFO_TRIGGER1): New definition.
5381 (UART_ENABLE_DTRRTS): Likewise.
5382 (UART_ENABLE_MODEM): Removed.
5383 (UART_ENABLE_OUT2): New const.
5384 * include/grub/term.h (grub_term_register_input_active): New function.
5385 (grub_term_register_output_active): Likewise.
5386 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
5387 argument.
5388 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
5389 (init_pci): New function.
5390 (grub_machine_init): Execute platform init when firmware. Init serial.
5391 (grub_halt): Implement.
5392 (grub_exit): Likewise.
5393 (grub_reboot): Likewise.
5394 * term/serial.c (serial_hw_init): Update macros.
5395 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
5396 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
5397 (image_targets): New target mipsel-yeeloong-flash.
5398 (generate_image): Support IMAGE_YEELOONG_FLASH.
5399 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
5400 (grub_video_sm712_setup): Init card.
5401 (grub_video_sm712_set_palette): Removed.
5402 * video/sm712_init.c: New file.
5403
ff4a70d2
CW
54042010-06-30 Colin Watson <cjwatson@ubuntu.com>
5405
5406 * Makefile.in (install-local): Temporarily prepend $(builddir) to
5407 PATH when running help2man and then run it on the unadorned
5408 executable names, rather than passing $(builddir)/* paths to
5409 help2man. This avoids the build directory ending up in generated
5410 manual pages.
5411
1246efeb
CW
54122010-06-29 Colin Watson <cjwatson@ubuntu.com>
5413
5414 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
5415 to avoid accidents when debugging with 'sh -x'.
5416 * util/grub-mkrescue.in: Likewise.
5417 * util/grub.d/00_header.in: Likewise.
5418 * util/grub.d/10_hurd.in: Likewise.
5419 * util/grub.d/10_kfreebsd.in: Likewise.
5420 * util/grub.d/10_linux.in: Likewise.
5421 * util/grub.d/10_netbsd.in: Likewise.
5422 * util/grub.d/10_windows.in: Likewise.
5423 * util/grub.d/20_linux_xen.in: Likewise.
5424 * util/grub.d/30_os-prober.in: Likewise.
5425 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5426
1ba9b889
CW
54272010-06-29 Colin Watson <cjwatson@ubuntu.com>
5428
5429 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
5430 last character in the buffer.
5431 Reported by: Vladimir Serbinenko.
5432
dccaf99d
RM
54332010-06-29 Robert Millan <rmh@gnu.org>
5434
5435 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
5436 (Command-line and menu entry commands): Document `badram' command.
5437
d500ed12
RM
54382010-06-28 Robert Millan <rmh@gnu.org>
5439
5440 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
5441 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
5442 command using ${GRUB_BADRAM} as parameter.
5443
20bc84a6
CW
54442010-06-28 Colin Watson <cjwatson@ubuntu.com>
5445
5446 * docs/grub.texi (Device map): New section.
5447 (Themes): New section (stub).
5448 * Makefile.in (docs/grub.info): The info documentation now builds
5449 without errors. Make sure it stays that way.
5450
4045dee1
VS
54512010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5452
5453 Use normal parser for menu entries.
5454 Reported by: Thomas Frauendorfer
5455
5456 * include/grub/parser.h (grub_parser_execute): Don't export.
5457 * normal/menu.c (grub_menu_execute_entry_real): New function.
5458 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
5459
bca58c7b
CW
54602010-06-28 Colin Watson <cjwatson@ubuntu.com>
5461
5462 * docs/grub.texi (Embedded configuration): New section (replacing
5463 old "Preset Menu" stub).
5464 (Images): New section.
5465 (configfile): Note that any menu entries defined in `file' are shown
5466 immediately.
5467
dec53e63
JT
54682010-06-28 Josh Triplett <josh@joshtriplett.org>
5469
5470 * mmap/i386/pc/mmap_helper.S: Set CF on return.
5471
c06e40f7
CW
54722010-06-28 Colin Watson <cjwatson@ubuntu.com>
5473
5474 * util/grub-install.in: Add --debug-image= option.
5475
cb88052b
CW
54762010-06-28 Colin Watson <cjwatson@ubuntu.com>
5477
5478 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
5479 possible on Linux.
5480
5481 * util/deviceiter.c (check_device): Rename to ...
5482 (check_device_readable_unique): ... this. Update all callers.
5483 Maintain and check a list of which devices (by canonicalized name)
5484 have already been seen.
5485 (clear_seen_devices): New function.
5486 (compare_file_names) [__linux__]: New function.
5487 (grub_util_iterate_devices): Clear the list of seen devices on exit
5488 and (just in case) on entry.
5489 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
5490 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
5491 seen-devices list, superseded by general code in check_device.
5492
bbe34652
CW
54932010-06-28 Colin Watson <cjwatson@ubuntu.com>
5494
5495 * commands/cat.c (options): New variable.
5496 (grub_cmd_cat): Parse options. If the --dos option is given, print
5497 DOS-style "\r\n" line endings as simple newlines (Debian bug
5498 #586358).
5499 (GRUB_MOD_INIT): Use extcmd.
5500 (GRUB_MOD_FINI): Likewise.
5501 * docs/grub.texi (cat): Document --dos.
5502
412e09f3
VS
55032010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 XEN with Linux grub-mkconfig support.
5506
5507 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
5508 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
5509 GRUB_CMDLINE_XEN_DEFAULT.
5510 * util/grub.d/20_linux_xen.in: New file.
5511
53f3ef38 55122010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
5513
5514 Initialise VGA video on qemu ourselves.
5515
5516 * boot/i386/qemu/boot.S: Don't call 0xc000.
5517 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
5518 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
5519 (kernel_img_HEADERS): Add pci.h.
5520 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
5521 * configure.ac: Force unifont on qemu and yeeloong.
5522 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
5523 (grub_vga_palette_write): Use correct register.
5524 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
5525 Call grub_qemu_init_cirrus.
5526 * kern/i386/qemu/init.c: New file.
5527 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
5528
5529 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
5530
c75be4fb
PR
55312010-06-26 Pavel Roskin <proski@gnu.org>
5532
5533 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
5534 13.
5535
d8034603
CW
55362010-06-26 Colin Watson <cjwatson@ubuntu.com>
5537
5538 * docs/grub.texi (Simple configuration): Explain that
5539 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
5540 set to `true' to disable their respective recovery entries, not
5541 merely set.
5542
3fa06487
CW
55432010-06-26 Colin Watson <cjwatson@ubuntu.com>
5544
5545 Make the `source' command slightly faster.
5546
5547 * normal/main.c (grub_normal_execute): Don't re-read list files when
5548 nested.
5549
e9b29642
CW
55502010-06-23 Colin Watson <cjwatson@ubuntu.com>
5551
5552 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
5553 field position and mask size to red fields from mode_info, not
5554 green.
5555 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
5556 Remove redundant tag->common.framebuffer_type assignment.
5557 Reported by: Seth Goldberg.
5558
e726542f
CW
55592010-06-23 Colin Watson <cjwatson@ubuntu.com>
5560
5561 Sync up other versions of the Linux loader with Robert Millan's
5562 change of 2010-01-09, "Make loader output a bit more user-friendly".
5563
5564 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
5565 grub_dprintf().
5566 (grub_cmd_linux): Likewise.
5567 (grub_cmd_initrd): Likewise.
5568 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
5569 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5570
d6e98a17
CW
55712010-06-21 Colin Watson <cjwatson@ubuntu.com>
5572
5573 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
5574 larger than MEMORY_MAP_SIZE.
5575
14d3f08e
BC
55762010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
5577
5578 Fix parallel build.
5579
5580 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
5581 dependency.
5582 * script/parser.y: #include grub_script.tab.h header.
5583
4f9613a3
VS
55842010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 Support >3GiB and <16MiB RAM in i386-qemu.
5587
5588 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
5589 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
5590 (grub_lower_mem): Removed.
5591 (grub_upper_mem): Likewise.
5592 (mem_size): Made static.
5593 (above_4g): New variable.
5594 (grub_machine_mmap_init): Detect small mem_size and above_4g.
5595 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
5596 support.
5597
05e51879
VS
55982010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 Cirrus 5446 and Bochs video cards support.
5601
5602 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
5603 video_bochs.mod
5604 (video_cirrus_mod_SOURCES): New variable.
5605 (video_cirrus_mod_CFLAGS): Likewise.
5606 (video_cirrus_mod_LDFLAGS): Likewise.
5607 (video_bochs_mod_SOURCES): Likewise.
5608 (video_bochs_mod_CFLAGS): Likewise.
5609 (video_bochs_mod_LDFLAGS): Likewise.
5610 * include/grub/vga.h: New file.
5611 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
5612 (grub_video_fb_set_page_t): New type.
5613 (grub_video_fb_setup): New prototype.
5614 (grub_video_fb_swap_buffers): Likewise.
5615 (grub_video_fb_get_info_and_fini): Likewise.
5616 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
5617 (CRTC_DATA_PORT): Likewise.
5618 (CRTC_CURSOR): Likewise.
5619 (CRTC_CURSOR_ADDR_HIGH): Likewise.
5620 (CRTC_CURSOR_ADDR_LOW): Likewise.
5621 (CRTC_CURSOR_DISABLE): Likewise.
5622 (update_cursor): Use grub_vga_cr_write.
5623 (grub_vga_text_setcursor): Likewise.
5624 * video/bochs.c: New file.
5625 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
5626 (palette): Likewise.
5627 (palette_size): Likewise.
5628 (framebuffer): New variable.
5629 (grub_video_fb_init): Use 'framebuffer'.
5630 (grub_video_fb_fini): Likewise.
5631 (grub_video_fb_get_info): Likewise.
5632 (grub_video_fb_get_palette): Likewise.
5633 (grub_video_fb_set_palette): Likewise.
5634 (grub_video_fb_set_viewport): Likewise.
5635 (grub_video_fb_get_viewport): Likewise.
5636 (grub_video_fb_map_color): Likewise.
5637 (grub_video_fb_map_rgb): Likewise.
5638 (grub_video_fb_map_rgba): Likewise.
5639 (grub_video_fb_unmap_color): Likewise.
5640 (grub_video_fb_unmap_color_int): Likewise.
5641 (grub_video_fb_fill_rect): Likewise.
5642 (grub_video_fb_blit_bitmap): Likewise.
5643 (grub_video_fb_blit_render_target): Likewise.
5644 (grub_video_fb_scroll): Likewise.
5645 (grub_video_fb_create_render_target): Likewise.
5646 (grub_video_fb_doublebuf_blit_init): Likewise.
5647 (grub_video_fb_set_active_render_target): Handle doublebuffering.
5648 (doublebuf_pageflipping_update_screen): New function.
5649 (doublebuf_pageflipping_init): Likewise.
5650 (grub_video_fb_setup): Likewise.
5651 (grub_video_fb_swap_buffers): Likewise.
5652 (grub_video_fb_get_info_and_fini): Likewise.
5653 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
5654 All users updated.
5655 (doublebuf_pageflipping_commit): Restructured into ...
5656 (doublebuf_pageflipping_set_page): ... this.
5657 (doublebuf_pageflipping_update_screen): Removed.
5658 (doublebuf_pageflipping_init): Likewise.
5659 (double_buffering_init): Likewise.
5660 (grub_video_vbe_setup): Use grub_video_fb_setup.
5661 (grub_video_vbe_swap_buffers): Removed.
5662 (grub_video_vbe_set_active_render_target): Likewise.
5663 (grub_video_vbe_get_active_render_target): Likewise.
5664 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
5665 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
5666 grub_video_fb_set_active_render_target and
5667 grub_video_fb_get_active_render_target.
5668 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
5669 (SEQUENCER_DATA_PORT): Likewise.
5670 (MAP_MASK_REGISTER): Likewise.
5671 (CRTC_ADDR_PORT): Likewise.
5672 (CRTC_DATA_PORT): Likewise.
5673 (START_ADDR_HIGH_REGISTER): Likewise.
5674 (START_ADDR_LOW_REGISTER): Likewise.
5675 (GRAPHICS_ADDR_PORT): Likewise.
5676 (GRAPHICS_DATA_PORT): Likewise.
5677 (READ_MAP_REGISTER): Likewise.
5678 (INPUT_STATUS1_REGISTER): Likewise.
5679 (INPUT_STATUS1_VERTR_BIT): Likewise.
5680 (get_map_mask): Use grub_vga_sr_read.
5681 (set_map_mask): Use grub_vga_sr_write.
5682 (set_read_map): Use grub_vga_gr_write.
5683 (set_start_address): Use grub_vga_cr_write.
5684 * video/sm712.c (framebuffer): Remove leftover fields.
5685
4321c64a
CW
56862010-06-20 Colin Watson <cjwatson@ubuntu.com>
5687
5688 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
5689 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5690 instead. Replace the gfxterm backend check with a check that
5691 ${GRUB_PREFIX}/video.lst is non-empty.
5692 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
5693 again.
5694 (load_video): New generated function. Call it before loading
5695 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
5696 * util/grub.d/10_linux.in (linux_entry): Call load_video.
5697 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
5698 * docs/grub.texi (Simple configuration): Document
5699 GRUB_VIDEO_BACKEND.
5700
57012010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 Use video functions in linux and xnu loaders.
5704
5705 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
5706 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
5707 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
5708 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
5709 loader/i386/pc/linux.c.
5710 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
5711 (find_line_len): Removed.
5712 (find_framebuf): Likewise.
5713 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
5714 * loader/i386/efi/xnu.c: Removed.
5715 * loader/i386/pc/xnu.c: Moved from here...
5716 * loader/i386/xnu.c: ...here.
5717
5718 Enable priorities in video drivers.
5719
5720 * include/grub/video.h (grub_video_adapter_prio_t): New type.
5721 (grub_video_adapter): New field prio.
5722 (grub_video_register): Respect prio when inserting.
5723 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
5724 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
5725 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
5726 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
5727 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
5728 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
5729 * video/sm712.c (grub_video_sm712_adapter): Likewise.
5730
5731 Fix SDL driver ID.
5732
5733 * include/grub/video.h (grub_video_driver_id_t): New value
5734 GRUB_VIDEO_DRIVER_SDL.
5735 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
5736
7d24e434
CW
57372010-06-17 Colin Watson <cjwatson@ubuntu.com>
5738
5739 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
5740 argument to printf.
5741 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5742
c88a83f6
CW
57432010-06-17 Colin Watson <cjwatson@ubuntu.com>
5744
5745 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
5746 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5747
094dfb69
CW
57482010-06-17 Colin Watson <cjwatson@ubuntu.com>
5749
5750 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
5751 directly, and recommend grub-install instead.
5752 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
5753
2164da6b
CW
57542010-06-17 Colin Watson <cjwatson@ubuntu.com>
5755
5756 Fix i386-pc prefix handling with nested partitions (Debian bug
5757 #585068). Note that the case where the core image is booted using
5758 multiboot and relocated from its original location still requires
5759 more work.
5760
5761 * kern/i386/pc/init.c (make_install_device): If the prefix starts
5762 with "(,", fill the boot drive in between those two characters, but
5763 expect that a full partition specification including partition map
5764 names will follow.
5765 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
5766 specified, write a prefix without the drive name but including a
5767 full partition specification.
5768
044e2e60
CW
57692010-06-16 Colin Watson <cjwatson@ubuntu.com>
5770
5771 * util/grub-mkconfig.in: Ignore non-option arguments, for
5772 compatibility with older versions (before 2010-06-12) which did the
5773 same. In particular, this makes it easier to ship an update-grub
5774 wrapper which is compatible with that used with GRUB Legacy (Debian
5775 bug #586056).
5776
5591324f
GS
57772010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5778
5779 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
5780 for manual page generation.
5781
662e24d5
GS
57822010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
5783
5784 * po/POTFILES: Remove leftover commands/handler.c.
5785
8d70754e
CW
57862010-06-14 Colin Watson <cjwatson@ubuntu.com>
5787
5788 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
5789 left this script non-functional.
5790
41160e2e
CW
57912010-06-14 Colin Watson <cjwatson@ubuntu.com>
5792
5793 * docs/man/grub-emu.h2m: New file.
5794
b5309cc1
CW
57952010-06-13 Colin Watson <cjwatson@ubuntu.com>
5796
5797 * docs/grub.texi (Commands): Document reduced command set in rescue
5798 mode.
5799 (cpuid): New section.
5800
fcb2d090
GS
58012010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
5802
5803 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
5804 new partition naming style.
5805 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
5806
96e5c556
BC
58072010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
5808
5809 Add "-o grub.iso" like cmdline options support.
5810
5811 * util/grub-install.in: Improve cmdline option parsing.
5812 * util/grub-mkconfig.in: Likewise.
5813 * util/grub-mkrescue.in: Likewise.
5814 * util/grub-reboot.in: Likewise.
5815 * util/grub-set-default.in: Likewise.
5816 * util/i386/efi/grub-install.in: Likewise.
5817 * util/ieee1275/grub-install.in: Likewise.
5818 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5819
c16be99b
CW
58202010-06-12 Colin Watson <cjwatson@ubuntu.com>
5821
5822 * .bzrignore: Ignore 41_custom.
5823
ce08a9fb
TS
58242010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5825
5826 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
5827
7beac90c
CW
58282010-06-12 Colin Watson <cjwatson@ubuntu.com>
5829
5830 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
5831 prototype declarations.
5832
5833 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
5834 generating fs, partmap, and video lists.
5835 * include/grub/fs.h (grub_fs_register): Omit prototype if
5836 GRUB_LST_GENERATOR is defined.
5837 * include/grub/partition.h (grub_partition_map_register): Likewise.
5838 * include/grub/video.h (grub_video_register): Likewise.
5839
1c8f0f8d
JM
58402010-06-12 Javier Martín <lordhabbit@gmail.com>
5841
5842 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
5843
a6085973
TS
58442010-06-12 Thomas Schmitt <scdbackup@gmx.net>
5845
5846 * util/grub-mkrescue.in: Support --xorriso argument.
5847
25c56d29
VS
58482010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
5851 Suggested by: Thomas Schmitt.
5852
e03e4b24
VS
58532010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
5856 Suggested by: Thomas Schmitt.
5857
57711df6
VS
58582010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 custom.cfg support.
5861
5862 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
5863 * util/grub.d/41_custom.in: New file.
5864
ee62c427
CW
58652010-06-12 Colin Watson <cjwatson@ubuntu.com>
5866
5867 * util/grub-mkrescue.in (make_image): Remove sh module, which has
5868 been merged back into normal.
5869
283af07a
CW
58702010-06-11 Colin Watson <cjwatson@ubuntu.com>
5871
5872 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
5873 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
5874
56a0d956
CW
58752010-06-11 Colin Watson <cjwatson@ubuntu.com>
5876
5877 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
5878 when generating manual pages.
5879 * docs/man/grub-bin2h.h2m: New file.
5880 * docs/man/grub-editenv.h2m: New file.
5881 * docs/man/grub-fstest.h2m: New file.
5882 * docs/man/grub-install.h2m: New file.
5883 * docs/man/grub-macho2img.h2m: New file.
5884 * docs/man/grub-mkconfig.h2m: New file.
5885 * docs/man/grub-mkdevicemap.h2m: New file.
5886 * docs/man/grub-mkfont.h2m: New file.
5887 * docs/man/grub-mkimage.h2m: New file.
5888 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
5889 * docs/man/grub-mkrelpath.h2m: New file.
5890 * docs/man/grub-mkrescue.h2m: New file.
5891 * docs/man/grub-ofpathname.h2m: New file.
5892 * docs/man/grub-pe2elf.h2m: New file.
5893 * docs/man/grub-probe.h2m: New file.
5894 * docs/man/grub-reboot.h2m: New file.
5895 * docs/man/grub-script-check.h2m: New file.
5896 * docs/man/grub-set-default.h2m: New file.
5897 * docs/man/grub-setup.h2m: New file.
5898
3a37e322
VS
58992010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 Use FOR_* macros instead of *_iterate whenever possible.
5902
5903 * commands/handler.c: Removed.
5904 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
5905 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
5906 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5907 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
5908 (grub_probe_SOURCES): Remove kern/parser.c.
5909 (util/grub-script-check.c_DEPENDENCIES): Removed.
5910 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
5911 and grub_script_check_init.c.
5912 (grub_script_check_init.lst): Removed.
5913 (grub_script_check_init.h): Likewise.
5914 (grub_script_check_init.c): Likewise.
5915 (pkglib_MODULES): Remove handler.mod and sh.mod.
5916 (handler_mod_SOURCES): Removed.
5917 (handler_mod_CFLAGS): Likewise.
5918 (handler_mod_LDFLAGS): Likewise.
5919 (normal_mod_SOURCES): Remove normal/handler.c.
5920 Add script/main.c, script/script.c, script/execute.c,
5921 script/function.c, script/lexer.c, grub_script.tab.c
5922 and grub_script.yy.c.
5923 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5924 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5925 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
5926 (grub_setup_SOURCES): Remove kern/parser.c.
5927 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5928 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
5929 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5930 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5931 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
5932 (grub_setup_SOURCES): Remove kern/parser.c.
5933 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
5934 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
5935 * include/grub/command.h (grub_command_iterate): Removed.
5936 (FOR_COMMANDS): New macro.
5937 * include/grub/dl.h (grub_dl): New member next.
5938 (grub_dl_iterate): Removed.
5939 (grub_dl_head): New variable declaration.
5940 (FOR_DL_MODULES): New macro.
5941 * include/grub/fs.h: Include list.h.
5942 (grub_fs): Make next first element.
5943 (grub_fs_list): New variable declaration.
5944 (grub_fs_register): Make inline.
5945 (grub_fs_unregister): Likewise.
5946 (grub_fs_iterate): Removed.
5947 (FOR_FILESYSTEMS): New macro.
5948 * include/grub/handler.h: Removed.
5949 * include/grub/list.h (grub_list_hook_t): Removed.
5950 (grub_list_test_t): Likewise.
5951 (grub_list_pop): Likewise.
5952 (grub_list_iterate): Likewise.
5953 (grub_list_insert): Likewise.
5954 (FOR_LIST_ELEMENTS): New macro.
5955 * include/grub/parser.h (grub_parser_class): Removed.
5956 (grub_parser_register): Likewise.
5957 (grub_parser_unregister): Likewise.
5958 (grub_parser_get_current): Likewise.
5959 (grub_parser_set_current): Likewise.
5960 (grub_register_rescue_parser): Likewise.
5961 (grub_rescue_parse_line): New function.
5962 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
5963 * include/grub/script_sh.h (grub_script_function_list): New variable
5964 declaration.
5965 (FOR_SCRIPT_FUNCTIONS): New macro.
5966 (grub_script_function_iterate): Removed.
5967 (grub_normal_parse_line): New prototype.
5968 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
5969 (FOR_DISABLED_TERM_INPUTS): Likewise.
5970 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
5971 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
5972 * include/grub/video.h (grub_video_adapter): Move 'next' to first
5973 element.
5974 (grub_video_register): Inline.
5975 (grub_video_unregister): Likewise.
5976 (grub_video_adapter_list): New variable declaration.
5977 (grub_video_iterate): Removed.
5978 (FOR_VIDEO_ADAPTERS): New macro.
5979 * kern/dl.c (grub_dl_list): Removed. All users updated.
5980 (grub_dl_iterate): Removed.
5981 * kern/fs.c (grub_fs_list): Make global.
5982 (grub_fs_register): Removed.
5983 (grub_fs_unregister): Likewise.
5984 (grub_fs_iterate): Likewise.
5985 * kern/handler.c: Removed.
5986 * kern/list.c (grub_list_pop): Removed.
5987 (grub_list_iterate): Likewise.
5988 (grub_list_insert): Likewise.
5989 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
5990 (grub_prio_list_insert): Don't use grub_list_insert.
5991 * kern/main.c (grub_register_rescue_parser): Don't call
5992 grub_register_rescue_parser.
5993 * kern/parser.c (grub_parser_class): Removed.
5994 (grub_parser_execute): Use grub_rescue_parse_line.
5995 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
5996 (grub_rescue_parser): Removed.
5997 (grub_register_rescue_parser): Likewise.
5998 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
5999 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
6000 (grub_auth_check_authentication): Likewise.
6001 * normal/completion.c (iterate_command): Removed.
6002 (grub_normal_do_completion): Use FOR_COMMANDS.
6003 * normal/handler.c: Removed.
6004 * normal/main.c (read_config_file): Remove parser changing.
6005 (grub_normal_execute): Don't call read_handler_list.
6006 (grub_normal_read_line_real): Statically allocate prompt.
6007 (grub_cmdline_run): Use grub_normal_parse_line.
6008 (GRUB_MOD_FINI): Don't call free_handler_list.
6009 * normal/menu_entry.c (run): Likewise.
6010 * script/function.c (grub_script_function_list): Make global.
6011 (grub_script_function_iterate): Removed.
6012 * script/main.c (grub_normal_parse_line): Make global.
6013 (grub_sh_parser): Removed.
6014 (GRUB_MOD_INIT): Likewise.
6015 (GRUB_MOD_FINI): Likewise.
6016 * tests/lib/functional_test.c (grub_functional_test): Use
6017 FOR_LIST_ELEMENTS.
6018 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
6019 (grub_test_run): Use FOR_LIST_ELEMENTS.
6020 * tests/lib/unit_test.c (main): Likewise.
6021 * util/deviceiter.c (grub_util_iterate_devices): Don't use
6022 grub_list_pop.
6023 * util/grub-fstest.c (grub_term_input_class): Removed.
6024 (grub_term_output_class): Likewise.
6025 * util/grub-probe.c: Likewise.
6026 * util/i386/pc/grub-setup.c: Likewise.
6027 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6028 * util/grub-script-check.c (main): Don't call grub_init_all and
6029 grub_fini_all.
6030 * video/video.c (grub_video_adapter_list): Make global.
6031 (grub_video_register): Removed.
6032 (grub_video_unregister): Likewise.
6033 (grub_video_iterate): Likewise.
6034
6289c3a7
VS
60352010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
6038 reported by Henrique Ferreiro.
6039
91460247
RM
60402010-06-09 Robert Millan <rmh@gnu.org>
6041
6042 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
6043 ones, when both are available.
6044
0ea7c4f9
GS
60452010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6046
6047 Make --version uniform and avoid hard-coded program name.
6048
6049 * util/grub-mkimage.c (main): Use `program_name' instead of
6050 hard-coded string.
6051 * util/i386/pc/grub-setup.c (main): Likewise.
6052 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
6053 * util/grub-install.in: Save the basename of $0 in $self, and use the
6054 latter in informational messages. Use the same format for --version
6055 as the binary programs.
6056 * util/grub-mkconfig.in: Likewise.
6057 * util/grub-mkrescue.in: Likewise.
6058 * util/grub-reboot.in: Likewise.
6059 * util/grub-set-default.in: Likewise.
6060 * util/i386/efi/grub-install.in: Likewise.
6061 * util/ieee1275/grub-install.in: Likewise.
6062 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6063
e8a6f3b6
GS
60642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6065
6066 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
6067 embedding area. Use <= instead of == when checking for non-emptiness.
6068
f4d095d7
GS
60692010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6070
6071 * configure.ac: Add `.' to the directories searched for unifont.
6072
50e532ca
CW
60732010-06-08 Colin Watson <cjwatson@ubuntu.com>
6074
6075 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
6076 grub_script.yy.h.
6077
d39f3dec
CW
60782010-06-08 Colin Watson <cjwatson@ubuntu.com>
6079
6080 * docs/grub.texi (History): Expand to cover GRUB 2.
6081 (Serial terminal): Refer to `terminal_input' and `terminal_output'
6082 commands, not `terminal'.
6083 (serial): Likewise.
6084 (terminal_input): New section.
6085 (terminal_output): New section.
6086 (uppermem): New section (stub).
6087 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
6088
6ef0ddb4
CW
60892010-06-08 Colin Watson <cjwatson@ubuntu.com>
6090
6091 * docs/grub.texi (Security): Menu entries are unrestricted by
6092 default, not restricted to superusers as I had previously thought.
6093 Reword to account for this.
6094
e0f4c438
CW
60952010-06-07 Colin Watson <cjwatson@ubuntu.com>
6096
6097 * kern/emu/misc.c (device_mapper_null_log): New function.
6098 (grub_device_mapper_supported): New function.
6099 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
6100 prototype.
6101 * kern/emu/hostdisk.c (find_partition_start): Check whether
6102 device-mapper is supported before trying to use it.
6103 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
6104
da908200
CW
61052010-06-07 Colin Watson <cjwatson@ubuntu.com>
6106
6107 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
6108 (File name syntax): Likewise.
6109 (help): --all is no longer supported in GRUB 2. Be more precise
6110 about pattern matching.
6111
fb55c3ac
CW
61122010-06-07 Colin Watson <cjwatson@ubuntu.com>
6113
6114 * normal/completion.c (grub_normal_do_completion): When completing
6115 arguments to "set" and the current word contains an equals sign,
6116 skip to after the equals sign before starting completion.
6117
258c2573
CW
61182010-06-07 Colin Watson <cjwatson@ubuntu.com>
6119
6120 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
6121
ee75515e
CW
61222010-06-07 Colin Watson <cjwatson@ubuntu.com>
6123
6124 * docs/grub.texi (Network): New section.
6125 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
6126 `(nd)' as in GRUB Legacy.
6127 (pxe_unload): New section.
6128
a6a700aa
CW
61292010-06-07 Colin Watson <cjwatson@ubuntu.com>
6130
6131 * docs/grub.texi (Troubleshooting): `echo' is not usually available
6132 in the rescue shell, so recommend using `set' instead. Thanks,
6133 Jordan Uggla.
6134
4003dd38
CW
61352010-06-07 Colin Watson <cjwatson@ubuntu.com>
6136
6137 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
6138 (password): New section.
6139 (password_pbkdf2): New section.
6140 (search): New section.
6141 (Security): New section.
6142 (Troubleshooting): New section, currently very incomplete.
6143 (Invoking grub-mkpasswd-pbkdf2): New section.
6144 (Internals): New section, currently very incomplete.
6145
e1cbcc40
CW
61462010-06-07 Colin Watson <cjwatson@ubuntu.com>
6147
6148 * util/grub.d/00_header.in: Add some more quoting (of
6149 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
6150 work again.
6151 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
6152
db8fa1ad
CW
61532010-06-07 Colin Watson <cjwatson@ubuntu.com>
6154
6155 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
6156 to `count', fixing variable shadowing that broke the -c option.
6157
61582010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
6159
6160 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
6161 in case they contain spaces.
6162
f28a9212
CW
61632010-06-04 Colin Watson <cjwatson@ubuntu.com>
6164
6165 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
6166 "part_" to partmap module names, in line with grub-install.
6167 Reported by: Jindřich Makovička (Debian bug #584426).
6168
9cdfe32f
CW
61692010-06-04 Colin Watson <cjwatson@ubuntu.com>
6170
6171 * util/grub-mkimage.c: Make target-related error messages slightly
6172 more helpful; -O talks about "format". Explicitly point to the use
6173 of -O if no target is specified.
6174 Reported by: Didier Raboud (Debian bug #584415).
6175
795b593a
CW
61762010-06-03 Colin Watson <cjwatson@ubuntu.com>
6177
6178 * INSTALL: Document several build requirements for optional features
6179 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
6180
9d9b5833
GS
61812010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
6182
6183 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
6184 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
6185 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
6186
0819fec8
CW
61872010-06-02 Colin Watson <cjwatson@ubuntu.com>
6188
6189 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
6190 Thanks to Jordan Uggla for spotting this.
6191
49396b4f
VS
61922010-06-02 Aleš Nesrsta <starous@volny.cz>
6193
6194 Finally make USB usable.
6195
6196 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
6197 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
6198 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
6199 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
6200 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
6201 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
6202 (GRUB_OHCI_FSMPS): Likewise.
6203 (GRUB_OHCI_PERIODIC_START): Likewise.
6204 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
6205 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
6206 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
6207 (GRUB_OHCI_SET_PORT_RESET): Likewise.
6208 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
6209 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
6210 (grub_ohci_transaction): Likewise.
6211 (grub_ohci_transfer): Improve condition detection algorithms.
6212 Handle toggle property. Program the transactions correctly.
6213 Improve error handling. Various important fixups.
6214 (grub_ohci_portstatus): Put register writes in right order.
6215 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
6216 (grub_uhci_transfer): Don't show "failed" message on success.
6217 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
6218 array.
6219 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
6220 determine its size.
6221 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
6222 before initialization is completed. Use IN direction for empty
6223 transfers. Use last_trans and compute toggle.
6224 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
6225 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
6226 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
6227 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
6228 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
6229 (grub_usb_device): Increase toggle to 256.
6230 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
6231 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
6232 GRUB_USBMS_SUBCLASS_SFF8070.
6233 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
6234 (grub_scsi_inquiry): New member page and alloc_length.
6235 (grub_scsi_request_sense): New structure.
6236 (grub_scsi_request_sense_data): Likewise.
6237 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
6238 control.
6239 * disk/scsi.c (grub_scsi_request_sense): New function.
6240 (grub_scsi_test_unit_ready): Likewise.
6241 (grub_scsi_inquiry): Fill new fields.
6242 (grub_scsi_read_capacity): Likewise.
6243 (grub_scsi_read10): Add request sense at the end.
6244 (grub_scsi_read12): Likewise.
6245 (grub_scsi_write10): Likewise.
6246 (grub_scsi_write12): Likewise.
6247 (grub_scsi_open): Add Test Unit Ready.
6248 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
6249 Support additional subclasses. Con't clear halt yet. Activate the
6250 proper config. Calculate LUNs correctly.
6251 (grub_usbms_transfer): Various important fixups.
6252
62532010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
6256 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
6257 (grub_ohci_fini_hw): New function.
6258 (grub_ohci_restore_hw): Likewise.
6259 (GRUB_MOD_INIT(ohci)): Register preboot hook.
6260 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
6261 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
6262
62632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Dedicated DMA allocations.
6266
6267 * bus/pci.c (grub_memalign_dma32): New function
6268 (grub_dma_free): Likewise.
6269 (grub_dma_get_virt): Likewise.
6270 (grub_dma_get_phys): Likewise.
6271 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
6272 (grub_ohci_pci_iter): Use dma32_alloc.
6273 (grub_ohci_transfer): Likewise.
6274 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
6275 (grub_usb_bulk_readwrite): Likewise.
6276 * include/grub/pci.h: Add declarations.
6277
62782010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 CS5536 support.
6281
6282 * bus/cs5536.c: New file.
6283 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
6284 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
6285 (cs5536_mod_SOURCES): New variable.
6286 (cs5536_mod_CFLAGS): Likewise.
6287 (cs5536_mod_LDFLAGS): Likewise.
6288 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
6289 machine/pci.h.
6290 (kernel_img_SOURCES): Add bus/cs5536.c.
6291 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
6292 usb_keyboard.mod.
6293 (usb_mod_SOURCES): New variable.
6294 (usb_mod_CFLAGS): New variable.
6295 (usb_mod_LDFLAGS): New variable.
6296 (usbtest_mod_SOURCES): New variable.
6297 (usbtest_mod_CFLAGS): New variable.
6298 (usbtest_mod_LDFLAGS): New variable.
6299 (ohci_mod_SOURCES): New variable.
6300 (ohci_mod_CFLAGS): New variable.
6301 (ohci_mod_LDFLAGS): New variable.
6302 (usbms_mod_SOURCES): New variable.
6303 (usbms_mod_CFLAGS): New variable.
6304 (usbms_mod_LDFLAGS): New variable.
6305 (usb_keyboard_mod_SOURCES): New variable.
6306 (usb_keyboard_mod_CFLAGS): New variable.
6307 (usb_keyboard_mod_LDFLAGS): New variable.
6308 * include/grub/smbus.h: New file.
6309 * include/grub/cs5536.h: New file.
6310
0b35b2a9
CW
63112010-06-02 Colin Watson <cjwatson@ubuntu.com>
6312
6313 * util/grub.d/00_header.in: Add safety check to make sure that
6314 ${locale_dir} exists before trying to probe it.
6315
ca0afd5b
CW
63162010-06-02 Colin Watson <cjwatson@ubuntu.com>
6317
6318 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
6319 per the GNU Coding Standards; this is now too obscure to be worth
6320 documenting.
6321 (QNX): Likewise.
6322 (chainloader): Remove cross-reference to `SCO UnixWare'.
6323
1c41aa78
CW
63242010-06-02 Colin Watson <cjwatson@ubuntu.com>
6325
6326 * docs/grub.texi (Chain-loading): New section.
6327 (DOS/Windows): New section, borrowed from GRUB Legacy with details
6328 adjusted for GRUB 2.
6329 (SCO UnixWare): Likewise.
6330 (QNX): Likewise.
6331 (chainloader): Add reference to `Block list syntax'.
6332 (drivemap): New section.
6333 (parttool): New section.
6334
bb8ea0f5
CW
63352010-06-02 Colin Watson <cjwatson@ubuntu.com>
6336
6337 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
6338 the grub shell'.
6339 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
6340 (Installing GRUB using grub-install): Remove reference to the grub
6341 shell; mention `grub-mkimage' and `grub-setup' instead.
6342 (Invoking grub-install): Likewise.
6343 (Interface): Add reference to `Menu entry editor'.
6344 (serial): Remove `--device' option.
6345
288dd6ed
CW
63462010-06-02 Colin Watson <cjwatson@ubuntu.com>
6347
6348 * docs/grub.texi (Configuration): New section, documenting
6349 configuration file generation using grub-mkconfig. I've left a slot
6350 for documenting the full shell scripting format but have not yet
6351 started on writing that up.
6352 (Invoking grub-mkconfig): New section.
6353
34c9f0e9
CW
63542010-06-02 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * docs/grub.texi (direntry): Remove grub-terminfo reference.
6357 (GNU GRUB manual): Likewise.
6358 (General commands): Update description of `terminfo' for GRUB 2.
6359
9121567e
CW
63602010-06-02 Colin Watson <cjwatson@ubuntu.com>
6361
6362 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
6363 (GRUB_MOD_INIT): Fix capitalisation.
6364 * docs/grub.texi (Command-line and menu entry commands): Document
6365 gettext and gptsync commands.
6366
ab631611
CW
63672010-06-02 Colin Watson <cjwatson@ubuntu.com>
6368
6369 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
6370 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
6371
bde4a9ac
CW
63722010-06-01 Colin Watson <cjwatson@ubuntu.com>
6373
6374 Add btrfs probing support, currently only in the single-device case.
6375
6376 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
6377 function.
6378 (grub_guess_root_device): Call find_root_device_from_mountinfo
6379 before looking in /dev.
6380
b1d17e10
VS
63812010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6382
6383 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
6384 GRUB_DISK_SIZE_UNKNOWN.
6385 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
6386
dfbfe004
JS
63872010-05-31 Jiro SEKIBA <jir@unicus.jp>
6388
6389 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
6390 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
6391 corrupted or not synced properly.
6392
c2ffc8e9
VS
63932010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
6396 Reported by: Seth Goldberg.
6397
56293166
VS
63982010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
6401 addition of dest.
6402 Reported by: Seth Goldberg.
6403
7620e7de
VS
64042010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
6407 Reported by: Seth Goldberg.
6408
c837af3f
VS
64092010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
6412 64-bit address as signed on MIPS.
6413
c7c75cf4
CW
64142010-05-28 Colin Watson <cjwatson@ubuntu.com>
6415
6416 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
6417 to the empty string.
6418
fa4b8490
BC
64192010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
6420
6421 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
6422
6423 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
6424 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
6425 * kern/misc.c (__enable_execute_stack): Disable on
6426 GRUB_MACHINE_EMU.
6427
a33075b9
CW
64282010-05-28 Colin Watson <cjwatson@ubuntu.com>
6429
6430 Make grub-probe work with symbolic links under /dev/mapper as well
6431 as with real block devices. The Linux world seems to be (at best)
6432 in transition here, and GRUB shouldn't get caught in the middle.
6433
6434 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
6435 /dev/mapper.
6436
d8708134
CW
64372010-05-27 Colin Watson <cjwatson@ubuntu.com>
6438
6439 * util/grub-script-check.c (main): Ensure defined behaviour on empty
6440 input files (in which case exit zero).
6441
db2102a0
CW
64422010-05-27 Colin Watson <cjwatson@ubuntu.com>
6443
6444 * kern/emu/misc.c (canonicalize_file_name): realpath can still
6445 return NULL for various reasons even if it has a maximum-length
6446 buffer: for example, there might be a symlink loop, or the path
6447 might exceed PATH_MAX. If this happens, return NULL.
6448
5fdba519
RM
64492010-05-27 Robert Millan <rmh@gnu.org>
6450
6451 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
6452 partmap module to handle cross-partmap setups.
6453 Reported by Orestes Mas. Gràcies!
6454
d1d368e4
CW
64552010-05-27 Colin Watson <cjwatson@ubuntu.com>
6456
6457 * util/grub-mkrescue.in: Initialise override_dir rather than
6458 assuming that it's unset or empty in the environment.
6459
95ac3c73
GS
64602010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
6461
6462 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
6463 variable index into p_index to suppress a warning with -Wshadow.
6464
7d8c0213
BC
64652010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
6466
6467 * INSTALL: Added flex >= 2.5.35 requirement.
6468
db4d5813
VS
64692010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
6472
f24f4300
VS
64732010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 cmostest support.
6476
6477 * commands/i386/cmostest.c: New file.
6478 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
6479 (cmostest_mod_SOURCES): New variable.
6480 (cmostest_mod_CFLAGS): Likewise.
6481 (cmostest_mod_LDFLAGS): Likewise.
6482 * conf/i386-pc.rmk: Likewise.
6483 * docs/grub.texi (Vendor power-on keys): New section.
6484 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
6485 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
6486 and GRUB_BUTTON_CMOS_ADDRESS.
6487 * util/grub.d/00_header.in: Handle powering-on by separate button.
6488
ad603f61
VS
64892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
6492 Removed drawing_scrollbar argument. All users updated
6493 Fixes #29792.
6494 Reported by Jo Shields
6495
3ecb080a
VS
64962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
6499 buffer since gfxterm handles double repaint.
6500
5f2316c1
VS
65012010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
6504 * term/gfxterm.c (real_scroll): Likewise.
6505
9a25f885
VS
65062010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
6509 before calling BIOS.
6510
39fbb79a
VS
65112010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * include/grub/i18n.h: Always enable grub_gettext.
6514
228cfa97
VS
65152010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
6518 partition naming style.
6519
21717c8f
CW
65202010-05-21 Colin Watson <cjwatson@ubuntu.com>
6521
6522 * util/grub-mkconfig.in: Fix handling of -o so that it works when
6523 not the first option.
6524
c0f48e65
CW
65252010-05-20 Colin Watson <cjwatson@ubuntu.com>
6526
6527 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
6528
96779aec
CW
65292010-05-20 Colin Watson <cjwatson@ubuntu.com>
6530
6531 * util/misc.c: Move inclusion of <limits.h> to ...
6532 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
6533
fa9d256e
GS
65342010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
6535
6536 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
6537 Fix merge error in NetBSD code.
6538 (find_partition_start) [__NetBSD__]: Likewise.
6539
123b7a85
BC
65402010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
6541
6542 Fix grub-mkrescue usage unit testing.
6543
6544 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
6545
74276c0d
CF
65462010-05-18 Christian Franke <franke@computer.org>
6547
6548 * util/grub.d/10_windows.in: Use path names instead of
6549 drive letters to prevent warning from Cygwin 1.7.
6550 Add drivemap command to menuentry if needed.
6551
c4f7b523
ST
65522010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
6553
6554 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
6555 gnumach and gnumach.gz.
6556
95b97950
VS
65572010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 * include/grub/i18n.h (gettext): Inline instead of using #define.
6560 (grub_gettext): Likewise.
6561 (_): Likewise.
6562
01b8d2d7
VS
65632010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
6566 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
6567 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
6568 (main): Add a slash after pkglibdirroot.
6569
654e1d1e
VS
65702010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 * util/grub-install.in: Add missing "in" keyword.
6573
26966aeb
VS
65742010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
6577 Reported by: Seth Goldberg.
6578
75006747
VS
65792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
6582
74cbf5bd
CW
65832010-05-18 Colin Watson <cjwatson@ubuntu.com>
6584
6585 * configure.ac: Check for Linux device-mapper support.
6586
6587 * util/hostdisk.c (device_is_mapped): New function.
6588 (find_partition_start): New function, partly broken out from
6589 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
6590 device-mapper support added.
6591 (linux_find_partition): Use find_partition_start.
6592 (convert_system_partition_to_system_disk): Add `st' argument.
6593 Support Linux /dev/mapper/* devices if device-mapper support is
6594 available; only DM-RAID devices are understood at present.
6595 (find_system_device): Add `st' argument. Pass it to
6596 convert_system_partition_to_system_disk.
6597 (grub_util_biosdisk_get_grub_dev): Pass stat result to
6598 find_system_device and convert_system_partition_to_system_disk. Use
6599 find_partition_start.
6600
6601 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
6602 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
6603 * util/deviceiter.c [__linux__]: Define MINOR.
6604 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
6605 * util/mkdevicemap.c (grub_putchar): New function.
6606 (grub_getkey): New function.
6607 (grub_refresh): New function.
6608 (main): Set debug=all if -v -v is used.
6609
355b51e9
CW
66102010-05-18 Colin Watson <cjwatson@ubuntu.com>
6611
6612 Fix build with non-GNU libcs.
6613
6614 * util/misc.c (canonicalize_file_name): Move to ...
6615 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
6616 grub_make_system_path_relative_to_its_root.
6617
7fb5c25f
CW
66182010-05-18 Colin Watson <cjwatson@ubuntu.com>
6619
6620 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
6621 we handle finding grub-mkimage. Default to finding grub-mkimage in
6622 ${bindir} with program_transform_name applied, and provide a
6623 --grub-mkimage option to override this.
6624
1d3293d6
VS
66252010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 Remove grub-mkisofs.
6628
6629 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
6630 (grub_mkisofs_SOURCES): Removed.
6631 (grub_mkisofs_CFLAGS): Removed.
6632 * util/mkisofs/defaults.h: Removed.
6633 * util/mkisofs/eltorito.c: Likewise.
6634 * util/mkisofs/exclude.h: Likewise.
6635 * util/mkisofs/hash.c: Likewise.
6636 * util/mkisofs/include/: Likewise.
6637 * util/mkisofs/include/fctldefs.h: Likewise.
6638 * util/mkisofs/include/mconfig.h: Likewise.
6639 * util/mkisofs/include/prototyp.h: Likewise.
6640 * util/mkisofs/include/statdefs.h: Likewise.
6641 * util/mkisofs/iso9660.h: Likewise.
6642 * util/mkisofs/joliet.c: Likewise.
6643 * util/mkisofs/match.c: Likewise.
6644 * util/mkisofs/match.h: Likewise.
6645 * util/mkisofs/mkisofs.c: Likewise.
6646 * util/mkisofs/mkisofs.h: Likewise.
6647 * util/mkisofs/msdos_partition.h: Likewise.
6648 * util/mkisofs/multi.c: Likewise.
6649 * util/mkisofs/name.c: Likewise.
6650 * util/mkisofs/rock.c: Likewise.
6651 * util/mkisofs/tree.c: Likewise.
6652 * util/mkisofs/write.c: Likewise.
6653
5dde9afe
VS
66542010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 Unify grub-mkimage accross platforms.
6657
6658 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
6659 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
6660 (grub_mkelfimage_SOURCES): Removed.
6661 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
6662 (util/grub-mkimage.c_DEPENDENCIES): .. this.
6663 (bin_UTILITIES): Add grub-mkimage.
6664 (grub_mkimage_SOURCES): New variable.
6665 (kernel_img_HEADERS): Remove machine/kernel.h.
6666 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
6667 (pkglib_PROGRAMS): Add kernel.img.
6668 (kernel_img_HEADERS): Add machine/kernel.h.
6669 (kernel_img_FORMAT): Removed.
6670 (bin_UTILITIES): Remove grub-mkimage.
6671 (grub_mkimage_SOURCES): Removed.
6672 (grub_mkimage_CFLAGS): Likewise.
6673 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6674 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
6675 (pkglib_PROGRAMS): Add kernel.img.
6676 (bin_UTILITIES): Remove grub-mkimage.
6677 (grub_mkimage_SOURCES): Removed.
6678 (grub_mkimage_CFLAGS): Likewise.
6679 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6680 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
6681 (pkglib_PROGRAMS): Add kernel.img.
6682 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
6683 (pkglib_PROGRAMS): Add kernel.img.
6684 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
6685 (grub_mkimage_SOURCES): Removed.
6686 (grub_mkimage_CFLAGS): Likewise.
6687 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6688 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
6689 (pkglib_PROGRAMS): Add kernel.img.
6690 (bin_UTILITIES): Remove grub-mkimage.
6691 (grub_mkimage_SOURCES): Removed.
6692 (grub_mkimage_CFLAGS): Likewise.
6693 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6694 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
6695 (grub_mkimage_SOURCES): Removed.
6696 (grub_mkimage_CFLAGS): Likewise.
6697 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
6698 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
6699 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
6700 (grub_pe32_optional_header): ... this.
6701 (grub_pe64_optional_header): ... and this. All users updated.
6702 (GRUB_PE32_PE32_MAGIC): Split into ..
6703 (GRUB_PE32_PE32_MAGIC): .. this.
6704 (GRUB_PE32_PE64_MAGIC): .. and this.
6705 (GRUB_PE32_SIGNATURE_SIZE): New definition.
6706 * include/grub/elf.h (PT_GNU_STACK): New definition.
6707 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
6708 * include/grub/i386/efi/kernel.h: Likewise.
6709 * include/grub/i386/kernel.h: Likewise.
6710 * include/grub/i386/pc/kernel.h: Likewise.
6711 * include/grub/i386/qemu/boot.h: Likewise.
6712 * include/grub/mips/kernel.h: Likewise.
6713 * include/grub/mips/qemu-mips/kernel.h: Likewise.
6714 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6715 * include/grub/powerpc/kernel.h: Likewise.
6716 * include/grub/sparc64/ieee1275/boot.h: Likewise.
6717 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6718 * include/grub/sparc64/kernel.h: Likewise.
6719 * include/grub/x86_64/efi/kernel.h: Likewise.
6720 * include/grub/x86_64/kernel.h: Likewise.
6721 * include/grub/offsets.h: New file.
6722 * include/grub/kernel.h (grub_module_info): Split into ...
6723 (grub_module_info32): ... this.
6724 (grub_module_info64): ... and this.
6725 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
6726 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
6727 (grub_boot_blocklist): Moved from here ...
6728 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
6729 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
6730 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
6731 * include/grub/types.h (grub_target_to_host16): Removed.
6732 (grub_target_to_host32): Likewise.
6733 (grub_target_to_host64): Likewise.
6734 (grub_host_to_target16): Likewise.
6735 (grub_host_to_target32): Likewise.
6736 (grub_host_to_target64): Likewise.
6737 (grub_host_to_target_addr): Likewise.
6738
6739 Support grub-mkrescue for efi, coreboot and qemu.
6740
6741 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
6742 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
6743 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
6744 * util/grub-mkrawimage.c: Moved from here ...
6745 * util/grub-mkimage.c: ... here. All users updated.
6746 (ALIGN_ADDR): Use image_target.
6747 (TARGET_NO_FIELD): New const.
6748 (image_target_desc): New type.
6749 (image_targets): New array.
6750 (grub_target_to_host64): Use image_target.
6751 (grub_target_to_host32): Likewise.
6752 (grub_target_to_host16): Likewise.
6753 (grub_host_to_target64): Likewise.
6754 (grub_host_to_target32): Likewise.
6755 (grub_host_to_target16): Likewise.
6756 (grub_host_to_target_addr): Likewise.
6757 (generate_image): Handle multiimage.
6758 (main): Require -O parameter. All users updated.
6759 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
6760 util/efi/grub-mkimage.c
6761 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
6762 New option --rom-directory.
6763 Use xorriso.
6764 * util/i386/efi/grub-mkimage.c: Removed.
6765 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
6766 (grub_target_to_host32): Likewise.
6767 (grub_target_to_host64): Likewise.
6768 (grub_host_to_target16): Likewise.
6769 (grub_host_to_target32): Likewise.
6770 (grub_host_to_target64): Likewise.
6771 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
6772 (grub_target_to_host32): Likewise.
6773 (grub_target_to_host64): Likewise.
6774 (grub_host_to_target16): Likewise.
6775 (grub_host_to_target32): Likewise.
6776 (grub_host_to_target64): Likewise.
6777
f4fc97d0
BC
67782010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
6779
6780 Source tree is reorganized for emu build.
6781
6782 * include/grub/util/console.h: Move from here...
6783 * include/grub/emu/console.h: ...to here.
6784 * include/grub/util/getroot.h: Move from here...
6785 * include/grub/emu/getroot.h: ...to here.
6786 * include/grub/util/hostdisk.h: Move from here...
6787 * include/grub/emu/hostdisk.h: ...to here.
6788 * util/console.c: Move from here...
6789 * kern/emu/console.c: ...to here.
6790 * util/getroot.c: Move from here...
6791 * kern/emu/getroot.c: ...to here.
6792 * util/grub-emu.c: Move from here...
6793 * kern/emu/main.c: ...to here.
6794 * util/hostdisk.c: Move from here...
6795 * kern/emu/hostdisk.c: ...to here.
6796 * util/hostfs.c: Move from here...
6797 * kern/emu/hostfs.c: ...to here.
6798 * util/mm.c: Move from here...
6799 * kern/emu/mm.c: ...to here.
6800 * util/pci.c: Move from here...
6801 * bus/emu/pci.c: ...to here.
6802 * util/sdl.c: Move from here...
6803 * video/emu/sdl.c: ...to here.
6804 * util/time.c: Move from here...
6805 * kern/emu/time.c: ...to here.
6806 * util/usb.c: Move from here...
6807 * bus/usb/emu/usb.c: ...to here.
6808
6809 * include/grub/emu/misc.h: New header for grub-emu functions.
6810 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
6811
6812 * conf/any-emu.rmk: Rule updates for above renames.
6813 * conf/common.rmk: Likewise.
6814 * conf/i386-pc.rmk: Likewise.
6815 * conf/i386-qemu.rmk: Likewise.
6816 * conf/mips.rmk: Likewise.
6817 * conf/sparc64-ieee1275.rmk: Likewise.
6818 * conf/x86-efi.rmk: Likewise.
6819
6820 * disk/lvm.h: #include updates for above renames.
6821 * util/grub-mkrelpath.c: Likewise.
6822 * util/grub-probe.c: Likewise.
6823 * util/i386/pc/grub-setup.c: Likewise.
6824 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6825 * kern/emu/console.c: Likewise.
6826 * kern/emu/getroot.c: Likewise.
6827 * kern/emu/hostdisk.c: Likewise.
6828 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
6829
6830 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
6831 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
6832 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
6833 * util/misc.c: Remove grub-emu functions.
6834
cced9145
VS
68352010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 Fix gfxmenu crash.
6838 Reported by: Thorsten Grützmacher.
6839
6840 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
6841 timeout hook.
6842 (circprog_set_property): Register and unregister timeout hook.
6843 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
6844 (label_destroy): Free template. and unregister hook.
6845 (label_set_state): New function.
6846 (label_set_property): Handle templates and hooks.
6847 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
6848 timeout hook.
6849 (progress_bar_set_property): Register and unregister timeout hook.
6850 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
6851 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
6852 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
6853 (update_timeout_visit): Removed.
6854 (update_timeouts): New function.
6855 (redraw_timeouts): Likewise.
6856 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
6857 (grub_gfxmenu_clear_timeout): Likewise.
6858 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
6859 (grub_gfxmenu_timeout_notify): Likewise.
6860 (grub_gfxmenu_timeout_notifications): New external variable.
6861 (grub_gfxmenu_timeout_register): New function.
6862 (grub_gfxmenu_timeout_unregister): Likewise.
6863
c6e5caab
VS
68642010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6865
6866 Transform (broken) vga terminal into (working) vga video driver.
6867
6868 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
6869 video/i386/pc/vga.c.
6870 * include/grub/video.h (grub_video_driver_id):
6871 Add GRUB_VIDEO_DRIVER_VGA.
6872 * term/i386/pc/vga.c: Renamed to ...
6873 * video/i386/pc/vga.c: ...this
6874 (DEBUG_VGA): Removed.
6875 (CHAR_WIDTH): Likewise.
6876 (CHAR_HEIGHT): Likewise.
6877 (TEXT_WIDTH): Likewise.
6878 (TEXT_HEIGHT): Likewise.
6879 (DEFAULT_FG_COLOR): Likewise.
6880 (DEFAULT_BG_COLOR): Likewise.
6881 (colored_char): Likewise.
6882 (xpos): Likewise.
6883 (ypos): Likewise.
6884 (cursor_state): Likewise.
6885 (fg_color): Likewise.
6886 (bg_color): Likewise.
6887 (text_buf): Likewise.
6888 (page): Likewise.
6889 (font): Likewise.
6890 (framebuffer): New variable.
6891 (set_read_map): Disabled.
6892 (setup): New variable.
6893 (is_target): Likewise.
6894 (grub_vga_mod_init): Likewise.
6895 (grub_vga_mod_fini): Likewise.
6896 (check_vga_mem): Likewise.
6897 (write_char): Likewise.
6898 (write_cursor): Likewise.
6899 (scroll_up): Likewise.
6900 (grub_vga_putchar): Likewise.
6901 (grub_vga_getcharwidth): Likewise.
6902 (grub_vga_getwh): Likewise.
6903 (grub_vga_getxy): Likewise.
6904 (grub_vga_gotoxy): Likewise.
6905 (grub_vga_cls): Likewise.
6906 (grub_vga_setcolorstate): Likewise.
6907 (grub_vga_setcursor): Likewise.
6908 (grub_video_vga_init): New function.
6909 (grub_video_vga_setup): Likewise.
6910 (grub_video_vga_fini): Likewise.
6911 (update_target): Likewise.
6912 (grub_video_vga_blit_bitmap): Likewise.
6913 (grub_video_vga_blit_render_target): Likewise.
6914 (grub_video_vga_set_active_render_target): Likewise.
6915 (grub_video_vga_get_active_render_target): Likewise.
6916 (grub_video_vga_swap_buffers): Likewise.
6917 (grub_video_vga_set_palette): Likewise.
6918 (grub_video_vga_get_info_and_fini): Likewise.
6919 (grub_vga_term): Removed.
6920 (grub_video_vga_adapter): New variable.
6921 (GRUB_MOD_INIT): Register a video driver instead of terminal.
6922 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
6923
2bf61a98
VS
69242010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * video/readers/jpeg.c: Indented.
6927
09ddcd11
VS
69282010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 Various jpeg cleanups.
6931
6932 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
6933 (grub_jpeg_decode_quan_table): Use sizeof.
6934 (grub_jpeg_decode_du): Use ARRAY_SIZE.
6935
e5507505
PH
69362010-05-05 Peter Hurley <No e-mail available> (tiny change)
6937
6938 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
6939 tables. Ignore non-last ac bit.
6940 (grub_jpeg_decode_quan_table): Likewise.
6941
7e720a9b
VS
69422010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6945 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
6946 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6947 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
6948 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
6949 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
6950
a7fc080b
VS
69512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
6954 error.
6955
2bf6012d
VS
69562010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
6959
265d68cd
VS
69602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
6963 condition.
6964
69652010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
6966
6967 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
6968 part.
6969
265d68cd 69702010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
6971
6972 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
6973 pointers.
6974
265d68cd 69752010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
6976
6977 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
6978
d1b61374
CF
69792010-05-01 Christian Franke <franke@computer.org>
6980
6981 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
6982 Remove broken Cygwin path conversion.
6983 * util/misc.c: [__CYGWIN__] Add include and define.
6984 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
6985 for Cygwin 1.7.
6986 (make_system_path_relative_to_its_root): Simplify loop, replace early
6987 return by break.
6988 [__CYGWIN__] Add conversion to win32 path.
6989 Include "/" case in trailing slash removal.
6990
3558c6e9
VS
69912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * kern/main.c (grub_load_config): Fix copy-pasted comment.
6994 Reported by: Seth Goldberg
6995
f5f3ff93
VS
69962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
6997
6998 * commands/help.c (grub_cmd_help): Fix a typo.
6999 Reported by: Seth Goldberg
7000
d8b5cd40
VS
70012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
7004 name and add N_.
7005 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
7006 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
7007 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
7008 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
7009 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
7010 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
7011 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
7012 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
7013 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
7014 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
7015 * normal/context.c (GRUB_MOD_INIT): Likewise.
7016 * normal/main.c (GRUB_MOD_INIT): Likewise.
7017 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
7018 * term/serial.c (GRUB_MOD_INIT): Likewise.
7019 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
7020
88c14915
VS
70212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7022
7023 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
7024 extra == 0.
7025
165134bc
VS
70262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * commands/iorw.c: New file.
7029 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
7030 (iorw_mod_SOURCES): New variable.
7031 (iorw_mod_CFLAGS): Likewise.
7032 (iorw_mod_LDFLAGS): Likewise.
7033
c5ac9b32
VS
70342010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 Hotkey support
7037
7038 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
7039 * normal/main.c (hotkey_aliases): New variable.
7040 (grub_normal_add_menu_entry): Parse "--hotkey".
7041 * normal/menu_text.c (run_menu): Handle hotkeys.
7042
ce60689c
VS
70432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * kern/i386/coreboot/init.c (grub_machine_init): Call
7046 grub_machine_mmap_init on qemu.
7047
0359d006
VS
70482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * boot/i386/qemu/boot.S: Add a missing .code16.
7051
7819a456
VS
70522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 Use LBIO on coreboot.
7055
7056 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
7057 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
7058 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
7059 New declaration.
7060 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
7061 grub_machine_mmap_init on coreboot.
7062 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
7063 GRUB_LINUXBIOS_MEMBER_LINK.
7064 (grub_machine_mmap_iterate): Fix declaration.
7065 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
7066
7210dca9
VS
70672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 Split coreboot and multiboot ports.
7070
7071 * conf/i386-multiboot.rmk: New file.
7072 * configure.ac: Add multiboot port.
7073 * include/grub/i386/multiboot/boot.h: New file.
7074 * include/grub/i386/multiboot/console.h: Likewise.
7075 * include/grub/i386/multiboot/init.h: Likewise.
7076 * include/grub/i386/multiboot/kernel.h: Likewise.
7077 * include/grub/i386/multiboot/loader.h: Likewise.
7078 * include/grub/i386/multiboot/memory.h: Likewise.
7079 * include/grub/i386/multiboot/serial.h: Likewise.
7080 * include/grub/i386/multiboot/time.h: Likewise.
7081 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
7082 * loader/multiboot.c: Likewise.
7083 * loader/multiboot_mbi2.c: Likewise.
7084 * util/grub-mkrescue.in: Generate multiboot rescue.
7085
6f8aaf68
VS
70862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7087
3080f7a7
VS
7088 * kern/parser.c (grub_parser_execute): Cope with read-only config.
7089
70902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
7093
7094 * commands/terminal.c (abstract_terminal): New struct.
7095 (handle_command): New function. Based on grub_cmd_terminal_input.
7096 (grub_cmd_terminal_input): Use handle_command.
7097 (grub_cmd_terminal_output): Use handle_command.
7098
a8ebb841
BC
70992010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
7100
7101 Fix comment handling.
7102
7103 * tests/grub_script_comments.in: New testcase.
7104 * conf/tests.rmk: Rules for new testcase.
7105 * script/yylex.l: Updated flex rules.
7106
bb06ba08
ST
71072010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
7108
7109 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
7110 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
7111 if argc is 1.
bb06ba08 7112
cc9d2425
VS
71132010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
7116 autogen issues.
7117
460d8402
CF
71182010-04-26 Christian Franke <franke@computer.org>
7119
7120 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
7121 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
7122 (grub_get_prefix): Remove function.
7123 * util/grub-emu.c (main): Replace grub_get_prefix () call by
7124 make_system_path_relative_to_its_root ().
7125 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7126
553c01f9
CF
71272010-04-24 Christian Franke <franke@computer.org>
7128
7129 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
7130 (kernel_img_LDFLAGS): Remove -static-libgcc.
7131
2aec1692
CF
71322010-04-24 Christian Franke <franke@computer.org>
7133
7134 * configure.ac: Do not CHECK_BSS_START_SYMBOL
7135 and CHECK_END_SYMBOL if grub-emu is built.
7136 Unset TARGET_OBJ2ELF if grub-emu is built
7137 without module support.
7138
f67dc308
JS
71392010-04-24 Jiro SEKIBA <jir@unicus.jp>
7140
7141 Nilfs2 support.
7142
7143 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
7144 (grub_fstest_SOURCES): Likewise.
7145 (pkglib_MODULES): Add nilfs2.mod.
7146 (nilfs2_mod_SOURCES): New variable.
7147 (nilfs2_mod_CFLAGS): Likewise.
7148 (nilfs2_mod_LDFLAGS): Likewise.
7149 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7150 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
7151 * fs/nilfs2.c: New file.
7152
4ba8d354
VS
71532010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
7156 is not supported.
7157
0d2c20c6
GS
71582010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
7159
7160 Add grub-mkconfig support for NetBSD.
7161
7162 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
7163 * util/grub-mkconfig.in: export new NetBSD specific variables.
7164 * po/POTFILES-shell: added 10_netbsd.in.
7165 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
7166
bc4a2d83
BC
71672010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
7168
7169 Fix emu build with grub-emu-pci and grub-emu-modules.
7170
7171 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
7172 functions.
7173 * include/grub/libpciaccess.h: New file.
7174 * conf/any-emu.rmk: Update kernel headers for emu build.
7175
f48c87aa
VS
71762010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
7179
18959385
VS
71802010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
7183
0037de3f
VS
71842010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
7187 Retrieve chosen/bootpath if bootpath isn't hardcoded.
7188 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
7189 util/ieee1275/ofpath.c.
7190 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
7191 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
7192 * include/grub/sparc64/ieee1275/boot.h
7193 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
7194 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
7195 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
7196 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
7197 const char *.
7198 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
7199 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
7200 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
7201 install.
7202
38e55e90
GS
72032010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7204
7205 * util/grub-mkconfig.in: Corrected two == equality tests.
7206 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
7207 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
7208 expect a number appended to it.
7209 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
7210 expects a number appended to it.
7211
a9e6ff28
VS
72122010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7213
7214 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
7215
0b830b8f
VS
72162010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 * util/hostdisk.c (make_device_name): Change to new partition naming.
7219
0973daeb
VS
72202010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
7223
460d8402 72242010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
7225
7226 * Makefile.in: Add missing localedir setting.
7227
0b456309
CW
72282010-04-14 Colin Watson <cjwatson@ubuntu.com>
7229
7230 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
7231 mistake in r2156. Noticed by Anthony Fok.
7232
7233 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
7234 @localedir@.
7235 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
7236
08f46d62
BC
72372010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
7238
7239 Fix a spurious, uninitialized variable warning.
7240
7241 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
7242 Initialize variable, shdr.
7243 (grub_freebsd_load_elfmodule): Likewise.
7244 (grub_freebsd_load_elf_meta): Likewise.
7245
8c4a72d4
BC
72462010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
7247
7248 Fix for escaped dollar in double quoted strings.
7249
7250 * script/yylex.l: Updated flex rules.
7251 * conf/tests.rmk: Rule for new testcase.
7252 * tests/grub_script_dollar.in: New testcase.
7253
ce44826e
CPE
72542010-04-13 Carles Pina i Estany <carles@pina.cat>
72552010-04-13 Colin Watson <cjwatson@ubuntu.com>
7256
7257 Enclose all translated strings in grub.cfg in single quotes, and
7258 escape them appropriately (Ubuntu bug #552921).
7259
7260 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
7261 * util/grub.d/10_hurd.in: Use it.
7262 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7263 * util/grub.d/10_linux.in (linux_entry): Likewise.
7264
4b0cd8f8
VS
72652010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 Fix cygwin compilation.
7268
7269 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
7270 * include/grub/misc.h (__register_frame_info)
7271 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
7272 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7273 * kern/misc.c (__register_frame_info)
7274 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
7275 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
7276
01fcf061
VS
72772010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
7280
5d04b11e
VS
72812010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 Unify libgcc processing.
7284
7285 * Makefile.in (kernel_img_LDFLAGS): New variable.
7286 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
7287 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
7288 overwriting.
7289 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
7290 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
7291 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
7292 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
7293 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
7294 overwriting. Remove -lgcc and -static-libgcc
7295 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
7296 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7297 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
7298 (kernel_img_LDFLAGS): Append instead of overwriting.
7299 Remove -lgcc and -static-libgcc
7300 * conf/sparc64-ieee1275.rmk: Likewise.
7301 * include/grub/powerpc/libgcc.h: Move to ...
7302 * include/grub/libgcc.h: .. this.
7303 * include/grub/libgcc.h: Don't export most of the function on x86.
7304 (__bswapsi2): New export.
7305 (__bswapdi2): Likewise.
7306 * include/grub/mips/libgcc.h: Removed.
7307 * include/grub/sparc64/libgcc.h: Likewise.
7308
b7f3ac29
VS
73092010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
7312 disk_info_msg (conflicts with gettexting into languages with cases).
7313
2c7031b1
GS
73142010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
7315
7316 Add grub-probe support for NetBSD.
7317
7318 * util/getroot.c (find_root_device): Convert block device to
7319 character device on NetBSD.
7320 * util/probe.c (probe): Require character device on NetBSD.
7321 * util/hostdisk.c: NetBSD specific headers.
7322 (configure_device_driver): new function to tune device driver
7323 parameters (currently only for NetBSD floppy driver).
7324 (grub_util_biosdisk_open): NetBSD specific code (get disk size
7325 via disklabel ioctl).
7326 (open_device): call configure_device_driver on NetBSD.
7327 (convert_system_partition_to_system_disk): NetBSD specific code.
7328 (device_is_wholedisk): Likewise.
7329 (grub_util_biosdisk_get_grub_dev): Likewise.
7330 (make_device_name): Fixed a typo in bsd_part_str.
7331 * configure.ac: check for opendisk() and getrawpartition() on
7332 NetBSD and set LIBUTIL.
7333 * Makefile.in: add LIBUTIL to LIBS.
7334
f516290c
BC
73352010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7336
7337 Documentation fix.
7338
7339 * util/grub-script-check.c: Better help message.
7340
d8dcc0df
BC
73412010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
7342
7343 Fix FreeBSD build.
7344
7345 * configure.ac: Flex version check.
7346 * conf/common.rmk: Add -Wno-error to sh.mod.
7347 * script/yylex.l: Remove all #pragma.
7348
6734334a
VS
73492010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * include/grub/util/misc.h (canonicalise_file_name): Add missing
7352 prototype.
7353 Reported by: Seth Goldberg.
7354
daea6abd
VS
73552010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
7358 Rename "module" to "module2".
7359 Reported by: Seth Goldberg.
7360
f2fd9d2b
VS
73612010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
7364 EXPORT_FUNC.
7365 Reported by: Seth Goldberg.
7366
be124579
VS
73672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * lib/posix_wrap/locale.h: Add missing file.
7370 Reported by: Seth Goldberg.
7371
ef5da797
VS
73722010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 grub-emu module load support.
7375
7376 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
7377 NO_DYNAMIC_MODULES switched to this.
7378 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
7379 (CFLAGS): Likewise.
7380 * conf/any-emu.rmk: Generate symlist.
7381 (kernel_img_HEADERS): Add util/datetime.h.
7382 (kernel_img_HEADERS) [sdl]: Add sdl.h.
7383 (kernel_img_HEADERS) [libusb]: Add libusb.h.
7384 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
7385 kern/$(target_cpu)/cache.S.
7386 * configure.ac (grub-emu-modules): New option.
7387 * genmk.rb: Handle multiple source lists.
7388 * include/grub/sdl.h: New file.
7389 * include/grub/libusb.h: Likewise.
7390 * util/grub-emu.c (main): Hanle (host) root.
7391 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
7392 GRUB_ERR_UNKNOWN_DEVICE.
7393 * util/misc.c: Move mm functions to ...
7394 * util/mm.c: ... here. All users updated.
7395
47822096
VS
73962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
7399 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
7400 missing files.
7401 (maintainer-clean): Remove libgcrypt-grub.
7402
5d7e7445
VS
74032010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
7406
25f4e252
EC
74072010-04-09 EFI Coder <eficoder@hotmail.com>
7408
7409 * normal/menu_text.c (print_message): Clean up the message and show
7410 the Fn information when on EFI
7411 * term/efi/console.c (grub_console_checkkey): Add F4 support.
7412
027de555
VS
74132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
7416 All users updated.
7417 * normal/crypto.c (read_crypto_list): Likewise.
7418 * normal/dyncmd.c (read_command_list): Likewise.
7419 * normal/term.c (read_terminal_list): Likewise.
7420 * normal/main.c (read_lists): Use explicit prefix.
7421 (read_lists_hook): Use read_lists.
7422 (grub_normal_execute): Likewise.
7423
47779711
VS
74242010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
7427 Reported by: Thomas Schmitt.
7428 Add -no-emul-boot to grub-mkisofs parameters.
7429
1118c32e
VS
74302010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * font/font.c: Indented.
7433
7d652447
BC
74342010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7435
7436 Elif support to GRUB script (by Deepak Vankadaru).
7437
7438 * tests/grub_script_if.in: New testcase.
7439 * conf/tests.rmk: Rule for new testcase.
7440 * script/parser.y: Grammar rules for elif.
7441
34bb22df
BC
74422010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
7443
7444 While and until loops support to GRUB script.
7445
7446 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
7447 (grub_script_create_cmdwhile): New function prototype.
7448 (grub_script_execute_cmdwhile): New function prototype.
7449 * script/execute.c (grub_script_execute_cmdwhile): New function.
7450 * script/parser.y (command): New commands.
7451 (whilecmd): New grammar rule.
7452 (untilcmd): New grammar rule.
7453 * script/script.c (grub_script_create_cmdwhile): New function.
7454 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
7455 function.
7456
7457 * tests/grub_script_while1.in: New testcase.
7458 * conf/tests.rmk: Rule for new testcase.
7459
e215d8e0
VS
74602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
7463 as *.jpg.
7464
d7c43ba1
MV
74652010-04-09 Mario Vazquez <mariovazq@gmail.com>
7466
7467 GRUB_BACKGROUND support.
7468
7469 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
7470 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
7471
d64795c0
VS
74722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 7475 Idea by: Mario Vazquez
d64795c0
VS
7476
7477 * util/grub.d/00_header.in: Load pf2 and image modules.
7478
f267f83a
VS
74792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 grub-mkconfig multiple terminal support.
7482
7483 * util/grub-mkconfig.in: Handle multiple terminals correctly.
7484 * util/grub.d/00_header.in: Likewise.
7485
b7841ceb
VS
74862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * Makefile.in: Specify files explicitly instead of using $< and $@ since
7489 we use cd $(srcdir).
7490
df60998c
CW
74912010-04-08 Colin Watson <cjwatson@ubuntu.com>
7492
7493 * util/grub.d/10_linux.in: Only use the first word of
7494 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
7495 spaces in GRUB_DISTRIBUTOR.
7496 * util/grub.d/10_kfreebsd.in: Likewise.
7497 * util/grub.d/10_hurd.in: Likewise.
7498
fa09c82e
BC
74992010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
7500
14e18ae3 7501 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
7502
7503 * tests/util/grub-shell.in: Remove -serial stdio option.
7504
daf892b3
BC
75052010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7506
7507 POSIX header file wrappers.
7508
7509 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
7510 equivalents.
7511 * lib/posix_wrap/ctype.h: Likewise.
7512 * lib/posix_wrap/errno.h: Likewise.
7513 * lib/posix_wrap/langinfo.h: Likewise.
7514 * lib/posix_wrap/limits.h: Likewise.
7515 * lib/posix_wrap/localcharset.h: Likewise.
7516 * lib/posix_wrap/stdint.h: Likewise.
7517 * lib/posix_wrap/stdio.h: Likewise.
7518 * lib/posix_wrap/stdlib.h: Likewise.
7519 * lib/posix_wrap/string.h: Likewise.
7520 * lib/posix_wrap/sys/types.h: Likewise.
7521 * lib/posix_wrap/unistd.h: Likewise.
7522 * lib/posix_wrap/wchar.h: Likewise.
7523 * lib/posix_wrap/wctype.h: Likewise.
7524 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
7525 (grub_script.yy.h): Likewise.
7526 * script/yylex.l: Remove POSIX emulation #defines.
7527 * Makefile.in (POSIX_CFLAGS): New variable.
7528 (GNULIB_UTIL_CFLAGS): Likewise.
7529
7530 Regexp support.
7531
7532 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
7533 (regexp_mod_SOURCES): New variable.
7534 (regexp_mod_CFLAGS): Likewise.
7535 (regexp_mod_LDFLAGS): Likewise.
7536 * commands/regexp.c: New file.
7537 * gnulib/regcomp.c: New file. Imported from gnulib.
7538 * gnulib/regex.c: Likewise.
7539 * gnulib/regex_internal.c: Likewise.
7540 * gnulib/regex_internal.h: Likewise.
7541 * gnulib/regexec.c: Likewise.
7542 * gnulib/regex.h: Likewise.
7543
974ac4f7
VS
75442010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7545
7546 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
7547 unsupported video mode types.
7548
2622c3ff
VS
75492010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7550
7551 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
7552
064cb524
VS
75532010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
7556 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
7557
a8c3b552
VS
75582010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 Remove unused grub_vga_get_font.
7561
7562 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
7563 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
7564
187bbe3d
GS
75652010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7566
7567 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
7568 * include/grub/misc.h: Likewise.
7569
b9396631
GS
75702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7571
7572 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
7573 for which failure is fatal.
7574
50479feb
GS
75752010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7576
7577 * util/grub-install.in: Use mkdir -p to create grub directory.
7578 * util/i386/efi/grub-install.in: Likewise.
7579 * util/ieee1275/grub-install.in: Likewise.
7580
b1654fdf
GS
75812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7582
7583 * Makefile.in (LEX): new variable.
7584
bd5a6415
GS
75852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7586
7587 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
7588 `=' and added double quotes on operands of this equality test.
7589
3db3a82b
VS
75902010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * Makefile.in (uninstall): Remove a leftover debug echo.
7593 Reported by: Grégoire Sutre
7594
38023412
VS
75952010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 MIPS multiboot2 support.
7598
7599 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
7600 (multiboot2_mod_SOURCES): New variable.
7601 (multiboot2_mod_CFLAGS): Likewise.
7602 (multiboot2_mod_LDFLAGS): Likewise.
7603 (multiboot2_mod_ASFLAGS): Likewise.
7604 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
7605 definition.
7606 (MULTIBOOT_ENTRY_REGISTER): Likewise.
7607 (MULTIBOOT_MBI_REGISTER): Likewise.
7608 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
7609 (MULTIBOOT_ELF32_MACHINE): Likewise.
7610 (MULTIBOOT_ELF64_MACHINE): Likewise.
7611 * include/grub/mips/multiboot.h: New file.
7612 * include/grub/video.h (grub_video_driver_id): New type
7613 GRUB_VIDEO_DRIVER_SM712.
7614 (grub_video_get_info_and_fini): Export.
7615 (grub_video_get_palette): Likewise.
7616 (grub_video_get_driver_id): Likewise.
7617 * include/multiboot2.h: Resynced with spec.
7618 * loader/i386/multiboot.c: Moved from here ...
7619 * loader/multiboot.c: ... here. All users updated.
7620 (grub_multiboot_boot): Use platform-specific macros.
7621 * loader/i386/multiboot_elfxx.c: Moved from here ...
7622 * loader/multiboot_elfxx.c: ... here. All users updated.
7623 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
7624 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
7625 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
7626
47674667
VS
76272010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 Import gnulib argp module.
7630
7631 * gnulib/argp-ba.c: New file.
7632 * gnulib/argp-eexst.c: Likewise.
7633 * gnulib/argp-fmtstream.c: Likewise.
7634 * gnulib/argp-fmtstream.h: Likewise.
7635 * gnulib/argp-fs-xinl.c: Likewise.
7636 * gnulib/argp-help.c: Likewise.
7637 * gnulib/argp-namefrob.h: Likewise.
7638 * gnulib/argp-parse.c: Likewise.
7639 * gnulib/argp-pin.c: Likewise.
7640 * gnulib/argp-pv.c: Likewise.
7641 * gnulib/argp-pvh.c: Likewise.
7642 * gnulib/argp-version-etc.c: Likewise.
7643 * gnulib/argp-version-etc.h: Likewise.
7644 * gnulib/argp-xinl.c: Likewise.
7645 * gnulib/argp.h: Likewise.
7646
495442ed
VS
76472010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7648
7649 * kern/device.c (grub_device_iterate): Clear errors after failed
7650 opening device.
7651
f9fd65df
VS
76522010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
7655 returned by firmware.
7656
af09641e
VS
76572010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
7660 compilation on coreboot and qemu
7661
016883a5
VS
76622010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 * include/multiboot2.h: Resync with spec.
7665
f97e1f7d
VS
76662010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 Multiboot2 tag support
7669
7670 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
7671 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
7672 Remove loader/multiboot_loader.c.
7673 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
7674 (grub_multiboot2_real_boot): Likewise.
7675 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
7676 (grub_get_multiboot_mmap_count): New proto.
7677 (grub_fill_multiboot_mmap): Likewise.
7678 (grub_multiboot_set_video_mode): Likewise.
7679 (grub_multiboot_set_console): Likewise.
7680 (grub_multiboot_load): Likewise.
7681 (grub_multiboot_load_elf): Likewise.
7682 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
7683 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
7684 * include/multiboot.h: Resynced with specification.
7685 * include/multiboot2.h: Resynced with specification.
7686 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
7687 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
7688 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
7689 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
7690 users updated.
7691 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
7692 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
7693 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
7694 Removed.
7695 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
7696 Moved from here...
7697 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
7698 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7699 Moved from here...
7700 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
7701 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
7702 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
7703 All users updated.
7704 * loader/i386/multiboot_mbi2.c: New file.
7705
3506b90b
VS
77062010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 Resync with gnulib.
7709
7710 * Makefile.in (GNULIB_CFLAGS): New variable.
7711 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7712 (grub_script_check_CFLAGS): New variable.
7713 * gnulib/alloca.h: Resync with gnulib.
7714 * gnulib/error.c: Likewise.
7715 * gnulib/error.h: Likewise.
7716 * gnulib/fnmatch.c: Likewise.
7717 * gnulib/fnmatch_loop.c: Likewise.
7718 * gnulib/getdelim.c: Likewise.
7719 * gnulib/getline.c: Likewise.
7720 * gnulib/getopt.c: Likewise.
7721 * gnulib/getopt1.c: Likewise.
7722 * gnulib/getopt_int.h: Likewise.
7723 * gnulib/gettext.h: Likewise.
7724 * gnulib/progname.c: Likewise.
7725 * gnulib/progname.h: Likewise.
7726
394a3120
GS
77272010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
7728
7729 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
7730 which is the case with --disabled-nls.
7731
7732 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7733 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
7734 * util/misc.c: Likewise.
7735 * util/mkisofs/mkisofs.c: Likewise.
7736 * util/mkisofs/mkisofs.h: Likewise.
7737
969d1c78
VS
77382010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 Simplify Apple CC support.
7741
7742 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
7743 Add 0 byte at the end not to have a symbol with empty target.
7744 * mmap/i386/pc/mmap_helper.S: Likewise.
7745 * genmk.rb: Ignore errors 2030 and 2050.
7746 * kern/i386/pc/startup.S: Use LOCAL when possible.
7747
8d2977bb
BC
77482010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
7749
7750 Testcase and the fix for final semicolon on cmdline.
7751
7752 * tests/grub_script_final_semicolon.in: New testcase.
7753 * conf/tests.rmk: Rules for the new testcase.
7754 * script/parser.y: Grammar fix.
7755
a7bd6915
BC
77562010-03-26 BVK Chaitanya <bvk@localhost>
7757
7758 Blank lines testcase for GRUB script.
7759
7760 * tests/grub_script_blanklines.in: New testcase.
7761 * conf/tests.rmk: Rules for the new testcase.
7762
e4ff6628
VS
77632010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 Don't use __FILE__.
7766
7767 * genmk.rb: Add -DGRUB_FILE to all C targets.
7768 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
7769 * include/grub/list.h: Likewise.
7770 * include/grub/misc.h: Likewise.
7771 * include/grub/mm.h: Likewise.
7772 * include/grub/test.h: Likewise.
7773 * kern/mm.c: Likewise.
7774 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
7775
6a5cf6b6
VS
77762010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 Sunpc partitions support.
7779
7780 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
7781 (grub_fstest_SOURCES): Likewise.
7782 (pkglib_MODULES): Add part_sunpc.mod.
7783 (part_sunpc_mod_SOURCES): New variable.
7784 (part_sunpc_mod_CFLAGS): Likewise.
7785 (part_sunpc_mod_LDFLAGS): Likewise.
7786 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
7787 * partmap/sunpc.c: New file.
7788
746d9045
BC
77892010-03-26 BVK Chaitanya <bvk@localhost>
7790
7791 For loop support to GRUB script.
7792
7793 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
7794 (grub_script_create_cmdfor): New function prototype.
7795 (grub_script_execute_cmdfor): New function prototype.
7796 * script/execute.c (grub_script_execute_cmdfor): New function.
7797 * script/parser.y (command): New for command.
7798 (forcmd): New grammar rule.
7799 * script/script.c (grub_script_create_cmdfor): New function.
7800 * util/grub-script-check.c (grub_script_execute_cmdfor): New
7801 function.
7802 * tests/grub_script_for1.in: New testcase.
7803 * conf/tests.rmk: Rules for new testcase.
7804
18486b18
VS
78052010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 Nested partitions
7808
7809 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
7810 'partition' is NULL, grub_partition_get_start already does that.
7811 * commands/loadenv.c (check_blocklists): Likewise.
7812 (write_blocklists): Likewise.
7813 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
7814 (grub_fstest_SOURCES): Likewise.
7815 (pkglib_MODULES): Add part_bsd.mod.
7816 (part_bsd_mod_SOURCES): New variable.
7817 (part_bsd_mod_CFLAGS): Likewise.
7818 (part_bsd_mod_LDFLAGS): Likewise.
7819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
7820 (grub_emu_SOURCES): Likewise.
7821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7822 * include/grub/bsdlabel.h: New file.
7823 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
7824 'get_name'.
7825 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
7826 (grub_partition_map_list): New variable.
7827 (grub_partition_map_register): Inline.
7828 (grub_partition_map_unregister): Likewise.
7829 (FOR_PARTITION_MAPS): New macro.
7830 (grub_partition_map_iterate): Removed.
7831 (grub_partition_get_start): Handle nested partitions.
7832 * include/grub/msdos_partition.h: Remove bsd-related entries.
7833 (grub_pc_partition): Remove.
7834 * kern/disk.c (grub_disk_close): Free partition data.
7835 (grub_disk_adjust_range): Handle nested partitions.
7836 * kern/partition.c (grub_partition_map_probe): New function.
7837 (grub_partition_probe): Parse name to number, handle subpartitions.
7838 (get_partmap): New function.
7839 (grub_partition_iterate): Handle subpartitions.
7840 (grub_partition_get_name): Likewise.
7841 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
7842 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
7843 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
7844 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
7845 Set 'number'.
7846 (acorn_partition_map_probe): Remove.
7847 (acorn_partition_map_get_name): Likewise.
7848 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
7849 Set 'number'.
7850 Set 'index' to 0 since there can be only one partition entry per sector.
7851 (amiga_partition_map_probe): Remove.
7852 (amiga_partition_map_get_name): Likewise.
7853 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
7854 Set 'number'.
7855 Set 'offset' and 'index' to real positions of partitions.
7856 (apple_partition_map_probe): Remove.
7857 (apple_partition_map_get_name): Likewise.
7858 * partmap/bsdlabel.c: New file.
7859 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
7860 Set 'number'.
7861 Allocate 'data' so it can be correctly freed.
7862 Set 'index' to offset inside sector.
7863 (gpt_partition_map_probe): Remove.
7864 (gpt_partition_map_get_name): Likewise.
7865 * partmap/msdos.c (grub_partition_parse): Remove.
7866 (pc_partition_map_iterate): Don't force raw access.
7867 Set 'number'.
7868 Make 'ext_offset' a local variable.
7869 (pc_partition_map_probe): Remove.
7870 (pc_partition_map_get_name): Remove.
7871 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
7872 Set 'number'.
7873 (sun_partition_map_probe): Remove.
7874 (sun_partition_map_get_name): Likewise.
7875 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
7876 (grub_pcpart_type): Likewise.
7877 * util/hostdisk.c (open_device): Handle new numbering scheme.
7878 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
7879 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
7880 * util/grub-probe.c (probe_partmap): Handle nested paritions.
7881 * util/grub-install.in: Insert all subpartition modules.
7882 * util/ieee1275/grub-install.in: Likewise.
7883
a3940f88
AG
78842010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
7885
7886 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
7887 grammar.
7888
21b99926 78892010-03-24 Colin Watson <cjwatson@ubuntu.com>
7890
7891 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
7892
bed1d352
CW
78932010-03-21 Colin Watson <cjwatson@ubuntu.com>
7894
7895 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
7896 match where 'make install' puts them.
7897 * util/i386/efi/grub-install.in: Likewise.
7898
c9f58427
CW
78992010-03-19 Colin Watson <cjwatson@ubuntu.com>
7900
7901 * .bzrignore: Add gentrigtables, grub-script-check,
7902 grub_script_check_init.c, grub_script_check_init.h, and
7903 trigtables.c.
7904
f84afb27
VS
79052010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * kern/parser.c: Indented.
7908
ed0e3d30
VS
79092010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
7912
0ea81d98
VS
79132010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
7914
7915 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
7916 alpha_mask_size == 0 case.
7917
0cdc2a09
BC
79182010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
7919
7920 GRUB shell lexer and parser improvements.
7921
7922 * conf/any-emu.rmk: Build rule updates.
7923 * conf/common.rmk: Likewise.
7924 * conf/i386-coreboot.rmk: Likewise.
7925 * conf/i386-efi.rmk: Likewise.
7926 * conf/i386-ieee1275.rmk: Likewise.
7927 * conf/i386-pc.rmk: Likewise.
7928 * conf/powerpc-ieee1275.rmk: Likewise.
7929 * conf/x86_64-efi.rmk: Likewise.
7930
7931 * configure.ac: Configure check for flex.
7932
7933 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
7934 types.
7935 (grub_lexer_param): Struct member updates.
7936 (grub_parser_param): Likewise.
7937 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
7938 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
7939 (grub_script_lexer_init): Prototype update.
7940 (grub_script_lexer_record_start): Likewise.
7941 (grub_script_lexer_record_stop): Likewise.
7942 (grub_script_lexer_yywrap): New function prototype.
7943 (grub_script_lexer_fini): Likewise.
7944 (grub_script_execute_argument_to_string): Removed by...
7945 (grub_script_execute_argument_to_argv): ...better version.
7946
7947 * script/execute.c (ROUND_UPTO): New macro.
7948 (grub_script_execute_cmdline): Out of memory fixes.
7949 (grub_script_execute_menuentry): Likewise.
7950 (grub_script_execute_argument_to_string): Removed. Update all
7951 users by...
7952 (grub_script_execute_argument_to_argv): ...better version.
7953 * script/function.c (grub_script_function_create): Use
7954 grub_script_execute_argument_to_argv instead of
7955 grub_script_execute_argument_to_string.
7956
7957 * script/lexer.c (check_varstate): Removed.
7958 (check_textstate): Removed.
7959 (grub_script_lexer_record_start): Likewise.
7960 (grub_script_lexer_record_stop): Likewise.
7961 (recordchar): Replaced with...
7962 (grub_script_lexer_record): ...new function.
7963 (nextchar): Removed.
7964 (grub_script_lexer_init): Rewritten.
7965 (grub_script_yylex): Rewritten.
7966 (append_newline): New function.
7967 (grub_script_lexer_yywrap): New function.
7968 (grub_script_lexer_fini): New function.
7969 (grub_script_yyerror): Sets error flag.
7970
7971 * script/yylex.l: New file.
7972 (grub_lexer_yyfree): Wrapper for flex yyffre.
7973 (grub_lexer_yyalloc): Likewise.
7974 (grub_lexer_yyrealloc): Likewise.
7975 * script/parser.y: Refactored.
7976
7977 * script/script.c (grub_script_arg_add): Out of memory fixes.
7978 (grub_script_add_arglist): Likewise.
7979 (grub_script_create_cmdline): Likewise.
7980 (grub_script_create_cmdmenu): Likewise.
7981 (grub_script_add_cmd): Likewise.
7982 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
7983 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
7984 unnecessary code.
7985
7986 * tests/grub_script_echo1.in: New testcase.
7987 * tests/grub_script_vars1.in: New testcase.
7988 * tests/grub_script_echo_keywords.in: New testcase.
7989
1d63a066
VS
79902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 Remove some redundancy in build system.
7993
7994 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
7995 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
7996 (TARGET_LDFLAGS): Add -nostdlib.
7997 (TARGET_IMG_LDFLAGS): Likewise.
7998 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
7999 anything since mmap isn't available.
8000 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
8001 Add util/time.c.
8002 (pkglib_MODULES): Remove reboot.mod.
8003 (reboot_mod_SOURCES): Removed.
8004 (reboot_mod_CFLAGS): Likewise.
8005 (reboot_mod_LDFLAGS): Likewise.
8006 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
8007 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
8008 (DEFSYMFILES): Add kernel_syms.lst.
8009 (kernel_img_HEADERS): Add common headers.
8010 (symlist.c): New target.
8011 (kernel_syms.lst): Likewise.
8012 (pkglib_MODULES): Add memdisk.mod.
8013 (memdisk_mod_SOURCES): New variable.
8014 (memdisk_mod_CFLAGS): Likewise.
8015 (memdisk_mod_LDFLAGS): Likewise.
8016 (pkglib_MODULES): Add reboot.mod.
8017 (reboot_mod_SOURCES): New variable.
8018 (reboot_mod_CFLAGS): Likewise.
8019 (reboot_mod_LDFLAGS): Likewise.
8020 (pkglib_MODULES): Add date.mod.
8021 (date_mod_SOURCES): New variable.
8022 (date_mod_CFLAGS): Likewise.
8023 (date_mod_LDFLAGS): Likewise.
8024 (pkglib_MODULES): Add datehook.mod.
8025 (datehook_mod_SOURCES): New variable.
8026 (datehook_mod_CFLAGS): Likewise.
8027 (datehook_mod_LDFLAGS): Likewise.
8028 (pkglib_MODULES): Add lsmmap.mod.
8029 (lsmmap_mod_SOURCES): New variable.
8030 (lsmmap_mod_CFLAGS): Likewise.
8031 (lsmmap_mod_LDFLAGS): Likewise.
8032 (pkglib_MODULES): Add boot.mod.
8033 (boot_mod_SOURCES): New variable.
8034 (boot_mod_CFLAGS): Likewise.
8035 (boot_mod_LDFLAGS): Likewise.
8036 * conf/i386-coreboot.rmk: Removed redundant parts.
8037 * conf/i386-ieee1275.rmk: Likewise.
8038 * conf/i386-pc.rmk: Likewise.
8039 * conf/mips-yeeloong.rmk: Likewise.
8040 * conf/mips.rmk: Likewise.
8041 * conf/powerpc-ieee1275.rmk: Likewise.
8042 * conf/sparc64-ieee1275.rmk: Likewise.
8043 * conf/x86_64-efi.rmk: Likewise.
8044 * conf/i386-coreboot.rmk: Moved qemu parts ..
8045 * conf/i386-qemu.rmk: ... here
8046 * conf/i386-efi.rmk: Moved common parts to...
8047 * conf/x86-efi.rmk: ... here.
8048 * conf/i386.rmk: Added modules common to all x86 variants.
8049 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
8050 * disk/memdisk.c: Remove grub/machine/kernel.h.
8051 * gensymlist.sh.in: Include symbol.h.
8052 * hook/datehook.c: Correct module name.
8053 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
8054 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
8055 * include/grub/i386/efi/serial.h: New file.
8056 * include/grub/x86_64/efi/serial.h: Likewise.
8057 * util/time.c: Likewise.
8058 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
8059
463ac55f
CK
80602010-03-14 Colin King <colin.king@ubuntu.com>
80612010-03-14 Colin Watson <cjwatson@ubuntu.com>
8062
8063 Shrink the pre-partition-table part of boot.img by eight bytes.
8064
8065 * boot/i386/pc/boot.S (ERR): New macro.
8066 (chs_mode): Use ERR.
8067 (geometry_error): Likewise.
8068 (hd_probe_error): Remove. This is only used once, so we wrwite
8069 it inline instead.
8070 (read_error): Instead of printing read_error_string, just set up
8071 %si and fall through to ...
8072 (error_message): ... this new function, also used by ERR.
8073
08e46ede
CW
80742010-03-14 Colin Watson <cjwatson@ubuntu.com>
8075
8076 Speed up consecutive hostdisk operations on the same device.
8077
8078 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
8079 (grub_util_biosdisk_open): Initialise disk->data.
8080 (struct linux_partition_cache): New structure.
8081 (linux_find_partition): Cache partition start positions; these are
8082 expensive to compute on every read and write.
8083 (open_device): Cache open file descriptor in disk->data, so that we
8084 don't have to reopen it and flush the buffer cache for consecutive
8085 operations on the same device.
8086 (grub_util_biosdisk_close): New function.
8087 (grub_util_biosdisk_dev): Set `close' member.
8088
8089 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
8090 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
8091 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8092 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
8093 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
8094
4a6d2d06
VS
80952010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 Compile parts of grub-emu as modules.
8098
8099 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
8100 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
8101 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
8102 (all-local): Add $(GRUB_EMU).
8103 (install-local): Install $(GRUB_EMU).
8104 (uninstall): Uninstall $(GRUB_EMU).
8105 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
8106 * kern/dl.c: Likewise.
8107 * commands/sleep.c: Not include machine/time.h.
8108 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
8109 (COMMON_CFLAGS): Likewise.
8110 (sbin_UTILITIES): Remove grub-emu.
8111 (grub_emu_SOURCES): Removed.
8112 (kernel_img_RELOCATABLE): New variable.
8113 (pkglib_PROGRAMS): Add kernel.img.
8114 (kernel_img_SOURCES): New variable
8115 (kernel_img_CFLAGS): Likewise.
8116 (kernel_img_LDFLAGS): Likewise.
8117 (TARGET_NO_STRIP): Likewise.
8118 (TARGET_NO_DYNAMIC_MODULES): Likewise.
8119 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
8120 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
8121 (grub-emu): New target.
8122 (GRUB_EMU): New variable.
8123 * configure.ac: Whitelist -emu as possible x86_64 architecture.
8124 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
8125 * loader/xnu.c: Likewise.
8126 * include/grub/pci.h: Likewise.
8127 * genemuinit.sh: New file.
8128 * genemuinitheader.sh: Likewise.
8129 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
8130 Support TARGET_NO_DYNAMIC_MODULES.
8131 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
8132 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
8133 * disk/loopback.c: Likewise.
8134 * font/font_cmd.c: Likewise.
8135 * partmap/acorn.c: Likewise.
8136 * partmap/amiga.c: Likewise.
8137 * partmap/apple.c: Likewise.
8138 * partmap/gpt.c: Likewise.
8139 * partmap/msdos.c: Likewise.
8140 * partmap/sun.c: Likewise.
8141 * parttool/msdospart.c: Likewise.
8142 * term/gfxterm.c: Likewise.
8143 * video/bitmap.c: Likewise.
8144 * video/readers/jpeg.c: Likewise.
8145 * video/readers/png.c: Likewise.
8146 * video/readers/tga.c: Likewise.
8147 * video/video.c: Likewise.
8148 * util/grub-emu.c (read_command_list): Removed.
8149 (main): Don't call util_init_nls.
8150 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
8151 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
8152
91fdd2ed
VS
81532010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
8156 date.mod, datehook.mod.
8157 (datetime_mod_SOURCES): New variable.
8158 (datetime_mod_CFLAGS): Likewise.
8159 (datetime_mod_LDFLAGS): Likewise.
8160 (date_mod_SOURCES): Likewise.
8161 (date_mod_CFLAGS): Likewise.
8162 (date_mod_LDFLAGS): Likewise.
8163 (datehook_mod_SOURCES): Likewise.
8164 (datehook_mod_CFLAGS): Likewise.
8165 (datehook_mod_LDFLAGS): Likewise.
8166 * conf/sparc64-ieee1275.rmk: Likewise.
8167 * lib/ieee1275/datetime.c: New file.
8168
873ccae6
VS
81692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
8172 (ieee1275_fb_mod_SOURCES): New variable.
8173 (ieee1275_fb_mod_CFLAGS): Likewise.
8174 (ieee1275_fb_mod_LDFLAGS): Likewise.
8175 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
8176 New proto.
8177 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
8178 (HEAP_MAX_ADDR): Likewise.
8179 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
8180 type.
8181 Correct stop condition.
8182 (grub_ieee1275_devices_iterate): New function.
8183 * video/ieee1275.c: New file.
8184
601c97c0
VS
81852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
8188
8189 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
8190 as scratch.
8191 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
8192 SCRATCH_PAD_DISKBOOT as scratch.
8193 (bootit): Pass Openfirmware pointer in %o4.
8194 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
8195 of 0x200000.
8196 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
8197 with util/grub-mkrawimage.c.
8198 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
8199 * include/grub/aout.h (AOUT_MID_SUN): New definition.
8200 (grub_aout_get_type) [GRUB_UTIL]: Removed.
8201 (grub_aout_load) [GRUB_UTIL]: Likewise.
8202 * include/grub/kernel.h (grub_modules_get_end): New proto.
8203 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
8204 (SCRATCH_PAD_BOOT): New definition.
8205 (SCRATCH_PAD_DISKBOOT): Likewise.
8206 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
8207 * include/grub/sparc64/ieee1275/ieee1275.h
8208 (grub_ieee1275_original_stack): New variable
8209 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
8210 New definition
8211 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
8212 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
8213 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
8214 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
8215 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
8216 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
8217 (grub_platform_image_format_t): New type.
8218 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
8219 * kern/main.c (grub_modules_get_end)
8220 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
8221 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
8222 (codestart): Switch stacks.
8223 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
8224 variable.
8225 (grub_heap_init): Use grub_modules_get_end.
8226 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
8227 stack.
8228 * util/grub-mkrawimage.c (generate_image): Support sparc64.
8229 (main): Likewise.
8230 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
8231
d68b491e
TG
82322010-03-14 Thorsten Glaser <tg@mirbsd.org>
8233
8234 * util/grub-mkrescue.in: Base ISO UUID on UTC.
8235
4e02ed50
MK
82362010-03-08 Matt Kraai <kraai@ftbfs.org>
8237
8238 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
8239 bug #559005).
8240
1f15fc1e
VS
82412010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 * genmoddep.awk: Output all missing symbols and not only first.
8244
fce5d8ff
VS
82452010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8246
8247 * NEWS: Put the date of 1.98 release.
8248
d1e8a02f
VS
82492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
8252 ft2build.h.
8253
696fd607
VS
82542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
8257 completition in the middle of string.
8258
33e2e6f3
VS
82592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * util/grub-mkrescue.in: Use mktemp with explicit template.
8262
b1f6d291
VS
82632010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8264
8265 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
8266
2ac227c7
VS
82672010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
8270 right pointer.
8271
8f9a632b
VS
82722010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 Fix FreeBSD compilation.
8275
8276 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
8277 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
8278
60b03859
VS
82792010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
8282
48a5a769
VS
82832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
8286
3ab4bd77
VS
82872010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
8290
d116e0d8
RM
82912010-03-04 Robert Millan <rmh.grub@aybabtu.com>
8292
8293 Support relative image path in theme file.
8294
8295 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
8296 (image_set_property): Handle theme_dir and relative path.
8297
c7ef54aa
VS
82982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * configure.ac: Alias amd64 to x86_64.
8301
fcee14ed
VS
83022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * NEWS: mention multiboot on EFI.
8305
d0780363
VS
83062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * kern/main.c (grub_load_modules): Handle errors from init functions of
8309 embeded modules.
8310
41168ea4
VS
83112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * normal/autofs.c (autoload_fs_module): Handle errors.
8314
b54d93ac
VS
83152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 Disable linux.mod on qemu-mips since it's not functional and leads
8318 to compilation failure.
8319
8320 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
8321 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
8322 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
8323 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
8324 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
8325 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
8326 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
8327 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
8328 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
8329 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
8330 Reported by: BVK Chaitanya
8331
fc8345da
JU
83322010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
8333
8334 * INSTALL: Add gettext as a dependency and add qemu to a new section
8335 "Prerequisites for make-check".
8336
4760f979
CF
83372010-03-04 Christian Franke <franke@computer.org>
8338
8339 * util/grub-pe2elf.c: Add missing include "progname.h".
8340
f209b5b2
VS
83412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * normal/crypto.c (read_crypto_list): Fix a typo.
8344 Reported by: Seth Goldberg.
8345
b4b7be98
VS
83462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 8349 Reported by: Seth Goldberg.
b4b7be98 8350
c0ee0385
VS
83512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
8354 ascii.bitmaps.
8355
a8efbf64
VS
83562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 8359 Reported by: Seth Goldberg.
a8efbf64 8360
08dcd913
VS
83612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * util/i386/efi/grub-install.in: Copy gettext files.
8364
c4d0b332
VS
83652010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
8368
c6f2fe52
VS
83692010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 Wait for user entry basing on presence of output rather than on errors.
8372
8373 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
8374 (grub_install_newline_hook): Likewise.
8375 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
8376 * normal/menu.c (show_menu): Check line_counter to determine presence
8377 of output.
8378 * normal/term.c (grub_normal_line_counter): New variable.
8379 (grub_normal_get_line_counter): New function.
8380 (grub_install_newline_hook): Likewise.
8381
5382b1e4
VS
83822010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
8385
5519963b
VS
83862010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * configure.ac: Update version to 1.98.
8389
72b28631
VS
83902010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * util/grub.d/10_linux.in (linux_entry): Don't default to
8393 gfxpayload=keep if Linux doesn't support video handover.
8394
c140a180
VS
83952010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 Don't compile video modules on yeeloong since video subsystem is part
8398 of kernel.
8399
8400 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
8401 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
8402 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
8403 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
8404 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
8405 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
8406 * include/grub/bitmap_scale.h: Likewise.
8407 * include/grub/bufio.h: Likewise.
8408 * include/grub/font.h: Likewise.
8409 * include/grub/gfxterm.h: Likewise.
8410 * include/grub/video.h: Likewise.
8411 * include/grub/vbe.h: Don't include video_fb.h.
8412 * video/i386/pc/vbe.c: Include video_fb.h.
8413 * commands/i386/pc/vbetest.c: Include video.h.
8414
a0ca21c2
CW
84152010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
8416
8417 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
8418 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
8419 default entry if GRUB_SAVEDEFAULT=true. This allows using
8420 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
8421 saving a new default on every boot.
8422
4a8a763c
VS
84232010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * normal/crypto.c (read_crypto_list): Fix a memory leak.
8426 * normal/term.c (read_terminal_list): Likewise.
8427 * normal/main.c (grub_normal_init_page): Likewise.
8428 (grub_normal_read_line_real): Likewise.
8429
607ffde2
VS
84302010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
8433 memory leak.
8434 Reported by: Seth Goldberg.
8435
2b8fa975
CW
84362010-02-24 Joey Korkames <joey+lists@kidfixit.com>
8437
8438 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
8439 duplicate declaration of `start'.
8440
618307dd
VS
84412010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
8444 filename.
8445 Reported by: Georgy Buranov
8446
7dd05b96 84472010-02-20 Carles Pina i Estany <carles@pina.cat>
8448
8449 * util/grub-mkrawimage.c (usage): Change string formatting to
8450 improve gettext.
8451
d1484a42
MRA
84522010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
8453
8454 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
8455 backspace keys.
8456
42b1d186
VS
84572010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
8460 Reported by: Michael Suchanek.
8461
84622010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
8463
8464 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
8465 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
8466
d9f31a41
VS
84672010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
8468
8469 Remove any reference to non-free fonts.
8470
8471 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
8472 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
8473 uses non-free components.
8474 * font/font.c (grub_font_get_name): Remove example name.
8475 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
8476 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8477 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
8478 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
8479
2793c71e
GB
84802010-02-16 Georgy Buranov <gburanov@gmail.com>
8481
8482 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
8483
402e3779
VS
84842010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
8487 Double divisor.
8488 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
8489 features.
8490 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
8491
0dd1e0dd
VS
84922010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * gensymlist.sh.in: Use TARGET_CC instead of CC.
8495
6fa7cfce
ST
84962010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8497
8498 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
8499 * docs/grub.texi (Command-line and menu entry commands): Document play
8500 command.
8501
37c8483b
ST
85022010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8503
8504 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
8505 parse arguments as inline tempo and notes. Move code for playing notes
8506 to...
8507 (play): ... new function.
8508
14da0fb7
ST
85092010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8510
8511 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
8512 grub_uint16_t instead of short.
8513 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
8514 disk from little endian to cpu endianness.
8515
04459e70
ST
85162010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
8517
8518 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
8519 GRUB_TICKS_PER_SECOND instead of 120.
8520
a0876943
VS
85212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
8524 escape sequence after \e.
8525
e29f95dc
VS
85262010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
8529 non-ASCII characters.
8530
d27859b2
VS
85312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
8534 set root in single quotes to prevent \, from being unescaped.
8535
bc028f2f
VS
85362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 Prevent unknown commands from stopping menuentry execution.
8539
8540 * script/execute.c (grub_script_execute_cmdline): Print error after
8541 unknown command.
8542
095f5f82
VS
85432010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
8544
8545 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
8546 Reported by: Pavel Pisa.
8547
8c717950
VS
85482010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
8551
904935c3
VS
85522010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8553
8554 Merge grub_ieee1275_map_physical into grub_map and rename to
8555 grub_ieee1275_map
8556
8557 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
8558 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
8559 Remove.
8560 * kern/ieee1275/openfw.c (grub_map): Rename to ...
8561 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
8562 necessary.
8563 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
8564
5b59a4e3
VS
85652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
8568 opening and not after.
8569
69e137e8
VS
85702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
8573 constants.
8574
2c0fcc36
VS
85752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
8578 (alloc_phys): Use ALIGN_UP instead of align_addr.
8579
8c6052ce
VS
85802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8581
8582 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
8583
17cec782
VS
85842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
8587
e0128bbd
VS
85882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
8591 verbose dprintf.
8592
ca62070b
VS
85932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 Fix over-4GiB seek on sparc64.
8596
8597 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
8598 Replace pos_i and pos_lo with pos. All users updated.
8599 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8600 New constant.
8601 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
8602 Likewise.
8603 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
8604 and pos_lo.
8605
bdca2607
VS
86062010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8607
8608 * util/grub-mkrawimage.c (main): Call set_program_name.
8609
da278c4d
VS
86102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 Properly align 64-bit targets.
8613
8614 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
8615 (generate_image): Use ALIGN_ADDR.
8616
b274d734
VS
86172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8618
8619 Properly create cross-endian images.
8620
8621 * include/grub/types.h (grub_host_to_target_addr): New macro
8622 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
8623
82da2062
VS
86242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
8627
7cae4377
VS
86282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
8631
8632 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
8633 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
8634 (grub_linux_boot): Divide by 64K when on VESA.
8635
65a533e7
VS
86362010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 Support GRUB_GFXPAYLOAD_LINUX.
8639
8640 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
8641 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
8642
dd01d397
VS
86432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
8646 to show messages instead of discarding them.
8647 Process errors after executing command and not before. Keep old method
8648 too as precaution.
8649
660960d6
VS
86502010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * configure.ac: Check for ft2build.h.
8653
62509f04
VS
86542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
8657
473df63d
VS
86582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * genkernsyms.sh.in: Use TARGET_CC.
8661
c98d2a13
CW
86622010-02-07 Colin Watson <cjwatson@ubuntu.com>
8663
8664 * NEWS: Update.
8665
6e14234c
VS
86662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
8669 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
8670 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 8671
b255e9cf
YB
86722010-02-07 Yves Blusseau <blusseau@zetam.org>
8673
6e14234c 8674 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 8675
98e6959d
VS
86762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 Fix warnings in grub-emu when compiling with maximum warning options.
8679
8680 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
8681 (grub_arch_modules_addr): Return 0 and not NULL.
8682 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 8683 (xstrdup): Use newstr instead of dup.
f88d801b
VS
8684 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
8685 of disk to dsk to avoid shadowing.
74e4934e
VS
8686 (find_free_slot): Fix prototype.
8687 * util/getroot.c (grub_util_is_dmraid): Make static.
8688 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
8689 Add missing prototype.
8690 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 8691
74e31b5c
VS
86922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8693
8694 * loader/i386/linux.c (grub_linux_setup_video): Handle error
8695 appropriately.
8696
6b2ad14b
VS
86972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
8700 code out.
8701
8f891adc
VS
87022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8703
8704 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
8705 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
8706 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
8707 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
8708 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
8709 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
8710
74b45184
VS
87112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * include/grub/err.h (grub_err_printf): Don't export.
8714
a4bced77
VS
87152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
8718
007d0695
VS
87192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * include/grub/i18n.h (grub_gettext_dummy): Removed.
8722 * kern/misc.c (grub_gettext_dummy): Make static.
8723
b6c0d9c2
VS
87242010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8725
8726 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
8727 by non-valid ones.
8728 * kern/term.c (grub_putchar): Likewise.
8729
f51a90d0
VS
87302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8731
8732 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
8733 buggy hook call and memory leak.
8734
6846cec5
VS
87352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8736
8737 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
8738
468d69fe
VS
87392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
8742
51906b8c
VS
87432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8744
8745 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
8746 modevar.
8747 Return grub_errno on allocation error.
8748
09706ce5
VS
87492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
8752
911df80c
YB
87532010-02-06 Yves Blusseau <blusseau@zetam.org>
8754
8755 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
8756 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
8757
3746a6bc
VS
87582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
8761 non-pxe disk.
8762 (grub_pxefs_open): Likewise.
8763
09706ce5
VS
87642010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8765
8766 * util/grub.d/10_hurd.in: Add --class information to menuentries.
8767 * util/grub.d/10_kfreebsd.in: Likewise.
8768 * util/grub.d/10_linux.in: Likewise.
8769
7cc192d9
VS
87702010-02-06 Colin D Bennett <colin@gibibit.com>
8771
8772 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
8773 (gfxmenu_mod_SOURCES): New variable.
8774 (gfxmenu_mod_CFLAGS): Likewise.
8775 (gfxmenu_mod_LDFLAGS): Likewise.
8776 * include/grub/term.h (grub_term_set_current_output): Declare
8777 argument as const.
8778 * docs/gfxmenu-theme-example.txt: New file.
8779 * gfxmenu/gfxmenu.c: Likewise.
8780 * gfxmenu/gui_box.c: Likewise.
8781 * gfxmenu/gui_canvas.c: Likewise.
8782 * gfxmenu/gui_circular_progress.c: Likewise.
8783 * gfxmenu/gui_image.c: Likewise.
8784 * gfxmenu/gui_label.c: Likewise.
8785 * gfxmenu/gui_list.c: Likewise.
8786 * gfxmenu/gui_progress_bar.c: Likewise.
8787 * gfxmenu/gui_string_util.c: Likewise.
8788 * gfxmenu/gui_util.c: Likewise.
8789 * gfxmenu/icon_manager.c: Likewise.
8790 * gfxmenu/model.c: Likewise.
8791 * gfxmenu/named_colors.c: Likewise.
8792 * gfxmenu/theme_loader.c: Likewise.
8793 * gfxmenu/view.c: Likewise.
8794 * gfxmenu/widget-box.c: Likewise.
8795 * include/grub/gfxmenu_model.h: Likewise.
8796 * include/grub/gfxmenu_view.h: Likewise.
8797 * include/grub/gfxwidgets.h: Likewise.
8798 * include/grub/gui.h: Likewise.
8799 * include/grub/gui_string_util.h: Likewise.
8800 * include/grub/icon_manager.h: Likewise.
8801
88022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 Agglomerate scrolling in gfxterm.
8805
8806 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
8807 (grub_virtual_screen_setup): Initialise 'total_screen'.
8808 (write_char): Split to ...
8809 (paint_char): ... this ...
8810 (write_char): ... and this.
8811 (paint_char): Handle delayed scrolling.
8812 (draw_cursor): Likewise.
8813 (scroll_up): Split to ...
8814 (real_scroll): ... this ...
8815 (scroll_up): ... and this.
8816 (real_scroll): Handle multi-line scroll and draw below-the-bottom
8817 characters.
8818 (grub_gfxterm_refresh): Call real_scroll.
8819
88202010-02-06 Colin D Bennett <colin@gibibit.com>
8821
8822 * include/grub/misc.h (grub_iscntrl): New inline function.
8823 (grub_isalnum): Likewise.
8824 (grub_strtol): Likewise.
8825
88262010-02-06 Colin D Bennett <colin@gibibit.com>
8827
8828 * normal/menu_text.c (get_entry_number): Move from here ...
8829 * normal/menu.c (get_entry_number): ... moved here.
8830 * include/grub/menu.h (grub_menu_get_default_entry_index):
8831 New prototype.
8832 * normal/menu.c (grub_menu_get_default_entry_index): New function.
8833 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
8834 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
8835 (grub_menu_viewer_should_return): Likewise.
8836 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
8837 * normal/menu_text.c (run_menu): Enable menu switching.
8838 * normal/menu_viewer.c (should_return): New variable.
8839 (menu_viewer_changed): Likewise.
8840 (grub_menu_viewer_show_menu): Handle menu viewer changes.
8841 (grub_menu_viewer_should_return): New function.
8842 (menuviewer_write_hook): Likewise.
8843 (grub_menu_viewer_init): Likewise.
8844
88452010-02-06 Colin D Bennet <colin@gibibit.com>
88462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 Support for gfxterm in a window.
8849
8850 * include/grub/gfxterm.h: New file.
8851 * include/grub/video.h (struct grub_video_rect): New declaration.
8852 (grub_video_rect_t): Likewise.
8853 * term/gfxterm.c (struct grub_gfxterm_window): New type.
8854 (refcount): New variable.
8855 (render_target): Likewise.
8856 (window): Likewise.
8857 (repaint_callback): Likewise.
8858 (grub_virtual_screen_setup): Use 'render_target'.
8859 (init_window): New function.
8860 (grub_gfxterm_init_window): Likewise.
8861 (grub_gfxterm_init): Check reference counter.
8862 Use init_window.
8863 (destroy_window): New function.
8864 (grub_gfxterm_destroy_window): Likewise.
8865 (grub_gfxterm_fini): Check reference counter.
8866 Use destroy_window.
8867 (redraw_screen_rect): Restore viewport.
8868 Use 'render_target' and 'window'.
8869 Call 'repaint_callback'.
8870 (write_char): Use 'render_target'.
8871 (draw_cursor): Likewise.
8872 (scroll_up): Restore viewport.
8873 Use 'render_target' and 'window'.
8874 Call 'repaint_callback'.
8875 (grub_gfxterm_cls): Likewise.
8876 (grub_gfxterm_refresh): Use 'window'.
8877 (grub_gfxterm_set_repaint_callback): New function.
8878 (grub_gfxterm_background_image_cmd): Use 'window'.
8879 (grub_gfxterm_get_term): New function.
8880 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
8881
88822010-02-06 Colin D Bennett <colin@gibibit.com>
8883
8884 Bitmap scaling support.
8885
8886 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
8887 (bitmap_scale_mod_SOURCES): New variable.
8888 (bitmap_scale_mod_CFLAGS): Likewise.
8889 (bitmap_scale_mod_LDFLAGS): Likewise.
8890 * include/grub/bitmap_scale.h: New file.
8891 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
8892 (background_image_cmd_options): New variable.
8893 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
8894 (cmd): Rename and change type to ...
8895 (background_image_cmd_handle): ... this. All users updated.
8896 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
8897 * video/bitmap_scale.c: New file.
8898
88992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 SDL support.
8902
8903 * Makefile.in (LIBSDL): New variable.
8904 (enable_grub_emu_sdl): Likewise.
8905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
8906 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
8907 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
8908 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
8909 * util/sdl.c: New file.
8910
89112010-02-06 Colin D Bennett <colin@gibibit.com>
89122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 Double buffering support.
8915
8916 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
8917 * include/grub/video.h: Update comment.
8918 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
8919 New type.
8920 (grub_video_fb_doublebuf_blit_init): New prototype.
8921 * term/gfxterm.c (scroll_up): Support double buffering.
8922 (grub_gfxterm_refresh): Likewise.
8923 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
8924 (grub_video_fb_doublebuf_blit_init): Likewise.
8925 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
8926 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
8927 'displayed_page', 'render_page' and 'update_screen'.
8928 (grub_video_vbe_fini): Free offscreen buffer.
8929 (doublebuf_pageflipping_commit): New function.
8930 (doublebuf_pageflipping_update_screen): Likewise.
8931 (doublebuf_pageflipping_init): Likewise.
8932 (double_buffering_init): Likewise.
8933 (grub_video_vbe_setup): Enable doublebuffering.
8934 (grub_video_vbe_swap_buffers): Implement.
8935 (grub_video_vbe_set_active_render_target): Handle double buffering.
8936 (grub_video_vbe_get_active_render_target): Likewise.
8937 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
8938 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
8939 (grub_video_vbe_enable_double_buffering): Likewise.
8940 (grub_video_vbe_swap_buffers): Use update_screen.
8941 (grub_video_set_mode): Use double buffering.
8942
89432010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8944
8945 * maintainance/gentrigtables.py: Remove.
8946 * lib/trig.c: Likewise.
8947
8948 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
8949
8950 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
8951 `trigtables.c'.
8952 (trigtables.c): New rule.
8953 (gentrigtables): Likewise.
8954 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
8955
89562010-02-06 Robert Millan <rmh.grub@aybabtu.com>
8957
8958 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
8959 integer constants.
8960
89612010-02-06 Colin D Bennet <colin@gibibit.com>
8962
8963 Trigonometry support.
8964
8965 * include/grub/trig.h: New file.
8966 * lib/trig.c: Likewise.
8967 * maintainance/gentrigtables.py: Likewise.
8968 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
8969 (trig_mod_SOURCES): New variable.
8970 (trig_mod_CFLAGS): Likewise.
8971 (trig_mod_LDFLAGS): Likewise.
8972
5562834e
VS
89732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
8976 disk devices.
8977
4f8528fc
VS
89782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
8981 error.
8982
2b4068e9
VS
89832010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * util/hostdisk.c (open_device): Don't use partition device when reading
8986 before the partition.
8987 (grub_util_biosdisk_read): Don't read from partition and before the
8988 partition in single operation.
8989 (grub_util_biosdisk_write): Don't write to partition and before the
8990 partition in single operation.
8991
399f6e4d
TL
89922010-02-03 Torsten Landschoff <torsten@debian.org>
8993
8994 * kern/disk.c (grub_disk_read): Fix offset computation when reading
8995 last sectors.
8996
996649b0
VS
89972010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
9000 CDROM reads.
9001 (grub_biosdisk_write): Refuse to write to CDROM.
9002
3b205d4d
VS
90032010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
9006
61e89d9d
VS
90072010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * font/font.c (find_glyph): Check that bmp_idx is available before
9010 using it.
9011 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
9012 with (font == NULL).
9013
bf7fcba2
CS
90142010-01-28 Christian Schmitt <chris@ilovelinux.de>
9015
9016 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
9017
f45d2663
BC
90182010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
9019
9020 * include/grub/script_sh.h (sourcecode): Add const qualifier.
9021 * util/grub-script-check.c (getline): Fix empty lines case.
9022
ec1444e6
RM
90232010-01-28 Robert Millan <rmh.grub@aybabtu.com>
9024
9025 * Makefile.in (check): Exit with fail status when one of the tests
9026 fails.
9027 * tests/example_functional_test.c (example_test): Fix reversed assert.
9028 * tests/example_unit_test.c (example_test): Likewise.
9029
2e1cb9bb
CW
90302010-01-28 Colin Watson <cjwatson@ubuntu.com>
9031
9032 * util/grub.d/10_linux.in: This script does not use any of the
9033 contents of gettext.sh, only the external command `gettext', so stop
9034 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
9035 the same prefix as GRUB.)
9036 * util/grub.d/10_kfreebsd.in: Likewise.
9037
63533ab0
VS
90382010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
9041 of the line.
9042
989e1f93
VS
90432010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * kern/disk.c (grub_disk_read): Fix offset computation when reading
9046 last sectors.
9047
e709ebe2
VS
90482010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
9051 having a 4KiB and not 32KiB buffer size.
9052
27dea7ed
RM
90532010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9054
9055 * util/hostfs.c: Include `<errno.h>'.
9056 (grub_hostfs_read): Handle errors from fseeko() and fread().
9057
67667b9c
RM
90582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9059
9060 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
9061 loop when using read hooks on files whose size isn't sector-aligned.
9062
c294d9d8
RM
90632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9064
9065 Remove unused parameter.
9066
9067 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
9068 (grub_iso9660_open): Remove initialization of `data->length'.
9069
af75a9f1
RM
90702010-01-27 Robert Millan <rmh.grub@aybabtu.com>
9071
9072 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
9073 memleak conditions.
9074
254e2ce5 90752010-01-27 Carles Pina i Estany <carles@pina.cat>
9076
9077 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
9078 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
9079
b510928c 90802010-01-26 Carles Pina i Estany <carles@pina.cat>
9081
9082 * util/bin2h.c (usage): Fix warning (space after backslash).
9083
aa2f9dd2 90842010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 9085
9086 * font/font.c: Include `grub/fontformat.h.
9087 Remove font file format constants.
9088 (grub_font_load): Use the new macros.
9089 * include/grub/fontformat.h: New file.
9090 * util/grub-mkfont.c: Include `grub/fontformat.c'.
9091 (write_font_pf2): Use the new macros.
9092
94e7e712
RM
90932010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9094
9095 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
9096 does.
9097
3973a59a
RM
90982010-01-26 Robert Millan <rmh.grub@aybabtu.com>
9099
9100 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
9101
9102 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
9103 (_start): Macroify `0x7F'.
9104
9105 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
9106 (make_install_device): Use "(pxe)" as fallback prefix when booting
9107 via PXE.
9108
42e0cba3
GS
91092010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
9110
9111 * configure.ac: Reset LIBS after check for libgcc symbols.
9112
847effd8
CW
91132010-01-25 Colin Watson <cjwatson@ubuntu.com>
9114
9115 * util/hostdisk.c (open_device): Add trailing newline to debug
9116 message.
9117
ea4a7e35
GS
91182010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
9119
9120 * configure.ac: Check for `limits.h'.
9121 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
9122
67951a53
RM
91232010-01-24 Robert Millan <rmh.grub@aybabtu.com>
9124
9125 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
9126 capitalize error strings.
9127
c273d4ce
ST
91282010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
9129
9130 * util/grub.d/10_hurd.in: Add a recovery mode.
9131
69be5b74
VS
91322010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * configure.ac: Check for libgcc symbols with -nostdlib.
9135
fc9e5810
BC
91362010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
9137
9138 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
9139
4b358c0a
VS
91402010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
9143 stack since heap may be unavailable at that point.
9144 (grub_ofconsole_gotoxy): Likewise.
9145
454fcd1c
VS
91462010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9147
9148 * configure.ac: Check for _restgpr_14_x.
9149 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
9150 and _savegpr_* prototypes.
9151
566863ca
RM
91522010-01-22 Robert Millan <rmh.grub@aybabtu.com>
9153
9154 Use generic grub_reboot() for i386-efi.
9155
9156 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
9157 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
9158 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
9159
bf86e59a
VS
91602010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
9163 presence of "prefix" variable as it breaks when normal.mod is
9164 embedded.
9165
d645e0f8
VS
91662010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
9169 stack since heap is unavailable at that point.
9170
f9ab2e25
VS
91712010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
9174 (grub_freebsd_bootinfo): Rewritten.
9175 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
9176
01fc7054
VS
91772010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
9180
caab4fd6
RM
91812010-01-21 Robert Millan <rmh.grub@aybabtu.com>
9182
9183 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
9184 domain now.
9185
67eb1427
FZ
91862010-01-20 Felix Zielcke <fzielcke@z-51.de>
9187
9188 * util/misc.c (make_system_path_relative_to_its_root): Change the work
9189 around for handling "/" to the correct fix. Fix a memory leak. Use
9190 xstrdup instead of strdup.
9191
a9ed4ff3
VS
91922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
9195
91962010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
9197
9198 Optimise glyph lookup by Basic Multilingual Plane lookup array.
9199
9200 * font/font.c (struct grub_font): New member 'bmp_idx'.
9201 (font_init): Initialise 'bmp_idx'.
9202 (load_font_index): Fill 'bmp_idx'.
9203 (find_glyph): Make inline. Use bmp_idx for BMP characters.
9204
48209f4f
VS
92052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
9208 unnecessary calls.
9209
9f0a4bb7
VS
92102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Move context handling out of the kernel.
9213
9214 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
9215 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
9216 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
9217 * conf/i386-efi.rmk: Likewise.
9218 * conf/i386-ieee1275.rmk: Likewise.
9219 * conf/i386-pc.rmk: Likewise.
9220 * conf/powerpc-ieee1275.rmk: Likewise.
9221 * conf/sparc64-ieee1275.rmk: Likewise.
9222 * conf/x86_64-efi.rmk: Likewise.
9223 * include/grub/env.h: Include grub/menu.h.
9224 (grub_env_var_type): Removed.
9225 (grub_env_var): Replaced field 'type' with 'global'.
9226 (grub_env_find): New prototype.
9227 (grub_env_context_open): Remove EXPORT_FUNC.
9228 (grub_env_context_close): Likewise.
9229 (grub_env_export): Likewise.
9230 (grub_env_set_data_slot): Removed.
9231 (grub_env_get_data_slot): Likewise.
9232 (grub_env_unset_data_slot): Likewise.
9233 (grub_env_unset_menu): New prototype.
9234 (grub_env_set_menu): Likewise.
9235 (grub_env_get_menu): Likewise.
9236 * include/grub/env_private.h: New file.
9237 * include/grub/normal.h (grub_context_init): New prototype.
9238 (grub_context_fini): Likewise.
9239 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
9240 * normal/context.c (grub_cmd_export): ... to here.
9241 * kern/env.c: Include env_private.h.
9242 (HASHSZ): Moved to include/grub/env_private.h.
9243 (grub_env_context): Likewise.
9244 (grub_env_sorted_var): Likewise.
9245 (current_context): Renamed from this ...
9246 (grub_current_context): ...to this. 'static' removed. All users updated.
9247 (grub_env_find): Removed 'static'.
9248 (grub_env_context_open): Moved to normal/context.c.
9249 (grub_env_context_close): Likewise.
9250 (grub_env_export): Likewise.
9251 (mangle_data_slot_name): Removed.
9252 (grub_env_set_data_slot): Likewise.
9253 (grub_env_get_data_slot): Likewise.
9254 (grub_env_unset_data_slot): Likewise.
9255 * kern/main.c (grub_set_root_dev): Don't export root.
9256 It will be done later.
9257 (grub_main): Don't export prefix.
9258 It will be done later.
9259 * normal/context.c: New file.
9260 * normal/main.c (free_menu): Use grub_env_unset_menu.
9261 (grub_normal_add_menu_entry): Use grub_env_get_menu.
9262 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
9263 (GRUB_MOD_INIT(normal)): Call grub_context_init.
9264 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
9265
8dd35b8c
VS
92662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9267
9268 setpci support.
9269
9270 * commands/setpci.c: New file.
9271 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
9272 (setpci_mod_SOURCES): New variable.
9273 (setpci_mod_CFLAGS): Likewise.
9274 (setpci_mod_LDFLAGS): Likewise.
9275
449193d5
VS
92762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 Byte-addressable PCI configuration space.
9279
9280 * bus/pci.c (grub_pci_make_address): Use byte address instead of
9281 dword address.
9282 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
9283 GRUB_PCI_REG_CACHELINE.
9284 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
9285 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
9286 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
9287 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
9288 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
9289 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
9290 grub_pci_make_address.
9291 (lock_rom_area): Likewise.
9292 * commands/lspci.c (grub_lspci_iter): Use macroses
9293 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
9294 of grub_pci_make_address.
9295 * disk/ata.c (grub_ata_pciinit): Likewise.
9296 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
9297 (GRUB_PCI_REG_VENDOR): Likewise.
9298 (GRUB_PCI_REG_DEVICE): Likewise.
9299 (GRUB_PCI_REG_COMMAND): Likewise.
9300 (GRUB_PCI_REG_STATUS): Likewise.
9301 (GRUB_PCI_REG_REVISION): Likewise.
9302 (GRUB_PCI_REG_CLASS): Likewise.
9303 (GRUB_PCI_REG_CACHELINE): Likewise.
9304 (GRUB_PCI_REG_LAT_TIMER): Likewise.
9305 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
9306 (GRUB_PCI_REG_BIST): Likewise.
9307 (GRUB_PCI_REG_ADDRESSES): Likewise.
9308 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9309 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9310 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9311 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9312 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9313 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
9314 (GRUB_PCI_REG_CIS_POINTER): Likewise.
9315 (GRUB_PCI_REG_SUBVENDOR): Likewise.
9316 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
9317 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
9318 (GRUB_PCI_REG_CAP_POINTER): Likewise.
9319 (GRUB_PCI_REG_IRQ_LINE): Likewise.
9320 (GRUB_PCI_REG_IRQ_PIN): Likewise.
9321 (GRUB_PCI_REG_MIN_GNT): Likewise.
9322 (GRUB_PCI_REG_MAX_LAT): Likewise.
9323 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
9324 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
9325 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 9326 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
9327 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
9328 space.
9329
96d73208
RM
93302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9331
9332 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
9333 can be reliably determined to be supported.
9334
d4484482
RM
93352010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9336
9337 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
9338 that VESA is supported.
9339 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
9340 supported.
9341
00308ecf
VS
93422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
9345
f66924a4
RM
93462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9347
9348 * util/misc.c (make_system_path_relative_to_its_root): Work around
9349 special-casing of "/", as previous incarnation of this routine did.
9350
cbca0ada
VS
93512010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9352
9353 Fix any-emu compilation.
9354
9355 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
9356 * grub_bin2h_SOURCES: New variable.
9357
34a66d99
RM
93582010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9359
9360 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
9361
94fabf58
RM
93622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
9363
9364 * util/grub.d/00_header.in: Fix handling of locale_dir.
9365
02cf98ca
VS
93662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9367
9368 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
9369 as possible unifont location (Gentoo).
9370 Reported by: Alexander Brüning
9371
327dbcd7
VS
93722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 Don't try to generate lists for kernel.img.
9375
9376 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
9377 (pkglib_MODULES): Remove kernel.img.
9378 (kernel_img_EXPORTS): Removed.
9379 (kernel_img_RELOCATABLE): New variable.
9380 * conf/x86_64-efi.rmk: Likewise.
9381 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
9382
ca467290
VS
93832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
9386 grub_xasprintf or grub_snprintf.
9387 (grub_vsprintf): Likewise.
9388 (grub_snprintf): New proto.
9389 (grub_vsnprintf): Likewise.
9390 (grub_xasprintf): Likewise.
9391 (grub_xvasprintf): Likewise.
9392 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
9393 (grub_sprintf): Removed.
9394 (grub_vsnprintf): New function.
9395 (grub_snprintf): Likewise.
9396 (grub_xvasprintf): Likewise.
9397 (grub_xasprintf): Likewise.
9398 (grub_vsprintf): Renamed to ...
9399 (grub_vsnprintf_real): ...this. New argument max_len.
9400
aca655fd
BC
94012010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
9402
9403 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
9404 fix grub-script-check warning.
9405
7ee92c32
VS
94062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * include/grub/font.h (grub_font_load): Fix prototype.
9409
f80927ca
VS
94102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
9413
119c50ea
VS
94142010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9415
9416 * include/grub/x86_64/at_keyboard.h: New file.
9417
47d5f3c1
VS
94182010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * loader/mips/linux.c: Include missing grub/i18n.h.
9421
55ff5266
RM
94222009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9423
9424 * normal/menu.c (notify_execution_failure): Clarify error message.
9425
c893cc87
RM
94262009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9427
9428 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
9429 return value (and revert all return statements). Update users.
9430
917dd370
CW
94312010-01-20 Dan Merillat <debian@dan.merillat.org>
9432
9433 * kern/device.c (grub_device_iterate): Allocate new part_ent
9434 structure based on sizeof (*p) rather than sizeof (p->next), to
9435 account for structure padding.
9436
9437 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
9438 disk is NULL, which might happen for LVM physical volumes with no
9439 LVM signature.
9440
d4a4ee57
RM
94412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9442
9443 * loader/mips/linux.c (grub_cmd_initrd)
9444 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
9445
94462009-12-20 Robert Millan <rmh.grub@aybabtu.com>
9447
9448 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
9449 (grub_video_video_init, grub_video_bitmap_init)
9450 (grub_font_manager_init, grub_term_gfxterm_init)
9451 (grub_at_keyboard_init): New extern declarations.
9452 (grub_machine_init): Initialize gfxterm and at_keyboard.
9453
9454 * kern/main.c (grub_main): Revert grub_printf delay kludge.
9455
9456 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
9457 `gfxterm.mod' into core image.
9458
9459 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9460 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9461 (kernel_img_FORMAT): Copy to ...
9462
9463 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9464 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9465 (kernel_img_FORMAT): ... here, and ...
9466
9467 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
9468 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9469 (kernel_img_FORMAT): ... here.
9470
9471 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
9472 and input (at_keyboard) terminals in kernel.
9473 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
9474
9475 (pkglib_MODULES): Remove `pci.mod'.
9476 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
9477 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
9478 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
9479 (at_keyboard_mod_LDFLAGS): Remove variables.
9480
94812010-01-11 Felix Zielcke <fzielcke@z-51.de>
9482
9483 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
9484
94852009-12-10 Robert Millan <rmh.grub@aybabtu.com>
9486
9487 * include/grub/mips/libgcc.h: Only export symbols for functions
9488 that libgcc provides.
9489
94902009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 MIPS support.
9493
9494 * bus/bonito.c: New file.
9495 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
9496 GRUB_PCI_NUM_DEVICES.
9497 * term/i386/pc/serial.c: Move to ...
9498 * term/serial.c: ... here. All users updated.
9499 * util/i386/pc/grub-mkimage.c: Move to ...
9500 * util/grub-mkrawimage.c: ... here. All users updated.
9501 * term/i386/pc/at_keyboard.c: Move to ...
9502 * term/at_keyboard.c: ... here. All users updated.
9503 * conf/mips-qemu-mips.rmk: New file.
9504 * conf/mips-yeeloong.rmk: Likewise.
9505 * conf/mips.rmk: Likewise.
9506 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
9507 mipsel-qemu-mips.
9508 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
9509 to port addresses.
9510 (grub_ata_pciinit): Support CS5536.
9511 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
9512 * font/font_cmd.c (loadfont_command): Open file before passing it to
9513 grub_font_load.
9514 (pseudo_file_read): New function.
9515 (pseudo_file_close): Likewise.
9516 (pseudo_fs): New structure.
9517 (load_font_module): New function.
9518 (GRUB_MOD_INIT(font_manager)): Load embedded font.
9519 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
9520 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
9521 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
9522 * include/grub/i386/at_keyboard.h: Split into ...
9523 * include/grub/at_keyboard.h: ... this ...
9524 * include/grub/i386/at_keyboard.h: ... and this.
9525 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
9526 New prototype.
9527 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
9528 updated.
9529 (grub_elf64_size): Likewise.
9530 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
9531 filename.
9532 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
9533 * include/grub/i386/coreboot/serial.h: Rewritten.
9534 * include/grub/i386/ieee1275/serial.h: Include
9535 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
9536 * include/grub/i386/pc/serial.h: Moved from here ...
9537 * include/grub/serial.h: ... to here. All users updated.
9538 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
9539 (GRUB_PCI_NUM_BUS): Likewise.
9540 (GRUB_PCI_NUM_DEVICES): Likewise.
9541 (grub_pci_device_map_range): Add missing volatile keyword.
9542 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
9543 * include/grub/mips/at_keyboard.h: New file.
9544 * include/grub/mips/cache.h: Likewise.
9545 * include/grub/mips/io.h: Likewise.
9546 * include/grub/mips/kernel.h: Likewise.
9547 * include/grub/mips/libgcc.h: Likewise.
9548 * include/grub/mips/pci.h: Likewise.
9549 * include/grub/mips/qemu-mips/boot.h: Likewise.
9550 * include/grub/mips/qemu-mips/kernel.h: Likewise.
9551 * include/grub/mips/qemu-mips/loader.h: Likewise.
9552 * include/grub/mips/qemu-mips/memory.h: Likewise.
9553 * include/grub/mips/qemu-mips/serial.h: Likewise.
9554 * include/grub/mips/qemu-mips/time.h: Likewise.
9555 * include/grub/mips/relocator.h: Likewise.
9556 * include/grub/mips/time.h: Likewise.
9557 * include/grub/mips/types.h: Likewise.
9558 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
9559 * include/grub/mips/yeeloong/boot.h: Likewise.
9560 * include/grub/mips/yeeloong/kernel.h: Likewise.
9561 * include/grub/mips/yeeloong/loader.h: Likewise.
9562 * include/grub/mips/yeeloong/memory.h: Likewise.
9563 * include/grub/mips/yeeloong/pci.h: Likewise.
9564 * include/grub/mips/yeeloong/serial.h: Likewise.
9565 * include/grub/mips/yeeloong/time.h: Likewise.
9566 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
9567 * kern/elf.c (grub_elf32_size): New parameter. All users
9568 updated.
9569 (grub_elf64_size): Likewise.
9570 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
9571 Load modules before saying "Welcome to GRUB!".
9572 Call grub_refresh after saying "Welcome to GRUB!".
9573 * kern/mips/cache.S: New file.
9574 * kern/mips/cache_flush.S: Likewise.
9575 * kern/mips/dl.c: Likewise.
9576 * kern/mips/init.c: Likewise.
9577 * kern/mips/qemu-mips/init.c: Likewise.
9578 * kern/mips/startup.S: Likewise.
9579 * kern/mips/yeeloong/init.c: Likewise.
9580 * kern/term.c (grub_putcode): Handle NULL terminal.
9581 (grub_getcharwidth): Likewise.
9582 (grub_getkey): Likewise.
9583 (grub_checkkey): Likewise.
9584 (grub_getkeystatus): Likewise.
9585 (grub_getxy): Likewise.
9586 (grub_getwh): Likewise.
9587 (grub_gotoxy): Likewise.
9588 (grub_cls): Likewise.
9589 (grub_setcolorstate): Likewise.
9590 (grub_setcolor): Likewise.
9591 (grub_getcolor): Likewise.
9592 (grub_refresh): Likewise.
9593 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
9594 (write_jump): Add hatch nop.
9595 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
9596 * lib/mips/setjmp.S: New file.
9597 * loader/mips/linux.c: Likewise.
9598 * term/i386/pc/at_keyboard.c: Move from here ...
9599 * term/at_keyboard.c: ... to here.
9600 * term/i386/pc/serial.c: Moved from here ...
9601 * term/serial.c: ... to here. All users updated.
9602 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
9603 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
9604 (serial_translate_key_sequence): Avoid deadlock.
9605 (grub_serial_getkey): Handle backspace.
9606 (grub_serial_putchar): Fix newline handling.
9607 * util/i386/pc/grub-mkimage.c: Move from here ...
9608 * util/grub-mkrawimage.c: ... to here. All users updated.
9609 (generate_image): New parameters 'font_path' and 'format'.
9610 Support embedding font.
9611 Use grub_host_to_target* instead of grub_cpu_to_le*.
9612 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
9613 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
9614 (options): New option "--font".
9615 (usage): Likewise.
9616 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
9617 (main): Handle "--font".
9618 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
9619 (grub_virtual_screen_setup): Set bg_color_display.
9620 (redraw_screen_rect): Use bg_color_display instead of incorrect
9621 bg_color.
9622 (grub_gfxterm_cls): Likewise.
9623 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
9624 Support embedding config file.
9625 (add_segments): Likewise.
9626 (options): New option "--config".
9627 (main): Handle "--config".
9628 * video/sm712.c: New file.
9629
25c2b5b3
RM
96302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9631
9632 Fix parallel builds.
9633
9634 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
9635 font.c depend on ascii.h).
9636
96372010-01-12 Carles Pina i Estany <carles@pina.cat>
9638
9639 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
9640
96412010-01-11 Carles Pina i Estany <carles@pina.cat>
9642
9643 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
9644 By default: disabled.
9645 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
9646 parameter.
9647
96482010-01-10 Carles Pina i Estany <carles@pina.cat>
9649
9650 * font/font.c: Update copyright years.
9651 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
9652
96532010-01-10 Carles Pina i Estany <carles@pina.cat>
9654
9655 * font/font.c: Include `ascii.h'.
9656 (ASCII_BITMAP_SIZE): New macro.
9657 (ascii_font_glyph): Define.
9658 (ascii_glyph_lookup): New function.
9659 (grub_font_get_string_width): Change comment. If glyph not found, use
9660 ascii_glyph_lookup.
9661 (grub_font_get_glyph_with_fallback): If glyph not available returns
9662 ascii_glyph_lookup.
9663 * util/grub-mkfont.c (file_formats): New enum.
9664 (options): Add `ascii-bitmaps' new option.
9665 (usage): Add `asii-bitmaps' new option.
9666 (write_font_ascii_bitmap): New function.
9667 (write_font): Rename to ...
9668 (write_font_p2): ... this. Remove print_glyphs call.
9669 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
9670 used. Call print_glyphs.
9671 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
9672
96732010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9674
9675 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
9676 (grub_bin2h_SOURCES): New variable.
9677 * util/bin2h.c: New file.
9678
915fc1b8
VS
96792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * include/multiboot.h: Resynced with spec.
9682 * include/multiboot2.h: Likewise.
9683 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
9684 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
9685
9444b678
RM
96862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9687
9688 * include/grub/term.h (grub_term_register_input,
9689 grub_term_register_output): Check return of terminal init()
9690 routines, and abort if errors are raised.
9691
9692 * commands/terminal.c: Update copyright year.
9693
cba98e8d
RM
96942010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9695
9696 * commands/terminal.c (grub_cmd_terminal_input)
9697 (grub_cmd_terminal_output): Check return of terminal init()
9698 routines, and abort if errors are raised.
9699
6f7db5d6
VS
97002010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9701
9702 * include/grub/i386/bsd.h: Fix include pathes.
9703
262bff8d
VS
97042010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 Add missing *BSD copyright headers.
9707
9708 * include/grub/aout.h: Add BSD licence.
9709 * include/grub/i386/bsd.h: Parts under different licences moved to ...
9710 * include/grub/i386/freebsd_linker.h: ... here,
9711 * include/grub/i386/freebsd_reboot.h: ... here,
9712 * include/grub/i386/netbsd_bootinfo.h: ... here,
9713 * include/grub/i386/netbsd_reboot.h: ... here,
9714 * include/grub/i386/openbsd_bootarg.h: ... here,
9715 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
9716 licence to each file.
9717
b2cab848
RM
97182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9719
9720 * acinclude.m4: Remove `nop' assembly instruction; it's not
9721 implemented by all architectures.
9722
2cb6be4b
RM
97232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9724
9725 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
9726 ELILO. This is no longer necessary.
9727
a2eaee15
BC
97282010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
9729
9730 Added new tool, grub-scrit-check to verify grub.cfg syntax.
9731
9732 * util/grub-script-check.c: grub-script-check tool.
9733 * conf/common.rmk: Make rules for grub-script-check.
9734
88d17012
RM
97352010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9736
9737 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
9738 spotting it back in 2008. Shame on me for forgetting he did.
9739
9740 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
9741
8040619d
RM
97422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
9743
9744 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
9745 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
9746 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
9747 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
9748 (GRUB_VIDEO_TYPE_EFI): Rename to ...
9749 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
9750
a0c2a0f6
RM
97512010-01-17 Robert Millan <rmh.grub@aybabtu.com>
9752
9753 * include/grub/test.h: Add license header.
9754 * tests/example_functional_test.c: Likewise.
9755 * tests/example_unit_test.c: Likewise.
9756 * tests/lib/functional_test.c: Likewise.
9757 * tests/lib/test.c: Likewise.
9758 * tests/lib/unit_test.c: Likewise.
9759
b0b13907
VS
97602010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
9761
9762 Use flag-based instead of hook-based video mode selection and "auto"
9763 keyword.
9764
9765 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
9766 (grub_video_set_mode): Changed prototype. All users updated.
9767 (grub_video_check_mode_flag): New inline function.
9768 * video/video.c (parse_modespec): New function.
9769 (grub_video_set_mode): Parse flags and keywords.
9770
ea379330 97712010-01-17 Carles Pina i Estany <carles@pina.cat>
9772
9773 * util/misc.c (grub_util_info): Fix the order of the parameters in a
9774 fprintf call.
9775
e15c215e
FZ
97762010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
9777
9778 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
9779
409ae1c9 97802010-01-16 Carles Pina i Estany <carles@pina.cat>
9781
9782 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
9783 string.
9784 * util/grub-emu.c (usage): Likewise.
9785 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
9786 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9787 * util/i386/pc/grub-mkimage.c (usage): Likewise.
9788 * util/i386/pc/grub-setup.c (usage): Likewise.
9789
70a14d3d 97902010-01-16 Carles Pina i Estany <carles@pina.cat>
9791
9792 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
9793 the message.
9794 (grub_util_info): Likewise.
9795 (grub_util_error): Likewise.
9796 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
9797 and/or new lines in `grub_util_warna', `grub_util_info',
9798 `grub_util_error' calls.
9799 * util/getroot.c: Likewise.
9800 * util/grub-editenv.c: Likewise.
9801 * util/grub-emu.c: Likewise.
9802 * util/grub-fstest.c: Likewise.
9803 * util/grub-mkdevicemap.c: Likewise.
9804 * util/grub-mkfont.c: Likewise.
9805 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9806 * util/grub-mkrelpath.c: Likewise.
9807 * util/grub-pe2elf.c: Likewise.
9808 * util/grub-probe.c: Likewise.
9809 * util/hostdisk.c: Likewise.
9810 * util/i386/efi/grub-mkimage.c: Likewise.
9811 * util/i386/pc/grub-mkimage.c: Likewise.
9812 * util/i386/pc/grub-setup.c: Likewise.
9813 * util/ieee1275/ofpath.c: Likewise.
9814 * util/mkisofs/eltorito.c: Likewise.
9815 * util/mkisofs/rock.c: Likewise.
9816 * util/mkisofs/write.c: Likewise.
9817 * util/raid.c: Likewise.
9818 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
9819 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9820
a0b766fc
VS
98212010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 Enable multiboot on non-pc.
9824
9825 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
9826 multiboot.mod and multiboot2.mod to ...
9827 * conf/i386.rmk (pkglib_MODULES): ... here.
9828 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
9829 Moved to ...
9830 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
9831 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
9832 Moved to ...
9833 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
9834 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
9835 Moved to ...
9836 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
9837 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
9838 Moved to ...
9839 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
9840 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
9841 relocator.mod.
9842 (ata_mod_SOURCES): Removed.
9843 (ata_mod_CFLAGS): Likewise.
9844 (ata_mod_LDFLAGS): Likewise.
9845 (relocator_mod_SOURCES): Removed.
9846 (relocator_mod_CFLAGS): Likewise.
9847 (relocator_mod_ASFLAGS): Likewise.
9848 (relocator_mod_LDFLAGS): Likewise.
9849 Include i386.mk.
9850 * include/grub/x86_64/multiboot.h: New file.
9851 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
9852 Terminate EFI.
9853
884ade56
VS
98542010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9855
9856 Video multiboot support.
9857
9858 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
9859 New prototype.
9860 * include/multiboot.h: Resynced with multiboot specification.
9861 * include/multiboot2.h: Likewise.
9862 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
9863 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
9864 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
9865 (HAS_VGA_TEXT): Likewise.
9866 (accepts_video): New variable.
9867 (grub_multiboot_set_accepts_video): New function.
9868 (grub_multiboot_get_mbi_size): Account for video structures.
9869 (set_video_mode): New function.
9870 (retrieve_video_parameters): Likewise.
9871 (grub_multiboot_make_mbi): Fill video fields.
9872
0d90e8a6
VS
98732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 Video driver ids.
9876
9877 * include/grub/video.h (grub_video_driver_id): New type.
9878 (grub_video_adapter): New member 'id'. All users updated.
9879 (grub_video_get_driver_id): New proto.
9880 * video/video.c (grub_video_get_driver_id): New function.
9881
5c71db1b 98822010-01-14 Carles Pina i Estany <carles@pina.cat>
9883
9884 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
9885 `var=val'.
9886
cca15b52 98872010-01-14 Carles Pina i Estany <carles@pina.cat>
9888
9889 * normal/cmdline.c (print_completion): Gettextizze.
9890
c586fbb2 98912001-01-14 Carles Pina i Estany <carles@pina.cat>
9892
9893 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
9894
ba2f6848 98952010-01-14 Carles Pina i Estany <carles@pina.cat>
9896
9897 * gettext/gettext.c (grub_gettext_translate): Push and pop
9898 grub_errno.
9899 (grub_gettext_delete_list): Change comment style.
9900 * kern/err.c (grub_error): Gettextizze.
9901 (grub_fatal): Gettextizze.
9902
0a46429a
RM
99032010-01-14 Robert Millan <rmh.grub@aybabtu.com>
9904
9905 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
9906 (grub_linux16_real_boot): ... this.
9907 * kern/i386/loader.S: Likewise.
9908 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
9909 (grub_linux16_boot): New function. Switches to text mode and calls
9910 grub_linux16_real_boot().
9911
9912 * loader/i386/bsd.c: Include `<grub/video.h>'.
9913 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
9914 text mode before calling grub_unix_real_boot().
9915
9916 * loader/i386/multiboot.c: Include `<grub/video.h>'.
9917 (grub_multiboot_boot): Switch to text mode before calling
9918 grub_relocator32_boot().
9919
9920 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
9921 (grub_chainloader_boot): Switch to text mode before calling
9922 grub_chainloader_real_boot().
9923
d6f93a66
RM
99242010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
99252010-01-05 Colin Watson <cjwatson@ubuntu.com>
9926
9927 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
9928 non-empty value.
9929
99302010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
99312010-01-05 Colin Watson <cjwatson@ubuntu.com>
9932
9933 * util/grub.d/00_header.in: Define a "savedefault" function for use
9934 in menu entries.
9935 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
9936
99372010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
99382010-01-05 Colin Watson <cjwatson@ubuntu.com>
9939
9940 * util/grub-mkconfig_lib.in (save_default_entry): Only set
9941 saved_entry if boot_once is unset.
9942 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
9943 previous saved entry (i.e. grub-reboot).
9944
99452009-12-08 Colin Watson <cjwatson@ubuntu.com>
9946
9947 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
9948
99492009-12-08 Colin Watson <cjwatson@ubuntu.com>
9950
9951 * util/grub.d/00_header.in: Use `set var=val' rather than plain
9952 `var=val'.
9953 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
9954
99552009-12-08 Colin Watson <cjwatson@ubuntu.com>
9956
9957 * util/grub-reboot.in: Fix --version output.
9958 * util/grub-set-default.in: Likewise.
9959
99602009-12-08 Colin Watson <cjwatson@ubuntu.com>
9961
9962 * util/grub.d/00_header.in: Silently ignore zero-sized environment
9963 blocks.
9964
99652009-12-08 Colin Watson <cjwatson@ubuntu.com>
9966
9967 * util/grub.d/00_header.in: Quote the value assigned to `default',
9968 in case it contains spaces.
9969
99702009-12-08 Colin Watson <cjwatson@ubuntu.com>
9971
9972 * util/grub.d/30_os-prober.in: Fix merge error that moved a
9973 `save_default_entry' call from the macosx case to the linux case.
9974
99752009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
99762009-10-25 Colin Watson <cjwatson@ubuntu.com>
9977
9978 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
9979 in `chosen' environment variable.
9980 * normal/menu_text.c (get_entry_number): Check if the variable
9981 matches the title of a menu entry.
9982 (run_menu): Pass menu to get_entry_number.
9983
9984 * util/grub-reboot.in: New file.
9985 * util/grub-set-default.in: New file.
9986 * conf/common.rmk (grub-reboot): New utility.
9987 (grub-set-default): New utility.
9988
9989 * util/grub-mkconfig_lib.in (save_default_entry): New function.
9990 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
9991 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
9992 move it to `saved_entry' for the next boot. Load environment on
9993 initialisation.
9994 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
9995 * util/grub.d/10_hurd.in: Likewise.
9996 * util/grub.d/10_linux.in (linux_entry): Likewise.
9997 * util/grub.d/10_windows.in: Likewise.
9998 * util/grub.d/30_os-prober.in: Likewise.
9999
10000 * util/grub-install.in: Create environment block.
10001 * util/i386/efi/grub-install.in: Likewise.
10002 * util/ieee1275/grub-install.in: Likewise.
10003 * util/sparc64/ieee1275/grub-install.in: Likewise.
10004
0934d184
BC
100052010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
10006
10007 Unit testing framework for GRUB.
10008
10009 * Makefile.in: Test framework build rules for 'make check'.
10010 * conf/tests.rmk: Build rules for individual tests and framework.
10011
10012 * include/grub/test.h: Header file for whitebox tests.
10013 * tests/lib/functional_test.c: Framework support for whitebox
10014 functional tests.
10015 * tests/lib/test.c: Common whitebox testing code for unit and
10016 functional tests.
10017 * tests/lib/unit_test.c: Framework support for whitebox unit
10018 tests.
10019
10020 * tests/util/grub-shell-tester.in: Support utility for grub-script
10021 tests.
10022 * tests/util/grub-shell.in: Utility to execute grub-script
10023 commands in a Qemu instance.
10024
10025 * tests/example_functional_test.c: Example whitebox functional
10026 test.
10027 * tests/example_grub_script_test.in: Example grub-script test.
10028 * tests/example_scripted_test.in: Example scripted test.
10029 * tests/example_unit_test.c: Example whitebox unit test.
10030
9c4ffeeb
VS
100312010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
10034 Add loader/i386/multiboot_mbi.c.
10035 (multiboot2_mod_SOURCES): Likewise.
10036 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
10037 (multiboot2_mod_SOURCES): Likewise.
10038 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
10039 (grub_multiboot_make_mbi): Likewise.
10040 (grub_multiboot_free_mbi): Likewise.
10041 (grub_multiboot_init_mbi): Likewise.
10042 (grub_multiboot_add_module): Likewise.
10043 (grub_multiboot_set_bootdev): Likewise.
10044 * loader/i386/multiboot.c (mbi): Removed.
10045 (mbi_dest): Likewise.
10046 (alloc_mbi): New variable.
10047 (grub_multiboot_payload_size): Removed. All users updated.
10048 (grub_multiboot_pure_size): New variable.
10049 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
10050 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
10051 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
10052 (grub_fill_multiboot_mmap): Likewise.
10053 (grub_multiboot_get_bootdev): Likewise.
10054 (grub_multiboot): Use multiboot_mbi functions.
10055 * loader/i386/multiboot_mbi.c: New file.
10056
17383dfe
VS
100572010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10058
10059 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
10060 it would result in module crash.
10061
c1f28820
VS
100622010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10063
10064 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
10065 (grub_ofconsole_getwh): Split to ...
10066 (grub_ofconsole_getwh): ... this.
10067 (grub_ofconsole_dimensions): ...and this.
10068 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
10069
58655a16
RM
100702010-01-13 Robert Millan <rmh.grub@aybabtu.com>
10071
10072 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
10073
10891398
VS
100742010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10075
10076 * loader/i386/pc/multiboot2.c: Removed stalled file.
10077
0b8a223c
VS
100782010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
10081 Reported by: Grégoire Sutre
10082
92ab12b0
RM
100832010-01-11 Robert Millan <rmh.grub@aybabtu.com>
10084
10085 * util/misc.c (canonicalize_file_name): New function.
10086 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
10087 instead of realpath().
10088
a788afb6
CW
100892010-01-11 Colin Watson <cjwatson@ubuntu.com>
10090
10091 * util/grub-install.in (usage): Clarify meaning of --root-directory,
10092 and make it clearer that it's optional. Based on confusion
10093 witnessed on IRC.
10094
ffa8e3d2
VS
100952010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
10098 in premature implicit newline.
10099
e9060a9d
VS
101002010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
10103 which resulted in garbled command line at the end of screen.
10104
f0d0c0b7
RM
101052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10106
10107 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
10108 initialization with similar approach as with other Linux loaders.
10109
0e60bae7
RM
101102010-01-10 Robert Millan <rmh.grub@aybabtu.com>
10111
10112 Fix i386-ieee1275 build.
10113
10114 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
10115 and grub_term_height() for video_{width,height} initialization.
10116
101172010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
10118
10119 Fix grub-emu build.
10120
10121 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
10122
cdb3f378
RM
101232010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
101242010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10125
10126 Support for multiple terminals.
10127
10128 * Makefile.in (pkglib_DATA): terminal.lst.
10129 (terminal.lst): New target.
10130 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
10131 (GRUB_MOD_INIT(handler)): Likewise.
10132 (GRUB_MOD_FINI(handler)): Likewise.
10133 * commands/help.c (grub_cmd_help): Handle multiple terminals.
10134 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
10135 * commands/sleep.c (do_print): Use grub_term_restore_pos.
10136 (grub_cmd_sleep): Use grub_term_save_pos.
10137 * commands/terminal.c: New file.
10138 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
10139 commands/terminal.c and lib/charset.c.
10140 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
10141 (pkglib_MODULES): Add terminal.mod.
10142 (terminal_mod_SOURCES): New variable.
10143 (terminal_mod_CFLAGS): Likewise.
10144 (terminal_mod_LDFLAGS): Likewise.
10145 * genhandlerlist.sh: Don't handle terminals.
10146 * genmk.rb: Generate terminal-*.lst.
10147 * genterminallist.sh: New file.
10148 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
10149 (grub_is_valid_utf8): Likewise.
10150 (grub_utf8_to_ucs4_alloc): Likewise.
10151 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
10152 (grub_menu_register_viewer): Changed argument.
10153 (grub_menu_try_text): New proto.
10154 (grub_gfxmenu_try_hook): New declaration.
10155 * include/grub/normal.h (grub_normal_exit_level): New declaration.
10156 (grub_menu_init_page): Additional argument term.
10157 (grub_normal_init_page): Likewise.
10158 (grub_cmdline_get): Arguments simplified.
10159 (grub_utf8_to_ucs4_alloc): Removed.
10160 (grub_print_ucs4): Additional argument term.
10161 (grub_getstringwidth): Likewise.
10162 (grub_print_message_indented): Likewise.
10163 (grub_menu_text_register_instances): New proto.
10164 (grub_show_menu): Likewise.
10165 (read_terminal_list): Likewise.
10166 (grub_set_more): Likewise.
10167 * include/grub/parser.h: Include handler.h.
10168 * include/grub/reader.h: Rewritten.
10169 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
10170 (GRUB_TERM_WIDTH): Changed to function.
10171 (GRUB_TERM_HEIGHT): Likewise.
10172 (GRUB_TERM_BORDER_WIDTH): Likewise.
10173 (GRUB_TERM_BORDER_HEIGHT): Likewise.
10174 (GRUB_TERM_NUM_ENTRIES): Likewise.
10175 (GRUB_TERM_ENTRY_WIDTH): Likewise.
10176 (GRUB_TERM_CURSOR_X): Likewise.
10177 (grub_term_input_class): Likewise.
10178 (grub_term_output_class): Likewise.
10179 (grub_term_outputs_disabled): New declaration.
10180 (grub_term_inputs_disabled): Likewise.
10181 (grub_term_outputs): Likewise.
10182 (grub_term_inputs): Likewise.
10183 (grub_term_register_input): Rewritten.
10184 (grub_term_register_output): Likewise.
10185 (grub_term_unregister_input): Likewise.
10186 (grub_term_unregister_output): Likewise.
10187 (FOR_ACTIVE_TERM_INPUTS): New macro.
10188 (FOR_DISABLED_TERM_INPUTS): Likewise.
10189 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10190 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10191 * include/grub/terminfo.h: Add oterm argument to all protypes.
10192 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
10193 Use grub_rescue_run.
10194 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
10195 All users updated.
10196 * kern/reader.c: Removed. All users updated.
10197 * kern/rescue_reader.c (grub_rescue_init): Removed.
10198 (grub_rescue_reader): Likewise.
10199 (grub_register_rescue_reader): Likewise.
10200 (grub_rescue_run): New function based on kern/reader.c.
10201 * kern/term.c: Adapted for multiterm.
10202 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
10203 (grub_is_valid_utf8): Likewise.
10204 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
10205 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
10206 right terminal.
10207 * loader/i386/linux.c (grub_linux_boot): Likewise.
10208 * normal/auth.c (grub_username_get): New function.
10209 (grub_auth_check_authentication): Use grub_username_get.
10210 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
10211 * normal/color.c: Adapt for multiterm.
10212 * normal/main.c (read_config_file): Don't use grub_reader_loop.
10213 (grub_normal_init_page): Additional argument term.
10214 (read_lists): Call read_terminal_lists.
10215 (grub_enter_normal_mode): Call grub_cmdline_run.
10216 Handle grub_normal_exit_level.
10217 (grub_cmd_normal): Make reentrant.
10218 (grub_cmd_normal_exit): New function.
10219 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
10220 * normal/menu.c: Adapt for multiterm.
10221 * normal/menu_entry.c: Likewise.
10222 * normal/menu_text.c: Likewise.
10223 * normal/menu_viewer.c: Removed. All users updated.
10224 * normal/term.c: New file.
10225 * util/console.c: Change order of includes to workaround a bug in
10226 ncurses headers.
10227 * term/terminfo.c: New argument oterm on all exported functions.
10228 All users updated.
10229 * util/grub-editenv.c (grub_term_input_class): Removed.
10230 (grub_term_output_class): Likewise.
10231
1a064917
RM
102322010-01-09 Robert Millan <rmh.grub@aybabtu.com>
10233
10234 Make loader output a bit more user-friendly.
10235
10236 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
10237 is being loaded. Likewise for the Hurd.
10238
10239 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
10240 that kernel of FreeBSD ${version} is being loaded.
10241
10242 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
10243 grub_dprintf().
10244 (grub_cmd_initrd): Likewise.
10245 * util/grub.d/10_linux.in (linux_entry): Print message indicating
10246 that Linux ${version} is being loaded. Likewise for initrd.
10247
5ce0a83a 102482010-01-09 Carles Pina i Estany <carles@pina.cat>
10249
10250 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
10251
809bbfeb 102522010-01-08 Carles Pina i Estany <carles@pina.cat>
10253
10254 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
10255 (GRUB_MOD_INIT): Gettextizze.
10256 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
10257 (GRUB_MOD_INIT): Gettextizze.
10258 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
10259 (grub_cmd_linux): Capitalise Linux.
10260 (GRUB_MOD_INIT): Gettextizze.
10261 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
10262 (grub_cmd_linux): Capitalise Linux.
10263 (GRUB_MOD_INIT): Gettextizze.
10264 * loader/i386/linux.c: Include `<grub/i18n.h>'.
10265 (grub_cmd_linux): Capitalise Linux.
10266 (GRUB_MOD_INIT): Gettextizze.
10267 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
10268 (GRUB_MOD_INIT): Gettextizze.
10269 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
10270 (grub_cmd_linux): Capitalise Linux.
10271 (GRUB_MOD_INIT): Gettextizze.
10272 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
10273 (grub_cpu_xnu_init): Gettextizze.
10274 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
10275 (GRUB_MOD_INIT): Gettextizze.
10276 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
10277 (GRUB_MOD_INIT): Gettextizze.
10278 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
10279 (grub_linux_load64): Capitalise Linux.
10280 (GRUB_MOD_INIT): Gettextizze.
10281 * loader/xnu.c: Include `<grub/i18n.h>'.
10282 (GRUB_MOD_INIT): Gettextizze.
10283 * po/POTFILES: Add `loader/efi/appleloader.c',
10284 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
10285 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
10286 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
10287 `loader/i386/xnu.c', `loader/multiboot_loader.c',
10288 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
10289 and `loader/xnu.c'.
10290
b394b2ca
RM
102912010-01-08 Robert Millan <rmh.grub@aybabtu.com>
10292
10293 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
10294
102952010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
10296
10297 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
10298 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
10299 * util/mkisofs/mkisofs.c (main): Readjust --version output.
10300
bc8b32b3
RM
103012010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10302
10303 Reset Multiboot 2 support. New loader implements the draft in
10304 /branches/multiboot2 and shares as much code as possible with the
10305 production Multiboot 1 implementation.
10306
10307 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
10308 * loader/multiboot2.c: Likewise.
10309 * loader/i386/multiboot_helper.S: Likewise.
10310 * include/multiboot2.h: Replace with latest version from the draft
10311 in /branches/multiboot2.
10312
10313 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
10314 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
10315 and `loader/multiboot2.c'.
10316 (pkglib_MODULES): Add `multiboot2.mod'.
10317 (multiboot2_mod_SOURCES): New variable.
10318 (multiboot2_mod_LDFLAGS): Likewise.
10319 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
10320
10321 * conf/i386-pc.rmk: Likewise.
10322
10323 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
10324 (multiboot_mod_SOURCES): Remove variable.
10325 (multiboot_mod_LDFLAGS): Likewise.
10326 (multiboot_mod_CFLAGS): Likewise.
10327
10328 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
10329 `<multiboot2.h>' instead of `<multiboot.h>'.
10330 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
10331 (MULTIBOOT_HEADER_MAGIC): New macros.
10332
10333 * loader/multiboot_loader.c (module_version_status): Remove variable.
10334 (find_multi_boot2_header): Remove function.
10335 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
10336 logic. Always check for the Multiboot version we're compiling for.
10337 (grub_cmd_module_loader): Likewise.
10338 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
10339 command instead of `multiboot'.
10340
5d2c52b8
RM
103412010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10342
10343 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
10344 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
10345 all users.
10346
53108d92
RM
103472010-01-07 Robert Millan <rmh.grub@aybabtu.com>
103482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 Fix breakage introduced with previous commit.
10351
10352 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
10353 commands.
10354 * normal/handler.c (read_handler_list): Revert part of previous commit
10355 affecting this file.
10356 * normal/main.c (read_lists): Move read_handler_list() call back to ...
10357 (grub_normal_execute): ... here.
10358
e2e936b2
RM
103592010-01-07 Robert Millan <rmh.grub@aybabtu.com>
10360
10361 Merge prefix-redefinition-fix branch.
10362
10363 * normal/autofs.c (read_fs_list): Make function capable of being
10364 run multiple times, gracefuly replacing the previous data
10365 structures.
10366 * normal/dyncmd.c (read_command_list): Likewise.
10367 * normal/handler.c (read_handler_list): Likewise.
10368 * normal/main.c (read_lists): New function. Calls all the
10369 list reading functions.
10370 (grub_normal_execute): Use read_lists() instead of calling all
10371 list reading functions explicitly. Register read_lists() as a
10372 variable hook attached to ${prefix}.
10373
607a3701
VS
103742010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10375
10376 Merge crypto branch.
10377
10378 * Makefile.in (pkglib_DATA): Add crypto.lst.
10379 (crypto.lst): New target.
10380 * commands/hashsum.c: New file.
10381 * commands/password.c (check_password): Use grub_crypto_memcmp.
10382 * commands/password_pbkdf2.c: New file.
10383 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
10384 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
10385 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
10386 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
10387 -I$(srcdir)/lib/libgcrypt_wrap.
10388 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
10389 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
10390 password_pbkdf2.mod.
10391 (crypto_mod_SOURCES): New variable.
10392 (crypto_mod_CFLAGS): Likewise.
10393 (crypto_mod_LDFLAGS): Likewise.
10394 (hashsum_mod_SOURCES): New variable.
10395 (hashsum_mod_CFLAGS): Likewise.
10396 (hashsum_mod_LDFLAGS): Likewise.
10397 (pbkdf2_mod_SOURCES): New variable.
10398 (pbkdf2_mod_CFLAGS): Likewise.
10399 (pbkdf2_mod_LDFLAGS): Likewise.
10400 (password_pbkdf2_mod_SOURCES): New variable.
10401 (password_pbkdf2_mod_CFLAGS): Likewise.
10402 (password_pbkdf2_mod_LDFLAGS): Likewise.
10403 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
10404 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
10405 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
10406 Include conf/gcry.rmk.
10407 * include/grub/auth.h: Rewritten.
10408 * include/grub/crypto.h: New file.
10409 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
10410 * include/grub/normal.h (read_crypto_list): New prototype.
10411 * lib/crypto.c: New file.
10412 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
10413 * lib/pbkdf2.c: Likewise.
10414 * normal/auth.c (grub_auth_strcmp): Removed.
10415 (grub_iswordseparator): Likewise.
10416 (grub_auth_strword): Likewise.
10417 (is_authenticated): Use grub_strword.
10418 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
10419 and grub_strword. Pass entered password to authentication callback.
10420 * normal/crypto.c: New file.
10421 * normal/main.c: Call read_crypto_list.
10422 * util/grub-mkpasswd-pbkdf2.c: New file.
10423 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
10424
42841caa
VS
104252010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
10426
10427 Fix descent and ascent calculation.
10428
10429 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
10430 (options): New option "asce".
10431 (usage): Likewise.
10432 (add_char): Ignore invalid glyphs for descent calculation.
10433 Calculate ascent from actual content.
10434 (print_glyphs): Use 'asce'.
10435 (write_font): Likewise. Allow ascent override.
10436 (main): Handle "asce" option.
10437
e7730de7 104382010-01-06 Carles Pina i Estany <carles@pina.cat>
10439
10440 * kern/err.c: Include `<grub/i18n.h>'.
10441 (grub_print_error): Add full stop. Gettextizze.
10442 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
10443 (grub_bsd_load_elf): Capitalise ELF.
10444 (grub_cmd_freebsd_loadenv): Add `s' in error string.
10445 (grub_cmd_freebsd_module): Likewise.
10446 (grub_cmd_freebsd_module_elf): Likewise.
10447 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
10448
40e3a41f 104492010-01-06 Carles Pina i Estany <carles@pina.cat>
10450
10451 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
10452 * commands/search_file.c (HELP_MESSAGE): New macro.
10453 * commands/search_label.c (HELP_MESSAGE): Likewise.
10454 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
10455 * po/POTFILES: Add `commands/search_file.c',
10456 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
10457 `commands/search.c'.
10458
83507e68
RM
104592010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10460
10461 * config.rpath: Update from Gnulib.
10462
465c787b
YB
104632010-01-05 Yves Blusseau <blusseau@zetam.org>
10464
10465 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
10466
6581dd3a
YB
104672010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
10468
10469 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
10470
3bff18c5
CW
104712010-01-05 Colin Watson <cjwatson@ubuntu.com>
10472
10473 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
10474 arguments to fread so that we get a return value in bytes, rather
10475 than something that will normally be rounded down to 0.
10476 Adjust error handling to avoid producing garbage when size_t is not
10477 the same size as long long.
10478
a1368118
CW
104792010-01-05 Colin Watson <cjwatson@ubuntu.com>
10480
10481 * util/mkisofs/write.c (padblock_write): Check return value of
10482 fread.
10483
7c302978
RM
104842010-01-05 Robert Millan <rmh.grub@aybabtu.com>
10485
10486 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
10487 floppy images now.
10488
10489 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
10490
e33ace06
RM
104912010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10492
10493 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
10494 instead of manual alignment.
10495 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
10496 verbose). Avoid attempts to read past end of the device
10497 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
10498 but GRUB_DISK_CACHE_SIZE may exceed that).
10499
4b856776
RM
105002010-01-04 Robert Millan <rmh.grub@aybabtu.com>
10501
10502 * commands/crc.c (grub_cmd_crc): Abort on read errors.
10503 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
10504 it to upper layer.
10505
52c2d97f
VS
105062010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
10509 New constant.
10510 (grub_efi_piwg_device_path): New structure
10511 (grub_efi_piwg_device_path_t): New type.
10512 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
10513 (devpath_1): Transform to a structure. All users updated.
10514 (devpath_2): Likewise.
10515 (devpath_3): Likewise.
10516 (devpath_4): Likewise.
10517 (devpath_5): Likewise.
10518
98ff6a54
VS
105192010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10520
10521 * loader/efi/appleloader.c: Restored. Update all users.
10522
3a73dcb6
RM
105232010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10524
10525 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
10526
10527 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
10528 (struct boot_blocklist): Move from here ...
10529 * include/grub/i386/pc/boot.h [ASM_FILE]
10530 (struct grub_boot_blocklist): ... to here. Update all users.
10531 (setup): Only initialize `start' member of `first_block'
10532 structure. Add assert() calls to verify the other members.
10533
10534 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
10535 (generate_image): Fix broken blocklist length initialization.
10536 Add assert() call to verify blocklist `segment' field.
10537
ab0eeb0c
RM
105382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10539
10540 * loader/efi/appleloader.c: Remove. Update all users.
10541
58bc8bd5
RM
105422010-01-03 Robert Millan <rmh.grub@aybabtu.com>
10543
10544 * boot/i386/pc/boot.S: Update copyright year.
10545 * boot/i386/pc/cdboot.S: Likewise.
10546 * boot/i386/pc/diskboot.S: Likewise.
10547 * boot/i386/pc/lnxboot.S: Likewise.
10548 * boot/i386/pc/pxeboot.S: Likewise.
10549 * bus/pci.c: Likewise.
10550 * commands/cmp.c: Likewise.
10551 * commands/help.c: Likewise.
10552 * commands/hexdump.c: Likewise.
10553 * commands/i386/pc/halt.c: Likewise.
10554 * commands/i386/pc/play.c: Likewise.
10555 * commands/i386/pc/vbeinfo.c: Likewise.
10556 * commands/ls.c: Likewise.
10557 * commands/test.c: Likewise.
10558 * disk/dmraid_nvidia.c: Likewise.
10559 * disk/i386/pc/biosdisk.c: Likewise.
10560 * disk/ieee1275/nand.c: Likewise.
10561 * disk/ieee1275/ofdisk.c: Likewise.
10562 * disk/lvm.c: Likewise.
10563 * disk/raid.c: Likewise.
10564 * disk/raid6_recover.c: Likewise.
10565 * disk/scsi.c: Likewise.
10566 * fs/affs.c: Likewise.
10567 * fs/cpio.c: Likewise.
10568 * fs/ext2.c: Likewise.
10569 * fs/hfs.c: Likewise.
10570 * fs/iso9660.c: Likewise.
10571 * fs/ntfs.c: Likewise.
10572 * fs/sfs.c: Likewise.
10573 * fs/udf.c: Likewise.
10574 * fs/ufs.c: Likewise.
10575 * fs/xfs.c: Likewise.
10576 * gencmdlist.sh: Likewise.
10577 * genmk.rb: Likewise.
10578 * include/grub/disk.h: Likewise.
10579 * include/grub/efi/api.h: Likewise.
10580 * include/grub/efi/efi.h: Likewise.
10581 * include/grub/efi/pe32.h: Likewise.
10582 * include/grub/elf.h: Likewise.
10583 * include/grub/fs.h: Likewise.
10584 * include/grub/i386/at_keyboard.h: Likewise.
10585 * include/grub/i386/pc/memory.h: Likewise.
10586 * include/grub/i386/pc/vbe.h: Likewise.
10587 * include/grub/i386/pci.h: Likewise.
10588 * include/grub/i386/tsc.h: Likewise.
10589 * include/grub/ieee1275/ieee1275.h: Likewise.
10590 * include/grub/ntfs.h: Likewise.
10591 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
10592 * include/grub/sparc64/libgcc.h: Likewise.
10593 * include/grub/symbol.h: Likewise.
10594 * include/grub/types.h: Likewise.
10595 * include/multiboot2.h: Likewise.
10596 * io/gzio.c: Likewise.
10597 * kern/device.c: Likewise.
10598 * kern/disk.c: Likewise.
10599 * kern/efi/efi.c: Likewise.
10600 * kern/efi/mm.c: Likewise.
10601 * kern/elf.c: Likewise.
10602 * kern/file.c: Likewise.
10603 * kern/i386/dl.c: Likewise.
10604 * kern/i386/pc/init.c: Likewise.
10605 * kern/i386/pc/startup.S: Likewise.
10606 * kern/ieee1275/ieee1275.c: Likewise.
10607 * kern/ieee1275/init.c: Likewise.
10608 * kern/main.c: Likewise.
10609 * kern/mm.c: Likewise.
10610 * kern/powerpc/dl.c: Likewise.
10611 * kern/sparc64/dl.c: Likewise.
10612 * kern/x86_64/dl.c: Likewise.
10613 * lib/hexdump.c: Likewise.
10614 * loader/efi/appleloader.c: Likewise.
10615 * loader/i386/ieee1275/linux.c: Likewise.
10616 * loader/i386/pc/chainloader.c: Likewise.
10617 * loader/i386/pc/linux.c: Likewise.
10618 * loader/i386/pc/multiboot2.c: Likewise.
10619 * loader/ieee1275/multiboot2.c: Likewise.
10620 * loader/multiboot2.c: Likewise.
10621 * loader/multiboot_loader.c: Likewise.
10622 * loader/powerpc/ieee1275/linux.c: Likewise.
10623 * normal/completion.c: Likewise.
10624 * normal/menu_entry.c: Likewise.
10625 * partmap/apple.c: Likewise.
10626 * util/grub.d/10_hurd.in: Likewise.
10627 * util/hostfs.c: Likewise.
10628 * video/readers/png.c: Likewise.
10629
e2d70b5c
CW
106302010-01-03 Colin Watson <cjwatson@ubuntu.com>
10631
10632 * include/grub/misc.h (GNUC_PREREQ): New macro.
10633 (ATTRIBUTE_ERROR): New macro.
10634 * include/grub/list.h (grub_bad_type_cast_real): Use
10635 ATTRIBUTE_ERROR.
10636
a173283f 106372010-01-03 Carles Pina i Estany <carles@pina.cat>
10638
10639 * normal/menu_text.c (print_message): Change messages.
10640
7fa7ff74 106412010-01-03 Carles Pina i Estany <carles@pina.cat>
10642
10643 * normal/menu_entry.c (store_completion): Gettextizze.
10644
136d24f6 106452010-01-03 Carles Pina i Estany <carles@pina.cat>
10646
10647 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
10648
f936862e 106492010-01-03 Carles Pina i Estany <carles@pina.cat>
10650
10651 * po/POTFILES: Sort correctly.
10652
29c44ad1 106532010-01-03 Carles Pina i Estany <carles@pina.cat>
10654
10655 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
10656 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
10657 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
10658 full stop.
10659 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
10660 summary. Gettextizze the strings.
10661 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
10662 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
10663 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
10664 full stop.
10665 (GRUB_MOD_INIT): Remove command name from summary.
10666 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
10667 summary.
10668 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
10669 * term/i386/pc/serial.c (options): Add full stops.
10670 (GRUB_MOD_INIT): Remove command name from the summary.
10671
77a79592 106722010-01-03 Carles Pina i Estany <carles@pina.cat>
10673
10674 * commands/acpi.c: Gettextizze help strings and/or options. Include
10675 `grub/i18n.h' if needed.
10676 * commands/blocklist.c: Likewise.
10677 * commands/boot.c: Likewise.
10678 * commands/cat.c: Likewise.
10679 * commands/cmp.c: Likewise.
10680 * commands/configfile.c: Likewise.
10681 * commands/crc.c: Likewise.
10682 * commands/date.c: Likewise.
10683 * commands/echo.c: Likewise.
10684 * commands/efi/fixvideo.c: Likewise.
10685 * commands/efi/loadbios.c: Likewise.
10686 * commands/gptsync.c: Likewise.
10687 * commands/halt.c: Likewise.
10688 * commands/handler.c: Likewise.
10689 * commands/hdparm.c: Likewise.
10690 * commands/hexdump.c: Likewise.
10691 * commands/i386/cpuid.c: Likewise.
10692 * commands/i386/pc/drivemap.c: Likewise.
10693 * commands/i386/pc/halt.c: Likewise.
10694 * commands/i386/pc/pxecmd.c: Likewise.
10695 * commands/i386/pc/vbeinfo.c: Likewise.
10696 * commands/i386/pc/vbetest.c: Likewise.
10697 * commands/ieee1275/suspend.c: Likewise.
10698 * commands/keystatus.c: Likewise.
10699 * commands/loadenv.c: Likewise.
10700 * commands/ls.c: Likewise.
10701 * commands/lsmmap.c: Likewise.
10702 * commands/lspci.c: Likewise.
10703 * commands/memrw.c: Likewise.
10704 * commands/minicmd.c: Likewise.
10705 * commands/parttool.c: Likewise.
10706 * commands/password.c: Likewise.
10707 * commands/probe.c: Likewise.
10708 * commands/read.c: Likewise.
10709 * commands/reboot.c: Likewise.
10710 * commands/search.c: Likewise.
10711 * commands/sleep.c: Likewise.
10712 * commands/test.c: Likewise.
10713 * commands/true.c: Likewise.
10714 * commands/usbtest.c: Likewise.
10715 * commands/videotest.c: Likewise.
10716 * commands/xnu_uuid.c: Likewise.
10717 * disk/loopback.c: Likewise.
10718 * hello/hello.c: Likewise.
10719 * loader/i386/bsd.c: Likewise.
10720 * term/i386/pc/serial.c: Likewise.
10721 * po/POTFILES: Add new files.
10722
da8d5c53
CW
107232010-01-02 Colin Watson <cjwatson@ubuntu.com>
10724
10725 * term/i386/pc/at_keyboard.c
10726 (keyboard_controller_wait_untill_ready): Rename to ...
10727 (keyboard_controller_wait_until_ready): ... this. Update all users.
10728
33937904 107292010-01-01 Carles Pina i Estany <carles@pina.cat>
10730
10731 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
10732 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
10733 string using string width.
10734 * normal/menu_text.c (grub_print_message_indented): Use
10735 grub_print_spaces and not print_spaces.
10736 (print_timeout): Likewise.
10737 (print_spaces): Move to...
10738 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
10739
3fd3b8d8
RM
107402010-01-01 Robert Millan <rmh.grub@aybabtu.com>
10741
10742 Import from Gnulib.
10743
10744 * gnulib/getdelim.c: New file.
10745 * gnulib/getline.c: Likewise.
10746
33433555
VS
107472009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
10748
10749 * include/grub/list.h (grub_assert_fail): Removed.
10750 (grub_bad_type_cast_real): New function.
10751 (grub_bad_type_cast): New macro.
10752 (GRUB_AS_LIST): Use grub_bad_type_cast.
10753 (GRUB_AS_LIST_P): Likewise.
e44721e8 10754 (GRUB_AS_NAMED_LIST): Likewise.
33433555 10755 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 10756 (GRUB_AS_PRIO_LIST): Likewise.
33433555 10757 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 10758 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 10759
f5a51306
VS
107602009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
10763 Fix syntax error.
10764
90d1e879
RM
107652009-12-29 Robert Millan <rmh.grub@aybabtu.com>
10766
10767 * configure.ac: Check for TARGET_CFLAGS initialization before we
10768 initialize it ourselves (sigh).
10769 Move a few modifications to TARGET_CFLAGS to be unconditional
10770 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
10771 eh_frame)
10772
10773 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
10774 * term/i386/pc/at_keyboard.c
10775 (keyboard_controller_wait_untill_ready): Likewise.
10776 (keyboard_controller_led): Rename `led_status' paramter to avoid
10777 name conflict.
10778
465b5a81 107792009-12-28 Carles Pina i Estany <carles@pina.cat>
10780
10781 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
10782 quotes.
10783
c181849b
VS
107842009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
10787
9c8739a4
VS
107882009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * normal/menu_text.c (grub_print_message_indented): Prevent
10791 past-the-end-of-array dereference.
10792
3e74249c
VS
107932009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10794
10795 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
10796 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
10797
64fd18ed 107982009-12-27 Carles Pina i Estany <carles@pina.cat>
10799
10800 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
10801 * normal/main.c (grub_normal_read_line): Remove a space from the
10802 default prompt.
10803
714af9b9 108042009-12-27 Carles Pina i Estany <carles@pina.cat>
10805
10806 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
10807 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10808 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10809 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10810 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10811 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10812 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10813
82f3e412 108142009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 10815
10816 * video/readers/jpeg.c (cmd): Declare.
10817 (grub_cmd_jpegtest): Use `grub_command_t' type.
10818 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10819 Assign to `cmd'.
10820 (GRUB_MOD_FINI): Use `cmd' to unregister.
10821 * video/readers/png.c (cmd): Declare.
10822 (grub_cmd_pngtest): Use `grub_command_t' type.
10823 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10824 Assign to `cmd'.
10825 (GRUB_MOD_FINI): Use `cmd' to unregister.
10826 * video/readers/tga.c (cmd): Declare.
10827 (grub_cmd_tgatest): Use `grub_command_t' type.
10828 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
10829 Assign to `cmd'.
10830 (GRUB_MOD_FINI): Use `cmd' to unregister.
10831
82f3e412 108322009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 10833
10834 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
10835 stops.
10836 * kern/corecmd.c (grub_register_core_commands): Likewise.
10837 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
10838 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10839 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
10840 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10841 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
10842 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
10843 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
10844 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
10845 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10846 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
10847 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10848 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10849 * normal/handler.c (insert_handler): Likewise.
10850 * normal/main.c (GRUB_MOD_INIT): Likewise.
10851 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
10852
fdcdbb66 108532009-12-26 Carles Pina i Estany <carles@pina.cat>
10854
10855 * commands/help.c (grub_cmd_help): Print the command name before the
10856 summary.
10857 (GRUB_MOD_INIT): Remove command name from the summary.
10858 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 10859 string as summary.
fdcdbb66 10860 * lib/arg.c (find_long): Print the command name before the summary.
10861 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
10862 summary.
10863 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
10864 * commands/cat.c (GRUB_MOD_INIT): Likewise.
10865 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
10866 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
10867 * commands/crc.c (GRUB_MOD_INIT): Likewise.
10868 * commands/date.c (GRUB_MOD_INIT): Likewise.
10869 * commands/echo.c (GRUB_MOD_INIT): Likewise.
10870 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
10871 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
10872 * commands/handler.c (GRUB_MOD_INIT): Likewise.
10873 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
10874 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
10875 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
10876 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
10877 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
10878 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
10879 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
10880 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
10881 * commands/ls.c (GRUB_MOD_INIT): Likewise.
10882 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
10883 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
10884 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
10885 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
10886 * commands/password.c (GRUB_MOD_INIT): Likewise.
10887 * commands/probe.c (GRUB_MOD_INIT): Likewise.
10888 * commands/read.c (GRUB_MOD_INIT): Likewise.
10889 * commands/search.c (GRUB_MOD_INIT): Likewise.
10890 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
10891 * commands/test.c (GRUB_MOD_INIT): Likewise.
10892 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
10893 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
10894 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
10895 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
10896 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
10897 * lib/arg.c (GRUB_MOD_INIT): Likewise.
10898 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
10899 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
10900 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
10901 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
10902 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
10903 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
10904 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
10905 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
10906
9c288be2
VS
109072009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 Use search command for preliminar UUID search.
10910
10911 * commands/search.c: Split into ...
10912 * commands/search_wrap.c: ...this
10913 * commands/search.c: ...and this.
10914 * commands/search_file.c: New file.
10915 * commands/search_label.c: New file.
10916 * commands/search_uuid.c: New file.
10917 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
10918 Add commands/search_wrap.c, commands/search_file.c,
10919 commands/search_label.c and commands/search_uuid.c.
10920 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
10921 (search_mod_SOURCES): Set to commands/search_wrap.c.
10922 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
10923 search_label.mod.
10924 (search_fs_file_mod_SOURCES): New variable.
10925 (search_fs_file_mod_CFLAGS): Likewise.
10926 (search_fs_file_mod_LDFLAGS): Likewise.
10927 (search_label_mod_SOURCES): Likewise.
10928 (search_label_mod_CFLAGS): Likewise.
10929 (search_label_mod_LDFLAGS): Likewise.
10930 (search_fs_uuid_mod_SOURCES): New variable.
10931 (search_fs_uuid_mod_CFLAGS): Likewise.
10932 (search_fs_uuid_mod_LDFLAGS): Likewise.
10933 (fs_file_mod_SOURCES): Removed.
10934 (fs_file_mod_CFLAGS): Likewise.
10935 (fs_file_mod_LDFLAGS): Likewise.
10936 (fs_uuid_mod_SOURCES): Removed.
10937 (fs_uuid_mod_CFLAGS): Likewise.
10938 (fs_uuid_mod_LDFLAGS): Likewise.
10939 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
10940 Set to util/grub-install.in.
10941 * disk/fs_file.c: Removed.
10942 * disk/fs_uuid.c: Likewise.
10943 * include/grub/search.h: New file.
10944 * util/grub-install.in: Handle sparc64.
10945 Create and use load.cfg.
10946 * util/sparc64/ieee1275/grub-install.in: Removed.
10947
db943399
VS
109482009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
10951 Ignore return status if CF is cleared.
10952 (grub_biosdisk_get_diskinfo_standard): Likewise.
10953
3fdae612
RM
109542009-12-25 Robert Millan <rmh.grub@aybabtu.com>
10955
10956 * term/i386/pc/at_keyboard.c
10957 (keyboard_controller_wait_untill_ready): New function.
10958 (grub_keyboard_controller_write, grub_keyboard_controller_read)
10959 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
10960 for keyboard polling, rather than duplicate the same loop. This
10961 saves a few bytes in code size.
10962
7ebaa2b4
VS
109632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 Support for (pxe[:server[:gateway]]) syntax and
10966 use environment variable for PXE.
10967
10968 * commands/i386/pc/pxecmd.c (options): Removed.
10969 (print_ip): Removed.
10970 (grub_cmd_pxe): Removed
10971 (grub_cmd_pxe_unload): New function.
10972 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
10973 (grub_pxe_your_ip): Made static.
10974 (grub_pxe_default_server_ip): Likewise.
10975 (grub_pxe_default_gateway_ip): Likewise.
10976 (grub_pxe_blksize): Likewise.
10977 (parse_ip): New function.
10978 (grub_pxe_open): Support server and gateway specification.
10979 (grub_pxe_close): Free disk->data.
10980 (grub_pxefs_open): Use disk->data.
10981 (grub_pxefs_read): Likewise.
10982 (grub_env_write_readonly): New function.
10983 (set_mac_env): Likewise.
10984 (set_env_limn_ro): Likewise.
10985 (parse_dhcp_vendor): Likewise.
10986 (grub_pxe_detect): Set the environment variables.
10987 (set_ip_env): New function.
10988 (write_ip_env): Likewise.
10989 (grub_env_write_pxe_default_server): Likewise.
10990 (grub_env_write_pxe_default_gateway): Likewise.
10991 (grub_env_write_pxe_blocksize): Likewise.
10992 (GRUB_MOD_INIT(pxe)): Set environment variables.
10993 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
10994 (grub_pxe_mac_addr_t): ... this. All users updated.
10995 (grub_pxe_your_ip): Removed.
10996 (grub_pxe_server_ip): Likewise.
10997 (grub_pxe_gateway_ip): Likewise.
10998 (grub_pxe_blksize): Likewise.
10999
ec5f98ab 110002009-12-25 Carles Pina i Estany <carles@pina.cat>
11001
11002 * commands/help.c: Include `<grub/i18n.h>'.
11003 (grub_cmd_help): Gettextizze.
11004 (GRUB_MOD_INIT): Likewise.
11005 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
11006 (GRUB_MOD_INIT): Gettextizze.
11007 * commands/search.c: Include `<grub/i18n.h>'.
11008 (options): Gettextizze.
11009 (GRUB_MOD_INIT): Gettextizze.
11010 * lib/arg.c: Include `<grub/i18n.h>'.
11011 (help_options): Gettextizze.
11012 (find_long): Likewise.
11013 (grub_arg_show_help): Likewise.
11014 * normal/dyncmd.c: Include `<grub/i18n.h>'.
11015 (read_command_list): Gettextizze.
11016 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 11017 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 11018
22815526
RM
110192009-12-25 Robert Millan <rmh.grub@aybabtu.com>
11020
11021 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
11022 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
11023 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
11024 (led_status): New variable.
11025 (keyboard_controller_led): New function.
11026 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
11027 update led status for caps lock, num lock and scroll lock.
11028
0ad46fd7
FZ
110292009-12-25 Felix Zielcke <fzielcke@z-51.de>
11030
11031 * util/hostdisk.c (open_device): Fix a comment.
11032
d0e158c2
RM
110332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11034
11035 * util/grub-install.in (host_os): New variable.
11036 * util/i386/efi/grub-install.in (host_os): Likewise.
11037
401c0ad6
RM
110382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11039
11040 * util/mkisofs/write.c (padblock_write): Abort when given an
11041 excedingly large embed image, instead of silently truncating it.
11042
d14d3370
RM
110432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11044
11045 * include/multiboot.h: Indentation fixes.
11046
eeed10b4
RM
110472009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11048
11049 * include/multiboot.h (struct multiboot_aout_symbol_table)
11050 (struct multiboot_elf_section_header_table): New structure
11051 declarations (stolen from GRUB Legacy).
11052 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
11053 table information.
11054
11055 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
11056 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
11057 type aliases.
11058
681c70ab
RM
110592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11060
11061 * include/multiboot.h: Make comments src2texi-friendly.
11062
e4d47d8d
RM
110632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11064
11065 For consistency with [multiboot]/docs/boot.S.
11066
11067 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
11068 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
11069 (MULTIBOOT_MAGIC2): Rename from this ...
11070 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
11071
a0b70bda
RM
110722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
11073
11074 * include/multiboot.h: Remove `<grub/types.h>'.
11075 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
11076 types. Update all users.
11077
61ba42be 110782009-12-25 Carles Pina i Estany <carles@pina.cat>
11079
11080 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
11081 `couldn't' and `can not' by `cannot'.
11082 * commands/i386/pc/drivemap.c: Likewise.
11083 * disk/ata.c: Likewise.
11084 * disk/ieee1275/nand.c: Likewise.
11085 * fs/affs.c: Likewise.
11086 * fs/fat.c: Likewise.
11087 * fs/hfs.c: Likewise.
11088 * fs/hfsplus.c: Likewise.
11089 * fs/iso9660.c: Likewise.
11090 * fs/jfs.c: Likewise.
11091 * fs/minix.c: Likewise.
11092 * fs/reiserfs.c: Likewise.
11093 * fs/sfs.c: Likewise.
11094 * fs/udf.c: Likewise.
11095 * fs/ufs.c: Likewise.
11096 * fs/xfs.c: Likewise.
11097 * loader/powerpc/ieee1275/linux.c: Likewise.
11098 * loader/sparc64/ieee1275/linux.c: Likewise.
11099 * util/grub-probe.c: Likewise.
11100 * util/misc.c: Likewise.
11101
7fd0baee 111022009-12-24 Carles Pina i Estany <carles@pina.cat>
11103
11104 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
11105 grub_errno calls.
11106 * commands/acpi.c: Likewise.
11107 * commands/blocklist.c: Likewise.
11108 * commands/efi/loadbios.c: Likewise.
11109 * commands/i386/pc/drivemap.c: Likewise.
11110 * commands/loadenv.c: Likewise.
11111 * commands/memrw.c: Likewise.
11112 * commands/password.c: Likewise.
11113 * commands/videotest.c: Likewise.
11114 * disk/ata.c: Likewise.
11115 * disk/ata_pthru.c: Likewise.
11116 * disk/dmraid_nvidia.c: Likewise.
11117 * disk/ieee1275/nand.c: Likewise.
11118 * disk/ieee1275/ofdisk.c: Likewise.
11119 * disk/loopback.c: Likewise.
11120 * disk/lvm.c: Likewise.
11121 * disk/mdraid_linux.c: Likewise.
11122 * disk/raid.c: Likewise.
11123 * disk/raid6_recover.c: Likewise.
11124 * disk/scsi.c: Likewise.
11125 * efiemu/main.c: Likewise.
11126 * efiemu/mm.c: Likewise.
11127 * efiemu/pnvram.c: Likewise.
11128 * efiemu/symbols.c: Likewise.
11129 * font/font.c: Likewise.
11130 * fs/cpio.c: Likewise.
11131 * fs/hfsplus.c: Likewise.
11132 * fs/iso9660.c: Likewise.
11133 * fs/jfs.c: Likewise.
11134 * fs/minix.c: Likewise.
11135 * fs/ntfs.c: Likewise.
11136 * fs/ntfscomp.c: Likewise.
11137 * fs/reiserfs.c: Likewise.
11138 * fs/ufs.c: Likewise.
11139 * fs/xfs.c: Likewise.
11140 * gettext/gettext.c: Likewise.
11141 * include/grub/auth.h: Likewise.
11142 * kern/elf.c: Likewise.
11143 * kern/file.c: Likewise.
11144 * kern/ieee1275/init.c: Likewise.
11145 * kern/ieee1275/mmap.c: Likewise.
11146 * kern/ieee1275/openfw.c: Likewise.
11147 * kern/powerpc/dl.c: Likewise.
11148 * kern/sparc64/dl.c: Likewise.
11149 * lib/arg.c: Likewise.
11150 * loader/i386/bsd.c: Likewise.
11151 * loader/i386/bsdXX.c: Likewise.
11152 * loader/i386/efi/linux.c: Likewise.
11153 * loader/i386/efi/xnu.c: Likewise.
11154 * loader/i386/ieee1275/linux.c: Likewise.
11155 * loader/i386/linux.c: Likewise.
11156 * loader/i386/multiboot.c: Likewise.
11157 * loader/i386/pc/linux.c: Likewise.
11158 * loader/i386/pc/multiboot2.c: Likewise.
11159 * loader/i386/xnu.c: Likewise.
11160 * loader/ieee1275/multiboot2.c: Likewise.
11161 * loader/macho.c: Likewise.
11162 * loader/machoXX.c: Likewise.
11163 * loader/multiboot2.c: Likewise.
11164 * loader/multiboot_loader.c: Likewise.
11165 * loader/powerpc/ieee1275/linux.c: Likewise.
11166 * loader/sparc64/ieee1275/linux.c: Likewise.
11167 * loader/xnu.c: Likewise.
11168 * loader/xnu_resume.c: Likewise.
11169 * mmap/i386/pc/mmap.c: Likewise.
11170 * normal/menu_viewer.c: Likewise.
11171 * partmap/acorn.c: Likewise.
11172 * partmap/amiga.c: Likewise.
11173 * partmap/apple.c: Likewise.
11174 * script/lexer.c: Likewise.
11175 * term/gfxterm.c: Likewise.
11176 * term/i386/pc/serial.c: Likewise.
11177 * term/i386/pc/vga.c: Likewise.
11178 * term/ieee1275/ofconsole.c: Likewise.
11179 * term/terminfo.c: Likewise.
11180 * video/bitmap.c: Likewise.
11181 * video/efi_gop.c: Likewise.
11182 * video/efi_uga.c: Likewise.
11183 * video/fb/video_fb.c: Likewise.
11184 * video/i386/pc/vbe.c: Likewise.
11185 * video/readers/tga.c: Likewise.
11186 * video/video.c: Likewise.
11187
0ad46fd7 111882009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
11189
11190 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
11191 * commands/lspci.c: Likewise.
11192 * commands/probe.c: Likewise.
11193 * commands/xnu_uuid.c: Likewise.
11194 * conf/i386-coreboot.rmk: Likewise.
11195 * conf/i386-efi.rmk: Likewise.
11196 * conf/i386-ieee1275.rmk: Likewise.
11197 * conf/i386-pc.rmk: Likewise.
11198 * conf/powerpc-ieee1275.rmk: Likewise.
11199 * conf/sparc64-ieee1275.rmk: Likewise.
11200 * conf/x86_64-efi.rmk: Likewise.
11201 * fs/i386/pc/pxe.c: Likewise.
11202 * gettext/gettext.c: Likewise.
11203 * include/grub/efi/graphics_output.h: Likewise.
11204 * include/grub/i386/pc/memory.h: Likewise.
11205 * kern/env.c: Likewise.
11206 * kern/i386/qemu/startup.S: Likewise.
11207 * lib/i386/pc/biosnum.c: Likewise.
11208 * lib/i386/relocator.c: Likewise.
11209 * lib/i386/relocator_asm.S: Likewise.
11210 * lib/relocator.c: Likewise.
11211 * loader/i386/bsd.c: Likewise.
11212 * loader/i386/multiboot.c: Likewise.
11213 * loader/i386/pc/chainloader.c: Likewise.
11214 * loader/i386/xnu.c: Likewise.
11215 * loader/xnu.c: Likewise.
11216 * normal/main.c: Likewise.
11217 * normal/menu_text.c: Likewise.
11218 * util/getroot.c: Likewise.
11219 * util/grub-mkconfig_lib.in: Likewise.
11220 * util/grub.d/00_header.in: Likewise.
11221 * util/i386/pc/grub-mkimage.c: Likewise.
11222 * util/mkisofs/eltorito.c: Likewise.
11223 * util/mkisofs/exclude.h: Likewise.
11224 * util/mkisofs/hash.c: Likewise.
11225 * util/mkisofs/iso9660.h: Likewise.
11226 * util/mkisofs/joliet.c: Likewise.
11227 * util/mkisofs/mkisofs.c: Likewise.
11228 * util/mkisofs/mkisofs.h: Likewise.
11229 * util/mkisofs/multi.c: Likewise.
11230 * util/mkisofs/name.c: Likewise.
11231 * util/mkisofs/rock.c: Likewise.
11232 * util/mkisofs/tree.c: Likewise.
11233 * util/mkisofs/write.c: Likewise.
11234 * video/efi_gop.c: Likewise.
11235
009ec743
VS
112362009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
11239 size counting.
11240
0ad46fd7 112412009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
11242
11243 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
11244 * genmk.rb (class SCRIPT): Modify the target file instead of source.
11245
d3d30ea0
VS
112462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
11249 (GRUB_MOD_INIT(memrw)): Update help line.
11250
a34f5c70
VS
112512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
11254 Use grub_extcmd_t. All users updated.
11255 (options): New variable.
11256 (grub_cmd_read): Restructure for readability. Support "-v" option.
11257 (grub_cmd_write): Restructure for readability.
11258
0ad46fd7 112592009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
11260
11261 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
11262
0ad46fd7 112632009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
11264
11265 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
11266 with the actual contents of the correspondending make variable.
11267 * util/grub-mkrescue.in (pkglib_DATA): New variable.
11268 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
11269 specifying `*.lst' and `efiemu??.o'
11270
0ad46fd7 112712009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
11272
11273 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
11274 after function name.
11275 Noticed by Rene Engelhard <rene@debian.org>.
11276
dc77a799
VS
112772009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
11280 (options): New variable.
11281 (iospace): Likewise.
11282 (grub_lspci_iter): List IO spaces if "-i" was given.
11283 (grub_cmd_lspci): Parse options.
11284 (GRUB_MOD_INIT(lspci)): Use extcmd.
11285 (GRUB_MOD_FINI(lspci)): Likewise.
11286
0ad46fd7 112872009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
11288
11289 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
11290 `function' keyword.
11291 Patch by Tony Mancill <tmancill@debian.org>.
11292
b5d5993b
VS
112932009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
11294
11295 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
11296 (grub_uhci_portstatus): Likewise.
11297 (grub_uhci_portstatus): Add necessary delay.
11d18281 11298 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 11299
941903f2 113002009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 11301
941903f2 11302 * commands/acpi.c (options): Fix capitalizations and/or full stops.
11303 (GRUB_MOD_INIT): Likewise.
11304 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 11305 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
11306 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 11307 * commands/efi/loadbios.c (enable_rom_area): Likewise.
11308 (enable_rom_area): Likewise.
11309 (GRUB_MOD_INIT): Likewise.
11310 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
11311 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
11312 * commands/handler.c (GRUB_MOD_INIT): Likewise.
11313 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
11314 * commands/hexdump.c (options): Likewise.
11315 * commands/i386/cpuid.c (options): Likewise.
11316 (GRUB_MOD_INIT): Likewise.
11317 * commands/i386/pc/drivemap.c (options): Likewise.
11318 (GRUB_MOD_INIT): Likewise.
11319 * commands/i386/pc/halt (options): Likewise.
11320 (GRUB_MOD_INIT): Likewise.
11321 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
11322 * commands/i386/pc/pxecmd.c (options): Likewise.
11323 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
11324 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
11325 * commands/keystatus.c (options): Likewise.
11326 (GRUB_MOD_INIT): Likewise.
11327 * commands/loadenv.c (options): Likewise.
11328 * commands/ls.c (options): Likewise.
11329 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
11330 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
11331 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
11332 * commands/parttool.c (helpmsg): Likewise.
11333 * commands/probe.c (options): Likewise.
11334 * commands/read.c (GRUB_MOD_INIT): Likewise.
11335 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
11336 * commands/search.c (options): Likewise.
11337 * commands/sleep.c (options): Likewise.
11338 * commands/test.c (GRUB_MOD_INIT): Likewise.
11339 * commands/true.c (GRUB_MOD_INIT): Likewise.
11340 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
11341 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
11342 * lib/arg.c (help_options): Likewise.
e9bbb4e7 11343 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
11344 `$(XGETTEXT)'.
98a50553 11345 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 11346
0ad46fd7 113472009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 11348
ef3c2c3a 11349 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
11350 instead of specifying them explicit.
11351
7922f68b
RM
113522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11353
11354 * NEWS: Add grub-probe support for GNU/Hurd.
11355
537ce47f
RM
113562009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11357
11358 * NEWS: gettext was added after 1.97.
11359
9b214e3a
RM
113602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11361
11362 * util/mkisofs/msdos_partition.h: New file (based on
11363 include/grub/msdos_partition.h).
11364 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
11365 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
11366 (ld_options, main): Recognize --protective-msdos-label.
11367 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
11368 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
11369 (padblock_write): If `use_protective_msdos_label' is set, patch a
11370 protective DOS-style label in the output image.
11371
11372 * util/grub-mkrescue.in: Use --protective-msdos-label.
11373
e9309813
RM
113742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11375
11376 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
11377 boot.
11378
0ae56929
RM
113792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11380
11381 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
11382 variables.
11383 (ld_options, main): Recognize `--embedded-boot'.
11384 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
11385 declarations.
11386 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
11387 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
11388 (padblock_write): Likewise. Rewrite to support embedded boot image.
11389
11390 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
11391 for BIOS-based disk boot instead of only ElTorito.
11392
b15937b1
RM
113932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11394
11395 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
11396 build (not needed for bootstrap).
11397
52cc3ce0
RM
113982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11399
11400 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
11401 from i386-pc build (not needed for bootstrap).
11402 Rewrite a pair of strings.
11403
36f5ff04
RM
114042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
11405
11406 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
11407
973c6c85 114082009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
11409
11410 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
11411
05d21547
AB
114122009-12-21 Andreas Born <futur.andy@googlemail.com>
11413
11414 * kern/env.c (grub_env_context_open): Mark exported variable for
11415 reexport.
11416
0175d51f
AB
114172009-12-21 Andreas Born <futur.andy@googlemail.com>
11418
11419 * kern/env.c (grub_env_export): Create nonexistent variables before
11420 exporting.
11421
7f39d92f 114222009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 11423
7f39d92f 11424 * include/grub/auth.h: Include `<grub/i18n.h>'.
11425 (GRUB_GET_PASSWORD): Gettextizze string.
11426 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
11427 menu_text.c.
11428 (grub_utf8_to_ucs4_alloc): Fix indentation.
11429 (grub_print_ucs4): Likewise.
11430 (grub_getstringwidth): Likewise.
11431 (print_message_indented): New declaration.
11432 * normal/auth.c: Include `<grub/i18n.h>'.
11433 (grub_auth_check_authentication): Gettexttize string.
11434 * normal/cmdline.c: Include `<grub/i18n.h>'.
11435 (grub_cmdline_get): Gettextizze.
11436 * normal/color.c: Include `<grub/i18n.h>'.
11437 (grub_parse_color_name_pair): Gettexttize strings.
11438 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
11439 string (use `print_message_indented').
11440 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
11441 `include/grub/normal.h'.
11442 (print_message_indented): Renamed to ...
11443 (grub_print_message_indented): ... this. Remove `static' qualifer (now
11444 used in normal/main.c).
11445 (print_message): Use `grub_print_message_indented' instead of
11446 `print_message_indented'.
11447 (print_timeout): Likewise.
11448 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
11449 (grub_normal_print_device_info): Gettexttize strings.
11450 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
11451
3041d898
VS
114522009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11453
11454 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
11455 of arguments. Return number of tokens and not arguments. All users
11456 updated.
11457
de15bf8e
VS
114582009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
11461 non-MSDOS paritions.
11462
e0a6ca52
VS
114632009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * include/grub/types.h (UNUSED): Removed since it conflicts with
11466 NetBSD headers. All users changed to direct __attribute__ ((unused)).
11467 Reported by Grégoire Sutre.
11468
b99518d1 114692009-12-19 Carles Pina i Estany <carles@pina.cat>
11470
11471 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
11472 (grub_print_ucs4_alloc): Likewise.
11473 (grub_getstringwidth): Likewise.
11474 * normal/main.c (grub_normal_init_page): Gettextize version string.
11475 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
11476 (getstringwidth): Renamed to ...
11477 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
11478 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
11479 (grub_print_ucs4): Remove `static' qualifer (now used in
11480 normal/main.c).
11481 * po/POTFILES: Add normal/main.c.
11482
bfd5e52b 114832009-12-19 Carles Pina i Estany <carles@pina.cat>
11484
11485 * normal/menu_text.c (STANDARD_MARGIN): New macro.
11486 (print_message_indented): Add `margin_left' and `margin_right'
11487 parameters.
11488 (print_message): Update `print_message_indented' calls. Adds '\n' to the
11489 strings.
11490 (print_timeout): Use `print_message_indented' to print the message.
11491 Deletes `second_stage' parameter.
11492 (run_menu): Update `print_timeout' calls.
11493
5a1ad2b9
VS
114942009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 Fix console palette on OpenFirmware.
11497
11498 * term/ieee1275/ofconsole.c (MAX): Removed.
11499 (colors): Redone based on VGA palette.
11500 (grub_ofconsole_setcolor): Discard brightness bit since only 8
11501 colors are supported.
11502 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
11503
b045f00a
VS
115042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 Fix potential EfiEmu double prepare.
11507
11508 * efiemu/main.c (prepared): New variable
11509 (grub_efiemu_unload): Set prepare to '0'.
11510 (grub_efiemu_prepare): Return if already prepared. Set prepared.
11511
11512 set_virtual_address_map support.
11513
11514 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
11515 prototype.
11516 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
11517 prototype.
11518 (grub_efiemu_crc32): Likewise.
11519 (grub_efiemu_crc64): Likewise.
11520 (grub_efiemu_set_virtual_address_map): Likewise.
11521 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
11522 New definition.
11523 (grub_autoefi_set_virtual_address_map): Likewise.
11524 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
11525 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
11526 Restructure flow to accomodate it.
11527 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
11528 (grub_efiemu_crc): Recompute CRC32.
11529 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
11530 (efiemu_ptv_relocated): ... this. Made global. All users updated.
11531 * efiemu/symbols.c (relocated_handle): New variable.
11532 (grub_efiemu_free_syms): Free relocated_handle.
11533 (grub_efiemu_alloc_syms): Allocate relocated_handle.
11534 (grub_efiemu_write_sym_markers): New function.
11535 (grub_efiemu_set_virtual_address_map): Likewise.
11536
11537 Newer XNU parameters.
11538
11539 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
11540 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
11541 (grub_xnu_fill_devicetree): New prototype.
11542 (grub_xnu_heap_real_start): New variable.
11543 * loader/xnu.c (get_name_ptr): New function.
11544 (grub_xnu_load_driver): Fill namelen and name.
11545
11546 64-bit xnu support.
11547
11548 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
11549 and 'loader/macho64.c'.
11550 * conf/i386-pc.rmk: Likewise.
11551 * conf/x86_64-efi.rmk: Likewise.
11552 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
11553 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
11554 * include/grub/macho.h (grub_macho_segment64): New structure.
11555 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
11556 (grub_macho_size32): ... to this.
11557 (grub_macho32_get_entry_point): Renamed from ...
11558 (grub_macho_get_entry_point32): ... to this.
11559 (grub_macho_contains_macho64): New prototype.
11560 (grub_macho_size64): Likewise.
11561 (grub_macho_get_entry_point64): Likewise.
11562 (grub_macho32_load): Renamed from ...
11563 (grub_macho_load32): ... to this.
11564 (grub_macho32_filesize): Renamed from ...
11565 (grub_macho_filesize32): ... to this.
11566 (grub_macho32_readfile): Renamed from ...
11567 (grub_macho_readfile32): ... to this.
11568 (grub_macho_filesize64): New prototype.
11569 (grub_macho_readfile64): Likewise.
11570 (grub_macho_parse32): Likewise.
11571 (grub_macho_parse64): Likewise.
11572 * loader/macho.c: Split into ...
11573 * loader/machoXX.c: ... and this. Replace 32 with XX.
11574 * loader/macho32.c: New file.
11575 * loader/macho64.c: Likewise.
11576 * loader/xnu.c (grub_xnu_is_64bit): New variable.
11577 (grub_cmd_xnu_kernel): Make 32-bit only.
11578 (grub_cmd_xnu_kernel64): New function.
11579 (grub_xnu_load_driver): Support Mach-O 64.
11580 (grub_cmd_xnu_mkext): Likewise.
11581 * util/grub.d/30_os-prober.in (osx_entry): New function.
11582 Generate entries for 64-bit boot too.
11583
11584 Eliminate ad-hoc tree format in XNU and EfiEmu.
11585
11586 * efiemu/main.c (grub_efiemu_prepare): Update comment.
11587 * efiemu/pnvram.c: Rewritten to use environment variables.
11588 All users updated.
11589
11590 Inline utf16_to_utf8.
11591
11592 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
11593 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
11594 All users updated.
11595 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
11596
11597 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
11598 * commands/usbtest.c (grub_usb_get_string): ... move here.
11599 (usb_print_str): Fix error handling.
11600 * include/grub/usb.h (grub_usb_get_string): Remove.
11601
11602 UTF-8 to UTF-16 transformation.
11603
11604 * conf/common.rmk (pkglib_MODULES): Add charset.mod
11605 (charset_mod_SOURCES): New variable.
11606 (charset_mod_CFLAGS): Likewise.
11607 (charset_mod_LDFLAGS): Likewise.
11608 * include/grub/utf.h: New file.
11609 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
11610
11611 Support for device properties.
11612
11613 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
11614 (grub_xnu_devprop_device_header): Likewise.
11615 (grub_xnu_devprop_device_descriptor): Likewise.
11616 (grub_xnu_devprop_add_device): New prototype.
11617 (grub_xnu_devprop_remove_device): Likewise.
11618 (grub_xnu_devprop_remove_property): Likewise.
11619 (grub_xnu_devprop_add_property_utf8): Likewise.
11620 (grub_xnu_devprop_add_property_utf16): Likewise.
11621 (grub_cpu_xnu_init): Likewise.
11622 (grub_cpu_xnu_fini): Likewise.
11623 (grub_cpu_xnu_unload): Likewise.
11624 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
11625 (property_descriptor): Likewise.
11626 (devices): New variable.
11627 (grub_xnu_devprop_remove_property): New function.
11628 (grub_xnu_devprop_add_device): Likewise.
11629 (grub_xnu_devprop_remove_device): Likewise.
11630 (grub_xnu_devprop_add_property): Likewise.
11631 (grub_xnu_devprop_add_property_utf8): Likewise.
11632 (grub_xnu_devprop_add_property_utf16): Likewise.
11633 (hextoval): Likewise.
11634 (grub_cpu_xnu_fill_devprop): Likewise.
11635 (grub_cmd_devprop_load): Likewise.
11636 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
11637 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
11638 (cmd_devprop_load): New variable.
11639 (grub_cpu_xnu_init): New function.
11640 (grub_cpu_xnu_fini): Likewise.
11641 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
11642 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
11643 (grub_cmd_xnu_devtree): Likewise.
11644 (hextoval): New function.
11645 (unescape): Likewise.
11646 (grub_xnu_fill_devicetree): Likewise.
11647
11648 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
11649 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
11650
0945f181
VS
116512009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
11652
11653 Workaround for broken ATI VBE.
11654
11655 * video/i386/pc/vbe.c (last_set_mode): New variable.
11656 (grub_vbe_set_video_mode): Set 'last_set_mode'.
11657 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
11658 (grub_video_vbe_setup): Don't check for reserved flag.
11659
0ad46fd7 116602009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
11661
11662 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
11663 the `find' command.
11664
c179ebe4
VS
116652009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
11666
11667 UUID support for HFS.
11668
11669 * fs/hfs.c (grub_hfs_uuid): New function.
11670 (grub_hfs_fs): New value .uuid.
11671 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
11672
0ad46fd7 116732009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
11674
11675 Fix a segfault with parsing unknown long options.
11676
11677 * util/grub-mkrelpath.c (options): Zero terminate it.
11678
c4a3e41a
CPE
116792009-12-13 Carles Pina i Estany <carles@pina.cat>
11680
11681 * include/grub/misc.h (grub_puts): New declaration.
11682 (grub_puts_): Likewise.
a22008a6 11683 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
11684 (grub_puts_): Likewise.
11685
2e8a7602
RM
116862009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11687
11688 * util/grub-probe.c (probe): Improve error message.
11689
b50b77b9
RM
116902009-12-13 Robert Millan <rmh.grub@aybabtu.com>
11691
11692 * loader/i386/multiboot_elfxx.c
11693 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
11694 initialization.
11695
116962009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 Relocator framework
11699
11700 * loader/i386/xnu_helper.S: Removed. All users updated.
11701 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
11702 (relocator_mod_SOURCES): New variable.
11703 (relocator_mod_CFLAGS): Likewise.
11704 (relocator_mod_LDFLAGS): Likewise.
11705 (relocator_mod_ASFLAGS): Likewise.
11706 * conf/x86_64.rmk: Likewise.
11707 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
11708 (grub_multiboot_payload_entry_offset): Likewise.
11709 (grub_multiboot_forward_relocator): Likewise.
11710 (grub_multiboot_forward_relocator_end): Likewise.
11711 (grub_multiboot_backward_relocator): Likewise.
11712 (grub_multiboot_backward_relocator_end): Likewise.
11713 (grub_multiboot_payload_eip): New variable.
11714 (grub_multiboot_payload_orig): Likewise.
11715 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
11716 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
11717 * include/grub/i386/memory.h
11718 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
11719 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
11720 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
11721 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
11722 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
11723 * include/grub/i386/relocator.h: New file.
11724 * include/grub/x86_64/relocator.h: Likewise.
11725 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
11726 (XNU_RELOCATOR): New macro.
11727 (grub_xnu_launcher_start): Remove.
11728 (grub_xnu_launcher_end): Likewise.
11729 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
11730 (grub_xnu_heap_real_start): Remove.
11731 (grub_xnu_heap_start): Change to void *. All users updated.
11732 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
11733 * lib/i386/relocator.c: New file.
11734 * lib/i386/relocator_asm.S: Likewise.
11735 * lib/i386/relocator_backward.S: Likewise.
11736 * lib/mips/relocator.c: Likewise.
11737 * lib/mips/relocator_asm.S: Likewise.
11738 * lib/relocator.c: Likewise.
11739 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
11740 (entry): Removed.
11741 (playground): Likewise.
11742 (grub_multiboot_payload_orig): New variable.
11743 (grub_multiboot_payload_dest): Likewise.
11744 (grub_multiboot_payload_size): Likewise.
11745 (grub_multiboot_payload_eip): Likewise.
11746 (grub_multiboot_payload_esp): Likewise.
11747 (grub_multiboot_boot): Use grub_relocator32_boot.
11748 (grub_multiboot_unload): Free relocators.
11749 (grub_multiboot): Setup stack. Use relocators.
11750 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
11751 (grub_multiboot_load_elfXX): Use relocators.
11752 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
11753 (grub_multiboot_payload_size): Likewise.
11754 (grub_multiboot_payload_dest): Likewise.
11755 (grub_multiboot_payload_entry_offset): Likewise.
11756 (grub_multiboot_forward_relocator): Likewise.
11757 (grub_multiboot_backward_relocator): Likewise.
11758 (grub_multiboot_real_boot): Likewise.
11759 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
11760 (grub_xnu_entry_point): Likewise.
11761 (grub_xnu_arg1): Likewise.
11762 (grub_xnu_stack): Likewise.
11763 (grub_xnu_launch): Removed.
11764 (grub_xnu_boot_resume): New function.
11765 (grub_xnu_boot): Use relocators.
11766 * loader/i386/xnu_helper.S: Removed.
11767 * loader/xnu.c (grub_xnu_heap_start): New variable.
11768 (grub_xnu_heap_size): Likewise.
11769 (grub_xnu_heap_malloc): Use relocators.
11770 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
11771
29eb90c6
VS
117722009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
11775 anything.
11776
31027430
CPE
117772009-12-13 Carles Pina i Estany <carles@pina.cat>
11778
11779 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
11780 GRUB_ERR_NONE before calling grub_env_set.
11781
dc0c71d9
RM
117822009-12-12 Robert Millan <rmh@aybabtu.com>
11783
11784 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
11785 * genmk.rb (video): New variable.
11786 (CLEANFILES, VIDEOFILES): Add #{video}.
11787 (#{video}): New target rule.
11788 * genvideolist.sh: New file.
11789 * Makefile.in (pkglib_DATA): Add video.lst.
11790 (video.lst): New target rule.
11791 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
11792 `video.lst'.
11793 * util/grub.d/30_os-prober.in: Replace `vbe' with
11794 ${GRUB_VIDEO_BACKEND}.
11795
2a4bfcf0
RM
117962009-12-11 Robert Millan <rmh.grub@aybabtu.com>
11797
11798 * THANKS: Add David Miller.
11799
2a3aa4d5
RM
118002009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 libpciaccess support.
11803
11804 * Makefile.in (LIBPCIACCESS): New variable.
11805 (enable_grub_emu_pci): Likewise.
11806 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
11807 util/pci.c and commands/lspci.c.
11808 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
11809 * configure.ac (grub-emu-pci): New option.
11810 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
11811 (grub_pci_device_unmap_range): Likewise.
11812 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
11813 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
11814 (grub_pci_address_t) [!GRUB_UTIL]: New type.
11815 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
11816 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
11817 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
11818 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
11819 * include/grub/pciutils.h: New file.
11820 * util/pci.c: Likewise.
11821
0ad46fd7 118222009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
11823
11824 * util/misc.c: Don't include <errno.h> twice.
11825
0ad46fd7 118262009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
11827
11828 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
11829 name in an error message.
11830 (grub_biosdisk_rw): Likewise.
11831
2e59983c
VS
118322009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11833
11834 Eliminate NTFS 4Gib barrier.
11835
11836 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
11837 (read_run_data): Likewise.
11838 (grub_ntfs_read_run_list): Likewise.
11839 (grub_ntfs_read_block): Likewise.
11840 (grub_ntfs_iterate_dir): Likewise.
11841 (read_mft): Likewise.
11842 (read_data): Likewise.
11843 Use COM_LOG_LEN.
11844 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
11845 to avoid 64-bit division
11846 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
11847 (grub_ntfs_rlst): Use grub_disk_addr_t.
11848
71ee178a
VS
118492009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11850
11851 Eliminate grub-fstest 4Gib barrier.
11852
11853 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
11854 (read_file): Fix error reporting.
11855
2520d4b8
VS
118562009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11857
11858 Eliminate hexdump 4Gib barrier.
11859
11860 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
11861 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
11862
e1f27065
VS
118632009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
11864
11865 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
11866 Fixes amarsh bug.
11867
1a0f7f45
RM
118682009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
11869
11870 Remove miscellaneous files in distclean target.
11871
11872 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
11873
c631d9fb
CW
118742009-12-09 Colin Watson <cjwatson@ubuntu.com>
11875
11876 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
11877 if they're already set. This resolves the conflict between my
11878 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
11879 fixing the --grub-probe option again.
11880 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
11881 change on 2009-10-06, so that we now once again source
11882 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
11883
7c7b6106
RM
118842009-12-08 Robert Millan <rmh.grub@aybabtu.com>
11885
11886 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
11887 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
11888 `util/devicemap.c'.
11889
e3069ec1
CPE
118902009-12-08 Carles Pina i Estany <carles@pina.cat>
11891
11892 * include/grub/misc.h (grub_printf_): New declaration.
11893 * kern/misc.c (grub_printf_): New definition.
11894 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
11895 instead of `grub_printf' and `_'.
11896 * normal/menu_entry.c (store_completion): Likewise.
11897 (run): Likewise.
11898 (grub_menu_entry_run): Likewise.
11899 * normal/menu_text.c (grub_wait_after_message): Likewise.
11900 (notify_booting): Likewise.
11901 (notify_fallback): Likewise.
11902 (notify_execution_failure): Likewise.
11903
d6ceebf1
CW
119042009-12-07 Colin Watson <cjwatson@ubuntu.com>
11905
11906 * configure.ac: Check for vasprintf.
11907 * util/misc.c (asprintf): Move allocation from here ...
11908 (vasprintf): ... to here. New function.
11909 (xasprintf): New function.
11910 * include/grub/util/misc.h (vasprintf, xasprintf): Add
11911 prototypes.
11912 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11913 * util/grub-mkfont.c (write_font): Likewise.
11914 * util/grub-probe.c (probe): Likewise.
11915 * util/hostdisk.c (make_device_name): Likewise.
11916
de6daa8b
DM
119172009-12-06 David S. Miller <davem@sunset.davemloft.net>
11918
11919 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
11920 anything even prefixed with 'cdrom' as a cdrom.
11921
0ad46fd7 119222009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
11923
11924 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
11925 mount points.
11926
98d3dc02
CPE
119272009-12-05 Carles Pina i Estany <carles@pina.cat>
11928
11929 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
11930 grub_gettext_msg_list.
11931 (grub_gettext_gettranslation_from_position): Return const char *
11932 and not char *.
a2c1332b 11933 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
11934 returns from the list if existing there.
11935 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
11936 (grub_gettext_delete_list): Delete the list.
11937 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
11938 lang environment variable is changed.
11939 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
11940
b283f108
VS
119412009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 Rename kernel.mod to kernel.img.
11944
11945 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
11946 (kernel_mod_EXPORTS): Rename to ...
11947 (kernel_img_EXPORTS): ... this.
11948 (kernel_mod_SOURCES): Rename to ...
11949 (kernel_img_SOURCES): ... this.
11950 (kernel_mod_HEADERS): Rename to ...
11951 (kernel_img_HEADERS): ... this. All users updated.
11952 (kernel_mod_CFLAGS): Rename to ...
11953 (kernel_img_CFLAGS): ... this.
11954 (kernel_mod_ASFLAGS): Rename to ...
11955 (kernel_img_ASFLAGS): ... this.
11956 (kernel_mod_LDFLAGS): Rename to ...
11957 (kernel_img_LDFLAGS): ... this.
11958 * conf/x86_64-efi.rmk: Likewise.
11959 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
11960 (read_kernel_image): ... this. All users updated.
11961 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
11962
69055f8a
CPE
119632009-12-05 Carles Pina i Estany <carles@pina.cat>
11964
11965 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
11966 (print_spaces): New function.
11967 (grub_print_ucs4): New function.
11968 (getstringwidth): New function.
11969 (print_message_indented): New function.
11970 (print_message): Gettexttize strings using print_message_indented.
11971 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
11972 width.
11973 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 11974 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
11975 Gettextize.
11976 * normal/menu_entry.c (store_completion): Cleanup the gettextized
11977 string.
11978 (run): Likewise.
11979 (grub_menu_entry_run): Likewise.
11980 * PO/POTFILES: Add normal/menu_entry.c.
11981
f616f51c
VS
119822009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
11983
11984 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
11985
57bbe3be
CPE
119862009-12-05 Carles Pina i Estany <carles@pina.cat>
11987
11988 * util/grub-install.in: Install gettext .mo files.
11989 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
11990
013d67a1
CPE
119912009-12-05 Carles Pina i Estany <carles@pina.cat>
11992
11993 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
11994 grub_dprintf.
11995
fb954db0
RM
119962009-12-05 Robert Millan <rmh.grub@aybabtu.com>
11997
11998 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
11999 non-firmware-dependant one in realmode.S takes precedence.
12000
6b8474f8
RM
120012009-12-04 Robert Millan <rmh.grub@aybabtu.com>
12002
12003 * commands/halt.c: Replace misc arch-specific headers with
12004 `<grub/misc.h>'.
12005 * commands/reboot.c: Likewise.
12006 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
12007 `<grub/misc.h>'.
12008 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
12009 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
12010 (kernel_img_SOURCES): ... to here.
12011
12012 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
12013 * include/grub/i386/pc/init.h: Likewise.
12014 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12015 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12016
12017 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
12018
12019 * include/grub/i386/halt.h: Remove.
12020 * include/grub/i386/reboot.h: Likewise.
12021
12022 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
12023
4b2e6ca2
DM
120242009-12-03 David S. Miller <davem@sunset.davemloft.net>
12025
12026 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
12027 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
12028 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
12029 "progname.h"
12030 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12031 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12032 (usage): Add missing comma in printf.
12033
5239348f
RM
120342009-12-02 Robert Millan <rmh.grub@aybabtu.com>
12035
12036 Use the same reboot approach on i386 coreboot and qemu as we do on
12037 BIOS.
12038
12039 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
12040 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
12041 * kern/i386/reboot.c: Remove.
12042 * include/grub/i386/reboot.h (grub_reboot): Export function.
12043 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
12044 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
12045 0xf000:0xfff0 instead of 0xffff:0x0000.
12046 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
12047 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
12048
ef34cbd4
RM
120492009-11-30 Robert Millan <rmh.grub@aybabtu.com>
12050
12051 Fix $srcdir != $objdir build.
12052
12053 * Makefile.in (po/%.po): Rewrite as ...
12054 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
12055
dc9837ea
ST
120562009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
12057
12058 Fix GNU/Hurd grub-install crash.
12059 * util/grub-probe.c (probe): Try to access `path' only when it is not
12060 NULL.
12061
2f857f98
VS
120622009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12063
12064 Correct module naming.
12065
12066 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12067 (GRUB_MOD_INIT(efi_uga)): ... to this
12068 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12069 (GRUB_MOD_FINI(efi_uga)): ... to this
12070 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
12071 (GRUB_MOD_INIT(efi_gop)): ... to this
12072 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
12073 (GRUB_MOD_FINI(efi_gop)): ... to this
12074
c5448046
RM
120752009-11-28 Robert Millan <rmh.grub@aybabtu.com>
12076
12077 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
12078 translatable.
12079 (usage): Translate `arg' strings using gettext().
12080 Thanks to Jordi Mallach for the suggestion.
12081
c85184ad
VS
120822009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12083
12084 GOP support. Based on patch from Bean
12085 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12086
12087 * video/efi_gop.c: New file.
12088 * include/grub/efi/graphics_output.h: Likewise.
12089 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
12090 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12091 variables.
12092 * conf/x86_64-efi.rmk: Likewise.
12093
8a4c48d8
VS
120942009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 Rename efi_fb to efi_uga.
12097
12098 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12099 'efi_uga.mod'.
12100 (efi_fb_mod_SOURCES): Rename this ...
12101 (efi_uga_mod_SOURCES): ... to this.
12102 (efi_fb_mod_CFLAGS): Rename this ...
12103 (efi_uga_mod_CFLAGS): ... to this.
12104 (efi_fb_mod_LDFLAGS): Rename this ...
12105 (efi_uga_mod_LDFLAGS): ... to this.
12106 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
12107 'efi_uga.mod'.
12108 (efi_fb_mod_SOURCES): Rename this ...
12109 (efi_uga_mod_SOURCES): ... to this.
12110 (efi_fb_mod_CFLAGS): Rename this ...
12111 (efi_uga_mod_CFLAGS): ... to this.
12112 (efi_fb_mod_LDFLAGS): Rename this ...
12113 (efi_uga_mod_LDFLAGS): ... to this.
12114 * video/efi_fb.c: Move this ...
12115 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
12116
fb6c1a7b
RM
121172009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12118
12119 * po/README: New file. Explain our PO file workflow.
12120
3bc7896c
RM
121212009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12122
12123 * po/ChangeLog: Remove. Move relevant entries back to ...
12124 * ChangeLog: ... here.
12125 * po/ca.po: Remove (now handled by TLP).
12126 * po/id.po: Likewise.
12127 * po/zh_CN.po: Likewise.
12128 * Makefile.in (LINGUAS): Initialize in a way that supports
12129 empty set.
12130
9ed4841d
RM
121312009-11-27 Robert Millan <rmh.grub@aybabtu.com>
12132
12133 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
12134 reliing on po/LINGUAS.
12135 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
12136 (po/%.po): ... this.
12137
0ad46fd7 121382009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
12139
12140 * util/i386/efi/grub-mkimage.c: Include "progname.h".
12141 (main): Use `program_name' instead of nonexistent `progname'.
12142
e30dd392
FZ
121432009-11-26 Felix Zielcke <fzielcke@z-51.de>
12144
12145 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12146 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
12147
7656de4f
RM
121482009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12149
12150 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
12151 commit.
12152 * conf/i386-efi.rmk: Likewise.
12153 * conf/i386-ieee1275.rmk: Likewise.
12154 * conf/powerpc-ieee1275.rmk: Likewise.
12155 * conf/sparc64-ieee1275.rmk: Likewise.
12156 * conf/x86_64-efi.rmk: Likewise.
12157
db77c4d4
FZ
121582009-11-26 Felix Zielcke <fzielcke@z-51.de>
12159
12160 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
12161
a755bb04
FZ
121622009-11-26 Felix Zielcke <fzielcke@z-51.de>
12163
12164 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
12165
8a4c07fd
RM
121662009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12167
12168 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
12169 (grub_mkdevicemap_SOURCES): New variable.
12170 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
12171 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
12172 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
12173 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
12174 (grub_mkdevicemap_SOURCES): Remove.
12175 * conf/i386-efi.rmk: Likewise.
12176 * conf/i386-ieee1275.rmk: Likewise.
12177 * conf/i386-pc.rmk: Likewise.
12178 * conf/powerpc-ieee1275.rmk: Likewise.
12179 * conf/sparc64-ieee1275.rmk: Likewise.
12180 * conf/x86_64-efi.rmk: Likewise.
12181 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
12182 (usage): Fix strings to use `program_name'.
12183 (main): Initialize gettext.
12184 * util/grub-editenv.c: Likewise.
12185 * util/grub-emu.c: Likewise.
12186 * util/grub-fstest.c: Likewise.
12187 * util/grub-mkdevicemap.c: Likewise.
12188 * util/grub-mkfont.c: Likewise.
12189 * util/grub-mkrelpath.c: Likewise.
12190 * util/grub-pe2elf.c: Likewise.
12191 * util/grub-probe.c: Likewise.
12192 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
12193 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
12194 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12195
12196 * util/misc.c: Include `"progname.h"'.
12197 (progname): Remove variable.
12198 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
12199
6f61ed55
FZ
122002009-11-25 Felix Zielcke <fzielcke@z-51.de>
12201
12202 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
12203 printf and print a newline after the menuentry header line.
12204 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12205
f022876b
FZ
122062009-11-25 Felix Zielcke <fzielcke@z-51.de>
12207
12208 autoconf >= 2.60 support $(localedir).
12209
12210 * INSTALL: Note that autoconf 2.60 is required.
12211 * configure.ac (AC_PREREQ): Bump to 2.60.
12212 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
12213 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12214
6717926e
YB
122152009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
12216
12217 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
12218 aclocal is run.
12219
08806a54
RM
122202009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12221
12222 * normal/main.c (grub_normal_read_line): Fix off-by-one
12223 buffer overflow.
12224
13b33fba
RM
122252009-11-25 Robert Millan <rmh.grub@aybabtu.com>
12226
12227 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
12228 "parser.grub" in grub_command_execute() call.
12229
4a8572e9
CPE
122302009-11-24 Carles Pina i Estany <carles@pina.cat>
12231
12232 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
12233 * conf/i386-efi.rmk: Likewise.
12234 * conf/i386-ieee1275.rmk: Likewise.
12235 * conf/i386-pc.rmk: Likewise.
12236 * conf/powerpc-ieee1275.rmk: Likewise.
12237 * conf/sparc64-ieee1275.rmk: Likewise.
12238 * conf/x86_64-efi.rmk: Likewise.
12239 * gettext/gettex.c: Include <grub/i18n.h>.
12240 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
12241 here ...
12242 * include/grub/i18n.h: ... to here
12243 * include/grub/i18n.h: ... to here.
12244 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 12245 (grub_gettext_dummy): Move above user.
4a8572e9 12246
bee48093
FZ
122472009-11-24 Felix Zielcke <fzielcke@z-51.de>
12248
12249 * util/Makefile.in (install-local): Convert a `for' into a normal
12250 shell expansion.
12251
a031e91c
RM
122522009-11-24 Robert Millan <rmh.grub@aybabtu.com>
12253
12254 * autogen.sh: Add automake call.
12255 * config.guess: Remove.
12256 * config.sub: Likewise.
12257 * install-sh: Likewise.
12258
26bec39d
FZ
122592009-11-24 Felix Zielcke <fzielcke@z-51.de>
12260
12261 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
12262
8e2532fd
FZ
122632009-11-24 Felix Zielcke <fzielcke@z-51.de>
12264
12265 * util/Makefile.in (install-local): Convert a make `$(foreach)'
12266 function to a normal shell `for'.
12267
fefa1b7d
FZ
122682009-11-24 Felix Zielcke <fzielcke@z-51.de>
12269
12270 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12271
4501250b
FZ
122722009-11-24 Felix Zielcke <fzielcke@z-51.de>
12273
12274 * util/grub-mkrelpath.c: New file.
12275 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
12276 (grub_mkrelpath_SOURCES): New variable.
12277 * include/grub/util/misc.h: New function prototype.
12278 * util/misc.c (make_system_path_relative_to_its_root): New function.
12279
12280 * util/grub-mkconfig_lib.in (bindir): New variable.
12281 (grub_mkrelpath): Likewise.
12282 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
12283
12284 * util/probe.c (probe): Make the file path relative to its root.
12285 Change a info message to use the GRUB path. Enable again the
12286 check if we can read the file with GRUB facilities.
12287
12288 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
12289 to its root.
12290
11d9778b
FZ
122912009-11-24 Felix Zielcke <fzielcke@z-51.de>
12292
12293 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
12294 platform.
12295
4465287d
FZ
122962009-11-24 Felix Zielcke <fzielcke@z-51.de>
12297
12298 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
12299 strncmp().
12300
62b47f22
FZ
123012009-11-24 Felix Zielcke <fzielcke@z-51.de>
12302
12303 * util/getroot.c (grub_util_is_dmraid): New function.
12304 (grub_util_get_dev_abstraction): Treat dmraid and multipath
12305 devices as normal ones, not as LVM.
12306
1eafb9b9 123072009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
12308
12309 * conf/common.rmk: Add grub-gettext_lib target and updates
12310 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
12311 LDFLAGS.
12312 * gettext/gettext.c: New file. (Reads mo files).
12313 * include/grub/file.h (grub_file_pread): New prototype.
12314 * include/grub/i18n.h (_): New prototype.
12315 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
12316 prototypes.
12317 * kern/misc.c (grub_gettext_dummy): New function.
12318 * normal/menu_text.c: Include <grub/i18n.h>.
12319 * normal/menu_text.c (print_timeout): Gettexttize string.
12320 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
12321 * po/POTFILES: Add `normal/menu_text.c'.
12322 * po/ca.po: Add new translations.
c3ea6bd4
CPE
12323 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
12324 gettext module and defines locale_dir and lang in grub.cfg.
12325 * NEWS: Add gettext support.
12326
0fdb2568
RM
123272009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12328
12329 * util/hostdisk.c: Include `<grub/i18n.h>'.
12330 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
12331 (make_device_name): Rewrite using asprintf.
12332 (convert_system_partition_to_system_disk): Replace 0 with NULL.
12333 (find_system_device): If a device is not found, generate one just
12334 by reusing the OS path name.
12335 (read_device_map): Make it permissible for device.map not to exist.
12336
f515aa62
RM
123372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12338
12339 * script/sh/execute.c: Move from here ...
12340 * script/execute.c: ... to here. Update all users.
12341 * script/sh/function.c: Move from here ...
12342 * script/function.c: ... to here. Update all users.
12343 * script/sh/lexer.c: Move from here ...
12344 * script/lexer.c: ... to here. Update all users.
12345 * script/sh/main.c: Move from here ...
12346 * script/main.c: ... to here. Update all users.
12347 * script/sh/parser.y: Move from here ...
12348 * script/parser.y: ... to here. Update all users.
12349 * script/sh/script.c: Move from here ...
12350 * script/script.c: ... to here. Update all users.
12351
f84b481b
RM
123522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12353
12354 * configure.ac: Detect all `emu' platforms. Define
12355 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
12356 --enable-grub-emu logic. Disable include/grub/machine
12357 symlink on `emu' platforms.
12358
12359 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
12360 * gensymlist.sh.in: Likewise.
12361
12362 * include/grub/i386/coreboot/machine.h: Remove file.
12363 * include/grub/i386/efi/machine.h: Likewise.
12364 * include/grub/i386/ieee1275/machine.h: Likewise.
12365 * include/grub/i386/pc/machine.h: Likewise.
12366 * include/grub/i386/qemu/machine.h: Likewise.
12367 * include/grub/powerpc/ieee1275/machine.h: Likewise.
12368 * include/grub/sparc64/ieee1275/machine.h: Likewise.
12369 * include/grub/x86_64/efi/machine.h: Likewise.
12370
12371 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
12372 * commands/halt.c: Likewise.
12373 * commands/reboot.c: Likewise.
12374 * include/grub/autoefi.h: Likewise.
12375 * include/grub/i386/at_keyboard.h: Likewise.
12376 * include/grub/i386/kernel.h: Likewise.
12377 * include/grub/i386/loader.h: Likewise.
12378 * include/grub/i386/pc/memory.h: Likewise.
12379 * kern/dl.c: Likewise.
12380 * kern/i386/coreboot/init.c: Likewise.
12381 * loader/i386/bsd.c: Likewise.
12382 * loader/i386/linux.c: Likewise.
12383 * loader/multiboot_loader.c: Likewise.
12384 * term/i386/pc/serial.c: Likewise.
12385 * term/usb_keyboard.c: Likewise.
12386
12387 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
12388 `<grub/machine/machine.h>'
12389 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
12390 * util/misc.c: Remove `<grub/machine/machine.h>' and
12391 `<grub/machine/time.h>'.
12392
12393 * Makefile.in (enable_grub_emu): Remove variable.
12394 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
12395
12396 * conf/any-emu.rmk: New file.
12397 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
12398 (grub_emu_init.c): Move from here ...
12399 * conf/any-emu.rmk: ... to here.
12400
12401 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
12402 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
12403 * conf/any-emu.rmk: ... to here.
12404
4efeab03
RM
124052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12406
12407 * include/grub/parser.h (grub_parser_register): Document need
12408 of `name' parameter.
12409 * normal/main.c (grub_normal_read_line): Simplify prompt string.
12410 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
12411 "sh" to "grub".
12412
ea1dd8bf
RM
124132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12414
12415 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
12416 `$(XGETTEXT)'.
12417 * include/grub/i18n.h (N_): New macro.
12418 * util/mkisofs/mkisofs.h: Likewise.
12419 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
12420 around N_().
12421 (usage): Use gettext() to translate help strings when printing them.
12422
0c140626
RM
124232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
12424
12425 Based on patch from Bean
12426 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
12427
12428 * video/efi_fb.c: New file.
12429 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
12430 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
12431 variables.
12432 * conf/x86_64-efi.rmk: Likewise.
12433
87d58298
RM
124342009-11-22 Robert Millan <rmh.grub@aybabtu.com>
12435
12436 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
12437 * util/i386/pc/grub-setup.c: Likewise.
12438
994cc3a3
ST
124392009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12440
12441 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
12442 <hurd/fs.h>
12443 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
12444 file_get_storage_info to implement grub_guess_root_device.
12445
26a61d6a
FZ
124462009-11-21 Felix Zielcke <fzielcke@z-51.de>
12447
12448 * Makefile.in (target): Use make's builtin $(shell) function
12449 instead of calling directly $(SHELL) to create the locale directories,
12450 inside the $(foreach) function.
12451
74ff1dd5
FZ
124522009-11-21 Felix Zielcke <fzielcke@z-51.de>
12453
12454 * util/grub-mkrescue.in: Print an error and usage if output option
12455 has not been given.
12456
0b787d0e
FZ
124572009-11-21 Felix Zielcke <fzielcke@z-51.de>
12458
12459 Patch from Loïc Minier <loic.minier@ubuntu.com>.
12460 * util/grub.d/30_os-prober.in: Cope with Linux entries where
12461 root and /boot are on different devices.
12462
1164b270
RM
124632009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12464
12465 Fix build for srcdir != objdir.
12466
12467 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
12468 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
12469 $(srcdir).
12470 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
12471 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
12472 reference for input.
12473
13774a2f
RM
124742009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12475
12476 * util/grub-mkrescue.in: Use source directory direcly (without copiing
12477 or hardlinking it). Remove -J option, Joliet is not compatible with
12478 multiple source directories.
12479
efda854e
RM
124802009-11-21 Carles Pina i Estany <carles@pina.cat>
124812009-11-21 Robert Millan <rmh.grub@aybabtu.com>
12482
12483 * util/grub-mkrescue.in: Recognize `--override-directory' option.
12484 (process_input_dir): New function. Process an arbitrary input
12485 directory.
12486 Misc adjustments to support both "override mode" and system-wide mode.
12487
6c09890c
FZ
124882009-11-20 Felix Zielcke <fzielcke@z-51.de>
12489
12490 * configure.ac (UNIFONT_BDF): Rename to ...
12491 (FONT_SOURCE): ... this. Update all users.
12492
a797824f
FZ
124932009-11-20 Felix Zielcke <fzielcke@z-51.de>
12494
12495 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
12496 to the list of unifont files to look for.
12497
cd4f42b0
RM
124982009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12499
12500 Patch from Joe Auricchio <jauricchio@gmail.com>
12501 * commands/minicmd.c (grub_mini_cmd_clear): New function.
12502 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
12503 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
12504
393c783d
FZ
125052009-11-19 Felix Zielcke <fzielcke@z-51.de>
12506
12507 * Makefile.in (install-local): Add a missing backslash.
12508
b2f1e327
FZ
125092009-11-19 Felix Zielcke <fzielcke@z-51.de>
12510
12511 * include/grub/x86_64/io.h: New file.
12512
f577f7a0
RM
125132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12514
12515 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
12516 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
12517 Include `"progname.h"'.
12518 (main): Initialize gettext.
12519 * util/i386/pc/grub-setup.c: Gettexttize.
12520 * util/i386/pc/grub-mkimage.c: Likewise.
12521
12522 * Makefile.in (po/*.po): Redefine as ...
12523 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
12524
3bc7896c
RM
12525 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
12526
c37943b6
RM
125272009-11-19 Robert Millan <rmh.grub@aybabtu.com>
12528
12529 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
12530 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
12531 (program_name): Remove.
12532 (main): Initialize gettext support.
6323f705
RM
12533 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
12534 Include `<libintl.h>'.
12535 (_): New macro.
c37943b6
RM
12536
12537 * util/mkisofs/eltorito.c: Gettexttize.
12538 * util/mkisofs/joliet.c: Likewise.
12539 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
12540 * util/mkisofs/multi.c: Likewise.
12541 * util/mkisofs/rock.c: Likewise.
12542 * util/mkisofs/tree.c: Likewise.
12543 * util/mkisofs/write.c: Likewise.
12544
3bc7896c
RM
12545 * po/POTFILES: Update with new files.
12546
5ce77c6e
RM
125472009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12548
12549 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
12550 * util/mkisofs/iso9660.h: Likewise.
12551 * util/mkisofs/joliet.c: Likewise.
12552 * util/mkisofs/mkisofs.c: Likewise.
12553 * util/mkisofs/mkisofs.h: Likewise.
12554 * util/mkisofs/rock.c: Likewise.
12555 * util/mkisofs/tree.c: Likewise.
12556 * util/mkisofs/write.c: Likewise.
12557
12558 * util/mkisofs/eltorito.c (rcsid): Remove.
12559 * util/mkisofs/hash.c: Likewise.
12560 * util/mkisofs/joliet.c: Likewise.
12561 * util/mkisofs/name.c: Likewise.
12562 * util/mkisofs/rock.c: Likewise.
12563 * util/mkisofs/tree.c: Likewise.
12564 * util/mkisofs/write.c: Likewise.
12565
1dabbc77
RM
125662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12567
12568 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
12569 instead of static allocation.
12570 * util/mkisofs/match.h: Likewise.
12571
633877cb
RM
125722009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12573
3bc7896c
RM
12574 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
12575 and `util/grub.d/10_linux.in'.
633877cb
RM
12576 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
12577 translatable Shell files.
12578
af1c0c85
RM
125792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
12580
12581 * Makefile.in ($(srcdir)/aclocal.m4): New target.
12582
769ae37b
RM
125832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12584
12585 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 12586 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
12587 * util/grub.d/10_kfreebsd.in (bindir): New variable.
12588 Add gettext initialization.
12589 (kfreebsd_entry): Make menuentry output translatable.
12590
125912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12592
12593 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
12594 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
12595 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
12596 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
12597 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 12598 * po/LINGUAS: New file.
769ae37b
RM
12599
126002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12601
12602 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
12603 other things).
12604 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
12605 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
12606 bindtextdomain() calls for gettext initialization.
12607
126082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12609
12610 * gnulib/progname.c: New file (imported from Gnulib).
12611 * gnulib/progname.h: Likewise.
12612 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
12613 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
12614 (usage): Replace `progname' with `program_name'.
12615 (main): Use set_program_name() for program name initialization.
12616
126172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12618
12619 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
12620 from here ...
12621 * Makefile.in (CPPFLAGS): ... to here.
12622
126232009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12624
12625 * aclocal.m4: Move from here ...
12626 * acinclude.m4: ... to here.
12627 * autogen.sh: Add call to `aclocal'.
12628 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
12629
126302009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12631
12632 * Makefile.in (CLEANFILES): Add `po/*.mo'.
12633 (LINGUAS): New variable.
12634 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
12635 (install-local): Install MO files.
12636 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
12637 * include/grub/i18n.h: New file.
3bc7896c
RM
12638 * po/POTFILES: New file.
12639 * po/ca.po: New file.
769ae37b
RM
12640 * util/grub.d/10_linux.in (bindir): New variable.
12641 Add gettext initialization.
12642 (linux_entry): Make menuentry output translatable.
12643 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
12644 (usage): Make --help output translatable.
12645 (main): Initialize gettext.
12646
02c0a6ad
RM
126472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12648
12649 * import_gcry.py: New file (written by Vladimir with minor
12650 adjustments).
12651 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
12652 ciphers.
12653 * INSTALL: Document that Python is required for bootstrap.
12654
126552009-11-17 Robert Millan <rmh.grub@aybabtu.com>
12656
12657 Import ciphers from libgcrypt 1.4.4.
12658
12659 * lib/libgcrypt/cipher/ChangeLog
12660 * lib/libgcrypt/cipher/ac.c
12661 * lib/libgcrypt/cipher/arcfour.c
12662 * lib/libgcrypt/cipher/bithelp.h
12663 * lib/libgcrypt/cipher/blowfish.c
12664 * lib/libgcrypt/cipher/camellia-glue.c
12665 * lib/libgcrypt/cipher/camellia.c
12666 * lib/libgcrypt/cipher/camellia.h
12667 * lib/libgcrypt/cipher/cast5.c
12668 * lib/libgcrypt/cipher/cipher.c
12669 * lib/libgcrypt/cipher/crc.c
12670 * lib/libgcrypt/cipher/des.c
12671 * lib/libgcrypt/cipher/dsa.c
12672 * lib/libgcrypt/cipher/ecc.c
12673 * lib/libgcrypt/cipher/elgamal.c
12674 * lib/libgcrypt/cipher/hash-common.c
12675 * lib/libgcrypt/cipher/hash-common.h
12676 * lib/libgcrypt/cipher/hmac-tests.c
12677 * lib/libgcrypt/cipher/md.c
12678 * lib/libgcrypt/cipher/md4.c
12679 * lib/libgcrypt/cipher/md5.c
12680 * lib/libgcrypt/cipher/primegen.c
12681 * lib/libgcrypt/cipher/pubkey.c
12682 * lib/libgcrypt/cipher/rfc2268.c
12683 * lib/libgcrypt/cipher/rijndael-tables.h
12684 * lib/libgcrypt/cipher/rijndael.c
12685 * lib/libgcrypt/cipher/rmd.h
12686 * lib/libgcrypt/cipher/rmd160.c
12687 * lib/libgcrypt/cipher/rsa.c
12688 * lib/libgcrypt/cipher/seed.c
12689 * lib/libgcrypt/cipher/serpent.c
12690 * lib/libgcrypt/cipher/sha1.c
12691 * lib/libgcrypt/cipher/sha256.c
12692 * lib/libgcrypt/cipher/sha512.c
12693 * lib/libgcrypt/cipher/tiger.c
12694 * lib/libgcrypt/cipher/twofish.c
12695 * lib/libgcrypt/cipher/whirlpool.c
12696
af2f93ac
RM
126972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12698
12699 Fix build for systems without error().
12700
12701 * gnulib/error.c: New file (imported from Gnulib).
12702 * gnulib/error.h: Likewise.
12703 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
12704 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
12705 (this variable is now used by error()).
12706
73fb3dd5
FZ
127072009-11-16 Felix Zielcke <fzielcke@z-51.de>
12708
814f5e96
FZ
12709 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
12710 instead of relying that char is signed.
73fb3dd5 12711
a691ca33
VS
127122009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
12715 blocksize different from specified.
12716 (grub_pxefs_read): Likewise.
12717
2af8f0f4
FZ
127182009-11-16 Felix Zielcke <fzielcke@z-51.de>
12719
12720 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
12721
12722 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
12723 (grub_ata_readwrite): Likewise. Update 2 format strings.
12724 (grub_atapi_read): Likewise.
12725
12726 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
12727 * conf/i386.rmk (pkglib_MODULES): ... to here ...
12728 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
12729 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
12730 (ata_mod_LDFLAGS): Move from here ...
12731 * conf/i386.rmk: ... to here ...
12732 * conf/x86_64-efi.rmk: ... and here.
12733 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
12734 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
12735
83bdecaf
RM
127362009-11-16 Robert Millan <rmh.grub@aybabtu.com>
12737
12738 Relicense multiboot.h, with RMS' blessing.
12739
12740 * include/multiboot.h: Change to X11 license.
12741
fd6fd3d7
RM
127422009-11-15 Robert Millan <rmh.grub@aybabtu.com>
12743
12744 Support --version in grub-mkisofs.
12745
12746 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
12747 (OPTION_VERSION): New macro.
12748 (ld_options): Recognize --version.
12749 (usage): Move `program_name' from here ...
12750 (program_name): ... to here. Add `static' qualifier.
12751 (main): Recognize `OPTION_VERSION'.
12752
16a88c49
FZ
127532009-11-15 Felix Zielcke <fzielcke@z-51.de>
12754
12755 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
12756 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
12757
a4158476
RM
127582009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12759
12760 Fix help2man generation for mkisofs.
12761
12762 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
12763 (usage): Send output to stdout (rather than stderr).
12764
fc2208b0
RM
127652009-11-14 Robert Millan <rmh.grub@aybabtu.com>
12766
12767 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
12768 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12769 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
12770 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
12771 (bin_SCRIPTS): Add `grub-mkfloppy'.
12772 (grub_mkfloppy_SOURCES): New variable.
12773
12774 * util/grub-mkrescue.in: New file.
12775 * util/i386/pc/grub-mkfloppy.in: New file.
12776
12777 * util/i386/coreboot/grub-mkrescue.in: Remove.
12778 * util/i386/pc/grub-mkrescue.in: Remove.
12779
8d0edf4a
RM
127802009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12781
12782 * include/grub/multiboot.h (struct grub_multiboot_header): Move
12783 from here ...
12784 * include/multiboot.h (struct multiboot_header): ... to here. Update
12785 all users.
12786 * include/grub/multiboot.h (struct grub_multiboot_info): Move
12787 from here ...
12788 * include/multiboot.h (struct multiboot_info): ... to here. Update
12789 all users.
12790 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
12791 from here ...
12792 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
12793 Update all users.
12794 * include/grub/multiboot.h (struct grub_mod_list): Move
12795 from here ...
12796 * include/multiboot.h (struct multiboot_mod_list): ... to here.
12797 Update all users.
12798
a73f5969
RM
127992009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12800
12801 * include/multiboot2.h (multiboot_word): Rename from this ...
12802 (multiboot2_word): ... to this. Update all users.
12803 (multiboot_header): Rename from this ...
12804 (multiboot2_header): ... to this. Update all users.
12805 (multiboot_tag_header): Rename from this ...
12806 (multiboot2_tag_header): ... to this. Update all users.
12807 (multiboot_tag_start): Rename from this ...
12808 (multiboot2_tag_start): ... to this. Update all users.
12809 (multiboot_tag_name): Rename from this ...
12810 (multiboot2_tag_name): ... to this. Update all users.
12811 (multiboot_tag_module): Rename from this ...
12812 (multiboot2_tag_module): ... to this. Update all users.
12813 (multiboot_tag_memory): Rename from this ...
12814 (multiboot2_tag_memory): ... to this. Update all users.
12815 (multiboot_tag_unused): Rename from this ...
12816 (multiboot2_tag_unused): ... to this. Update all users.
12817 (multiboot_tag_end): Rename from this ...
12818 (multiboot2_tag_end): ... to this. Update all users.
12819
1c8927f0
RM
128202009-11-13 Robert Millan <rmh.grub@aybabtu.com>
12821
12822 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
12823 this platform we should support Multiboot1 first.
12824
12825 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12826 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
12827 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
12828
6e1e0d89
RM
128292009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12830
12831 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
12832 of write calls (converting them to fwrite() if they aren't already).
12833 (get_torito_desc): Likewise.
12834 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
12835
7f2b34d8
RM
128362009-11-12 Robert Millan <rmh.grub@aybabtu.com>
12837
12838 * util/i386/pc/grub-install.in: Move from here ...
12839 * util/grub-install.in: ... to here. Update all users.
12840
c0ef3311
CW
128412009-11-11 Colin Watson <cjwatson@ubuntu.com>
12842
12843 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
12844
e1f240ff
RM
128452009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12846
12847 Support for El Torito without floppy emulation.
12848
12849 * util/mkisofs/eltorito.c: Include `<errno.h>'.
12850 (init_boot_catalog): Improve error handling.
12851 (get_torito_desc): Don't use floppy emulation unless requested by
12852 user. Patch boot information table when requested via
12853 `-boot-info-table'.
12854 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
12855 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
12856 (use_boot_info_table): New variables.
12857 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
12858 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
12859 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
12860 `--eltorito-emul-floppy'.
12861 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
12862 and `OPTION_ELTORITO_EMUL_FLOPPY'.
12863 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
12864 (use_boot_info_table, get_731): New prototypes.
12865 * util/mkisofs/write.c (get_731): New function.
12866
af7d4de5
FZ
128672009-11-11 Felix Zielcke <fzielcke@z-51.de>
12868
12869 Fix the generation of the man page.
12870
12871 * util/pc/i386/grub-install.in: Source
12872 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
12873
2c55dbc0
RM
128742009-11-11 Robert Millan <rmh.grub@aybabtu.com>
12875
12876 Large file support for grub-mkisofs.
12877
12878 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
12879 * util/mkisofs/mkisofs.c (next_extent, last_extent)
12880 (session_start): Upgrade type to `uint64_t'. Update all users.
12881 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
12882 (struct directory_entry): Upgrade type of `starting_block' and
12883 `size' to `uint64_t'. Update all users.
12884 (struct deferred): Remove unused structure.
12885 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
12886 Update all users.
12887 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
12888 file is larger than `UINT32_MAX'.
12889 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
12890 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
12891 return value.
12892 (struct deferred_write): Upgrade type of `extent' and `size' to
12893 `uint64_t'. Update all users.
12894 (last_extent_written): Upgrade type to `uint64_t'. Update all
12895 users.
12896 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
12897 Update all users. Upgrade type of `remain' to `int64_t' and
12898 `use' to `size_t'. Use error() to handle fread() errors.
12899 (write_files): Rely on write_one_file() rather than calling
12900 xfwrite() directly.
12901
6a9cead5
FZ
129022009-11-09 Felix Zielcke <fzielcke@z-51.de>
12903
12904 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
12905
4825d790
RM
129062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12907
12908 * util/mkisofs/fnmatch.c: Remove.
12909 * util/mkisofs/getopt1.c: Likewise.
12910 * util/mkisofs/getopt.c: Likewise.
12911 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
12912 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
12913 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
12914 `gnulib/getopt1.c' and `gnulib/getopt.c'.
12915 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
12916
12917 * configure.ac: Detect `mingw32msvc' host_os.
12918 Check for lstat(), getuid() and getgid().
12919
12920 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
12921 instances of `u_char' with `uint8_t'.
12922
12923 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
12924 [!HAVE_GETUID] (getuid): New function (stub).
12925 [!HAVE_GETGID] (getgid): Likewise.
12926 [!HAVE_LSTAT] (lstat): Likewise.
12927 [!S_IROTH] (S_IROTH): New macro (dummy).
12928 [!S_IRGRP] (S_IRGRP): Likewise.
12929
84b860d8
RM
129302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12931
12932 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
12933 conditional expression).
12934
66e9b712
RM
129352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12936
12937 Import from Gnulib.
12938
12939 * gnulib/fnmatch.c: New file.
12940 * gnulib/fnmatch.h: Likewise.
12941 * gnulib/fnmatch_loop.c: Likewise.
12942 * gnulib/getopt.c: Likewise.
12943 * gnulib/getopt.h: Likewise.
12944 * gnulib/getopt1.c: Likewise.
12945 * gnulib/getopt_int.h: Likewise.
12946 * gnulib/gettext.h: Likewise.
12947
34f4a5b0
RM
129482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12949
12950 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
12951 * normal/handler.c (read_handler_list): Likewise.
12952
ac451143
RM
129532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12954
12955 Misc cleanup.
12956
12957 * kern/command.c (grub_register_command_prio): Use
12958 grub_zalloc() instead of explicitly zeroing data.
12959 * kern/list.c: Include `<grub/mm.h>'.
12960 (grub_named_list_find): Replace `0' with `NULL'.
12961 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
12962 (fs_module_list): Change type to `grub_named_list_t'. Update all
12963 users.
12964 * normal/dyncmd.c (read_command_list): Add space between function
12965 call and parenthesis.
12966 * normal/handler.c (read_handler_list): Likewise.
12967
4089b167
RM
129682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12969
12970 * normal/auth.c (punishment_delay): Moved from here ...
12971 (grub_auth_strcmp): ... to here (inside function).
12972
325f5037
RM
129732009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12974
12975 * include/grub/list.h (struct grub_named_list): Remove `const'
12976 qualifier from `name'.
12977 (struct grub_prio_list): Likewise.
12978
7aea29a3
RM
129792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12980
12981 * normal/auth.c: Include `<grub/time.h>'.
12982 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
12983
3fd6f044
RM
129842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12985
12986 * normal/auth.c (punishment_delay): New variable.
12987 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
12988 (grub_auth_check_authentication): Punish failed login attempts with
12989 an incremental (2^N) delay.
12990
a4cd68e4
RM
129912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
12992
12993 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
12994 path with $(srcdir).
12995
7ad12f43
VS
129962009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
12999
c1129f03
RM
130002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
13001
13002 * util/i386/coreboot/grub-mkrescue.in: New file.
13003 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
13004 variables.
13005
13006 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
13007 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
13008 * configure.ac: Add header and function checks to satisfy grub-mkisofs
13009 requirements.
13010 * util/mkisofs/defaults.h: New file.
13011 * util/mkisofs/eltorito.c: Likewise.
13012 * util/mkisofs/exclude.h: Likewise.
13013 * util/mkisofs/fnmatch.c: Likewise.
13014 * util/mkisofs/getopt.c: Likewise.
13015 * util/mkisofs/getopt1.c: Likewise.
13016 * util/mkisofs/hash.c: Likewise.
13017 * util/mkisofs/include/fctldefs.h: Likewise.
13018 * util/mkisofs/include/mconfig.h: Likewise.
13019 * util/mkisofs/include/prototyp.h: Likewise.
13020 * util/mkisofs/include/statdefs.h: Likewise.
13021 * util/mkisofs/iso9660.h: Likewise.
13022 * util/mkisofs/joliet.c: Likewise.
13023 * util/mkisofs/match.c: Likewise.
13024 * util/mkisofs/match.h: Likewise.
13025 * util/mkisofs/mkisofs.c: Likewise.
13026 * util/mkisofs/mkisofs.h: Likewise.
13027 * util/mkisofs/multi.c: Likewise.
13028 * util/mkisofs/name.c: Likewise.
13029 * util/mkisofs/rock.c: Likewise.
13030 * util/mkisofs/tree.c: Likewise.
13031 * util/mkisofs/write.c: Likewise.
13032
ec8bb77d
VS
130332009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
13036 being insecure.
13037
3716b12c
RM
130382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13039
13040 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
13041 `grub-mkimage' (and use $0 when possible).
13042
b97b7b91
RM
130432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13044
13045 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
13046 error message for excessively large memory map.
13047
04114812
RM
130482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13049
13050 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
13051 executable bit.
13052
e4eb2373
RM
130532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
13054
13055 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
13056 message for coreboot users.
13057
c926e1d5 130582009-11-07 Robert Millan <rmh.grub@aybabtu.com>
13059
13060 Fix build with GNU gold.
13061
13062 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
13063 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
13064 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
13065 link addresses.
13066 * aclocal.m4: Likewise.
13067
86e5b1db 130682009-11-04 Felix Zielcke <fzielcke@z-51.de>
13069
13070 * configure.ac (AC_PREREQ): Bump to 2.59d.
13071 * INSTALL: Make it more clear when Autoconf and Ruby are
13072 needed and when to run `./autogen.sh'.
13073
246cd78f 130742009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
13075
13076 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
13077 OSes.
13078
4f9dfb37 130792009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13080
13081 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
13082
b82bd5e1 130832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13084
13085 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
13086 giving it to GNU Mach.
13087
ff1a9bca 130882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13089
13090 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
13091 GNU partition number to get internal GRUB partition number.
13092
61697d9c 130932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
13094
13095 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
13096 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
13097
a50569e1 130982009-11-01 Robert Millan <rmh.grub@aybabtu.com>
13099
13100 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
13101 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
13102 case.
13103
5b153867 131042009-11-01 Felix Zielcke <fzielcke@z-51.de>
13105
13106 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
13107
d9e2cd70 131082009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13109
13110 Fix build problem.
13111
13112 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
13113 `-isystem=$(srcdir)/include'.
13114
805111a4 131152009-10-30 Robert Millan <rmh.grub@aybabtu.com>
13116
13117 * util/i386/pc/grub-install.in: Remove hint that device.map should be
13118 checked (grub-install doesn't currently rely on it).
13119
fa6e945f 131202009-10-29 Robert Millan <rmh.grub@aybabtu.com>
13121
13122 Revert SVN r2660.
13123
13124 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
13125 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13126 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
13127 * conf/i386-ieee1275.rmk: Likewise.
13128 * conf/i386-pc.rmk: Likewise.
13129 * conf/powerpc-ieee1275.rmk: Likewise.
13130 * conf/sparc64-ieee1275.rmk: Likewise.
13131 * conf/x86_64-efi.rmk: Likewise.
13132
cee15086 131332009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13134
13135 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
13136
95b9239e 131372009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13138
13139 * include/grub/misc.h: Stop checking for APPLE_CC.
13140
2ed19dfd 131412009-10-28 Robert Millan <rmh.grub@aybabtu.com>
13142
13143 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
13144 doesn't cause an infinite call loop.
13145
fdcdde19 131462009-10-28 Felix Zielcke <fzielcke@z-51.de>
13147
13148 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
13149 strings.
13150
cefabfe1 131512009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13152
13153 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
13154 variable.
13155 * Makefile.in: Likewise.
13156
ed96ab6d 131572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13158
13159 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
13160
0579b753 131612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13162
13163 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
13164
478df409 131652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13166
13167 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
13168
083d1679 131692009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13170
13171 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
13172 from here ...
13173 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
13174
5947ae32 131752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13176
13177 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
13178 in $(MAKEINFO) invocation. This makes it clear in output that
13179 errors are being ignored.
13180
94180ff6 131812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13182
13183 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
13184 from here ...
13185 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
13186 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
13187 * conf/i386-ieee1275.rmk: Likewise.
13188 * conf/i386-pc.rmk: Likewise.
13189 * conf/powerpc-ieee1275.rmk: Likewise.
13190 * conf/sparc64-ieee1275.rmk: Likewise.
13191 * conf/x86_64-efi.rmk: Likewise.
13192
9031b03a 131932009-10-26 Colin Watson <cjwatson@ubuntu.com>
13194
13195 * util/grub-editenv.c (main): If only a command is given, use
13196 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
13197 (usage): FILENAME is now optional and has a default.
13198
e4f6809b 131992009-10-26 Colin Watson <cjwatson@ubuntu.com>
13200
13201 Improve grub-mkconfig performance when there are several menu
13202 entries on a single filesystem.
13203
13204 * util/grub.d/10_linux.in (linux_entry): Cache the output of
13205 prepare_grub_to_access_device.
13206 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13207 * util/grub.d/30_os-prober.in: Likewise.
13208
67937d4d 132092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13210
13211 * util/grub.d/10_freebsd.in: Remove.
13212 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
13213 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
13214
ee3756cc 132152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
13216
5c35048e 13217 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 13218
4dea1c6f 132192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13220
13221 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
13222 grub_util_error() call.
13223
042484d7 132242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13225
13226 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
13227 `reserved_first_sector' member.
13228 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
13229 `reserved_first_sector' to 1.
13230 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
13231 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
13232 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
13233 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
13234 filesystems which begin at first sector.
13235 (options): New option --skip-fs-probe.
13236 (main): Handle --skip-fs-probe and pass it to setup().
13237
d64448a7 132382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13239
13240 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
13241 (memset): Fix function prototype.
13242
508d42ec 132432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
132442009-10-25 Vasily Averin <vvs@parallels.com>
13245
13246 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
13247 `dirent.direntlen == 0'.
13248
b240e30c 132492009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13250
13251 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
13252 `cpio'.
13253 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
13254
346e7fbe 132552009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13256
13257 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
13258 `__trampoline_setup' and `__ucmpdi2'.
13259 * include/grub/powerpc/libgcc.h: Only export symbols for functions
13260 that libgcc provides.
13261
cdb308b0 132622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13263
13264 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
13265 * include/grub/sparc64/libgcc.h (memset): Likewise.
13266 * include/grub/misc.h (memset, memcmp): New function prototypes.
13267
fb26abc2 132682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13269
13270 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
13271 `cpio'.
13272 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
13273
f6693890 132742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
13275
13276 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
13277 * docs/grub.cfg: Compensate for recent change in multiboot
13278 loader (since 2009-08-14 it won't pass filename to payload).
13279 * util/grub.d/10_hurd.in: Likewise.
13280
0933cdc0 132812009-10-21 Felix Zielcke <fzielcke@z-51.de>
13282
13283 * config.guess: Update to latest version from config git
13284 repository.
13285 * config.sub: Likewise.
13286
3b2fe8c2 132872009-10-20 Robert Millan <rmh.grub@aybabtu.com>
13288
13289 Fix build on sparc64.
13290
13291 * configure.ac: Perform checks for libgcc symbols before
13292 adding `-nostdlib' to LDFLAGS.
13293
46695a62 132942009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13295
13296 Let user specify OpenBSD root device.
13297
13298 * loader/i386/bsd.c (openbsd_root): New variable.
13299 (openbsd_opts): New option 'root'.
13300 (OPENBSD_ROOT_ARG): New macro.
13301 (grub_openbsd_boot): Use 'openbsd_root'.
13302 (grub_cmd_openbsd): Fill 'openbsd_root'.
13303
d2b6b7fc 133042009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13305
13306 * NEWS: Misc adjustments.
13307
421bd7ac 133082009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
13311
f1d29d87 133122009-10-16 Robert Millan <rmh.grub@aybabtu.com>
13313
13314 * configure.ac: Bump version to 1.97.
13315
6f3cd880 133162009-10-16 Colin Watson <cjwatson@ubuntu.com>
13317
13318 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
13319 -mno-3dnow on x86 architectures. Some toolchains enable these
13320 features by default, but they rely on registers that aren't enabled
13321 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
13322
035f7122 133232009-10-15 Robert Millan <rmh.grub@aybabtu.com>
13324
13325 Make entry text a bit more readable.
13326
13327 * util/grub.d/10_linux.in: Add `with' before `Linux'.
13328
44998e58 133292009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
13332
cd2851b3 133332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
13336 operations.
13337
c6f3b249 133382009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * configure.ac: Add missing dollar.
13341
6b5886ba 133422009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
13345
13346 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
13347 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
13348 exports.
13349 * include/grub/sparc64/libgcc.h: Likewise. Use
13350 preprocessor conditionals.
13351
e9d66f6d 133522009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13353
13354 * conf/common.rmk (grub-dumpbios): Remove rule.
13355 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
13356 * util/grub-dumpbios.in: Remove file.
13357
9155bc17 133582009-10-14 Robert Millan <rmh.grub@aybabtu.com>
13359
13360 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
13361 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
13362
13363 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
13364 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
13365 users.
13366
13367 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
13368 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
13369 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
13370 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
13371 users.
13372
bf7f7a18 133732009-10-12 Robert Millan <rmh.grub@aybabtu.com>
13374
13375 * term/tparm.c: Switch to GPLv3.
13376
86564c26 133772009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13378
13379 * include/grub/i386/cpuid.h: Add header protection.
13380
5c936493 133812009-10-09 Robert Millan <rmh.grub@aybabtu.com>
13382
13383 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
13384
13385 * include/grub/i386/cpuid.h: New file.
13386 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
13387 (has_longmode): Rename to ...
13388 (grub_cpuid_has_longmode): ... this. Update all users. Remove
13389 `static' attribute.
13390 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
13391 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
13392 on a CPU that doesn't implement AMD64 instruction set.
13393
186e7cf2 133942009-10-06 Colin Watson <cjwatson@ubuntu.com>
13395
13396 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
13397 that version.texi is rebuilt on version number changes.
13398
83b65c4a 133992009-10-06 Colin Watson <cjwatson@ubuntu.com>
13400
13401 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
13402 Fixes bug #27602.
13403
d244281c 134042009-10-06 Colin Watson <cjwatson@ubuntu.com>
13405
13406 * util/i386/pc/grub-install.in: Source
13407 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
13408 that the --grub-probe option will work.
13409 * util/sparc64/ieee1275/grub-install.in: Likewise.
13410
da25306d 134112009-10-05 Robert Millan <rmh.grub@aybabtu.com>
13412
13413 * configure.ac: Bump version to 1.97~beta4.
13414
e8ee83c0 134152009-10-03 Robert Millan <rmh.grub@aybabtu.com>
13416
13417 Resync grub-mkdevicemap in x86_64-efi.
13418
13419 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
13420 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
13421 `util/devicemap.c'.
13422
50dcabcf 134232009-10-01 Colin Watson <cjwatson@ubuntu.com>
13424
13425 * util/grub-editenv.c (create_envblk_file): Write new block with a
13426 .new suffix and then rename it into place, to ensure atomic
13427 creation.
13428
0e51c3a7 134292009-09-28 Robert Millan <rmh.grub@aybabtu.com>
13430
13431 Do not automatically install headers.
13432
13433 * Makefile.in (include_DATA): Remove. Update all users.
13434
31299a95 134352009-09-26 Robert Millan <rmh.grub@aybabtu.com>
13436
13437 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
13438 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
13439
13440 * util/osdetect.lua: Remove.
13441 * script/lua/lauxlib.c: Likewise.
13442 * script/lua/ldebug.c: Likewise.
13443 * script/lua/grub_main.c: Likewise.
13444 * script/lua/lauxlib.h: Likewise.
13445 * script/lua/ldebug.h: Likewise.
13446 * script/lua/ltablib.c: Likewise.
13447 * script/lua/liolib.c: Likewise.
13448 * script/lua/lstrlib.c: Likewise.
13449 * script/lua/lualib.h: Likewise.
13450 * script/lua/ldo.c: Likewise.
13451 * script/lua/ldump.c: Likewise.
13452 * script/lua/ldo.h: Likewise.
13453 * script/lua/loslib.c: Likewise.
13454 * script/lua/lundump.c: Likewise.
13455 * script/lua/grub_lib.c: Likewise.
13456 * script/lua/ldblib.c: Likewise.
13457 * script/lua/lundump.h: Likewise.
13458 * script/lua/lmem.c: Likewise.
13459 * script/lua/grub_lib.h: Likewise.
13460 * script/lua/lmathlib.c: Likewise.
13461 * script/lua/lstate.c: Likewise.
13462 * script/lua/ltm.c: Likewise.
13463 * script/lua/lvm.c: Likewise.
13464 * script/lua/lmem.h: Likewise.
13465 * script/lua/lstate.h: Likewise.
13466 * script/lua/ltm.h: Likewise.
13467 * script/lua/ltable.c: Likewise.
13468 * script/lua/lvm.h: Likewise.
13469 * script/lua/llex.c: Likewise.
13470 * script/lua/lgc.c: Likewise.
13471 * script/lua/grub_lua.h: Likewise.
13472 * script/lua/loadlib.c: Likewise.
13473 * script/lua/lfunc.c: Likewise.
13474 * script/lua/lopcodes.c: Likewise.
13475 * script/lua/lparser.c: Likewise.
13476 * script/lua/ltable.h: Likewise.
13477 * script/lua/llex.h: Likewise.
13478 * script/lua/lgc.h: Likewise.
13479 * script/lua/lfunc.h: Likewise.
13480 * script/lua/lbaselib.c: Likewise.
13481 * script/lua/lopcodes.h: Likewise.
13482 * script/lua/lparser.h: Likewise.
13483 * script/lua/lzio.c: Likewise.
13484 * script/lua/linit.c: Likewise.
13485 * script/lua/lobject.c: Likewise.
13486 * script/lua/llimits.h: Likewise.
13487 * script/lua/lstring.c: Likewise.
13488 * script/lua/lzio.h: Likewise.
13489 * script/lua/lapi.c: Likewise.
13490 * script/lua/lcode.c: Likewise.
13491 * script/lua/lua.h: Likewise.
13492 * script/lua/lobject.h: Likewise.
13493 * script/lua/lstring.h: Likewise.
13494 * script/lua/lapi.h: Likewise.
13495 * script/lua/lcode.h: Likewise.
13496 * script/lua/luaconf.h: Likewise.
13497
cb8a2c38 134982009-09-26 Colin Watson <cjwatson@ubuntu.com>
13499
13500 * docs/grub.texi (Command-line and menu entry commands): Document
13501 date and echo commands.
13502
6b9b6276 135032009-09-24 Pavel Roskin <proski@gnu.org>
13504
13505 * include/grub/kernel.h (struct grub_module_header): Remove
13506 `grub_module_header_types'. Make `type' unsigned. Make `size'
13507 32-bit on all platforms.
13508 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
13509 8-bit field. Use grub_host_to_target32() for `size'.
13510 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
13511 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
13512 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
13513
4e5a02a7 135142009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13515
13516 Fix "lost keypress" bug in at_keyboard.
13517
13518 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
13519 Checks for readyness of input buffer (without flushing it).
13520 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
13521 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
13522
c6dcedf6 135232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13524
13525 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
13526 size check within GRUB_MACHINE_PCBIOS section.
13527
74c958b1 135282009-09-24 Robert Millan <rmh.grub@aybabtu.com>
13529
13530 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
13531 return value.
13532 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
13533 KEYBOARD_ISREADY check.
13534 (grub_at_keyboard_checkkey): Rename to ...
13535 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
13536 Remove gratuitous cast.
13537
ff420223 135382009-09-23 Colin Watson <cjwatson@ubuntu.com>
13539
13540 * configure.ac: Call AC_PROG_MKDIR_P.
13541 * Makefile.in (docs/stamp-vti): Create docs directory. Create
13542 version.texi in $(builddir) rather than $(srcdir).
13543 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
13544 to makeinfo's @include search path.
13545
d96875df 135462009-09-23 Felix Zielcke <fzielcke@z-51.de>
13547
13548 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
13549
9b3f8365 135502009-09-23 Felix Zielcke <fzielcke@z-51.de>
13551
13552 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
13553 for `*.dpkg-new'.
13554
c44c90db 135552009-09-21 Colin Watson <cjwatson@ubuntu.com>
13556
13557 Build info documentation. Some code borrowed from Automake.
13558
13559 * configure.ac: Check for makeinfo.
13560 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
13561 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
13562 docs/version.texi.
13563 (MOSTLYCLEANFILES): Add vti.tmp.
13564 (docs/version.texi, docs/stamp-vti): Update automatically.
13565 (docs/grub.info): Build info documentation. Use --force and ignore
13566 errors for now.
13567 (all-local): Add $(INFOS).
13568 (install-local): Install info files.
13569 (uninstall): Uninstall info files.
13570 * docs/version.texi: Remove from revision control. This file is
13571 automatically generated on build now.
13572 * gendistlist.sh: Add `*.info'.
13573
e0b37bb5 135742009-09-21 Felix Zielcke <fzielcke@z-51.de>
13575
13576 * kern/term.c: Fix indentation.
13577
5a78865b 135782009-09-21 Felix Zielcke <fzielcke@z-51.de>
13579
13580 * util/hostdisk.c: Fix a comment.
13581
dace7e8a 135822009-09-20 Robert Millan <rmh.grub@aybabtu.com>
13583
13584 Fix regression introduced in r2539.
13585
13586 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
13587 to 0xA1.
13588
a83d079b 135892009-09-19 Colin Watson <cjwatson@ubuntu.com>
13590
13591 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 13592 os-prober. Under normal operation, it does not print anything to
13593 stderr; if it does, we need to debug it, and throwing away stderr
13594 makes that excessively difficult.
a83d079b 13595
be94a509 135962009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
13599
63f745e8 136002009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13601
13602 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
13603 AC_LANG_PROGRAM from autoconf.
13604 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
13605 prototypes (fixes warning).
13606
13607 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
13608 `--disable-werror' was used.
13609
bbb2a70f 136102009-09-16 Robert Millan <rmh.grub@aybabtu.com>
13611
13612 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
13613 uninitialized `lastaddr'.
13614
77c24f1d 136152009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
13616
0f0b8c87 13617 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 13618
07197f23 136192009-09-14 Colin Watson <cjwatson@ubuntu.com>
13620
13621 * commands/test.c (get_fileinfo): Return immediately if
13622 grub_fs_probe fails.
13623
dabf1798 136242009-09-14 José Martínez <xosemp@gmail.com>
13625
13626 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
13627
d52109a7 136282009-09-14 Colin Watson <cjwatson@ubuntu.com>
13629
13630 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
13631 output.
13632
56532179 136332009-09-13 Robert Millan <rmh.grub@aybabtu.com>
13634
13635 * configure.ac: Remove --enable-grub-pe2elf. Only build
13636 grub-pe2elf when needed by the build system itself.
13637 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
13638
8ef070f5 136392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13640
13641 * configure.ac: Bump version to 1.97~beta3.
13642 * docs/version.texi: Likewise.
13643
61229557 136442009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13645
13646 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
13647 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
13648 from here ...
13649 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
13650 (grub_linux_setup_video): ... to here (with some adjustments).
13651
5c9f8d84 136522009-09-12 Robert Millan <rmh.grub@aybabtu.com>
13653
13654 Fix memory corruption issue (spotted by Colin Watson).
13655
13656 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
13657 causing returned size to be stored in an incorrect memory location.
13658 Fix use of uninitialized value when storing the returned size.
13659
e8f5d6e9 136602009-09-12 Yves Blusseau <blusseau@zetam.org>
13661
13662 Change clean rules to properly remove files
13663
13664 * genmk.rb: add new clean rules
13665 * Makefile.in (clean): add the new targets
13666 (mostlyclean): likewise
13667
cda2a409 136682009-09-11 Colin Watson <cjwatson@ubuntu.com>
13669
13670 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
13671 to grub_uint64_t.
13672 * fs/ntfs.c (init_file): Understand 64-bit sizes for
13673 non-resident files.
13674
86695375 136752009-09-11 Colin Watson <cjwatson@ubuntu.com>
13676
13677 * configure.ac: Don't look for help2man when cross-compiling. Fixes
13678 part of bug #27349.
13679
8aa1541a 136802009-09-10 Felix Zielcke <fzielcke@z-51.de>
13681
13682 * util/grub-mkconfig.in: Make the created config mode 400 and
13683 print a warning if it fails.
13684
48d9bb0a 136852009-09-10 Robert Millan <rmh.grub@aybabtu.com>
13686
13687 * util/grub.d/40_custom.in: Ask user to type custom entries below
13688 comment, rather than below 'exec tail' line.
13689
3b0521be 136902009-09-10 Colin Watson <cjwatson@ubuntu.com>
13691
13692 * util/grub.d/40_custom.in: Make sure that the explanatory text is
13693 visible in grub.cfg.
13694
50051d55 136952009-09-10 Colin Watson <cjwatson@ubuntu.com>
13696
13697 * util/grub.d/40_custom.in: Make it a little clearer how to use this
13698 file.
13699
c0d34387 137002009-09-10 Felix Zielcke <fzielcke@z-51.de>
13701
13702 * docs/grub.cfg: Add an example menu entry for memtest86+.
13703
80a608f3 137042009-09-09 Felix Zielcke <fzielcke@z-51.de>
13705
a2094832 13706 * config.guess: Update to latest version from config git.
80a608f3 13707 * config.sub: Likewise.
13708
99423078 137092009-09-08 Colin Watson <cjwatson@ubuntu.com>
13710
13711 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
13712 unknown-command case. Fixes bug #27320.
13713
44454e4c 137142009-09-08 Felix Zielcke <fzielcke@z-51.de>
13715
13716 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
13717 `help' if the command exists.
13718
e30d87ad 137192009-09-06 Robert Millan <rmh.grub@aybabtu.com>
13720
13721 * INSTALL: Require GCC 4.1.3 or later.
13722
9a86f1ec 137232009-09-06 Yves Blusseau <blusseau@zetam.org>
13724
13725 * Makefile.in (RMKFILES): add i386-qemu.rmk
13726 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
13727 $(srcdir)/stamp-h.in
13728
7f26d466 137292009-09-05 Robert Millan <rmh.grub@aybabtu.com>
13730
13731 * util/grub-probe.c (probe): Comment out buggy codepath, which
13732 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
13733 should be re-enabled after 1.97.
13734
3a613259 137352009-09-05 Felix Zielcke <fzielcke@z-51.de>
13736
13737 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
13738 find searches for.
13739
197f76c7 137402009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
13743 unnecessary calls to grub_error.
13744
70ba68ce 137452009-09-04 Colin Watson <cjwatson@ubuntu.com>
13746
13747 * NEWS: Mention `keystatus' and Unicode fonts.
13748
4ff0d7a4 137492009-09-04 Robert Millan <rmh.grub@aybabtu.com>
13750
13751 * configure.ac: Bump version to 1.97~beta2.
13752 * docs/version.texi: Likewise.
13753
77c55a87 137542009-09-03 Colin Watson <cjwatson@ubuntu.com>
13755
13756 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
13757 containing unwind information in some cases where it previously did
13758 not. Use -fno-dwarf2-cfi-asm if available to restore the old
13759 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
13760 discussion.
13761
f79572cd 137622009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
13763
13764 Embedding loadenv module into grub-emu
13765
13766 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
13767 commands/loadenv.c
13768 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
13769 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
13770 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
13771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
13772 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
13773 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
13774
93a81088 137752009-09-03 Magnus Granberg <zorry@ume.nu>
13776
13777 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
13778 include -fPIE in the default specs.
13779 * configure.ac: Check if pie_possible is yes and add -fno-PIE
13780 to TARGET_CFLAGS.
13781
160034b2 137822009-09-03 Felix Zielcke <fzielcke@z-51.de>
13783
13784 * INSTALL: Note that GNU Bison 2.3 or later is required.
13785
087c07c4 137862009-09-03 Colin Watson <cjwatson@ubuntu.com>
13787
13788 * kern/i386/pc/startup.S: Fix typo.
13789
cbf978c0 137902009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
13793 according to GCS.
13794
137952009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 13796
13797 * docs/grub.texi (Naming convention): Describe one-based partition
13798 numbering.
13799 (Device syntax): Likewise.
13800 (File name syntax): Likewise.
13801 (Block list syntax): Likewise.
13802 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
13803 menu.lst.
13804 (File name syntax): Likewise.
13805 (Command-line and menu entry commands): Document acpi, blocklist,
13806 crc, export, insmod, keystatus, ls, set, and unset commands.
13807
f3e8cdfd 138082009-09-02 Colin Watson <cjwatson@ubuntu.com>
13809
13810 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
13811 to avoid implying that only one of --shift, --ctrl, or --alt may be
13812 used.
13813
c0bc232b 138142009-09-02 Colin Watson <cjwatson@ubuntu.com>
13815
13816 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
13817 rather than comparing against S_IFREG, which will almost never work.
13818
aa0f752d 138192009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
13822 (write_blocklists): Likewise.
13823
ecb3166a 138242009-09-01 Colin Watson <cjwatson@ubuntu.com>
13825
13826 * script/lua/grub_lua.h (fputs): Supply a format string as the first
13827 argument to grub_printf.
13828
c403a125 138292009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 13830
13831 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 13832 non GNU test.
31aba781 13833
b5e7312c 138342009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * kern/file.c (grub_file_read): Spelling fix
13837
fe00f472 138382009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
13841 loading of headers in some cases.
13842
cc55302e 138432009-08-30 Robert Millan <rmh.grub@aybabtu.com>
13844
13845 * configure.ac: Bump version to 1.97~beta1.
13846 * docs/version.texi: Likewise.
13847
5c90cdd2 138482009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 13849
13850 * include/grub/i386/xnu.h: Add license header.
13851 include grub/err.h explicitly.
13852
c90edae4 138532009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13854
13855 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
13856 to `ufs' in the vfs.root.mountfrom kernel parameter.
13857
d8888b5c 138582009-08-29 Robert Millan <rmh.grub@aybabtu.com>
13859
13860 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
13861
13862 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
13863 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
13864
13865 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
13866 `ARRAY_SIZE' macro.
13867
6f07b921 138682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 * kern/file.c (grub_file_read): Check offset.
13871 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
13872 * fs/jfs.c (grub_jfs_read_file): Likewise.
13873 * fs/ntfs.c (grub_ntfs_read): Likewise.
13874 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
13875 * fs/minix.c (grub_minix_read_file): Correct offset check.
13876 * fs/ufs.c (grub_ufs_read_file): Likewise.
13877
b4f34077 138782009-08-28 Colin Watson <cjwatson@ubuntu.com>
13879
13880 * term/i386/pc/console.c (bios_data_area): Cast
13881 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
13882
e7c69859 138832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13884
13885 1-bit optimised blitters.
13886
13887 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
13888 prototype.
13889 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13890 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13891 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13892 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13893 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13894 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13895 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
13896 function.
13897 (grub_video_fbblit_replace_24bit_1bit): Likewise.
13898 (grub_video_fbblit_replace_16bit_1bit): Likewise.
13899 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13900 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13901 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
13902 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
13903 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
13904 when possible.
13905 * video/video.c (grub_video_get_blit_format): Return
13906 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
13907
a57da43f 139082009-08-28 Colin Watson <cjwatson@ubuntu.com>
13909
13910 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
13911 the first argument to grub_printf.
13912
4cbe67e5 139132009-08-28 Colin Watson <cjwatson@ubuntu.com>
139142009-08-28 Robert Millan <rmh.grub@aybabtu.com>
13915
13916 Add `getkeystatus' terminal method. Add a new `keystatus' command
13917 to query it.
13918
13919 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
13920 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
13921 modifier key bitmasks.
13922 (struct grub_term_input): Add `getkeystatus' member.
13923 (grub_getkeystatus): Add prototype.
13924 * kern/term.c (grub_getkeystatus): New function.
13925
13926 * include/grub/i386/pc/memory.h
13927 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
13928 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
13929 Data Area layout.
13930 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
13931 (grub_console_term_input): Set `getkeystatus' member.
13932 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
13933 constants.
13934 (grub_usb_keyboard_getreport): Likewise.
13935 (grub_usb_keyboard_checkkey): Likewise.
13936 (grub_usb_keyboard_getkeystatus): New function.
13937 (grub_usb_keyboard_term): Set `getkeystatus' member.
13938
13939 * commands/keystatus.c: New file.
13940 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
13941 (keystatus_mod_SOURCES): New variable.
13942 (keystatus_mod_CFLAGS): Likewise.
13943 (keystatus_mod_LDFLAGS): Likewise.
13944 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
13945 commands/keystatus.c.
13946 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13947 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13948 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13950 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13951 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 13952
6e2a9085 139532009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 Split befs.mod and afs.mod into *_be.mod and *.mod
13956
13957 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
13958 (grub_fstest_SOURCES): Likewise.
13959 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
13960 (afs_be_mod_SOURCES): New variable.
13961 (afs_be_mod_CFLAGS): Likewise.
13962 (afs_be_mod_LDFLAGS): Likewise.
13963 (befs_be_mod_SOURCES): Likewise.
13964 (befs_be_mod_CFLAGS): Likewise.
13965 (befs_be_mod_LDFLAGS): Likewise.
13966 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
13967 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13968 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13969 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13970 (grub_emu_SOURCES): Likewise.
13971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13972 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13973 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13974 * fs/afs_be.c: New file.
13975 * fs/befs_be.c: New file.
13976 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
13977 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
13978 (U16): Replaced with ...
13979 (grub_afs_to_cpu16): ...this. All users updated.
13980 (U32): Replaced with ...
13981 (grub_afs_to_cpu32): ...this. All users updated.
13982 (U64): Replaced with ...
13983 (grub_afs_to_cpu64): ...this. All users updated.
13984 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
13985 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 13986 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 13987 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13988 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13989 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13990 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13991 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
13992 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
13993 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
13994 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
13995
32a71655 139962009-08-26 Bean <bean123ch@gmail.com>
13997
13998 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
13999 64-bit number.
14000 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
14001 (grub_xfs_inode_block): Change return type to grub_uint64_t.
14002 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
14003
552bf6c5 140042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14005
14006 NetBSD memory map support.
14007
14008 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
14009 (grub_netbsd_btinfo_mmap_header): New structure.
14010 (grub_netbsd_btinfo_mmap_entry): Likewise.
14011 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
14012
1ae2078c 140132009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 Enable bsd.mod on coreboot.
14016
14017 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
14018 (bsd_mod_SOURCES): New variable.
14019 (bsd_mod_CFLAGS): Likewise.
14020 (bsd_mod_LDFLAGS): Likewise.
14021 (bsd_mod_ASFLAGS): Likewise.
14022 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
14023 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
14024
beefc598 140252009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 Cleanup NetBSD root support.
14028
14029 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
14030 grub_bsd_get_device.
14031 Fix typo.
14032
3b76e68b 140332009-08-25 Felix Zielcke <fzielcke@z-51.de>
14034
14035 * util/grub.d/00_header.in: Move check for the video backend of
14036 gfxterm from here ...
14037 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
14038 a suitable video backend.
14039
aea664ea 140402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 Fix breakage in grub-setup.
14043
14044 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
14045 "msdos_partition_map".
14046
ff747d50 140472009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 Fix breakage in normal/auth.c.
14050
14051 * normal/auth.c (grub_iswordseparator): New function.
14052
e7e1f93f 140532009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 Authentication support.
14056
14057 * commands/password.c: New file.
14058 * conf/common.rmk (pkglib_MODULES): Add password.mod.
14059 (password_mod_SOURCES): New variable.
14060 (password_mod_CFLAGS): Likewise.
14061 (password_mod_LDFLAGS): Likewise.
14062 (normal_mod_SOURCES): Add normal/auth.c.
14063 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
14064 normal/auth.c.
14065 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14066 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14067 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14069 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14070 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14071 * include/grub/auth.h: New file.
14072 * include/grub/err.h (grub_err_t): New enum value
14073 GRUB_ERR_ACCESS_DENIED.
14074 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
14075 'users'.
14076 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
14077 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
14078 users updated.
14079 * normal/auth.c: New file.
14080 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
14081 (grub_cmdline_run): Don't allow to go to command line without
14082 authentication.
14083 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
14084 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
14085 menuentry without superuser rights.
14086 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
14087 user isn't a superuser.
14088
70f1161d 140892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 Save space by inlining misc.c functions.
14092
14093 * kern/misc.c (grub_iswordseparator): Made static.
14094 * kern/misc.c (grub_strcat): Moved from here ...
14095 * include/grub/misc.h (grub_strcat): ... here. Inlined.
14096 * kern/misc.c (grub_strncat): Moved from here ...
14097 * include/grub/misc.h (grub_strncat): ... here. Inlined.
14098 * kern/misc.c (grub_strcasecmp): Moved from here ...
14099 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
14100 * kern/misc.c (grub_strncasecmp): Moved from here ...
14101 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
14102 * kern/misc.c (grub_isalpha): Moved from here ...
14103 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
14104 * kern/misc.c (grub_isdigit): Moved from here ...
14105 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
14106 * kern/misc.c (grub_isgraph): Moved from here ...
14107 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
14108 * kern/misc.c (grub_tolower): Moved from here ...
14109 * include/grub/misc.h (grub_tolower): ... here. Inlined.
14110
48e40bff 141112009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 * script/sh/function.c (grub_script_function_find): Cut error message
14114 not to flood terminal.
14115 * script/sh/lexer.c (grub_script_yylex): Remove command line length
14116 limit.
14117 * script/sh/script.c (grub_script_arg_add): Duplicate string.
14118
c385bfc3 141192009-08-24 Colin Watson <cjwatson@ubuntu.com>
14120
14121 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
14122 `report' grub_uint8_t *.
14123 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
14124 Use a 50-millisecond timeout rather than just repeating
14125 grub_usb_keyboard_getreport 50 times.
14126 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
14127
2d21e3e8 141282009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14129
14130 Rename *_partition_map to part_*
14131
14132 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
14133 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
14134 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
14135 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
14136 All users updated.
14137 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
14138 All users updated.
14139 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
14140 * util/grub-probe.c (probe_partmap): Don't transform partition name
14141 to get module name.
14142
dd103c4e 141432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 Fix OpenBSD and NetBSD support.
14146
14147 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
14148 memory address conflict.
14149 (OPENBSD_MMAP_ACPI): New definition.
14150 (OPENBSD_MMAP_NVS): Likewise.
14151 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
14152 and OPENBSD_MMAP_NVS.
14153 Add memory map terminator
14154 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 14155 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 14156
16c84d74 141572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 Let user specify NetBSD root device.
14160
14161 * loader/i386/bsd.c (netbsd_root): New variable.
14162 (netbsd_opts): New option 'root'.
14163 (NETBSD_ROOT_ARG): New macro.
14164 (grub_netbsd_boot): Use 'netbsd_root'.
14165 (grub_bsd_unload): Free 'netbsd_root'.
14166 (grub_cmd_netbsd): Fill 'netbsd_root'.
14167
adb29902 141682009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Support for 64-bit NetBSD.
14171
14172 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
14173 point when booting non-FreeBSD.
14174
f5ae9f74 141752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 Support --no-smp and --no-acpi for NetBSD.
14178
14179 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
14180 (NETBSD_AB_NOACPI): Likewise.
14181 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
14182 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
14183
de74f136 141842009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14185
14186 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
14187 errors.
14188 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
14189 errors. Call grub_error when needed.
14190
e9a925da 141912009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * commands/search.c (search_fs): Try searching without autoload first.
14194 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
14195 filesystem module explicitly for faster booting.
14196
5174302b 141972009-08-23 Colin Watson <cjwatson@ubuntu.com>
14198
14199 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
14200
c8c80635 142012009-08-23 Colin Watson <cjwatson@ubuntu.com>
14202
14203 * util/grub.d/30_os-prober.in: Disable os-prober if
14204 `GRUB_DISABLE_OS_PROBER' was set to true.
14205
71acf5e5 142062009-08-23 Robert Millan <rmh.grub@aybabtu.com>
14207
14208 * partmap/pc.c: Rename to ...
14209 * partmap/msdos.c: ... this. Update all users.
14210 (grub_pc_partition_map): Rename to ...
14211 (grub_msdos_partition_map): ... this. Update all users.
14212
14213 * parttool/pcpart.c: Rename to ...
14214 * parttool/msdospart.c: ... this. Update all users.
14215
14216 * include/grub/pc_partition.h: Rename to ...
14217 * include/grub/msdos_partition.h: ... this. Update all users.
14218 (grub_pc_partition_bsd_entry): Rename to ...
14219 (grub_msdos_partition_bsd_entry): ... this. Update all users.
14220 (grub_pc_partition_disk_label): Rename to ...
14221 (grub_msdos_partition_disk_label): ... this. Update all users.
14222 (grub_pc_partition_entry): Rename to ...
14223 (grub_msdos_partition_entry): ... this. Update all users.
14224 (grub_pc_partition_mbr): Rename to ...
14225 (grub_msdos_partition_mbr): ... this. Update all users.
14226 (grub_pc_partition): Rename to ...
14227 (grub_msdos_partition): ... this. Update all users.
14228 (grub_pc_partition_is_empty): Rename to ...
14229 (grub_msdos_partition_is_empty): ... this. Update all users.
14230 (grub_pc_partition_is_extended): Rename to ...
14231 (grub_msdos_partition_is_extended): ... this. Update all users.
14232 (grub_pc_partition_is_bsd): Rename to ...
14233 (grub_msdos_partition_is_bsd): ... this. Update all users.
14234
14235 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
14236 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
14237 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
14238 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
14239 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
14240 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
14241 (gpt_mod_LDFLAGS): Rename to ...
14242 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
14243 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
14244 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
14245 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
14246 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
14247 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
14248 (part_gpt_mod_LDFLAGS): ... this.
14249 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
14250 `pcpart.mod' to `msdospart.mod'.
14251 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
14252 to ...
14253 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
14254 (msdospart_mod_LDFLAGS): ... this.
14255
c11fded5 142562009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
14259 (openbsd_opts): Likewise.
14260 (netbsd_opts): Likewise.
14261 (freebsd_flags): Added 0 terminator.
14262 (openbsd_flags): Likewise.
14263 (netbsd_flags): Likewise.
14264 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
14265 (grub_cmd_freebsd): Transformed into extended command.
14266 (grub_cmd_openbsd): Likewise.
14267 (grub_cmd_netbsd): Likewise.
14268 (cmd_freebsd): Changed type to grub_extcmd_t.
14269 (cmd_openbsd): Likewise.
14270 (cmd_netbsd): Likewise.
14271 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
14272 grub_cmd_openbsd as extended commands.
14273 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
14274 cmd_netbsd and cmd_openbsd
14275
11d1c769 142762009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
14279
7a9094e5 142802009-08-21 Pavel Roskin <proski@gnu.org>
14281
5496c37e 14282 * Makefile.in (install-local): When checking if a file is in the
14283 build directory, use "test -e" to detect symlinks.
14284
7a9094e5 14285 * Makefile.in (install-local): Remove all files in
14286 $(DESTDIR)$(pkglibdir) before installing new files there.
14287
e53cea11 142882009-08-18 Felix Zielcke <fzielcke@z-51.de>
14289
14290 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
14291 grub-mkelfimage.
14292
9aced544 142932009-08-18 Felix Zielcke <fzielcke@z-51.de>
14294
14295 * util/grub-mkconfig.in: Don't use gfxterm by default if not
14296 explicitly specified by the user.
14297
b7da6bab 142982009-08-18 Pavel Roskin <proski@gnu.org>
14299
14300 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
14301 grub_uint8_t pointer for data.
14302 * include/grub/fbutil.h (struct grub_video_fbblit_info):
14303 Likewise.
14304 * video/fb/fbutil.c: Remove unnecessary casts.
14305
19f1b335 143062009-08-17 Michal Suchanek <hramrach@centrum.cz>
14307
14308 VBE cleanup.
14309
14310 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
14311 (grub_vbe_set_video_mode): Save active mode info
14312 only after setting the mode.
14313 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
14314 second argument.
14315
2f467aa9 143162009-08-17 Michal Suchanek <hramrach@centrum.cz>
14317
14318 Rename variables for clarity.
14319
14320 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
14321 (active_vbe_mode_info): ... this. All users updated.
14322 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
14323 All users updated.
14324 (initial_mode): Rename to ...
14325 (initial_vbe_mode): ... this. All users updated.
14326 (mode_in_use): Rename to ..
14327 (vbe_mode_in_use): ... this. All users updated.
14328 (mode_list): Rename to ..
14329 (vbe_mode_list): ... this. All users updated.
14330 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
14331 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
14332 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
14333 'mode_list_size' to 'vbe_mode_list_size'.
14334 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
14335 'best_mode_info' to 'best_vbe_mode_info' and
14336 'best_mode' to 'best_vbe_mode'
14337
6025fcd7 143382009-08-17 Michal Suchanek <hramrach@centrum.cz>
14339
14340 Remove duplicate grub_video_fb_get_video_ptr.
14341
14342 * include/grub/fbutil.h (get_data_ptr): Rename to ...
14343 (grub_video_fb_get_video_ptr): ... this.
14344 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
14345 * video/fb/fbutil.c: Add comment about addressing.
14346 (get_data_ptr): Rename to ...
14347 (grub_video_fb_get_video_ptr): ... this. All users updated.
14348 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
14349
cc8c6faf 143502009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14351
14352 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
14353 grub_dprintf() that was just added.
14354
08aa61f0 143552009-08-17 Robert Millan <rmh.grub@aybabtu.com>
14356
14357 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
14358 (DEFAULT_VIDEO_MODE): Remove macros.
14359 (grub_linux_boot): Remove assumption that Linux has FB support,
14360 and use "text" as default video mode.
14361
7cef4f75 143622009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
14363
14364 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
14365 grub_dprintf.
14366 * fs/fat.c (grub_fat_read_data): Likewise.
14367
e1f39873 143682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
14371 payload.
14372 (grub_module): Likewise.
14373
c166d79e 143742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
14377 mbi->cmdline but free playground.
14378
c60cee8e 143792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14380
14381 Handle group offset on UFS1.
14382
14383 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
14384 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
14385
c0d8b5d4 143862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 Split ufs.mod into ufs1.mod and ufs2.mod.
14389
14390 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
14391 (grub_fstest_SOURCES): Likewise.
14392 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
14393 (ufs_mod_SOURCES): Remove.
14394 (ufs_mod_CFLAGS): Likewise.
14395 (ufs_mod_LDFLAGS): Likewise.
14396 (ufs1_mod_SOURCES): New variable.
14397 (ufs1_mod_CFLAGS): Likewise.
14398 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 14399 (ufs2_mod_SOURCES): New variable.
14400 (ufs2_mod_CFLAGS): Likewise.
14401 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 14402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
14403 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14404 Likewise.
14405 (grub_emu_SOURCES): Likewise.
14406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14408 (grub_setup_SOURCES): Likewise.
14409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14410 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
14411 (grub_setup_SOURCES): Likewise.
14412 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
14413 Likewise.
14414 * fs/ufs2.c: New file.
14415 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
14416
d3539132 144172009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 Framebuffer split.
14420
14421 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
14422 subsystem at the end.
14423 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
14424 (video_fb_mod_SOURCES): New variable.
14425 (video_fb_mod_CFLAGS): Likewise.
14426 (video_fb_mod_LDFLAGS): Likewise.
14427 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
14428 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
14429 * video/i386/pc/vbeblit.c: Moved from here ...
14430 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
14431 * video/i386/pc/vbefill.c: Moved from here ...
14432 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
14433 * video/i386/pc/vbeutil.c: Moved from here ...
14434 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
14435 * include/grub/i386/pc/vbeblit.h: Moved from here ...
14436 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
14437 * include/grub/i386/pc/vbefill.h: Moved from here ...
14438 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
14439 * include/grub/i386/pc/vbeutil.h: Moved from here ...
14440 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
14441 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
14442 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
14443 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
14444 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
14445 (grub_video_adapter): Added 'get_info_and_fini'.
14446 (grub_video_get_info_and_fini): New prototype.
14447 (grub_video_set_mode): make modestring const char *.
14448 * loader/i386/linux.c (grub_linux_setup_video): Use
14449 grub_video_get_info_and_fini.
14450 (grub_linux_boot): Move modesetting just before booting.
14451 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
14452 grub_video_get_info_and_fini.
14453 * video/i386/pc/vbe.c: Moved framebuffer part ...
14454 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
14455 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
14456 grub_video_fbstd_colors and grub_video_fb_set_palette.
14457 (grub_video_vbe_init): Clear 'framebuffer' variable and use
14458 grub_video_fb_init.
14459 (grub_video_vbe_fini): Use grub_video_fb_fini.
14460 (grub_video_vbe_setup): Use framebuffer.render_target instead of
14461 render_target and use grub_video_fb_set_active_render_target and
14462 grub_video_fb_set_palette.
14463 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
14464 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
14465 (grub_video_vbe_adapter): Use framebuffer.
14466 * video/video.c (grub_video_get_info_and_fini): New function.
14467 (grub_video_set_mode): Make modestring const char *.
14468 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
14469 values are already initialised.
14470
d404ee56 144712009-08-14 Pavel Roskin <proski@gnu.org>
14472
14473 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
14474 ABS and APPLE_CC.
14475 * boot/i386/pc/diskboot.S: Likewise.
14476 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
14477 sectors allow compilation on MacOSX.
14478 * conf/i386-pc.rmk: Enable unconditional compilation of
14479 lnxboot.img.
14480
9a10df16 144812009-08-13 Colin Watson <cjwatson@ubuntu.com>
14482
14483 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
14484 * util/grub.d/00_header.in: Enter interruptible sleep if
14485 GRUB_HIDDEN_TIMEOUT is set.
14486
be3c9ca7 144872009-08-13 Yves Blusseau <blusseau@zetam.org>
14488
14489 * include/grub/symbol.h: Add the LOCAL macro.
14490 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
14491 starting with "L_".
14492
1f9e557e 144932009-08-13 Pavel Roskin <proski@gnu.org>
14494
9ca62843 14495 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
14496 any modern compilers we support.
14497
1f9e557e 14498 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
14499 Use local labels starting with "L_" so that Apple assembler
14500 knows they are local.
14501
81623db6 145022009-08-10 Robert Millan <rmh.grub@aybabtu.com>
14503
14504 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
14505 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
14506 (bsd_kernel_types): ... this enum.
14507
14508 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
14509 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
14510 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
14511
14512 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
14513 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
14514 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
14515 messages.
14516
f5d35e7a 145172009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14518
14519 * util/grub-dumpdevtree: Moved from here ...
14520 * util/i386/efi/grub-dumpdevtree: ... to here.
14521 (hexify): New function. Converts a string to its hex version.
14522 Generate hex versions of "efi" and "device-properties" by calling
14523 hexify() on the ASCII strings rather than by hardcoding numbers.
14524
d1e1d527 145252009-08-08 Robert Millan <rmh.grub@aybabtu.com>
14526
14527 * fs/jfs.c: Update copyright year.
14528
1ebbe064 145292009-08-08 Felix Zielcke <fzielcke@z-51.de>
14530
14531 * util/grub.d/00_header.in: Fix a comment.
14532 * util/grub.d/10_linux.in: Likewise.
14533 * util/grub.d/10_windows.in: Likewise.
14534 * util/grub.d/10_hurd.in: Likewise.
14535
a78c8d24 145362009-08-08 Felix Zielcke <fzielcke@z-51.de>
14537
14538 * util/grub-mkconfig.in: Allow the user to specify the used font
14539 with GRUB_FONT.
14540
29a6b9e8 145412009-08-08 Pavel Roskin <proski@gnu.org>
14542
b5f16cc4 14543 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
14544 available, xfs.mod needs it now.
14545
2f5cb827 14546 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
14547 the "g" modifier in sed when the intention is to strip something
14548 once. This fixes comparison of kernels with multiple dashes.
14549
29a6b9e8 14550 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
14551 on it. Add missing space before closing bracket. Fix
14552 misleading formatting.
14553
892a3d98 145542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14555
14556 * docs/grub.texi: Major overhaul. Remove all sections that are
14557 specific to GRUB Legacy, or mostly composed of Legacy-specific
14558 information.
14559
ed94253f 145602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14561
14562 * docs/version.texi: New file. Provides version information for
14563 grub.texi.
14564
126d6628 145652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14566
14567 * docs/grub.texi: Update CVS information to SVN.
14568 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
14569
998b5aa9 145702009-08-07 Felix Zielcke <fzielcke@z-51.de>
14571
14572 * util/grub-mkconfig.in: Remove a wrong `fi'.
14573
818e094a 145742009-08-07 Felix Zielcke <fzielcke@z-51.de>
14575
14576 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
14577 (grub_jfs_uuid): New function.
14578 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
14579
b969c52f 145802009-08-07 Felix Zielcke <fzielcke@z-51.de>
14581
14582 * util/grub-mkconfig_lib.in (font_path): Move the functionality
14583 of it to ...
14584 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
14585 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
14586
7a4894cc 145872009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14588
14589 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
14590 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
14591 Update all users.
14592
14593 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
14594 not just "vmlinu[zx]".
14595 Moved from here ...
14596 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
14597 all users.
14598
14599 * util/grub.d/10_linux.in (find_latest): Moved from here ...
14600 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
14601 all users.
14602
4e2171f8 146032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
14604
14605 * util/grub.d/10_freebsd.in: Use an absolute device path for
14606 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
14607
6dcfcb32 146082009-08-06 Felix Zielcke <fzielcke@z-51.de>
14609
14610 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
14611 handling of multiple abstraction modules.
14612
f56a8756 146132009-08-04 Robert Millan <rmh.grub@aybabtu.com>
14614
14615 Fix a bug resulting in black screen when loading Linux using a
14616 packed video mode.
14617
14618 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
14619 function.
14620
14621 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
14622 (grub_vbe_bios_getset_dac_palette_width): New function.
14623 (grub_vbe_bios_get_dac_palette_width)
14624 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
14625 grub_vbe_bios_getset_dac_palette_width()).
14626
14627 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
14628 check for return status.
14629 (grub_vbe_get_video_mode_info): When getting information for a packed
14630 mode (<= 8 bpp), obtain DAC palette width using
14631 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
14632 {red,green,blue}_mark_size.
14633
222671b2 146342009-08-04 Felix Zielcke <fzielcke@z-51.de>
14635
ecb1a6d9 14636 * commands/search.c (options): Fix help output to match actual code.
222671b2 14637
f84114f5 146382009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
14641 of homegrown code.
14642
bd288a20 146432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 14644
14645 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
14646 on XFS or ReiserFS.
14647
8aab5e25 146482009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14649
14650 Support Apple partition map with sector size different from 512 bytes.
14651
14652 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
14653 (apple_partition_map_iterate): Respect 'aheader.blocksize'
14654 and 'apart.partmap_size'.
14655
6ad6258a 146562009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
146572009-08-01 Robert Millan <rmh.grub@aybabtu.com>
14658
14659 Fix cpuid command.
14660
14661 * commands/i386/cpuid.c (options): New variable.
14662 (grub_cmd_cpuid): Return real error.
14663 (GRUB_MOD_INIT(cpuid)): Declare options.
14664
67459bc6 146652009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
14666
14667 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
14668 valid.
14669
fbc6ab54 146702009-07-31 Bean <bean123ch@gmail.com>
14671
14672 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
14673 log2_inode.
14674 (grub_fshelp_node): Move inode field to the end.
14675 (grub_xfs_data): Remove inode field.
14676 (grub_xfs_inode_block): Calculate inode size using sblock.
14677 (grub_xfs_inode_offset): Likewise.
14678 (grub_xfs_read_inode): Calculate inode size using sblock.
14679 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
14680 (grub_xfs_iterate_dir): Calculate inode size using sblock.
14681 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
14682 to match inode size.
14683 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
14684 not accessible when data is null.
14685 (grub_xfs_open): Likewise.
14686
f45d6cfc 146872009-07-31 Bean <bean123ch@gmail.com>
14688
14689 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
14690 Don't change pv->disk if it's already set.
14691
14692 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
14693 (grub_raid_register): ... here.
14694 (grub_raid_rescan): Removed.
14695
14696 * include/grub/raid.h (grub_raid_rescan): Removed.
14697
14698 * util/grub-fstest.c: Remove include file <grub/raid.h>.
14699 (fstest): Replace grub_raid_rescan with module fini function followed
14700 by init function.
14701
14702 * util/grub-probe.c: Add include file <grub/raid.h>.
14703 (probe_raid_level): New function.
14704 (probe): Detect abstraction by walking the disk device, support two
14705 level of abstraction (LVM on RAID) when detecting partition map.
14706
24443b5a 147072009-07-31 Pavel Roskin <proski@gnu.org>
14708
14709 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
14710 to grub_zalloc(), it was erroneous.
14711 Reported by Bean <bean123ch@gmail.com>
14712
a275d9e7 147132009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 14716 embedding zone, not only the first one.
a275d9e7 14717
56c5a47f 147182009-07-29 Joe Auricchio <jauricchio@gmail.com>
14719
14720 * term/gfxterm.c (clear_char): New function.
14721 (grub_virtual_screen_setup): Use clear_char.
14722 (scroll_up): Likewise.
14723 (grub_virtual_screen_cls): Likewise.
14724
67bb323a 147252009-07-29 Felix Zielcke <fzielcke@z-51.de>
14726
14727 * util/deviceiter.c (get_acceleraid_disk_name): New static
14728 function.
14729 (grub_util_iterate_devices): Handle Accelraid devices.
14730 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
14731
388a7c75 147322009-07-28 Robert Millan <rmh.grub@aybabtu.com>
14733
14734 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
14735 separator for the suggested gfxpayload string (';' collides with the
14736 parser and needs escaping).
14737
3bb7abcf 147382009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
14741 Clear direction flag before jumping to OS.
14742 (grub_multiboot2_real_boot): Likewise.
14743
2ddd36d7 147442009-07-28 Felix Zielcke <fzielcke@z-51.de>
14745
14746 * util/i386/pc/grub-install: Fix parsing of --disk-module
14747 option.
14748
c521b62b 147492009-07-28 Felix Zielcke <fzielcke@z-51.de>
14750
14751 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
14752 when embedding.
14753
880e0a0c 147542009-07-26 Felix Zielcke <fzielcke@z-51.de>
14755
14756 * util/grub-mkconfig.in (package_version): New variable.
14757 Use it do display the version.
14758
2366e356 147592009-07-25 Felix Zielcke <fzielcke@z-51.de>
14760
14761 * kern/file.c (grub_file_open): Revert to previous check with
14762 grub_errno.
14763
7ad8c80e 147642009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
14767 from help line. It's out of sync with code.
14768
72b9658b 147692009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
14770
14771 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
14772 entries on failed boot.
14773
77435277 147742009-07-25 Felix Zielcke <fzielcke@z-51.de>
14775
14776 * kern/file.c (grub_file_open): Fix an error check.
14777
fcaa8b21 147782009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
14779
35d16c74 14780 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
14781 partition map couldn't be identified.
fcaa8b21 14782
48904cd1 147832009-07-23 Pavel Roskin <proski@gnu.org>
14784
ef3c317f 14785 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
14786 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
14787 case of little endian words becomes just an optimization.
14788 Respect const modifier.
ad8ea1f4 14789 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 14790
48904cd1 14791 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
14792 to avoid loss of upper bits if align is unsigned and shorter
14793 than addr.
14794
260c9a89 147952009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14796
14797 UUID support for UFS
14798
14799 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
14800 (grub_ufs_uuid): New function.
14801 (grub_ufs_fs): add .uuid
14802
f76ce889 148032009-07-21 Pavel Roskin <proski@gnu.org>
14804
14805 * kern/dl.c (grub_dl_check_header): Make static.
14806
6a6cbcaf 148072009-07-21 Felix Zielcke <fzielcke@z-51.de>
14808
14809 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
14810 add drivemap for Vista. It breaks Windows 7.
14811
cffcddb2 148122009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
14815 128 bytes
14816
1ef44b80 148172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 Add BFS support
14820
14821 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
14822 (grub_fstest_SOURCES): Likewise.
14823 (pkglib_MODULES): Add befs.mod.
14824 (befs_mod_SOURCES): New variable.
14825 (befs_mod_CFLAGS): Likewise.
14826 (befs_mod_LDFLAGS): Likewise.
14827 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
14828 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14829 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14830 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14831 (grub_setup_SOURCES): Likewise.
14832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14833 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14834 (grub_setup_SOURCES): Likewise.
14835 * fs/befs.c: New file.
14836 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
14837 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
14838 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
14839 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
14840 (B_KEY_INDEX_ALIGN): New declaration.
14841 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
14842 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
14843 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
14844 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
14845 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
14846 (grub_afs_mount) [MODE_BFS]: Likewise.
14847 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
14848 (grub_afs_fs): Use GRUB_AFS_FSNAME
14849 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
14850 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
14851 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
14852 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
14853
4f253044 148542009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
14855
14856 * util/getroot.c (find_root_device): Add support for MacOSX.
14857 * util/hostdisk.c: Likewise.
14858
57a55913 148592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 * font/font.c (find_glyph): Check whether a font is present to avoid
14862 segmentation fault.
75421ca9 14863
148642009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 14865
14866 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
14867
e98cd0c2 148682009-07-20 Pavel Roskin <proski@gnu.org>
14869
14870 * configure.ac: Trim excessively wordy excuses.
14871
1d2d169a 148722009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14873
14874 Add symlink, mtime and label support to AtheFS.
14875
14876 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
14877 (grub_afs_iterate_dir): Handle symlinks.
14878 (grub_afs_open): Use grub_afs_read_symlink.
14879 (grub_afs_dir): Likewise.
14880 Pass mtime.
14881 (grub_afs_label): New function.
14882 (grub_afs_fs): Add grub_afs_label.
14883 (grub_afs_read_symlink): New function.
14884
186f3189 148852009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
14886
14887 Fix AtheFS support.
14888
14889 * fs/afs.c: Fix comments style.
14890 (grub_afs_blockrun): Declare as packed.
14891 (grub_afs_datastream): Likewise.
14892 (grub_afs_bnode): Likewise.
14893 (grub_afs_btree): Likewise.
14894 (grub_afs_sblock): Likewise.
14895 Declare `name' as char.
14896 (grub_afs_inode): Declare as packed.
14897 Change void *vnode to grub_uint32_t unused.
14898 (grub_afs_iterate_dir): Check that key_size is positive.
14899 (grub_afs_mount): Don't read superblock twice.
75421ca9 14900 (grub_afs_dir): Don't free node in case of error,
186f3189 14901 grub_fshelp_find_file already handles this.
14902 (grub_afs_open): Likewise.
14903
5680109e 149042009-07-19 Pavel Roskin <proski@gnu.org>
14905
14906 * Makefile.in: Remove LIBLZO and enable_lzo.
14907 * conf/i386-pc.rmk: Remove lzo support.
14908 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
14909 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
14910 support.
14911 * kern/i386/pc/lzo1x.S: Remove.
14912 * kern/i386/pc/startup.S: Remove lzo support.
14913 * util/i386/pc/grub-mkimage.c: Likewise.
14914
ac70fa32 149152009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
14918 * fs/xfs.c (grub_xfs_dir): Likewise.
14919 * fs/afs.c (grub_afs_dir): Likewise.
14920 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
14921 (grub_iso9660_open): Likewise.
14922 * fs/jfs.c (grub_jfs_open): Likewise.
14923 * fs/ext2.c (grub_ext2_dir): Likewise.
14924 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
14925 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 14926
eab58da2 149272009-07-16 Pavel Roskin <proski@gnu.org>
14928
d2838156 14929 * configure.ac: Never add "-c" to CFLAGS.
14930
55c70904 14931 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
14932
43e6200c 14933 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
14934 grub_cv_cc_efiemu should be used.
14935
ce7a733d 14936 * configure.ac: Typo fixes.
14937
eab58da2 14938 * kern/mm.c (grub_zalloc): New function.
14939 (grub_debug_zalloc): Likewise.
14940 * include/grub/mm.h: Declare grub_zalloc() and
14941 grub_debug_zalloc().
14942 * util/misc.c (grub_zalloc): New function.
14943 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
14944 instead of grub_malloc(), remove unneeded initializations.
14945 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
14946 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
14947 * commands/parttool.c (grub_cmd_parttool): Likewise.
14948 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14949 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
14950 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
14951 * disk/usbms.c (grub_usbms_finddevs): Likewise.
14952 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
14953 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
14954 (grub_cmd_efiemu_pnvram): Likewise.
14955 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
14956 * fs/iso9660.c (grub_iso9660_mount): Likewise.
14957 (grub_iso9660_iterate_dir): Likewise.
14958 * fs/jfs.c (grub_jfs_opendir): Likewise.
14959 * fs/ntfs.c (list_file): Likewise.
14960 (grub_ntfs_mount): Likewise.
14961 * kern/disk.c (grub_disk_open): Likewise.
14962 * kern/dl.c (grub_dl_load_core): Likewise.
14963 * kern/elf.c (grub_elf_file): Likewise.
14964 * kern/env.c (grub_env_context_open): Likewise.
14965 (grub_env_set): Likewise.
14966 (grub_env_set_data_slot): Likewise.
14967 * kern/file.c (grub_file_open): Likewise.
14968 * kern/fs.c (grub_fs_blocklist_open): Likewise.
14969 * loader/i386/multiboot.c (grub_module): Likewise.
14970 * loader/xnu.c (grub_xnu_create_key): Likewise.
14971 (grub_xnu_create_value): Likewise.
14972 * normal/main.c (grub_normal_add_menu_entry): Likewise.
14973 (read_config_file): Likewise.
14974 * normal/menu_entry.c (make_screen): Likewise.
14975 * partmap/sun.c (sun_partition_map_iterate): Likewise.
14976 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
14977 * script/sh/script.c (grub_script_parse): Likewise.
14978 * video/bitmap.c (grub_video_bitmap_create): Likewise.
14979 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
14980 * video/readers/png.c (grub_png_output_byte): Likewise.
14981 (grub_video_reader_png): Likewise.
14982
830afef7 149832009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 14984
14985 Enable all targets that can be built by default
14986
830afef7 14987 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 14988 grub-mkfont and grub-fstest if they can be built
14989
ee293aee 149902009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 Fix hang and segmentation fault in grub-emu-usb
14993
14994 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
14995 * util/usb.c (grub_libusb_devices): likewise
14996 (grub_libusb_init): rename to ...
14997 (GRUB_MOD_INIT (libusb)):...this
14998 (grub_libusb_fini): rename to ..
14999 (GRUB_MOD_FINI (libusb)):...this
15000 * disk/usbms.c (grub_usbms_transfer): fix retry logic
15001 * include/grub/disk.h (grub_raid_init): removed, it's useless
15002 (grub_raid_fini): likewise
15003 (grub_lvm_init): likewise
15004 (grub_lvm_fini): likewise
15005 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
15006 by grub_init_all
15007
94414221 150082009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 Fix libusb
15011
15012 * Makefile.in (LIBUSB): new macro
15013 * genmk.rb (Utility/print_tail): new method
15014 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
15015 (top level): call util.print_tail at the end.
15016
59ade63d 150172009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 Make FreeBSD accept zpool.cache
15020
15021 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
15022 type is /boot/zfs/zpool.cache
15023
a58da8c7 150242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 Fix 64-bit efiemu
15027
15028 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
15029 correct wrong typedef
15030 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
15031
20591577 150322009-07-15 Pavel Roskin <proski@gnu.org>
15033
560ca572 15034 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
15035 * kern/disk.c (struct grub_disk_cache): Likewise.
15036
e8e8e4fd 15037 * commands/probe.c (options): Typo fix.
15038
fde24e10 15039 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
15040 Increase to 0x5a to accommodate FAT32. Adjust other offsets
15041 accordingly.
15042 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
15043
379c54c1 15044 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
15045 the end of "Error" to make the message more readable.
15046
7bd8f5bf 15047 * boot/i386/pc/boot.S (kernel_segment): Remove.
15048 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
15049 for destination.
15050
40b132c5 15051 * boot/i386/pc/boot.S (boot_version): Remove.
15052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15053 Remove.
15054
20591577 15055 * include/grub/i386/pc/boot.h: Sort all offsets.
15056 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
15057 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
15058 * boot/i386/pc/boot.S: Assert location of every offset listed in
15059 include/grub/i386/pc/boot.h.
15060
2df32b2c 150612009-07-13 Pavel Roskin <proski@gnu.org>
15062
44b5d879 15063 * include/grub/i386/coreboot/machine.h: Rename
15064 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
15065 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
15066 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
15067
17dc3751 15068 * kern/dl.c: Force native word size to suppress warnings when
15069 compiling grub-emu.
15070
2df32b2c 15071 * kern/device.c (grub_device_iterate): Change struct part_ent to
15072 hold the name, not a pointer to it. Use one grub_malloc() per
15073 partition, not two. Free partition_name if grub_malloc() fails.
15074 Set ents to NULL only before grub_partition_iterate() is called.
15075
75c59f59 150762009-07-11 Bean <bean123ch@gmail.com>
15077
15078 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
15079 childname.
15080
0ae1bf88 150812009-07-10 Bean <bean123ch@gmail.com>
150822009-07-10 Robert Millan <rmh.grub@aybabtu.com>
15083
15084 * kern/ieee1275/openfw.c (grub_children_iterate)
15085 (grub_devalias_iterate): Fix size evaluation for property or path
15086 strings, which was broken since r2132.
15087
8279cade 150882009-07-07 Pavel Roskin <proski@gnu.org>
15089
7d8a52d3 15090 * commands/search.c (search_file): Merge into ...
15091 (search_fs): ... this. Accept search type as argument.
15092 (grub_cmd_search): Pass search type to search_fs().
15093
25f9a05a 15094 * include/grub/util/console.h: New file.
15095 * util/console.c: Use it instead of grub/machine/console.h.
15096 * util/grub-emu.c: Likewise.
15097
8279cade 15098 * lib/arg.c (find_long_option): Remove.
15099 (find_long): Add `len' argument, make `s' const char *.
15100 (grub_arg_parse): Parse long options in place, not in a
15101 temporary buffer.
15102
4a11b60f 151032009-07-06 Pavel Roskin <proski@gnu.org>
15104
99f68041 15105 * commands/search.c (search_fs): Fix potential NULL pointer
15106 dereference.
15107
4a11b60f 15108 * commands/search.c (search_fs): Replace QUID macro with quid_fn
15109 function pointer.
15110
e110f4de 151112009-07-06 Daniel Mierswa <impulze@impulze.org>
15112
15113 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
15114 comparison.
15115
46eeb6a2 151162009-07-05 Pavel Roskin <proski@gnu.org>
15117
bab74958 15118 * include/grub/i386/linux.h (struct linux_kernel_params):
15119 Restore padding3, it's still needed.
15120
46eeb6a2 15121 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
15122 FreeBSD.
15123 * util/osdetect.lua: Likewise.
15124
b4a1dc79 151252009-07-05 Bean <bean123ch@gmail.com>
15126
15127 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
15128
15129 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
15130 (grub_lua_getenv): Likewise.
15131 (grub_lua_setenv): Likewise.
15132 (save_errno): New function.
15133 (push_result): Likewise.
15134 (grub_lua_enum_device): Likewise.
15135 (grub_lua_enum_file): Likewise.
15136 (grub_lua_file_open): Likewise.
15137 (grub_lua_file_close): Likewise.
15138 (grub_lua_file_seek): Likewise.
15139 (grub_lua_file_read): Likewise.
15140 (grub_lua_file_getline): Likewise.
15141 (grub_lua_file_getsize): Likewise.
15142 (grub_lua_file_getpos): Likewise.
15143 (grub_lua_file_eof): Likewise.
15144 (grub_lua_file_exist): Likewise.
15145 (grub_lua_add_menu): Likewise.
15146
15147 * script/lua/grub_lua.h (isupper): New inline function.
15148 (islower): Likewise.
15149 (ispunct): Likewise.
15150 (isxdigit): Likewise.
15151 (strcspn): Change to normal function.
15152 (strpbkr): New function declaration.
15153 (memchr): Likewise.
15154
15155 * script/lua/grub_main.c (scan_str): New function.
15156 (strcspn): Likewise.
15157 (strpbrk): Likewise.
15158 (memchr): Likewise.
15159
15160 * script/lua/linit.c (lualibs): Enable the string library.
15161
15162 * util/osdetect.lua: New file.
15163
2da92295 151642009-07-04 Robert Millan <rmh.grub@aybabtu.com>
15165
15166 * include/grub/i386/linux.h (struct linux_kernel_params): Add
15167 `capabilities' member.
15168
b2582ec9 151692009-07-02 Pavel Roskin <proski@gnu.org>
15170
15171 * genparttoollist.sh: Add missing newline at the end.
15172
32622956 151732009-07-01 Pavel Roskin <proski@gnu.org>
15174
87a7339e 15175 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
15176
d23af54e 15177 * util/hostdisk.c (open_device): Remove `const' from
15178 `sysctl_size', as sysctlbyname() can change it (in this case it
15179 doesn't actually happen).
15180
c94b18a9 15181 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
15182 using signed long int constants.
15183
c6cd3ef0 15184 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
15185 constant to avoid a warning on FreeBSD.
15186
0df63420 15187 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
15188 where it's needed.
15189
999577f1 15190 * Makefile.in: Install include/grub/machine symlink.
15191
6f41557f 15192 * Makefile.in: When installing symlinks, use "cp -fR", which
15193 works on FreeBSD and MacOSX.
15194 From Yves Blusseau <cl7m42e02@sneakemail.com>
15195
c8d22988 15196 * kern/dl.c (grub_dl_resolve_symbol): Make static.
15197 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
15198
1b96e952 15199 * util/misc.c: Move grub_reboot() and grub_halt() ...
15200 * util/grub-emu.c: ... here. Make main_env static.
15201 * include/grub/util/misc.h: Remove main_env.
15202
2ef0084d 15203 * kern/mm.c: Use correct format to print size_t.
15204
32622956 15205 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
15206 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
15207 * kern/powerpc/dl.c: Likewise.
15208 * kern/sparc64/dl.c: Likewise.
15209 * kern/x86_64/dl.c: Likewise.
15210
3f7f0cd0 152112009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15212
15213 Fix grub-emu build on sparc64-ieee1275.
15214
75421ca9 15215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 15216 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
15217
211d06b5 152182009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15219
15220 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
15221 (grub_reboot, grub_halt): New functions.
15222
15223 * util/i386/pc/misc.c: Delete. Update all users.
15224 * util/sparc64/ieee1275/misc.c: Likewise.
15225 * util/powerpc/ieee1275/misc.c: Likewise.
15226
aaf53e3c 152272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15228
15229 * conf/i386.rmk (setjmp_mod_SOURCES)
15230 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
15231 * conf/common.rmk (setjmp_mod_SOURCES)
15232 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
15233 to use $(target_cpu).
15234 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
15235 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
15236 * conf/powerpc-ieee1275.rmk: Likewise.
15237 * conf/sparc64-ieee1275.rmk: Likewise.
15238
15239 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
15240 $(target_cpu) for kern/$(target_cpu)/dl.c.
15241 * conf/i386-efi.rmk: Likewise.
15242 * conf/i386-ieee1275.rmk: Likewise.
15243 * conf/x86_64-efi.rmk: Likewise.
15244 * conf/i386-coreboot.rmk: Likewise.
15245 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
15246 $(target_cpu) for kern/$(target_cpu)/dl.c and for
15247 kern/$(target_cpu)/cache.S.
15248 * conf/sparc64-ieee1275.rmk: Likewise.
15249
a337130b 152502009-07-01 Robert Millan <rmh.grub@aybabtu.com>
15251
15252 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
15253 type to `grub_uint8_t', and adjust `padding9' accordingly.
15254
c6fe4d53 152552009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15256
b09db61d 15257 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
15258
c6fe4d53 15259 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
15260 assembly in final jump, using register constraints.
15261
b09db61d 15262 (grub_linux_boot): For text mode, initialize `have_vga' using
15263 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
15264
15265 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
15266 right before the final jump.
15267
15268 Set `video_mode' to 0x3.
15269
15270 Document initialization of `video_page', `video_mode' and
15271 `video_ega_bx'.
15272
28333ad0 152732009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15274
15275 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
15276 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 15277 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 15278
02164e1b 152792009-06-29 Robert Millan <rmh.grub@aybabtu.com>
15280
15281 Fix build on Debian / sparc.
15282
15283 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
15284
18b6c557 152852009-06-28 Pavel Roskin <proski@gnu.org>
15286
85f2aab6 15287 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
15288 fix a warning.
15289
18b6c557 15290 * util/grub.d/10_linux.in: Match SUSE style initrd names.
15291
ad760f81 152922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15293
15294 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
15295 `err'.
15296
87a4623b 152972009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15298
15299 Revert r2338.
15300
15301 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
15302 file can't be opened. grub_file_open() is already supposed to set
75421ca9 15303 grub_errno / grub_errmsg appropriately.
87a4623b 15304 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15305
8231fb77 153062009-06-27 Pavel Roskin <proski@gnu.org>
153072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
15308
15309 * include/grub/dl.h: Include grub/elf.h.
15310 (struct grub_dl): Add symtab field.
15311 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
15312 GRUB_MODULES_MACHINE_READONLY.
15313 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
15314 of the header for read-only modules.
15315 (grub_dl_unload): Free mod->symtab for read-only modules.
15316 * kern/i386/dl.c: Use mod->symtab.
15317 * kern/powerpc/dl.c: Likewise.
15318 * kern/sparc64/dl.c: Likewise.
15319 * kern/x86_64/dl.c: Likewise.
15320
15321 * conf/i386-qemu.rmk: New file.
15322 * kern/i386/qemu/startup.S: Likewise.
15323 * kern/i386/qemu/mmap.c: Likewise.
15324 * boot/i386/qemu/boot.S: Likewise.
15325 * include/grub/i386/qemu/time.h: Likewise.
15326 * include/grub/i386/qemu/serial.h: Likewise.
15327 * include/grub/i386/qemu/kernel.h: Likewise.
15328 * include/grub/i386/qemu/console.h: Likewise.
15329 * include/grub/i386/qemu/boot.h: Likewise.
15330 * include/grub/i386/qemu/init.h: Likewise.
15331 * include/grub/i386/qemu/machine.h: Likewise.
15332 * include/grub/i386/qemu/loader.h: Likewise.
15333 * include/grub/i386/qemu/memory.h: Likewise.
15334
15335 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
15336 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
15337 [qemu] (pkglib_IMAGES): Add `boot.img'.
15338 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
15339 [qemu] (boot_img_FORMAT): New variables.
15340 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
15341 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
15342 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
15343 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15344 [qemu] (kernel_img_FORMAT): New variables.
15345
15346 * configure.ac: Recognise `i386-qemu'.
15347
15348 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
15349 (for no compression).
15350 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
15351 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
15352 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
15353 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
15354 ifdefs).
15355
97fe384e 153562009-06-27 Pavel Roskin <proski@gnu.org>
15357
15358 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
15359 read.
15360 * efiemu/prepare32.c: Likewise.
15361 * efiemu/prepare64.c: Likewise.
15362
c402ab17 153632009-06-26 Pavel Roskin <proski@gnu.org>
15364
15365 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
15366 * include/grub/elf.h: Define symbols without "32" or "64" based
15367 on GRUB_TARGET_WORDSIZE.
15368 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
15369 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
15370 ELF definitions.
15371 * efiemu/loadcore64.c: Likewise.
15372 * loader/i386/bsd32.c: Likewise.
15373 * loader/i386/bsd64.c: Likewise.
15374 * kern/dl.c: Remove own ELF definitions.
15375 * util/i386/efi/grub-mkimage.c: Likewise.
15376
9bbdfd4d 153772009-06-23 Robert Millan <rmh.grub@aybabtu.com>
15378
15379 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
15380 segment 0x0 unconditionally, because the reference generated by
15381 GAS is an absolute address.
15382
a42ce6e9 153832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15384
15385 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
15386 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
15387
c952cf92 153882009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15389
15390 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
15391 indexes. Check for -f explicitly.
cc3752ad 15392 (search_file): Improve error message.
15393 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 15394
132a0a59 153952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15396
15397 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
15398 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
15399
387a140c 154002009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15401
15402 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
15403 * conf/i386-ieee1275.rmk: Likewise.
15404 * conf/i386-coreboot.rmk: Likewise.
15405
15406 * kern/i386/pc/startup.S (grub_stop): Remove function.
15407 * kern/i386/ieee1275/startup.S: Likewise.
15408 * kern/i386/coreboot/startup.S: Likewise.
15409 * kern/i386/misc.S (grub_stop): New function.
15410
41da9665 154112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15412
15413 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
15414 * kern/i386/realmode.S (real_to_prot): ... to here.
15415
bf337234 154162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
15417
15418 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
15419 with `kernel.img'.
15420 (kernel_elf_SOURCES): Rename to ...
15421 (kernel_img_SOURCES): ... this.
15422 (kernel_elf_HEADERS): Rename to ...
15423 (kernel_img_HEADERS): ... this. Update all users.
15424 (kernel_elf_ASFLAGS): Rename to ...
15425 (kernel_img_ASFLAGS): ... this.
15426 (kernel_elf_CFLAGS): Rename to ...
15427 (kernel_img_CFLAGS): ... this.
15428 (kernel_elf_LDFLAGS): Rename to ...
15429 (kernel_img_LDFLAGS): ... this.
15430 * conf/i386-coreboot.rmk: Likewise.
15431 * conf/powerpc-ieee1275.rmk: Likewise.
15432
15433 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
15434 with "kernel.img".
15435
f52196ff 154362009-06-21 Pavel Roskin <proski@gnu.org>
15437
c3cee413 15438 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
15439 to match nested functions.
15440 * loader/sparc64/ieee1275/linux.c: Likewise.
15441
f52196ff 15442 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
15443
58750afc 154442009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15445
15446 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
15447 all i386 platforms.
15448
15355c7d 154492009-06-21 Robert Millan <rmh.grub@aybabtu.com>
15450
15451 Fix asm file handling on ELF, and remove workarounds.
15452
15453 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 15454 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 15455 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
15456 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
15457
3f3ec72b 154582009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
15459
15460 Load BSD ELF modules
15461
15462 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
15463 and loader/i386/bsd64.c
15464 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
15465 (FREEBSD_MODTYPE_ELF_MODULE): New definition
15466 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
15467 (grub_freebsd_load_elfmodule32): New declaration
15468 (grub_freebsd_load_elfmoduleobj64): Likewise
15469 (grub_freebsd_load_elf_meta32): Likewise
15470 (grub_freebsd_load_elf_meta64): Likewise
15471 (grub_freebsd_add_meta): Likewise
15472 (grub_freebsd_add_meta_module): Likewise
15473 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
15474 (grub_freebsd_add_meta_module): Likewise and move module-specific
15475 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
15476 (grub_cmd_freebsd): Add elf-kernel specific parts
15477 based on grub_freebsd_add_meta_module
15478 (grub_cmd_freebsd_module): Add type parsing moved from
15479 grub_freebsd_add_meta_module
15480 (grub_cmd_freebsd_module_elf): New function
15481 (cmd_freebsd_module_elf): New variable
15482 (GRUB_MOD_INIT): Register freebsd_module_elf
15483 * loader/i386/bsd32.c: New file
15484 * loader/i386/bsd64.c: Likewise
15485 * loader/i386/bsdXX.c: Likewise
15486 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
15487 (grub_elf64_load): Likewise
15488 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
15489 All users updated
15490 (grub_elf64_load_hook_t): Likewise
15491
0db15301 154922009-06-21 Colin Watson <cjwatson@ubuntu.com>
15493
15494 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
15495 variable.
15496 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
15497 don't write a menu entry for recovery mode.
15498
546796c1 154992009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15500
15501 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
15502 after it's no longer needed.
15503
cd7310d5 155042009-06-20 Robert Millan <rmh.grub@aybabtu.com>
15505
15506 * include/grub/i386/loader.h (grub_linux_prot_size)
15507 (grub_linux_tmp_addr, grub_linux_real_addr)
15508 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
15509 GRUB_MACHINE_PCBIOS.
15510 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
15511 common grub_util_info() call to ...
15512 (generate_image): ... here.
15513 Fix use of uninitialized memory, comparison of signed with
15514 unsigned integers and memory leak.
15515 Remove bogus module address message.
15516
ab32d3b5 155172009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
15520 grub_raid_register
15521 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
15522
024ef597 155232009-06-19 Pavel Roskin <proski@gnu.org>
15524
15525 * configure.ac: Remove stray AC_MSG_CHECKING.
15526
3ac72b51 155272009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 15530
e14cd814 155312009-06-18 Pavel Roskin <proski@gnu.org>
15532
15533 * conf/common.rmk: Add fs_file.mod.
15534 * disk/fs_file.c: New file.
15535 * include/grub/disk.h (enum grub_disk_dev_id): Add
15536 GRUB_DISK_DEVICE_FILE_ID.
15537
26586d98 155382009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15539
15540 Fix build with Apple's toolchain. Part 2
15541
15542 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
15543 a fake start
15544
26de2bcd 155452009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 Fix build with Apple's toolchain. Part 1
15548
15549 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
15550 for long calls
15551 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 15552 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 15553 Apple's toolchain
15554
09b3490b 155552009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
15556
15557 Fix warnings
15558
15559 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
15560 (decomp_block): initialize ch
15561 use grub_memcpy instead of memcpy
15562
c22a006a 155632009-06-17 Pavel Roskin <proski@gnu.org>
15564
d3638678 15565 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
15566 version, use declarations needed to use vga_text as the startup
15567 console.
15568
c22a006a 15569 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
15570 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
15571 the kernel.
15572 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
15573 and grub_at_keyboard_fini(), it's done on module load and
15574 unload.
15575
05b129e0 155762009-06-17 Felix Zielcke <fzielcke@z-51.de>
15577
15578 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
15579 file can't be found.
15580 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15581
cf24ed9e 155822009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15583
15584 Fix newline handling
15585
15586 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 15587 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 15588 (grub_script_yylex): don't segfault on unterminated script
15589 newline terminates command and variable
15590
74aa8e4b 155912009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 avoid double grub_adjust_range call. Bug reported by David Simner
15594
15595 * kern/disk.c (grub_disk_write): change to raw disk access before
15596 calling disk_read
15597
1bd265f3 155982009-06-17 Colin Watson <cjwatson@ubuntu.com>
15599
15600 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
15601 spaces, for the benefit of help2man.
15602 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15603
a2d08c06 156042009-06-16 Pavel Roskin <proski@gnu.org>
15605
15606 * kern/i386/halt.c: Include grub/machine/init.h.
15607 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
15608
b97bcb19 156092009-06-16 Felix Zielcke <fzielcke@z-51.de>
15610
15611 * util/grub.d/30_os-prober.in: Use ${root} in the generated
15612 drivemap menuentry.
15613
0644f96c 156142009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
15615
15616 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
15617 `echo' command.
15618
3ef17a2e 156192009-06-16 Pavel Roskin <proski@gnu.org>
15620
15621 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
15622 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
15623 save %dx, we only need %dl and we never change it.
15624 * boot/i386/pc/cdboot.S: Don't set the root drive.
15625 * boot/i386/pc/pxeboot.S: Likewise.
15626 * include/grub/i386/pc/boot.h: Remove
15627 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
15628 GRUB_BOOT_MACHINE_DRIVE_CHECK.
15629 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
15630 * kern/i386/pc/init.c (make_install_device): Remove references
15631 to grub_root_drive.
15632 * kern/i386/pc/startup.S: Likewise.
15633 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
15634
693fe637 156352009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 xnu_uuid command
15638
15639 * commands/xnu_uuid.c: new file
15640 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
15641 (xnu_uuid_mod_SOURCES): new variable
15642 (xnu_uuid_mod_CFLAGS): likewise
15643 (xnu_uuid_mod_LDFLAGS): likewise
15644 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15645 * conf/i386-ieee1275.rmk: likewise
15646 * conf/i386-pc.rmk: likewise
15647 * conf/powerpc-ieee1275.rmk: likewise
15648 * conf/sparc64-ieee1275.rmk: likewise
15649 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
15650
c9da87d0 156512009-06-16 Pavel Roskin <proski@gnu.org>
15652
15653 * configure.ac: Avoid '==' in test command, it's not portable.
15654
9c6f4596 156552009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 Probe command
15658
15659 * commands/probe.c: new file
15660 * conf/common.rmk (pkglib_MODULES): add probe.mod
15661 (probe_mod_SOURCES): new variable
15662 (probe_mod_CFLAGS): likewise
15663 (probe_mod_LDFLAGS): likewise
15664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
15665 * conf/i386-ieee1275.rmk: likewise
15666 * conf/i386-pc.rmk: likewise
15667 * conf/powerpc-ieee1275.rmk: likewise
15668 * conf/sparc64-ieee1275.rmk: likewise
15669
70b7f9fd 156702009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 Fix handling of string like \"hello\" and "a
15673 b"
15674
15675 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
15676 (grub_script_yylex): fix parsing of quoting, escaping and newline
15677
71c79a6b 156782009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
15679
dd74360c 15680 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 15681 handling
dd74360c 15682
0644f96c 156832009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 15684
15685 * util/grub-mkconfig.in: Fix parsing of --output option.
15686
e40893c3 156872009-06-12 Pavel Roskin <proski@gnu.org>
15688
15689 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
15690 genmk.rb don't need to be generated or installed.
15691
3a1acfe2 156922009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * commands/i386/pc/drivemap_int13h.S: add more comments
15695
3a4575d4 156962009-06-11 Pavel Roskin <proski@gnu.org>
15697
0658e928 15698 * Makefile.in (uninstall): Uninstall manuals.
15699
ca0388f0 15700 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
15701 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
15702 and update-grub_lib in two places.
15703 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
15704
e3b27c39 15705 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
15706 a compiler warning.
15707
3a4575d4 15708 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
15709 `entry_lo' to fix variable shadowing.
15710
af1f4f55 157112009-06-11 Christian Franke <franke@computer.org>
15712
15713 * kern/misc.c (__enable_execute_stack): Add missing return type
15714 to prevent gcc warning.
15715
5225e649 157162009-06-11 Felix Zielcke <fzielcke@z-51.de>
15717
15718 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
15719
7d83bd47 157202009-06-11 Pavel Roskin <proski@gnu.org>
15721
c1cb63ba 15722 * Makefile.in: Don't rely on any scripts being executable.
15723 Always use $(SHELL) to run shell scripts.
15724
7d83bd47 15725 * configure.ac: Always define ___main if using -nostdlib. This
15726 fixes tests on Cygwin.
15727
948f48e7 157282009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
15729
15730 UDF fix
15731
7d83bd47 15732 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 15733 is in bytes and not in blocks
7d83bd47 15734
8ada9bc1 157352009-06-11 Pavel Roskin <proski@gnu.org>
15736
15737 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
15738 warning.
15739
25ad2323 157402009-06-11 Felix Zielcke <fzielcke@z-51.de>
15741
15742 * util/grub.d/30_os-prober.in: Fix a comment. Source
15743 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
15744 to set the root device. Place drivemap command in the generated
15745 chain entry.
15746
e65acb0c 157472009-06-11 Pavel Roskin <proski@gnu.org>
15748
15749 * configure.ac: Remove host_m32. Issues with 64-bit utilities
15750 have long been resolved.
15751
f285fe2d 157522009-06-11 Colin Watson <cjwatson@ubuntu.com>
15753
bd47b0b5 15754 * util/grub.d/10_linux.in: Capitalise "Linux".
15755
f285fe2d 15756 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
15757
a0c62e4e 157582009-06-11 Pavel Roskin <proski@gnu.org>
15759
b6783cb2 15760 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
15761 fix a gcc warning and ensure that the function won't ever exit.
15762
dde032e8 15763 * kern/i386/ieee1275/init.c: Add missing prototype for
15764 grub_stop_floppy().
15765
22cd079d 15766 * loader/ieee1275/multiboot2.c [__i386__]: Include
15767 grub/cpu/multiboot.h.
15768
a0c62e4e 15769 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
15770 casts to short - they are not portable and cause warnings. Fix
15771 use of uninitialized values in input_buf. Use ARRAY_SIZE.
15772
63963d17 157732009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 Drivemap fixes
15776
15777 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
15778 new function
15779 (grub_get_root_biosnumber_saved): new variable
15780 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
15781 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 15782 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 15783 %dx after the call if necessary
15784 * conf/common.rmk (pkglib_MODULES): remove boot.mod
15785 (boot_mod_SOURCES): remove
15786 (boot_mod_CFLAGS): remove
15787 (boot_mod_LDFLAGS): remove
15788 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
15789 (boot_mod_SOURCES): new variable
15790 (boot_mod_CFLAGS): likewise
15791 (boot_mod_LDFLAGS): likewise
15792 * conf/i386-efi.rmk: likewise
15793 * conf/i386-ieee1275.rmk: likewise
15794 * conf/i386-pc.rmk: likewise
15795 * conf/powerpc-ieee1275.rmk: likewise
15796 * conf/sparc64-ieee1275.rmk: likewise
15797 * conf/x86_64-efi.rmk: likewise
15798 * include/grub/i386/pc/biosnum.h: new file
15799 * lib/i386/pc/biosnum.c: likewise
15800 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
15801 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
15802 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 15803
33abf7ae 158042009-06-10 Pavel Roskin <proski@gnu.org>
15805
5ac35b35 15806 * io/gzio.c (test_header): Don't reuse one buffer for all data.
15807 Use separate variables. Read only the file size at the end, but
15808 not the checksum that we don't use.
15809
5c5215d5 15810 * kern/file.c (grub_file_read): Use void pointer for the buffer.
15811 Adjust all callers.
15812
27d5fef7 15813 * kern/ieee1275/openfw.c: Remove libc includes.
15814 * kern/ieee1275/cmain.c: Likewise.
15815 * include/grub/ieee1275/ieee1275.h: Likewise.
15816
33abf7ae 15817 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
15818 compiler warnings.
15819
19d50c2b 158202009-06-10 Felix Zielcke <fzielcke@z-51.de>
15821
15822 * Makefile.in: Remove all trailing whitespace.
15823 * conf/i386-pc.rmk: Likewise.
15824 * conf/powerpc-ieee1275.rmk: Likewise.
15825 * conf/sparc64-ieee1275.rmk: Likewise.
15826 * docs/grub.texi: Likewise.
15827 * docs/texinfo.tex: Likewise.
15828 * disk/fs_uuid.c: Likewise.
15829 * disk/lvm.c: Likewise.
15830 * disk/scsi.c: Likewise.
15831 * disk/ata.c: Likewise.
15832 * disk/ieee1275/ofdisk.c: Likewise.
15833 * disk/i386/pc/biosdisk.c: Likewise.
15834 * disk/host.c: Likewise.
15835 * disk/raid.c: Likewise.
15836 * disk/efi/efidisk.c: Likewise.
15837 * disk/usbms.c: Likewise.
15838 * disk/memdisk.c: Likewise.
15839 * disk/loopback.c: Likewise.
15840 * kern/powerpc/dl.c: Likewise.
15841 * kern/device.c: Likewise.
15842 * kern/dl.c: Likewise.
15843 * kern/sparc64/dl.c: Likewise.
15844 * kern/ieee1275/ieee1275.c: Likewise.
15845 * kern/term.c: Likewise.
15846 * kern/fs.c: Likewise.
15847 * kern/i386/dl.c: Likewise.
15848 * kern/i386/pc/startup.S: Likewise.
15849 * kern/i386/pc/init.c: Likewise.
15850 * kern/i386/pc/mmap.c: Likewise.
15851 * kern/i386/pc/lzo1x.S: Likewise.
15852 * kern/i386/ieee1275/init.c: Likewise.
15853 * kern/i386/realmode.S: Likewise.
15854 * kern/i386/tsc.c: Likewise.
15855 * kern/partition.c: Likewise.
15856 * kern/corecmd.c: Likewise.
15857 * kern/file.c: Likewise.
15858 * kern/efi/efi.c: Likewise.
15859 * kern/efi/init.c: Likewise.
15860 * kern/efi/mm.c: Likewise.
15861 * kern/main.c: Likewise.
15862 * kern/err.c: Likewise.
15863 * kern/env.c: Likewise.
15864 * kern/disk.c: Likewise.
15865 * kern/generic/millisleep.c: Likewise.
15866 * kern/generic/rtc_get_time_ms.c: Likewise.
15867 * kern/misc.c: Likewise.
15868 * kern/parser.c: Likewise.
15869 * genmk.rb: Likewise.
15870 * configure.ac: Likewise.
15871 * boot/i386/pc/diskboot.S: Likewise.
15872 * boot/i386/pc/pxeboot.S: Likewise.
15873 * boot/i386/pc/boot.S: Likewise.
15874 * boot/i386/pc/lnxboot.S: Likewise.
15875 * boot/i386/pc/cdboot.S: Likewise.
15876 * parttool/pcpart.c: Likewise.
15877 * video/readers/tga.c: Likewise.
15878 * video/video.c: Likewise.
15879 * video/bitmap.c: Likewise.
15880 * lib/envblk.c: Likewise.
15881 * lib/i386/setjmp.S: Likewise.
15882 * fs/xfs.c: Likewise.
15883 * fs/afs.c: Likewise.
15884 * fs/fat.c: Likewise.
15885 * fs/ntfs.c: Likewise.
15886 * fs/udf.c: Likewise.
15887 * fs/affs.c: Likewise.
15888 * fs/iso9660.c: Likewise.
15889 * fs/hfs.c: Likewise.
15890 * fs/fshelp.c: Likewise.
15891 * fs/ext2.c: Likewise.
15892 * fs/jfs.c: Likewise.
15893 * fs/reiserfs.c: Likewise.
15894 * fs/hfsplus.c: Likewise.
15895 * fs/minix.c: Likewise.
15896 * fs/cpio.c: Likewise.
15897 * fs/sfs.c: Likewise.
15898 * fs/ufs.c: Likewise.
15899 * efiemu/prepare.c: Likewise.
15900 * efiemu/loadcore_common.c: Likewise.
15901 * efiemu/runtime/efiemu.sh: Likewise.
15902 * efiemu/runtime/efiemu.S: Likewise.
15903 * efiemu/runtime/efiemu.c: Likewise.
15904 * efiemu/pnvram.c: Likewise.
15905 * efiemu/main.c: Likewise.
15906 * efiemu/i386/pc/cfgtables.c: Likewise.
15907 * efiemu/i386/loadcore64.c: Likewise.
15908 * efiemu/i386/loadcore32.c: Likewise.
15909 * efiemu/loadcore.c: Likewise.
15910 * efiemu/symbols.c: Likewise.
15911 * efiemu/mm.c: Likewise.
15912 * include/grub/autoefi.h: Likewise.
15913 * include/grub/datetime.h: Likewise.
15914 * include/grub/term.h: Likewise.
15915 * include/grub/hfs.h: Likewise.
15916 * include/grub/lvm.h: Likewise.
15917 * include/grub/i386/tsc.h: Likewise.
15918 * include/grub/i386/linux.h: Likewise.
15919 * include/grub/i386/xnu.h: Likewise.
15920 * include/grub/i386/efiemu.h: Likewise.
15921 * include/grub/i386/pc/biosdisk.h: Likewise.
15922 * include/grub/i386/pc/memory.h: Likewise.
15923 * include/grub/i386/pc/vbe.h: Likewise.
15924 * include/grub/parttool.h: Likewise.
15925 * include/grub/video.h: Likewise.
15926 * include/grub/memory.h: Likewise.
15927 * include/grub/fs.h: Likewise.
15928 * include/grub/partition.h: Likewise.
15929 * include/grub/xnu.h: Likewise.
15930 * include/grub/efi/api.h: Likewise.
15931 * include/grub/efi/pe32.h: Likewise.
15932 * include/grub/efi/memory.h: Likewise.
15933 * include/grub/multiboot.h: Likewise.
15934 * include/grub/usbdesc.h: Likewise.
15935 * include/grub/multiboot2.h: Likewise.
15936 * include/grub/acpi.h: Likewise.
15937 * include/grub/efiemu/efiemu.h: Likewise.
15938 * include/grub/disk.h: Likewise.
15939 * include/grub/ieee1275/ieee1275.h: Likewise.
15940 * include/grub/net.h: Likewise.
15941 * include/grub/machoload.h: Likewise.
15942 * include/grub/macho.h: Likewise.
15943 * include/multiboot.h: Likewise.
15944 * genmoddep.awk: Likewise.
15945 * normal/main.c: Likewise.
15946 * normal/menu_entry.c: Likewise.
15947 * normal/menu_viewer.c: Likewise.
15948 * normal/completion.c: Likewise.
15949 * normal/cmdline.c: Likewise.
15950 * normal/misc.c: Likewise.
15951 * normal/datetime.c: Likewise.
15952 * bus/usb/usbtrans.c: Likewise.
15953 * bus/usb/ohci.c: Likewise.
15954 * bus/usb/uhci.c: Likewise.
15955 * bus/usb/usb.c: Likewise.
15956 * mmap/efi/mmap.c: Likewise.
15957 * mmap/i386/pc/mmap_helper.S: Likewise.
15958 * mmap/i386/pc/mmap.c: Likewise.
15959 * mmap/i386/mmap.c: Likewise.
15960 * mmap/i386/uppermem.c: Likewise.
15961 * mmap/mmap.c: Likewise.
15962 * commands/acpi.c: Likewise.
15963 * commands/echo.c: Likewise.
15964 * commands/blocklist.c: Likewise.
15965 * commands/loadenv.c: Likewise.
15966 * commands/usbtest.c: Likewise.
15967 * commands/boot.c: Likewise.
15968 * commands/parttool.c: Likewise.
15969 * commands/search.c: Likewise.
15970 * commands/cat.c: Likewise.
15971 * commands/i386/pc/play.c: Likewise.
15972 * commands/i386/pc/drivemap.c: Likewise.
15973 * commands/i386/pc/vbeinfo.c: Likewise.
15974 * commands/i386/pc/acpi.c: Likewise.
15975 * commands/i386/pc/vbetest.c: Likewise.
15976 * commands/ls.c: Likewise.
15977 * commands/cmp.c: Likewise.
15978 * commands/test.c: Likewise.
15979 * commands/efi/acpi.c: Likewise.
15980 * commands/gptsync.c: Likewise.
15981 * commands/help.c: Likewise.
15982 * partmap/amiga.c: Likewise.
15983 * partmap/apple.c: Likewise.
15984 * partmap/acorn.c: Likewise.
15985 * partmap/pc.c: Likewise.
15986 * partmap/sun.c: Likewise.
15987 * partmap/gpt.c: Likewise.
15988 * script/sh/lexer.c: Likewise.
15989 * script/sh/function.c: Likewise.
15990 * font/font.c: Likewise.
15991 * font/font_cmd.c: Likewise.
15992 * loader/powerpc/ieee1275/linux.c: Likewise.
15993 * loader/efi/chainloader.c: Likewise.
15994 * loader/multiboot_loader.c: Likewise.
15995 * loader/macho.c: Likewise.
15996 * loader/i386/multiboot.c: Likewise.
15997 * loader/i386/linux.c: Likewise.
15998 * loader/i386/pc/linux.c: Likewise.
15999 * loader/i386/pc/multiboot2.c: Likewise.
16000 * loader/i386/pc/chainloader.c: Likewise.
16001 * loader/i386/pc/xnu.c: Likewise.
16002 * loader/i386/bsd_trampoline.S: Likewise.
16003 * loader/i386/efi/linux.c: Likewise.
16004 * loader/i386/multiboot_elfxx.c: Likewise.
16005 * loader/i386/bsd_helper.S: Likewise.
16006 * loader/i386/bsd.c: Likewise.
16007 * loader/i386/linux_trampoline.S: Likewise.
16008 * loader/i386/xnu_helper.S: Likewise.
16009 * loader/i386/xnu.c: Likewise.
16010 * loader/i386/bsd_pagetable.c: Likewise.
16011 * loader/i386/multiboot_helper.S: Likewise.
16012 * loader/xnu.c: Likewise.
16013 * loader/xnu_resume.c: Likewise.
16014 * io/gzio.c: Likewise.
16015 * term/efi/console.c: Likewise.
16016 * term/terminfo.c: Likewise.
16017 * term/ieee1275/ofconsole.c: Likewise.
16018 * term/i386/pc/serial.c: Likewise.
16019 * term/i386/pc/vesafb.c: Likewise.
16020 * term/i386/pc/vga.c: Likewise.
16021 * term/usb_keyboard.c: Likewise.
16022 * term/gfxterm.c: Likewise.
16023 * aclocal.m4: Likewise.
16024 * util/lvm.c: Likewise.
16025 * util/grub.d/30_os-prober.in: Likewise.
16026 * util/grub.d/10_hurd.in: Likewise.
16027 * util/console.c: Likewise.
16028 * util/grub-macho2img.c: Likewise.
16029 * util/grub-probe.c: Likewise.
16030 * util/hostfs.c: Likewise.
16031 * util/i386/pc/grub-mkimage.c: Likewise.
16032 * util/i386/pc/grub-setup.c: Likewise.
16033 * util/i386/efi/grub-mkimage.c: Likewise.
16034 * util/grub-mkconfig.in: Likewise.
16035 * util/raid.c: Likewise.
16036 * util/resolve.c: Likewise.
16037 * util/grub-mkdevicemap.c: Likewise.
16038 * util/grub-emu.c: Likewise.
16039 * util/getroot.c: Likewise.
16040 * util/hostdisk.c: Likewise.
16041 * util/usb.c: Likewise.
16042 * util/grub-editenv.c: Likewise.
16043 * util/misc.c: Likewise.
16044
d2d49665 160452009-06-10 Felix Zielcke <fzielcke@z-51.de>
16046
16047 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
16048 `genparttoollist.sh'.
16049 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
16050 Add `*.sh' to the list find searches for and change `mdate.sh'
16051 to `mdate-sh'.
16052
fe052e37 160532009-06-10 Pavel Roskin <proski@gnu.org>
16054
2763ac18 16055 * include/grub/multiboot2.h: Provide compatibility defines for
16056 multiboot2.h.
16057 * include/multiboot2.h: Include stdint.h only if needed, using
16058 angle brackets.
16059 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
16060 grub/multiboot2.h.
16061 * loader/ieee1275/multiboot2.c: Likewise.
16062 * loader/multiboot2.c: Likewise.
16063 * loader/multiboot_loader.c: Likewise.
16064
437e6adc 16065 * configure.ac: Use -nostdlib when probing for the target. It
16066 should not be required to have libc for the target.
16067
06a6836c 16068 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
16069 they fail without libc headers for the target.
16070 * include/grub/powerpc/libgcc.h: Use weak attribute for all
16071 exports.
16072 * include/grub/sparc64/libgcc.h: Likewise. Don't use
16073 preprocessor conditionals.
16074
fe052e37 16075 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
16076 build system doesn't need to be aware of the tar.c internals.
16077
afd22553 160782009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 16079
afd22553 16080 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 16081
6b787c4f 160822009-06-09 Robert Millan <rmh.grub@aybabtu.com>
16083
16084 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
16085 disk limit to 26 for IDE, Virtio, Xen and SCSI.
16086
160872009-06-09 Felix Zielcke <fzielcke@z-51.de>
16088
16089 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 16090 aren't available if ata.mod gets used.
6b787c4f 16091
473d1e45 160922009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 16093
473d1e45 16094 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 16095 initialising controller.
473d1e45 16096 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 16097
255a27d4 160982009-06-08 Felix Zielcke <fzielcke@z-51.de>
16099
16100 * util/i386/pc/grub-install.in: Add a parameter --disk-module
16101 to choose between ata and biosdisk module on i386-pc.
16102
473d1e45 161032009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 16104
d55842d8 16105 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
16106 Subclass and Programming Interface fields in terms of the 3 byte
16107 Class Code register.
16108 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
16109
fa5db0b1 16110 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
16111 interface is OHCI. Add grub_dprintf for symmetry with
16112 bus/usb/uhci.c.
16113 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
16114 interface is UHCI. Add interf variable for programming
16115 interface. Print interface with class/subclass.
16116
c0947beb 16117 * bus/usb/ohci.c: Set interf with correct field.
16118
69da8877 16119 * bus/usb/uhci.c: Remove unneeded doubled lines.
16120 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
16121 Remove whitespace inside comment.
16122
9e172e30 161232009-06-08 Robert Millan <rmh.grub@aybabtu.com>
16124
16125 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
16126 as fallback an equivalent option without depth.
16127
de65ee2b 161282009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16129
16130 Not fail if unable to retrieve C/H/S on LBA disks
16131
473d1e45 16132 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 16133 if unable to retrieve C/H/S on LBA disks
16134
b57ea2c9 161352009-06-08 Pavel Roskin <proski@gnu.org>
16136
16137 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
16138 about aliasing.
16139
af361263 161402009-06-08 Felix Zielcke <fzielcke@z-51.de>
16141
16142 * Makefile.in (uninstall): Remove all $lib_DATA files.
16143
4c9ec6b3 161442009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 Bugfix: install on partitionless device
16147
16148 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
16149 is a whole disk
16150
e76fc924 161512009-06-08 Felix Zielcke <fzielcke@z-51.de>
16152
16153 * Makefile.in (uninstall): Remove all $include_DATA files.
16154
ba5a0d05 161552009-06-08 Felix Zielcke <fzielcke@z-51.de>
16156
16157 * commands/true.c: New file. Implement the true and false commands.
16158 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
16159 (true_mod_SOURCES): New variable.
16160 (true_mod_CFLAGS): Likewise.
16161 (true_mod_LDFLAGS): Likewise.
16162
c8048e32 161632009-06-05 Colin D Bennett <colin@gibibit.com>
16164
16165 Optimized font character lookup using binary search instead of linear
16166 search. Fonts now are required to have the character index ordered by
16167 code point.
16168
16169 * font/font.c (load_font_index): Verify that fonts have ordered
16170 character indices.
16171 (find_glyph): Use binary search instead of linear search to find a
16172 character in a font.
16173
408305be 161742009-06-05 Michael Scherer <misc@mandriva.org>
16175
16176 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
16177 uses case sensitive btree.
16178 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
16179 only for case insensitive filesystems.
16180
8ee1e0d9 161812009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
16184 * conf/common.rmk (search_mod_CFLAGS): likewise
16185
a9966eb1 161862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16187
473d1e45 16188 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 16189 compensate a compiler bug
16190
9e7100fb 161912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16192
473d1e45 16193 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 16194 instead of '\b'
473d1e45 16195
ede21d71 161962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 Definitions for creating asm symbols with Apple's CC
16199
16200 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
16201 [APPLE_CC] (VARIABLE): likewise
16202
9dbf7653 162032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 Disable lnxboot.img when compiled
16206 with Apple's CC
16207
16208 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
16209 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
16210 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
16211 [! APPLE_CC] (CODE_LENG): skip
16212 [! APPLE_CC] (setup_sects): likewise
16213 [! APPLE_CC]: skip filling
473d1e45 16214
e93cdc3d 162152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16216
16217 Address in trampolines based on 32-bit registers when compiled
16218 with Apple's CC
16219
473d1e45 16220 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 16221 for addresses
16222 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
16223
6c688477 162242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16225
16226 Avoid aliases when compiling with Apple's CC for PCBIOS machine
16227
16228 * kern/misc.c [APPLE_CC] (memcpy): new function
16229 [APPLE_CC] (memmove): likewise
16230 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 16231 (memcpy): define alias conditionally on !APPLE_CC
6c688477 16232 (memset): likewise
16233 (abort): likewise
16234 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
16235 APPLE_CC are defined
16236 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
16237 (grub_assert_fail): make prototype conditional
16238
e37ffc5c 162392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16240
16241 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
16242
473d1e45 16243 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
16244 grub-macho2img
e37ffc5c 16245 (CLEANFILES): add grub-macho2img
16246 (grub_macho2img_SOURCES): new variable
16247 * kern/i386/pc/startup.S (bss_start): new variable
16248 (bss_end): likewise
16249 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
16250 * util/grub-macho2img.c: new file
16251
cf00df31 162522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16253
16254 Use objconv when compiling with Apple's CC
16255
16256 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
16257 (efiemu64.o): likewise
16258 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
16259 when compiling with Apple's CC
16260 (efiemu64_s.o): likewise
16261 * configure.ac: check for objconv when compiling with Apple's CC
16262 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 16263
d119a20c 162642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16265
16266 Define segment as well as section when compiling with
16267 Apple's CC
16268
16269 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
16270 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
16271 (efiemu_convert_pointer): likewise
16272 (efiemu_set_virtual_address_map): likewise
16273 (efiemu_convert_pointer): likewise
16274 (efiemu_getcrc32): likewise
16275 (init_crc32_table): likewise
16276 (reflect): likewise
16277 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
16278 (GRUB_MOD_DEP): likewise
473d1e45 16279
c8600122 162802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16281
16282 Allow a compilation without -mcmodel=large
16283
16284 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
16285 when compiled without -mcmodel=large
473d1e45 16286 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 16287 without -mcmodel=large
473d1e45 16288 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 16289 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 16290
e8df1d4e 162912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 Remove nested functions in efiemu core
16294
16295 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 16296
cc6c3ac1 162972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16298
16299 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
16300
16301 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
16302 temporary storage
473d1e45 16303 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
16304 using Apple's CC
cc6c3ac1 16305 (grub_cpu_is_tsc_supported): likewise
16306 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 16307
3e325901 163082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 Absolute addressing through constant with Apple's cc
16311
16312 * kern/i386/pc/startup.S: Define necessary constants
16313 and address through it when using ABS with Apple's CC
16314 * boot/i386/pc/diskboot.S: likewise
16315 * boot/i386/pc/boot.S: likewise
16316 * boot/i386/pc/lnxboot.S: likewise
16317 * boot/i386/pc/cdboot.S: likewise
16318 * mmap/i386/pc/mmap_helper.S: likewise
16319 * commands/i386/pc/drivemap_int13h.S: likewise
16320
2b167a72 163212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 Check if compiler is apple cc
16324
16325 * Makefile.in (ASFLAGS): new variable
16326 (TARGET_ASFLAGS): likewise
16327 (TARGET_MODULE_FORMAT): likewise
16328 (TARGET_APPLE_CC): likewise
16329 (OBJCONV): likewise
16330 (TARGET_IMG_CFLAGS): likewise
16331 (TARGET_CPPFLAGS): add includedir
16332 * configure.ac: call grub_apple_cc and grub_apple_target_cc
16333 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
16334 Check for linker script only if compiler isn't Apple's CC
16335 (TARGET_MODULE_FORMAT): set
16336 (TARGET_APPLE_CC): likewise
16337 (TARGET_ASFLAGS): likewise
16338 (ASFLAGS): likewise
16339 Check for objcopy only if compiler isn't Apple's CC
16340 Check for BSS symbol only if compiler isn't Apple's CC
16341 * genmk.rb: adapt nm options if we use Apple's utils
16342 * aclocal.m4 (grub_apple_cc): new test
16343 (grub_apple_target_cc): likewise
473d1e45 16344
fb14123e 163452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 Simplify sed expressions and improve awk
16348
16349 * Makefile.in (install-local): simplify sed expression
16350 * gencmdlist.sh: likewise
16351 * genmoddep.awk: avoid adding module as a dependency of itself
16352
5b889789 163532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 Add missing start symbols
16356
16357 * boot/i386/pc/boot.S: add start
fb14123e 16358 * boot/i386/pc/pxeboot.S: likewise
473d1e45 16359
fd2bf2e3 163602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16361
16362 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 16363
16364 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 16365 (relocate_addresses): consider both r_addend and value at offset
16366 (make_mods_section): zerofill modinfo and header
16367 (convert_elf): write prefix here
473d1e45 16368
5389763d 163692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 Use .asciz instead of .string
16372
16373 * i386/pc/diskboot.S: use .asciz instead of .string
16374 * i386/pc/boot.S: likewise
16375 * include/grub/dl.h (GRUB_MOD_DEP): likewise
16376 (GRUB_MOD_NAME): likewise
473d1e45 16377
3eb5ed4e 163782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16379
16380 gfxpayload support
16381
16382 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
16383 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
16384 (grub_video_setup): remove
16385 (grub_video_set_mode): new prototype
16386 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
16387 (vid_mode): remove
16388 (linux_vesafb_res): compile only on PCBIOS
16389 (grub_linux_boot): support gfxpayload
16390 * loader/i386/pc/xnu.c (video_hook): new function
16391 (grub_xnu_set_video): support gfxpayload
16392 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
16393 (DEFAULT_VIDEO_HEIGHT): likewise
16394 (DEFAULT_VIDEO_FLAGS): likewise
16395 (DEFAULT_VIDEO_MODE): new definition
16396 (video_hook): new function
16397 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 16398 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 16399 loading xnu
16400 * video/video.c (grub_video_setup): removed
473d1e45 16401 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 16402 grub_video_setup
16403
4b0e1143 164042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16405
16406 Avoid calling biosdisk in drivemap
16407
16408 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
16409 (revparse_biosdisk): likewise
16410 (list_mappings): derive name from id directly
16411 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 16412
fda6cb98 164132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
16414
16415 Script fixes
16416
16417 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
16418 (grub_lexer_param): add tokenonhold
16419 (grub_script_create_cmdline): remove cmdline. All callers updated
16420 (grub_script_function_create): make functionname
16421 grub_script_arg. All callers updated
16422 (grub_script_execute_argument_to_string): new prototype
16423 * kern/parser.c (state_transitions): reorder
16424 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 16425 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 16426 make global
16427 (grub_script_execute_cmdline): use new format
16428 * script/sh/function.c (grub_script_function_create): make functionname
16429 grub_script_arg. All callers updated
473d1e45 16430 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 16431 (grub_script_yylex): remove
16432 (grub_script_yylex2): renamed to ...
16433 (grub_script_yylex): ...renamed
16434 parse the expressions like a${b}c
16435 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
16436 (GRUB_PARSER_TOKEN_VAR): remove
16437 (GRUB_PARSER_TOKEN_NAME): likewise
16438 ("if"): declare as typeless
16439 ("while"): likewise
16440 ("function"): likewise
16441 ("else"): likewise
16442 ("then"): likewise
16443 ("fi"): likewise
16444 (text): remove
16445 (argument): likewise
16446 (script): accept empty scripts and make exit on error
16447 (arguments): use GRUB_PARSER_TOKEN_ARG
16448 (function): likewise
16449 (command): move error handling to script
16450 (menuentry): move grub_script_lexer_ref before
473d1e45 16451 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 16452 argument. All callers updated
16453
f4448a07 164542009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16455
16456 Prevent GRUB from probing floppies during boot.
16457
16458 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
16459 * commands/search.c (options): Add --no-floppy.
16460 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
16461 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
16462 --no-floppy when searching for UUIDs.
16463
2bf5885a 164642009-06-04 Robert Millan <rmh.grub@aybabtu.com>
16465
16466 Simplify the code duplication in commands/search.c.
16467
16468 * commands/search.c (search_label, search_fs_uuid): Merge into ...
16469 (search_fs): ... this. Update all users.
16470
f6fd460a 164712009-06-03 Felix Zielcke <fzielcke@z-51.de>
16472
16473 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
16474
cbb3c83e 164752009-05-28 Pavel Roskin <proski@gnu.org>
16476
57788cfd 16477 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
16478 Remove the original symlink explicitly.
16479
cbb3c83e 16480 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
16481 just one slash. That's how grub_fshelp_find_file() does it.
16482
cd0d5e30 164832009-05-26 Pavel Roskin <proski@gnu.org>
16484
f0f8bbe2 16485 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
16486 to `str'.
16487
cd0d5e30 16488 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
16489 possibly unused.
16490
8c2cab51 164912009-05-25 Christian Franke <franke@computer.org>
16492
16493 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
16494 register.
16495 (grub_atapi_identify): Add wait after drive select.
16496 (grub_ata_identify): Do more strict status register check before
16497 calling grub_atapi_identify (). Suppress error message if status
16498 register is 0x00 after command failure. Add status register
16499 check after PIO read to avoid bogus identify due to stuck DRQ.
16500 Thanks to Pavel Roskin for testing.
16501 (grub_device_initialize): Remove unsafe status register check.
16502 Thanks to 'phcoder' for problem report and patch.
16503 Prevent sign extension in debug message.
16504
230c0ad6 165052009-05-23 Colin D Bennett <colin@gibibit.com>
16506
16507 Cleaned up `include/grub/normal.h'. Grouped prototypes by
16508 definition file, and functions defined in `normal/menu.c' have had
16509 their prototypes moved to `include/grub/menu.h' for consistency.
16510
16511 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
16512 from normal.h.
16513 (grub_menu_get_entry): Likewise.
16514 (grub_menu_get_timeout): Likewise.
16515 (grub_menu_set_timeout): Likewise.
16516 (grub_menu_execute_entry): Likewise.
16517 (grub_menu_execute_with_fallback): Likewise.
16518 (grub_menu_entry_run): Likewise.
16519
16520 * include/grub/normal.h: Re-ordered and grouped function
16521 prototypes by file that the function is defined in.
16522 (grub_menu_execute_callback): Removed; moved to menu.h.
16523 (grub_menu_get_entry): Likewise.
16524 (grub_menu_get_timeout): Likewise.
16525 (grub_menu_set_timeout): Likewise.
16526 (grub_menu_execute_entry): Likewise.
16527 (grub_menu_execute_with_fallback): Likewise.
16528 (grub_menu_entry_run): Likewise.
16529 (grub_menu_addentry): Renamed from this ...
16530 (grub_normal_add_menu_entry): ... to this.
16531
16532 * normal/main.c (grub_menu_addentry): Renamed from this ...
16533 (grub_normal_add_menu_entry): ... to this.
16534
16535 * script/sh/execute.c (grub_script_execute_menuentry): Update
16536 reference to renamed grub_menu_addentry function.
16537
861f03a5 165382009-05-23 Felix Zielcke <fzielcke@z-51.de>
16539
16540 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
16541
96b1619a 165422009-05-22 Pavel Roskin <proski@gnu.org>
16543
bf6a5fb2 16544 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
16545 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
16546 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
16547 compiling for the i386 targets, but not for the utilities.
16548
96b1619a 16549 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
16550 to grub_uint8_t.
16551 (grub_root_drive): Likewise.
16552 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
16553 remove alignment.
16554 (grub_root_drive): Change size to byte.
16555 (grub_start_addr): Remove.
16556 (grub_end_addr): Likewise.
16557 (grub_apm_bios_info): Likewise.
16558
b729776b 165592009-05-21 Felix Zielcke <fzielcke@z-51.de>
16560
16561 * normal/i386: Remove.
16562 * normal/powerpc: Likewise.
16563 * normal/sparc64: Likewise.
16564 * normal/x86_64: Likewise.
16565
0a15ce80 165662009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
16567
16568 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 16569 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 16570 * loader/i386/xnu_helper.S: Likewise
d6da58e6 16571
33db9015 165722009-05-18 Colin D Bennett <colin@gibibit.com>
16573
d6da58e6 16574 Display error messages when parsing a Lua statement fails.
16575 Previously, executing a syntactically invalid statement like
16576 ")foo" or "bar;" would silently fail.
33db9015 16577
16578 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 16579 (grub_lua_parse_line): Improved reporting of Lua parser and
16580 execution errors.
33db9015 16581
46422c89 165822009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16583
16584 Remove -Werror which causes build to fail on some systems
16585
16586 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
16587 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
16588 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 16589
22f53a96 165902009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
16591
16592 trampoline for linux on 64-bit platform
16593
18f547ad 16594 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
16595 loader/i386/efi/linux_trampoline.S
16596 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 16597 declaration
d6da58e6 16598 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
16599 here
22f53a96 16600 * loader/i386/linux_trampoline.S: moved here
d6da58e6 16601 * loader/i386/efi/linux.c (allocate_pages): reserve space for
16602 trampoline
22f53a96 16603 (jumpvector): removed
16604 (grub_linux_trampoline_start): new declaration
16605 (grub_linux_trampoline_end): likewise
16606 (grub_linux_boot): use trampoline when on 64-bit platform
16607 * loader/i386/linux.c: likewise
16608
cb5a0f40 166092009-05-16 Pavel Roskin <proski@gnu.org>
16610
16611 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
16612 const to avoid a warning.
16613 (grub_lua_setenv): Likewise.
16614 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
16615 lmsg to fix a warning.
16616
334f2c28 166172009-05-16 Felix Zielcke <fzielcke@z-51.de>
16618
16619 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 16620 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16621 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
16622 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16623 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16624 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
16625 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
16626 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 16627
59e5d3ec 166282009-05-16 Felix Zielcke <fzielcke@z-51.de>
16629
16630 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
16631
9d87a1ba 166322009-05-16 Bean <bean123ch@gmail.com>
16633
16634 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
16635 (lua_mod_SOURCES): New variable.
16636 (lua_mod_CFLAGS): Likewise.
16637 (lua_mod_LDFLAGS): Likewise.
16638
16639 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
16640 (setjmp_mod_SOURCES): New variable.
16641 (setjmp_mod_CFLAGS): Likewise.
16642 (setjmp_LDFLAGS): Likewise.
16643
16644 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
16645 (setjmp_mod_SOURCES): New variable.
16646 (setjmp_mod_CFLAGS): Likewise.
16647 (setjmp_LDFLAGS): Likewise.
16648
16649 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16650 (setjmp_mod_SOURCES): New variable.
16651 (setjmp_mod_CFLAGS): Likewise.
16652 (setjmp_LDFLAGS): Likewise.
16653
16654 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
16655 (setjmp_mod_SOURCES): New variable.
16656 (setjmp_mod_CFLAGS): Likewise.
16657 (setjmp_LDFLAGS): Likewise.
16658
16659 * normal/i386/setjmp.S: Moved from here ...
16660 * lib/i386/setjmp.S: ... Moved here
16661 * normal/x86_64/setjmp.S: Moved from here ...
16662 * lib/x86_64/setjmp.S: ... Moved here
16663 * normal/powerpc/setjmp.S: Moved from here ...
16664 * lib/powerpc/setjmp.S: ... Moved here
16665 * normal/sparc64/setjmp.S: Moved from here ...
16666 * lib/sparc64/setjmp.S: ... Moved here
16667
16668 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
16669 returns_twice in mingw.
16670
16671 * script/lua/grub_lib.c: New file.
16672 * script/lua/grub_lib.h: Likewise.
16673 * script/lua/grub_lua.h: Likewise.
16674 * script/lua/grub_main.c: Likewise.
16675 * script/lua/lapi.c: Likewise.
16676 * script/lua/lapi.h: Likewise.
16677 * script/lua/lauxlib.c: Likewise.
16678 * script/lua/lauxlib.h: Likewise.
16679 * script/lua/lbaselib.c: Likewise.
16680 * script/lua/lcode.c: Likewise.
16681 * script/lua/lcode.h: Likewise.
16682 * script/lua/ldblib.c: Likewise.
16683 * script/lua/ldebug.c: Likewise.
16684 * script/lua/ldebug.h: Likewise.
16685 * script/lua/ldo.c: Likewise.
16686 * script/lua/ldo.h: Likewise.
16687 * script/lua/ldump.c: Likewise.
16688 * script/lua/lfunc.c: Likewise.
16689 * script/lua/lfunc.h: Likewise.
16690 * script/lua/lgc.c: Likewise.
16691 * script/lua/lgc.h: Likewise.
16692 * script/lua/linit.c: Likewise.
16693 * script/lua/liolib.c: Likewise.
16694 * script/lua/llex.c: Likewise.
16695 * script/lua/llex.h: Likewise.
16696 * script/lua/llimits.h: Likewise.
16697 * script/lua/lmathlib.c: Likewise.
16698 * script/lua/lmem.c: Likewise.
16699 * script/lua/lmem.h: Likewise.
16700 * script/lua/loadlib.c: Likewise.
16701 * script/lua/lobject.c: Likewise.
16702 * script/lua/lobject.h: Likewise.
16703 * script/lua/lopcodes.c: Likewise.
16704 * script/lua/lopcodes.h: Likewise.
16705 * script/lua/loslib.c: Likewise.
16706 * script/lua/lparser.c: Likewise.
16707 * script/lua/lparser.h: Likewise.
16708 * script/lua/lstate.c: Likewise.
16709 * script/lua/lstate.h: Likewise.
16710 * script/lua/lstring.c: Likewise.
16711 * script/lua/lstring.h: Likewise.
16712 * script/lua/lstrlib.c: Likewise.
16713 * script/lua/ltable.c: Likewise.
16714 * script/lua/ltable.h: Likewise.
16715 * script/lua/ltablib.c: Likewise.
16716 * script/lua/ltm.c: Likewise.
16717 * script/lua/ltm.h: Likewise.
16718 * script/lua/lua.h: Likewise.
16719 * script/lua/luaconf.h: Likewise.
16720 * script/lua/lualib.h: Likewise.
16721 * script/lua/lundump.c: Likewise.
16722 * script/lua/lundump.h: Likewise.
16723 * script/lua/lvm.c: Likewise.
16724 * script/lua/lvm.h: Likewise.
16725 * script/lua/lzio.c: Likewise.
16726 * script/lua/lzio.h: Likewise.
16727
5e898c9d 167282009-05-16 Bean <bean123ch@gmail.com>
16729
16730 * include/grub/kernel.h (grub_module_header_types): Add type
16731 OBJ_TYPE_CONFIG.
16732
16733 * kern/main.c (grub_load_config): New function.
16734 (grub_main): Call grub_load_config to read boot config.
16735
16736 * grub-mkimage (generate_image): New parameter config_path.
16737 (options): New option --config.
16738 (main): Parse --config option, and pass it to generate_image.
16739
cf353a47 167402009-05-14 Christian Franke <franke@computer.org>
16741
16742 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
16743 This fixes build on Cygwin.
16744
3834887f 167452009-05-14 Pavel Roskin <proski@gnu.org>
16746
16747 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
16748 jump. This saves two bytes, so the typical case of 2 swapped
16749 drives would fit 32 bytes.
16750
8090fc01 167512009-05-13 Pavel Roskin <proski@gnu.org>
16752
ac963883 16753 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
16754 grub_uint32_t to avoid a warning.
16755
8090fc01 16756 * loader/i386/linux.c (allocate_pages): When assigning
16757 real_mode_mem, cast through grub_size_t to fix a warning. The
16758 code already makes sure that the value would fit a pointer.
16759 (grub_linux_setup_video): Cast render_target->data to
16760 grub_size_t to fix a warning.
16761
18f547ad 167622009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 16763
16764 * commands/i386/pc/drivemap.c: New file - implement drivemap
16765 command.
16766 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
16767 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
16768
6f6a8b28 167692009-05-13 Pavel Roskin <proski@gnu.org>
16770
16771 * util/i386/pc/grub-setup.c (setup): Remove unused variable
16772 embedding_area_exists.
16773
15fbf4c4 167742009-05-13 Robert Millan <rmh.grub@aybabtu.com>
16775
16776 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
16777 it easier to understand / work with.
59978c8a 16778 Improve warning messages for cases where there's no embedding area,
16779 or when it is too small (or core.img too large).
15fbf4c4 16780
238e871f 167812009-05-13 Pavel Roskin <proski@gnu.org>
16782
0ab3a9a4 16783 * loader/i386/pc/multiboot2.c: Add necessary includes for
16784 grub_multiboot2_real_boot().
16785
a2c8c5f8 16786 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
16787 PX record is always little-endian. We only need the lower 2
16788 bytes of the mode.
16789
faec96af 16790 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
16791 facilitate code reuse.
16792 (grub_cpio_mount): Use "struct head", not a char buffer. This
16793 fixes a warning reported by gcc 4.4.
16794
238e871f 16795 * kernel/disk.c (grub_disk_read): Use void pointer for the
16796 buffer.
16797 (grub_disk_write): Use const void pointer for the buffer.
16798 Adjust all callers. Remove unnecessary casts.
16799
901d2f0c 168002009-05-10 Robert Millan <rmh.grub@aybabtu.com>
16801
16802 * util/i386/pc/grub-install.in: Update copyright year.
16803
18f547ad 168042009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 16805
16806 gptsync
16807
16808 * commands/gptsync.c: new file
16809 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
16810 (gptsync_mod_SOURCES): new variable
16811 (gptsync_mod_CFLAGS): likewise
16812 (gptsync_mod_LDFLAGS): likewise
18f547ad 16813 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 16814 new definition
16815 (GRUB_PC_PARTITION_TYPE_HFS): likewise
16816 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
16817 * conf/i386-ieee1275.rmk: likewise
16818 * conf/i386-pc.rmk: likewise
16819 * conf/powerpc-ieee1275.rmk: likewise
16820
b4ba690a 168212009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
16822
16823 Fixed grub-emu
16824
16825 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
16826 (grub_dl_ref): likewise
16827
317e1a44 168282009-05-08 Robert Millan <rmh.grub@aybabtu.com>
16829
16830 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
16831 split in two functions (one for msdos and one for gpt).
16832
041b8094 168332009-05-08 Pavel Roskin <proski@gnu.org>
16834
752473c2 16835 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
16836 not modified.
16837
041b8094 16838 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
16839 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
16840 Initialize them with -1. Add sanity check for bad1. Eliminate
16841 nerr variable.
16842
172800ce 168432009-05-08 David S. Miller <davem@davemloft.net>
16844
16845 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
16846
29aa5e81 168472009-05-06 Robert Millan <rmh.grub@aybabtu.com>
16848
16849 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 16850 existence.
29aa5e81 16851
96613b62 168522009-05-05 Felix Zielcke <fzielcke@z-51.de>
16853
16854 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 16855 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 16856
eef73c8a 168572009-05-05 David S. Miller <davem@davemloft.net>
16858
16859 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
16860
119494b5 168612009-05-05 Pavel Roskin <proski@gnu.org>
16862
16863 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
16864 of grub_dl_ref() and grub_dl_unref().
16865 * commands/parttool.c: Remove preprocessor conditionals around
16866 grub_dl_ref() and grub_dl_unref().
16867 * fs/affs.c: Likewise.
16868 * fs/afs.c: Likewise.
16869 * fs/cpio.c: Likewise.
16870 * fs/ext2.c: Likewise.
16871 * fs/fat.c: Likewise.
16872 * fs/hfs.c: Likewise.
16873 * fs/hfsplus.c: Likewise.
16874 * fs/iso9660.c: Likewise.
16875 * fs/jfs.c: Likewise.
16876 * fs/minix.c: Likewise.
16877 * fs/ntfs.c: Likewise.
16878 * fs/reiserfs.c: Likewise.
16879 * fs/sfs.c: Likewise.
16880 * fs/udf.c: Likewise.
16881 * fs/ufs.c: Likewise.
16882 * fs/xfs.c: Likewise.
16883 * include/grub/dl.h: Likewise.
16884 * loader/xnu.c: Likewise.
16885
de5fd76e 168862009-05-04 Pavel Roskin <proski@gnu.org>
16887
16888 * commands/acpi.c: Remove unused variable my_mod.
16889 * partmap/amiga.c: Likewise.
16890 * partmap/apple.c: Likewise.
16891 * partmap/gpt.c: Likewise.
16892 * partmap/pc.c: Likewise.
16893 * partmap/sun.c: Likewise.
16894 * term/gfxterm.c: Likewise.
16895 * term/i386/pc/vesafb.c: Likewise.
16896 * term/i386/pc/vga.c: Likewise.
16897
983598ad 168982009-05-04 David S. Miller <davem@davemloft.net>
16899
16900 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
16901 pointer args to grub_ieee1275_get_property().
16902
8aadec43 16903 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
16904
9554b15e 16905 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
16906 devices, and do not traverse down under controller nodes.
16907
67e23c90 16908 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
16909 (grub_ofdisk_open): Use it to un-escape "," characters.
16910 * kern/disk.c (find_part_sep): New.
16911 (grub_disk_open): Use it to find the first non-escaped ','
16912 character in the disk name.
16913 * util/ieee1275/devicemap.c (escape_of_path): New.
16914 (grub_util_emit_devicemap_entry): Use it.
16915 * util/sparc64/ieee1275/grub-install.in: Update script to
16916 strip partition specifiers properly by not triggering on
16917 '\' escaped ',' characters.
16918
74bfdd2f 169192009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16920
16921 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
16922 to 0x300.
16923 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
16924 resolutions.
16925 (linux_vesafb_modes): Add a lot of additional modes to the list (based
16926 on documentation from Wikipedia).
16927
4241d2b1 169282009-05-04 Pavel Roskin <proski@gnu.org>
16929
16930 * disk/ata.c: Spelling fixes.
16931 * disk/raid.c: Likewise.
16932 * disk/usbms.c: Likewise.
16933 * disk/dmraid_nvidia.c: Likewise.
16934 * kern/ieee1275/openfw.c: Likewise.
16935 * kern/ieee1275/init.c: Likewise.
16936 * kern/ieee1275/cmain.c: Likewise.
16937 * boot/i386/pc/cdboot.S: Likewise.
16938 * video/readers/png.c: Likewise.
16939 * video/i386/pc/vbe.c: Likewise.
16940 * fs/udf.c: Likewise.
16941 * fs/hfs.c: Likewise.
16942 * fs/reiserfs.c: Likewise.
16943 * efiemu/runtime/efiemu.c: Likewise.
16944 * efiemu/main.c: Likewise.
16945 * efiemu/mm.c: Likewise.
16946 * include/grub/elf.h: Likewise.
16947 * include/grub/xnu.h: Likewise.
16948 * include/grub/usbdesc.h: Likewise.
16949 * include/grub/usb.h: Likewise.
16950 * include/grub/script_sh.h: Likewise.
16951 * include/grub/lib/LzmaEnc.h: Likewise.
16952 * include/grub/efiemu/efiemu.h: Likewise.
16953 * include/grub/command.h: Likewise.
16954 * normal/menu.c: Likewise.
16955 * normal/main.c: Likewise.
16956 * normal/datetime.c: Likewise.
16957 * bus/usb/uhci.c: Likewise.
16958 * mmap/i386/uppermem.c: Likewise.
16959 * mmap/mmap.c: Likewise.
16960 * commands/acpi.c: Likewise.
16961 * commands/test.c: Likewise.
16962 * partmap/apple.c: Likewise.
16963 * font/font.c: Likewise.
16964 * loader/sparc64/ieee1275/linux.c: Likewise.
16965 * loader/macho.c: Likewise.
16966 * loader/i386/bsd_trampoline.S: Likewise.
16967 * loader/i386/bsd.c: Likewise.
16968 * loader/xnu.c: Likewise.
16969 * term/i386/pc/vesafb.c: Likewise.
16970 * term/usb_keyboard.c: Likewise.
16971 * util/resolve.c: Likewise.
16972 * util/getroot.c: Likewise.
16973
0cfc0083 169742009-05-04 Felix Zielcke <fzielcke@z-51.de>
16975
16976 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
16977
7c1d00cd 169782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16979
16980 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
16981 build error.
16982
b01f0548 169832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16984
16985 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
16986 parameter only available on BIOS.
16987
ecc3eb22 169882009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
16989
16990 Removed wrong semicolon in declaration
16991
16992 * grub/misc.h (grub_dprintf): remove semicolon
16993
112972a9 169942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
16995
16996 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
16997 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
16998 is done by grub_cmd_linux() now).
16999 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
17000 restore video to text mode.
17001 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
17002 indicates lack of "vga=" parameter. "vga=0" is mapped to
17003 `GRUB_LINUX_VID_MODE_NORMAL'.
17004
afd5c115 170052009-05-04 Felix Zielcke <fzielcke@z-51.de>
17006
17007 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
17008 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
17009 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 17010 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 17011 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
17012 `grub_script.tab.c'.
17013
17014 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17015 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
17016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17017 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
17018 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17019
faa517ce 17020 * Makefile.in: Remove duplicated 2008 in Copyright line.
17021
ae0c0bdc 170222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
17023
473d1e45 17024 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 17025 unconditionally.
17026 * include/grub/util/misc.h (grub_util_warn): New declaration.
17027
17028 * util/i386/pc/grub-install.in: Understand --force and pass it down
17029 to grub-setup.
17030
17031 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
17032 down to setup().
17033 (setup): Improve error messages and add warnings when requested to
17034 install in odd layouts. Refuse to install using blocklists unless
17035 --force was set.
17036
18f547ad 170372009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 17038
17039 * disk/raid.c (grub_raid_scan_device): Improve debug message.
17040
6d260daa 170412009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 Updated copyright year
17044
17045 * fs/hfsplus.c: updated copyright year
18f547ad 17046
69f853f8 170472009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 HFS+ UUID
17050
18f547ad 17051 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 17052 in the space previously used by unused3
17053 (grub_hfsplus_uuid): new function
17054 (grub_hfsplus_fs): added uuid field
17055
4c402e73 170562009-05-03 Pavel Roskin <proski@gnu.org>
17057
17058 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
17059 suppress warnings. It's no longer needed.
17060 * disk/host.c: Likewise.
17061 * disk/ata_pthru.c: Likewise.
17062 * disk/loopback.c: Likewise.
17063 * hook/datehook.c: Likewise.
17064 * parttool/pcpart.c: Likewise.
17065 * fs/i386/pc/pxe.c: Likewise.
17066 * fs/ntfscomp.c: Likewise.
17067 * efiemu/main.c: Likewise.
17068 * mmap/mmap.c: Likewise.
17069 * commands/crc.c: Likewise.
17070 * commands/hexdump.c: Likewise.
17071 * commands/hdparm.c: Likewise.
17072 * commands/acpi.c: Likewise.
17073 * commands/echo.c: Likewise.
17074 * commands/minicmd.c: Likewise.
17075 * commands/blocklist.c: Likewise.
17076 * commands/memrw.c: Likewise.
17077 * commands/loadenv.c: Likewise.
17078 * commands/usbtest.c: Likewise.
17079 * commands/lsmmap.c: Likewise.
17080 * commands/boot.c: Likewise.
17081 * commands/parttool.c: Likewise.
17082 * commands/configfile.c: Likewise.
17083 * commands/search.c: Likewise.
17084 * commands/ieee1275/suspend.c: Likewise.
17085 * commands/cat.c: Likewise.
17086 * commands/i386/pc/pxecmd.c: Likewise.
17087 * commands/i386/pc/play.c: Likewise.
17088 * commands/i386/pc/halt.c: Likewise.
17089 * commands/i386/pc/vbeinfo.c: Likewise.
17090 * commands/i386/pc/vbetest.c: Likewise.
17091 * commands/lspci.c: Likewise.
17092 * commands/date.c: Likewise.
17093 * commands/handler.c: Likewise.
17094 * commands/ls.c: Likewise.
17095 * commands/test.c: Likewise.
17096 * commands/cmp.c: Likewise.
17097 * commands/efi/loadbios.c: Likewise.
17098 * commands/efi/fixvideo.c: Likewise.
17099 * commands/halt.c: Likewise.
17100 * commands/help.c: Likewise.
17101 * commands/reboot.c: Likewise.
17102 * hello/hello.c: Likewise.
17103 * script/sh/main.c: Likewise.
17104 * loader/xnu.c: Likewise.
17105 * term/terminfo.c: Likewise.
17106 * term/i386/pc/serial.c: Likewise.
17107 * term/usb_keyboard.c: Likewise.
17108
515b5079 171092009-05-03 David S. Miller <davem@davemloft.net>
17110
17111 * normal/menu.c: Include grub/parser.h
17112
dfc31a22 171132009-05-03 Pavel Roskin <proski@gnu.org>
17114
2fee74f1 17115 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
17116 not char*.
17117 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
17118 Suggested by Javier Martín <lordhabbit@gmail.com>
17119
dfc31a22 17120 * util/i386/pc/grub-mkrescue.in: Allow for the case when
17121 efiemu??.o doesn't exist.
17122 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
17123 copying.
17124
18f547ad 171252009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 17126
17127 FreeBSD 64-bit support
17128
18f547ad 17129 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 17130 and loader/i386/bsd_trampoline.S
17131 (bsd_mod_ASFLAGS): new variable
17132 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
17133 (FREEBSD_MODTYPE_KERNEL64): likewise
17134 (grub_bsd64_trampoline_start): likewise
17135 (grub_bsd64_trampoline_end): likewise
17136 (grub_bsd64_trampoline_selfjump): likewise
17137 (grub_bsd64_trampoline_gdt): likewise
17138 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
17139 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
17140 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
17141 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 17142 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 17143 of "attrib" member
17144 * loader/i386/bsd_pagetable.c: new file
17145 * loader/i386/bsd_trampoline.S: likewise
17146 * loader/i386/bsd.c (ALIGN_QWORD): new macro
17147 (ALIGN_VAR): likewise
17148 (entry_hi): new variable
17149 (kern_end_mdofs): likewise
17150 (is_64bit): likewise
17151 (grub_freebsd_add_meta): use ALIGN_VAR
17152 (grub_e820_mmap): new declaration
17153 (grub_freebsd_add_mmap): new function
17154 (grub_freebsd_add_meta_module): support 64 bit kernels
17155 (grub_freebsd_list_modules): use ALIGN_VAR
17156 (gdt_descriptor): new declaration
17157 (grub_freebsd_boot): support 64 bit kernels
17158 (grub_bsd_elf64_hook): new function
17159 (grub_bsd_load_elf): support elf64
17160
038c5720 171612009-05-03 Bean <bean123ch@gmail.com>
17162
17163 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
17164 after we get the result of if statement.
17165
fc45fb58 171662009-05-03 Bean <bean123ch@gmail.com>
17167
17168 * Makefile.in (enable_efiemu): New variable.
17169
17170 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
17171 set.
17172 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
17173 path.
17174 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
17175 path, add -mno-red-zone option.
17176 (efiemu64_s.o): Likewise.
17177 (efiemu64.o): Use macro $^ for source file.
17178
17179 * configure.ac (--enable-efiemu): New option.
17180
bbee0f2b 171812009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 xnu support
17184
17185 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
17186 (pkglib_MODULES): add xnu.mod
17187 (xnu_mod_SOURCES): new variable
17188 (xnu_mod_CFLAGS): likewise
17189 (xnu_mod_LDFLAGS): likewise
17190 (xnu_mod_ASFLAGS): likewise
17191 * conf/i386-pc.rmk: likewise
17192 * conf/x86_64-efi.rmk: likewise
7dd4a573 17193 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 17194 new declaration
17195 * include/grub/i386/macho.h: new file
17196 * include/grub/i386/xnu.h: likewise
17197 * include/grub/macho.h: likewise
17198 * include/grub/machoload.h: likewise
17199 * include/grub/x86_64/macho.h: likewise
17200 * include/grub/x86_64/xnu.h: likewise
17201 * include/grub/xnu.h: likewise
17202 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
17203 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
17204 * loader/i386/efi/xnu.c: new file
17205 * loader/i386/pc/xnu.c: likewise
17206 * loader/i386/xnu.c: likewise
17207 * loader/i386/xnu_helper.S: likewise
17208 * loader/macho.c: likewise
17209 * loader/xnu.c: likewise
17210 * loader/xnu_resume.c: likewise
17211 * util/grub-dumpdevtree: likewise
17212 * include/grub/i386/pit.h: include grub/err.h
17213 (grub_pit_wait): export
17214 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 17215
5caf964d 172162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17217
17218 Efiemu
7dd4a573 17219
5caf964d 17220 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 17221 _linux_efi, linux_efi.
17222 new files in grub-emu
5caf964d 17223 new targets efiemu32.o and efiemu64.o
17224 * loader/linux_normal_efiemu.c: likewise
17225 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 17226 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 17227 files to copy
17228 * include/grub/autoefi.h: new file
7dd4a573 17229 * include/grub/i386/efiemu.h: likewise
5caf964d 17230 * include/grub/i386/pc/efiemu.h: likewise
17231 * include/grub/efi/api.h: add LL suffix when necessary
17232 new definitions relating to tables
17233 * include/grub/efiemu/efiemu.h: new file
17234 * include/grub/efiemu/runtime.h: likewise
17235 * efiemu/prepare.c: likewise
17236 * efiemu/loadcore_common.c: likewise
17237 * efiemu/loadcore64.c: likewise
17238 * efiemu/runtime/efiemu.sh: likewise
17239 * efiemu/runtime/efiemu.S: likewise
17240 * efiemu/runtime/efiemu.c: likewise
17241 * efiemu/runtime/config.h: likewise
17242 * efiemu/prepare32.c: likewise
17243 * efiemu/main.c: likewise
17244 * efiemu/modules/pnvram.c: likewise
17245 * efiemu/modules/i386: likewise
17246 * efiemu/modules/i386/pc: likewise
17247 * efiemu/modules/acpi.c: likewise
17248 * efiemu/i386/pc/cfgtables.c: likewise
17249 * efiemu/i386/loadcore64.c: likewise
17250 * efiemu/i386/loadcore32.c: likewise
17251 * efiemu/prepare64.c: likewise
17252 * efiemu/loadcore.c: likewise
17253 * efiemu/symbols.c: likewise
17254 * efiemu/mm.c: likewise
17255 * efiemu/loadcore32.c: likewise
7dd4a573 17256
172572009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 17258
17259 ACPI spoofing
17260
17261 * commands/acpi.c: new file
17262 * commands/i386/pc/acpi.c: likewise
17263 * commands/efi/acpi.c: likewise
17264 * include/grub/acpi.h: likewise
17265 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
17266 (acpi_mod_SOURCES): new variable
17267 (acpi_mod_CFLAGS): likewise
17268 (acpi_mod_LDFLAGS): likewise
17269 * conf/i386-efi.rmk: likewise
17270 * conf/x86_64-efi.rmk: likewise
17271
7dd4a573 172722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 17273
17274 Missing part from mmap patch
17275
17276 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
17277 (grub_mmap_unregister)
17278 (grub_mmap_free_and_unregister): use grub_mmap_register
17279
7dd4a573 172802009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 17281
17282 Mmap services
17283
17284 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
17285 * loader/i386/linux.c (find_mmap_size): likewise
17286 (allocate_pages): likewise
17287 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
17288 (grub_fill_multiboot_mmap): likewise
17289 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
17290 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
17291 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
17292 (OPENBSD_MMAP_RESERVED): likewise
17293 * include/grub/i386/pc/memory.h: include grub/memory.h
17294 (grub_lower_mem): removed
17295 (grub_upper_mem): likewise
17296 (GRUB_MACHINE_MEMORY_ACPI): new definition
17297 (GRUB_MACHINE_MEMORY_NVS): likewise
17298 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
17299 (GRUB_MACHINE_MEMORY_HOLE): likewise
17300 (grub_machine_mmap_register): likewise
17301 (grub_machine_mmap_unregister): likewise
17302 (grub_machine_get_upper): likewise
17303 (grub_machine_get_lower): likewise
17304 (grub_machine_get_post64): likewise
17305 * include/grub/i386/efi/memory.h: new file
17306 * include/grub/x86_64/efi/memory.h: likewise
17307 * include/grub/efi/memory.h: likewise
17308 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
17309 (mmap_mod_SOURCES): new variable
17310 (mmap_mod_LDFLAGS): likewise
17311 (mmap_mod_ASFLAGS): likewise
17312 * conf/i386-coreboot.rmk: likewise
17313 * conf/i386-ieee1275.rmk: likewise
17314 * conf/i386-efi.rmk: likewise
17315 * conf/x86_64-efi.rmk: likewise
17316 * include/grub/types.h (UINT_TO_PTR): new macro
17317 (PTR_TO_UINT32): likewise
17318 (PTR_TO_UINT64): likewise
17319 * include/grub/memory.h: new file
17320 * mmap/i386/pc/mmap.c: likewise
17321 * mmap/i386/pc/mmap_helper.S: likewise
17322 * mmap/i386/uppermem.c: likewise
17323 * mmap/mmap.c: likewise
17324 * mmap/efi/mmap.c: likewise
7dd4a573 17325 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 17326 grub_upper_mem
17327 * kern/i386/pc/init.c (grub_lower_mem): removed variable
17328 (grub_upper_mem): likewise
17329 (grub_machine_init): don't use grub_upper_mem,
17330 make grub_lower_mem local
17331 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
17332 grub_mmap_iterate and grub_mmap_get_upper
17333 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
17334
d558e6b5 173352009-05-02 Bean <bean123ch@gmail.com>
17336
17337 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
17338 script/sh/parser.y.
17339 (pkglib_MODULES): Add normal.mod and sh.mod.
17340 (normal_SOURCES): New variable.
17341 (normal_mod_CFLAGS): Likewise.
17342 (normal_mod_LDFLAGS): Likewise.
17343 (sh_mod_SOURCES): Likewise.
17344 (sh_mod_CFLAGS): Likewise.
17345 (sh_mod_LDFLAGS): Likewise.
17346
17347 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
17348 script/sh/lexer.c_DEPENDENCIES.
17349 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
17350 kern/rescue_reader.c and kern/rescue_parser.c.
17351 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
17352 (grub_emu_SOURCES): Change source files.
17353 (pkglib_MODULES): Remove normal.mod.
17354 (normal_SOURCES): Removed.
17355 (normal_mod_CFLAGS): Likewise.
17356 (normal_mod_LDFLAGS): Likewise.
17357 * conf/i386-coreboot.rmk: Likewise.
17358 * conf/i386-efi.rmk: Likewise.
17359 * conf/i386-ieee1276.rmk: Likewise.
17360 * conf/powerpc-ieee1275.rmk: Likewise.
17361 * conf/sparc64-ieee1275.rmk: Likewise.
17362 * conf/x86_64-efi.rmk: Likewise.
17363
17364 * include/grub/command.h (grub_command_execute): New inline function.
17365
17366 * include/grub/menu.h (grub_menu_entry): Removed commands field.
17367
17368 * include/grub/normal.h: Remove <grub/setjmp.h>.
17369 (grub_fs_module_list): Moved to normal/autofs.c.
17370 (grub_exit_env): Removed.
17371 (grub_command_execute): Likewise.
17372 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
17373 parameter script.
17374 (read_command_list): New function declaration.
17375 (read_fs_list): Likewise.
17376
17377 * include/parser.h: Include <grub/reader.h>.
17378 (grub_parser_split_cmdline): Change type of getline parameter.
17379 (grub_parser): New structure.
17380 (grub_parser_class): New variable.
17381 (grub_parser_execute): New function declaration.
17382 (grub_register_rescue_parser): Likewise.
17383 (grub_parser_register): New inline function.
17384 (grub_parser_unregister): Likewise.
17385 (grub_parser_get_current): Likewise.
17386 (grub_parser_set_current): Likewise.
17387
17388 * include/grub/reader.h: New file.
17389 * kern/reader.c: Likewise.
17390 * kern/rescue_parser.c: Likewise.
17391 * kern/rescue_reader.c: Likewise.
17392 * normal/autofs.c: Likewise.
17393 * normal/dyncmd.c: Likewise.
17394
17395 * include/grub/rescue.h: Removed.
17396 * normal/command.h: Likewise.
17397
17398 * include/grub/script.h: Moved to ...
17399 * include/grub/script_sh.h: ... Moved here.
17400 * normal/execute.c: Moved to ...
17401 * script/sh/execute.c: ... Moved here.
17402 * normal/function.c: Moved to ...
17403 * script/sh/function.c: ... Moved here.
17404 * normal/lexer.c: Moved to ...
17405 * script/sh/lexer.c: ... Moved here.
17406 * normal/parser.y: Moved to ...
17407 * script/sh/parser.y: ... Moved here.
17408 * normal/script.c: Moved to ...
17409 * script/sh/script.c: ... Moved here.
17410
17411 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
17412 <grub/reader.h>.
17413 (grub_exit_env): Removed.
17414 (fs_module_list): Moved to normal/autofs.c.
17415 (grub_file_getline): Don't handle comment here.
17416 (free_menu): Skip removed field entry->commands.
17417 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
17418 script parameter.
17419 (read_config_file): Removed nested parameter, change getline function.
17420 (grub_enter_normal_mode): Removed.
17421 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
17422 (read_command_list): Likewise.
17423 (autoload_fs_module): Moved to normal/autofs.c.
17424 (read_fs_list): Likewise.
17425 (reader_nested): New variable.
17426 (grub_normal_execute): Run parser.sh to switch to sh parser.
17427 (grub_cmd_rescue): Removed.
17428 (cmd_normal): Removed.
17429 (grub_cmd_normal): Unregister itself at the beginning. Don't register
17430 rescue command.
17431 (grub_cmdline_run): New function.
17432 (grub_normal_reader_init): Likewise.
17433 (grub_normal_read_line): Likewise.
17434 (grub_env_write_pager): Likewise.
17435 (cmdline): New variable.
17436 (grub_normal_reader): Likewise.
17437 (GRUB_MOD_INIT): Register normal reader and set as current, register
17438 pager hook, register normal command with grub_register_command_prio,
17439 so that it won't show up in command.lst.
17440 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
17441 grub_fs_autoload_hook.
17442
17443 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
17444 (grub_menu_execute_entry): Replace grub_script_execute with
17445 grub_parser_execute, change parameter to grub_command_execute.
17446
17447 * normal/menu_text.c: Remove <grub/script.h>.
17448
17449 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
17450 and <grub/parser.h>.
17451 (run): Change editor_getline to use new parser interface. Change
17452 parameter to grub_command_execute.
17453
17454 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
17455 <grub/reader.h> and <grub/parser.h>.
17456 (grub_load_normal_mode): Execute normal command.
17457 (grub_main): Call grub_register_core_commands,
17458 grub_register_rescue_parser and grub_register_rescue_reader, use
17459 grub_reader_loop to enter input loop.
17460
7dd4a573 17461 * kern/parser.c (grub_parser_split_cmdline): Change type of
17462 getline parameter.
d558e6b5 17463 (grub_parser_class): New variable.
17464 (grub_parser_execute): New function.
17465
17466 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
17467 * loader/multiboot2.c: Likewise.
17468 * loader/sparc64/ieee1275/linux.c: Likewise.
17469
17470 * util/grub-emu.c (read_command_list): New dummy function.
17471
18db813d 174722009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17473
17474 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
17475 count to 16 for CCISS and IDA.
17476
6c67de15 174772009-05-02 Robert Millan <rmh.grub@aybabtu.com>
17478
17479 * normal/menu_text.c (grub_wait_after_message): Print a newline
17480 after waiting for user input.
17481
17482 * loader/i386/linux.c: Include `<grub/normal.h>'.
17483 (grub_cmd_linux): Improve the error message about `ask' mode, by
17484 waiting for user input so it's not missed (we can do this, since
17485 user requested interaction).
17486
d9dc87b0 174872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
17488
17489 Added missing lst to grub-mkrescue
17490
17491 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
17492 and ${input_dir}/parttool.lst
17493
ac8a2baa 174942009-04-30 David S. Miller <davem@davemloft.net>
17495
ad22a610 17496 * util/hostdisk.c (device_is_wholedisk): New function.
17497 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
17498 zero only if device_is_wholedisk() returns true.
17499
6966215d 17500 * util/hostdisk.c (convert_system_partition_to_system_disk):
17501 Handle virtual disk devices named /dev/vdiskX as found on sparc
17502 and powerpc.
17503
ac8a2baa 17504 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
17505 lettered partition specifier is found, convert to numbered.
17506
979b4fb4 175072009-04-29 David S. Miller <davem@davemloft.net>
17508
e2bf39b2 17509 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
17510 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17511
3c64e104 17512 * normal/command.c: Add missing newline at end of file.
17513
979b4fb4 17514 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
17515 warnings.
17516 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
17517 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
17518 grub_ofdisk_read): Likewise, and deal similarly with the fact that
17519 ihandles have a 32-bit type but need to be stored in a "void *".
17520
136d9f82 175212009-04-28 Pavel Roskin <proski@gnu.org>
17522
9459c306 17523 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
17524 not disk. Adjust all dependencies.
2e08a26a 17525 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 17526 grub_disk_close().
17527
136d9f82 17528 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
17529 parent's partition, don't copy it by reference, as it gets freed
17530 on close.
17531
7dd4a573 175322009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 17533
17534 Preboot hooks support
17535
17536 * commands/boot.c (struct grub_preboot_t): new declaration
17537 (preboots_head): new variable
17538 (preboots_tail): likewise
17539 (grub_loader_register_preboot_hook): new function
17540 (grub_loader_unregister_preboot_hook): likewise
17541 (grub_loader_set): launch preboot hooks
17542 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
17543 (grub_loader_register_preboot_hook): new declaration
17544 (grub_loader_unregister_preboot_hook): likewise
17545
5af922b5 175462009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 Warning fix
17549
7dd4a573 17550 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 17551 calling grub_dprintf
17552
a5562c30 175532009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
17554
17555 Bug and warning fixes
17556
7dd4a573 17557 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 17558 declaration
17559 * commands/test.c (test_parse): fixed bug with file tests and corrected
17560 declaration of find_file
17561
4006f85c 175622009-04-26 Pavel Roskin <proski@gnu.org>
17563
17564 * Makefile.in: Don't install empty manual pages if help2man is
17565 missing. Use help2man option for output, not shell redirection.
17566
5c77c3de 175672009-04-26 David S. Miller <davem@davemloft.net>
17568
17569 * util/grub-mkdevicemap.c (make_device_map): Add missing
17570 NESTED_FUNC_ATTR to process_device().
17571
033b10a8 175722009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 Test command
17575
17576 * commands/test.c: rewritten to use bash-like test
17577
e4343593 175782009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
17579
17580 Parttool autoloading and improvements
17581
7dd4a573 17582 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 17583 (parttool.lst): new target
17584 * genmk.rb: generate parttool-*
17585 (CLEANFILES): add #{parttool}
17586 (PARTTOOLFILES): new variable
17587 * genparttoollist.sh: new file
7dd4a573 17588 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 17589 (grub_pcpart_type): likewise
17590 * commands/parttool.c (helpmsg): new variable
17591 (grub_cmd_parttool): output help if not enough arguments are supplied
17592 autoload modules
17593 (GRUB_MOD_INIT(parttool)): use helpmsg
17594
0d312500 175952009-04-24 David S. Miller <davem@davemloft.net>
17596
7dd4a573 17597 Avoiding opening same device multiple times in device iterator.
0d312500 17598
17599 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 17600 and use it to build a list of partitions in iterate_disk() and
0d312500 17601 iterate_partition().
17602
ac20caff 17603 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
17604 on disk->data.
17605
0dcf7495 17606 * disk/ieee1275/nand.c (grub_nand_iterate): Return
17607 grub_devalias_iterate() result instead of unconditional 0.
17608 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
17609 Also, capture hook return value, either directly or via
17610 grub_children_iterate(), and propagate to caller.
17611 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
17612 grub_children_iterate): Return value is now 'int' instead of
17613 'grub_err_t'.
17614 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
17615 like a proper iterator, stopping when hooks return non-zero.
17616 (grub_devalias_iterate): Likewise.
17617
c8c08833 176182009-04-23 David S. Miller <davem@davemloft.net>
17619
17620 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
17621
f01005a8 176222009-04-22 David S. Miller <davem@davemloft.net>
17623
17624 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
17625 is larger than address_cells, use that value for address_cells too.
17626
4e8269da 17627 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
17628 IEEE1275_MAX_PATH_LEN): Define.
17629 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
17630 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
17631 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
17632 'devtype'. Explicitly NULL terminate devalias expansion.
17633
a1447506 17634 * util/sparc64/ieee1275/misc.c: New file.
17635 * util/sparc64/ieee1275/grub-setup.c: New file.
17636 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
17637 * util/sparc64/ieee1275/grub-mkimage.c: New file.
17638 * util/sparc64/ieee1275/grub-install.in: New file.
17639 * util/ieee1275/ofpath.c: New file.
17640 * util/ieee1275/devicemap.c: New file.
17641 * util/devicemap.c: New file.
17642 * util/deviceiter.c: New file.
17643 * kern/sparc64/ieee1275/init.c: New file.
17644 * include/grub/util/ofpath.h: New file.
17645 * include/grub/util/deviceiter.h: New file.
17646 * util/grub-mkdevicemap.c: Include deviceiter.h.
17647 Implement using grub_util_emit_devicemap_entry and
17648 grub_util_iterate_devices.
17649 * conf/i386-corebook.rmk: Build util/deviceiter.c and
17650 util/devicemap.c into grub-mkdevicemap
17651 * conf/i386-efi.rmk: Likewise.
17652 * conf/i386-ieee1275.rmk: Likewise.
17653 * conf/i386-pc.rmk: Likewise.
17654 * conf/powerpc-ieee1275.rmk: Likewise.
17655 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
17656 images and installation utilities. Build kernel as image
17657 instead of as elf binary. Use common rules as much as possible.
17658
7dd4a573 176592009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 17660
17661 Correct GPT definition
17662
7dd4a573 17663 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 17664 of "attrib" member
17665
c6c5219f 176662009-04-19 Felix Zielcke <fzielcke@z-51.de>
17667
17668 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
17669
0552ff9f 176702009-04-19 David S. Miller <davem@davemloft.net>
17671
17672 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
17673 (grub_rescue_cmd_linux): Rename to...
17674 (grub_cmd_linux): and fix prototype.
17675 (grub_rescue_cmd_initrd): Rename to...
17676 (grub_cmd_initrd): and fix prototype.
17677 (cmd_linux, cmd_initrd): New.
17678 (GRUB_MOD_INIT(linux)): Use grub_register_command().
17679 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
17680
d1a282fc 176812009-04-17 Pavel Roskin <proski@gnu.org>
17682
07c5039f 17683 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
17684 format.
17685 (grub_ohci_transfer): Likewise.
17686
b012002d 17687 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
17688
1bc09c35 17689 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
17690 return without a value. Fix inconsistent indentation.
17691
e0ff9126 17692 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
17693 match struct grub_fs.
17694
d1a282fc 17695 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
17696 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
17697 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17698 * commands/lspci.c (grub_lspci_iter): Likewise.
17699
a96df3f2 177002009-04-16 Bean <bean123ch@gmail.com>
17701
17702 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
17703 value.
17704
41bb0fe9 177052009-04-15 Pavel Roskin <proski@gnu.org>
17706
17707 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
17708 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
17709 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
17710 definitions.
17711
596c6970 177122009-04-15 Felix Zielcke <fzielcke@z-51.de>
17713
17714 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 17715 that no multiple data or metadata areas are supported and `Unknown
596c6970 17716 metadata header'.
17717
7dd4a573 177182009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 17719
17720 Move loader out of the kernel
17721
17722 * kern/loader.c: moved to ...
17723 * commands/boot.c: ... moved here
17724 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
17725 * commands/boot.c (grub_cmd_boot): moved here. All users updated
17726 * include/grub/kernel.h (grub_machine_fini): export
17727 * include/grub/loader.h (grub_loader_is_loaded): update declaration
17728 (grub_loader_set): likewise
17729 (grub_loader_unset): likewise
17730 (grub_loader_boot): likewise
17731 * conf/common.rmk: new module boot.mod
17732 (pkglib_MODULES): add boot.mod
17733 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
17734 (grub_emu_SOURCES): likewise
17735 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
17736 (grub_emu_SOURCES): likewise
17737 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
17738 (grub_emu_SOURCES): likewise
17739 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
17740 (grub_emu_SOURCES): likewise
17741 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
17742 (grub_emu_SOURCES): likewise
7dd4a573 17743 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
17744 (grub_emu_SOURCES): likewise
0d5d5653 17745 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 17746 (grub_emu_SOURCES): likewise
0d5d5653 17747
7dd4a573 177482009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 17749
17750 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 17751
5999d619 17752 * kern/misc.c (grub_itoa): Removed function
17753 (grub_ltoa): likewise
17754 (grub_vsprintf): use grub_lltoa
17755
7dd4a573 177562009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 17757
17758 Restore grub-emu
17759
17760 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
17761 * conf/i386-coreboot.rmk: likewise
17762 * conf/i386-ieee1275.rmk: likewise
17763 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 17764
20318222 177652009-04-15 Felix Zielcke <fzielcke@z-51.de>
17766
17767 * INSTALL: Add that `./autogen.sh' needs to be run before
17768 `./configure.'.
17769
d05f0df3 177702009-04-14 Bean <bean123ch@gmail.com>
17771
17772 * Makefile.in (pkglib_DATA): Add handler.lst.
17773 (handler.lst): New rule.
17774
17775 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
17776 * conf/i386-coreboot.rmk: Likewise.
17777 * conf/i386-ieee1275.rmk: Likewise.
17778 * conf/i386-efi.rmk: Likewise.
17779 * conf/x86_64-efi.rmk: Likewise.
17780 * conf/powerpc-ieee1275.rmk: Likewise.
17781 * conf/sparc64-ieee1275.rmk: Likewise.
17782
17783 * genhandlerlist.sh: New file.
17784
17785 * genmk.rb: Add rules to generate handler.lst.
17786
17787 * include/grub/normal.h (grub_file_getline): New function definition.
17788 (read_handler_list): Likewise.
17789 (free_handler_list): Likewise.
17790
17791 * include/grub/term.h (grub_term_register_input): Add name parameter
17792 for auto generation of handler.lst.
17793 (grub_term_register_output): Likewise.
17794
17795 * normal/handler.c: New file.
17796
17797 * normal/main.c (get_line): Renamed to grub_file_getline.
17798 (read_config_file): Use the newly renamed grub_file_getline.
17799 (read_command_list): Likewise.
17800 (read_fs_list): Likewise.
17801 (grub_normal_execute): Call read_handler_list to parse handler.lst.
17802 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
17803
17804 * term/efi/console.c (grub_console_init): Add name parameter for auto
17805 generation of handler.lst.
17806 * term/gfxterm.c: Likewise.
17807 * term/i386/pc/at_keyboard.c: Likewise.
17808 * term/i386/pc/console.c: Likewise.
17809 * term/i386/pc/serial.c: Likewise.
17810 * term/i386/pc/vesafb.c: Likewise.
17811 * term/i386/pc/vga.c: Likewise.
17812 * term/i386/pc/vga_text.c: Likewise.
17813 * term/ieee1275/ofconsole.c: Likewise.
17814 * term/usb_keyboard.c: Likewise.
17815
33c846be 178162009-04-14 Bean <bean123ch@gmail.com>
17817
17818 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
17819 properly with null character.
17820
4484e01e 178212009-04-14 Felix Zielcke <fzielcke@z-51.de>
17822
17823 * configure: Remove.
17824 * config.h.in: Likewise.
f93d668e 17825 * stamp-h.in: Likewise.
4484e01e 17826 * DISTLIST: Likewise.
17827 * conf/common.mk: Likewise.
17828 * conf/i386-coreboot.mk: Likewise.
17829 * conf/i386-efi.mk: Likewise.
17830 * conf/i386-ieee1275.mk: Likewise.
17831 * conf/i386.mk: Likewise.
17832 * conf/i386-pc.mk: Likewise.
17833 * conf/powerpc-ieee1275.mk: Likewise.
17834 * conf/sparc64-ieee1275.mk: Likewise.
17835 * conf/x86_64-efi.mk: Likewise.
17836
17837 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
17838 develop on GRUB.
17839
7dd4a573 178402009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 17841 David S. Miller <davem@davemloft.net>
17842
17843 * util/hostdisk.c (make_device_name): Fix buffer length
17844 calculations.
17845
e25b5a8c 178462009-04-14 Felix Zielcke <fzielcke@z-51.de>
17847
17848 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
17849 <sys/param.h> and <sys/sysctl.h>.
17850 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
17851 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
17852 opening the device and reset them afterwards.
17853
1f1f580c 178542009-04-13 Pavel Roskin <proski@gnu.org>
17855
17856 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
17857 Reported by John Stanley <jpsinthemix@verizon.net>
17858
7ebc2d6b 178592009-04-13 Robert Millan <rmh@aybabtu.com>
17860
17861 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 17862 that name for menuentries when appropriate.
7ebc2d6b 17863
d8ba3667 178642009-04-13 Felix Zielcke <fzielcke@z-51.de>
17865
17866 * util/grub.d/10_freebsd.in: Add a missing `fi'.
17867
cba416eb 178682009-04-13 Robert Millan <rmh@aybabtu.com>
17869
17870 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
17871 to Linux, simply abort telling the user it's no longer supported.
17872
a547a745 178732009-04-13 Felix Zielcke <fzielcke@z-51.de>
17874
17875 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 17876 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 17877 `freebsd_loadenv' only when devices.hints exist.
17878
232a769c 178792009-04-13 Pavel Roskin <proski@gnu.org>
17880
17881 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
17882
c3012039 178832009-04-13 Felix Zielcke <fzielcke@z-51.de>
17884
17885 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
17886 partition number.
17887 (grub_drive): Likewise.
17888
234022fe 178892009-04-13 David S. Miller <davem@davemloft.net>
17890
17891 * kern/sparc64/ieee1275/ieee1275.c: New file.
17892 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
17893 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
17894 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
17895 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
17896 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
17897 grub_ieee1275_alloc_physmem): Declare new exported functions.
17898
d8e1836c 17899 * include/grub/sparc64/ieee1275/loader.h: New file.
17900 * include/grub/sparc64/ieee1275/memory.h: Likewise.
17901 * include/grub/sparc64/kernel.h: Likewise.
17902 * loader/sparc64/ieee1275/linux.c: Likewise.
17903
96bd81ec 17904 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
17905 (grub_fstest_SOURCES): Likewise.
17906
6a4737e5 17907 * util/hostdisk.c (make_device_name): Do not make any assumptions
17908 about the length of drive names.
17909
1d7a72fd 17910 * kern/dl.c (grub_dl_load_file): Close file immediately when
17911 we are done using it.
17912
56bc2471 179132009-04-12 David S. Miller <davem@davemloft.net>
17914
17915 * kern/misc.c (grub_ltoa): Fix cast when handling negative
17916 values. Noticed by Pavel Roskin.
17917
df38d0bb 17918 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
17919 target compiler.
7dd4a573 17920
e382e93a 17921 * genmk.rb: Add more flexible image type specification, also
17922 pass --strip-unneeded to objcopy.
17923 * conf/i386-pc.rmk: Use *_FORMAT.
17924 * conf/i386-pc.mk: Rebuilt.
17925
f5dbbca9 17926 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
17927 (OFDISK_HASH_SZ): Define.
17928 (ofdisk_hash): New hash table.
17929 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
17930 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
17931 instead of device phandle which is not unique.
17932
91c88b12 17933 * kern/sparc64/ieee1275/init.c: Delete, replace with...
17934 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
17935 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
17936 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
17937 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
17938 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
17939 GRUB_KERNEL_MACHINE_DATA_END): Define.
17940 (grub_kernel_image_size, grub_total_module_size): Declare.
17941
5b5d4aa5 179422009-04-12 Pavel Roskin <proski@gnu.org>
17943
7dd4a573 17944 * configure.ac: Change the logic when we check for target tools.
17945 Do it when the target is specified and it's different from the
17946 specified value of the host.
5b5d4aa5 17947
c91e1793 179482009-04-11 Felix Zielcke <fzielcke@z-51.de>
17949
17950 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
17951 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
17952 GNU/kFreeBSD. Check if a device is a character device. Use
17953 DIOCGMEDIASIZE to get the size.
17954 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
17955 support for GNU/kFreeBSD.
17956 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
17957 is a character device instead of a block device. Add support for
17958 FreeBSD device names.
17959
17960 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
17961 is a character device instead of a block device.
17962
17963 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
17964 is a character device instead of a block device.
17965
b1ac8644 179662009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
17967
17968 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
17969 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
17970 FreeBSD. Check if a device is a character device. Use
17971 DIOCGMEDIASIZE to get the size.
17972 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
17973 support for FreeBSD.
17974 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
17975 is a character device instead of a block device. Add support for
17976 FreeBSD device names.
17977
17978 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
17979 a character device instead of a block device.
17980 (grub_util_check_char_device): New function.
17981
17982 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
17983 a character device instead of a block device.
17984
17985 * include/grub/util/getroot.h (grub_util_check_char_device): New
17986 prototype.
17987
a3f7515a 179882009-04-11 David S. Miller <davem@davemloft.net>
17989
17990 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
17991 static libgcc.
17992 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
17993 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
17994 function, if present.
17995 (__bswapdi2): Likewise.
17996
0d44993d 17997 * include/grub/sparc64/ieee1275/boot.h: New file.
17998 * boot/sparc64/ieee1275/boot.S: Likewise.
17999 * boot/sparc64/ieee1275/diskboot.S: Likewise.
18000
ed3d2bc2 18001 * kern/misc.c (grub_ltoa): New function.
18002 (grub_vsprintf): Use it to format 'long' integers.
18003
d3bfb59c 180042009-04-10 David S. Miller <davem@davemloft.net>
18005
18006 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
18007 slots are of type grub_ieee1275_cell_t.
18008 (grub_nand_read): Likewise.
18009 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
18010 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
18011 macros are used to compare values in arg/ret block of the call.
18012 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
18013 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
18014 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
18015 grub_ieee1275_instance_to_path, grub_ieee1275_write,
18016 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
18017 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
18018 grub_ieee1275_close, grub_ieee1275_set_property,
18019 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
18020 grub_ieee1275_cell_t.
18021 * kern/ieee1275/openfw.c (grub_map): Likewise.
18022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
18023 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
18024
450e2238 18025 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
18026 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
18027 (grub_devalias_iterate): Likewise.
18028
7dd4a573 180292009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 18030
18031 UFS improvements
18032
18033 * fs/ufs.c (INODE_NBLOCKS): new definition
18034 (struct grub_ufs_dirent): added fields for non-BSD dirents
18035 (grub_ufs_get_file_block): fixed double indirect handling
18036 (grub_ufs_lookup_symlink): use more robust way to determine whether
18037 symlink is inline
18038 (grub_ufs_find_file): support for non-BSD dirents
18039 (grub_ufs_dir): support for non-BSD dirents
18040
e7e6862a 180412009-04-10 Bean <bean123ch@gnail.com>
18042
18043 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
18044 attribute, otherwise the size would be wrong for i386 platform.
18045
18046 * include/grub/pci.h (grub_pci_read_word): New inline function.
18047 (grub_pci_read_byte): Likewise.
18048 (grub_pci_write): Likewise.
18049 (grub_pci_write_word): Likewise.
18050 (grub_pci_write_byte): Likewise.
18051
18052 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
18053
18054 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
18055 (find_framebuf): Scan pci to locate the frame buffer address.
18056
18057 * commands/efi/fixvideo.c: New file.
18058
18059 * commands/efi/loadbios.c: Likewise.
18060
18061 * commands/memrw.c: Likewise.
18062
18063 * util/grub-dumpbios.in: Likewise.
18064
18065 * conf/common.rmk (grub-dumpbios): New utility.
18066 (pkglib_MODULES): New module memrw.mod.
18067 (memrw_mod_SOURCE): New macro.
18068 (memrw_mod_CFLAGS): Likewise.
18069 (memrw_mod_LDFLAGS): Likewise.
18070
7dd4a573 18071 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18072 fixvideo.mod.
18073 (loadbios_mod_SOURCE): New macro.
18074 (loadbios_mod_CFLAGS): Likewise.
18075 (loadbios_mod_LDFLAGS): Likewise.
18076 (fixvideo_mod_SOURCE): Likewise.
18077 (fixvideo_mod_CFLAGS): Likewise.
18078 (fixvideo_mod_LDFLAGS): Likewise.
18079
7dd4a573 18080 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 18081 fixvideo.mod.
18082 (loadbios_mod_SOURCE): New macro.
18083 (loadbios_mod_CFLAGS): Likewise.
18084 (loadbios_mod_LDFLAGS): Likewise.
18085 (fixvideo_mod_SOURCE): Likewise.
18086 (fixvideo_mod_CFLAGS): Likewise.
18087 (fixvideo_mod_LDFLAGS): Likewise.
18088
af63ada2 180892009-04-08 Felix Zielcke <fzielcke@z-51.de>
18090
18091 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
18092
c2cdde70 180932009-04-07 David S. Miller <davem@davemloft.net>
18094
18095 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
18096 support for R_SPARC_OLO10 relocations. Fix compile warning for
18097 R_SPARC_WDISP30 case.
ea3f72cf 18098 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 18099
761319cf 181002009-04-06 Pavel Roskin <proski@gnu.org>
18101
1007d1f5 18102 * include/grub/misc.h (ARRAY_SIZE): New macro.
18103 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
18104 New macro.
18105 * loader/i386/linux.c (allocate_pages): Use free_pages().
18106 (grub_linux_unload): Don't use free_pages().
18107 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
18108 wrong index. Treat all other modes as text modes.
18109 (grub_cmd_linux): Initialize vid_mode unconditionally to
18110 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
18111
761319cf 18112 * commands/help.c (print_command_help): Use cmd->prio, not
18113 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
18114
ea761d40 181152009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 18116
ea761d40 18117 Parttool
18118
18119 * parttool/pcpart.c: new file
18120 * commands/parttool.c: likewise
18121 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
18122 (parttool_mod_SOURCES): new variable
18123 (parttool_mod_CFLAGS): likewise
18124 (parttool_mod_LDFLAGS): likewise
18125 (pcpart_mod_SOURCES): likewise
18126 (pcpart_mod_CFLAGS): likewise
18127 (pcpart_mod_LDFLAGS): likewise
7dd4a573 18128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 18129 and parttool/pcpart.c
18130 * conf/i386-efi.rmk: likewise
18131 * conf/i386-ieee1275.rmk: likewise
18132 * conf/i386-pc.rmk: likewise
18133 * conf/powerpc-ieee1275.rmk: likewise
18134 * conf/sparc64-ieee1275.rmk: likewise
18135 * conf/x86_64-ieee1275.rmk: likewise
18136
05aaebfb 181372009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18138
18139 Support for mtime and further expandability of dir command
18140
18141 * include/grub/lib/datetime.h: moved to ...
7dd4a573 18142 * include/grub/datetime.h: ... moved here and added
05aaebfb 18143 declaration of grub_unixtime2datetime. All users updated
7dd4a573 18144 * include/grub/fs.h: new syntax for dir and mtime functions in
18145 struct grub_fs
05aaebfb 18146 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
18147 and GRUB_FSHELP_FLAGS_MASK
18148 * commands/ls.c (grub_ls_list_files): Write mtime in long format
18149 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
18150 (grub_ext2_mtime): new function
18151 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
18152 (grub_hfsplus_mtime): new function
18153 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
18154 (GRUB_UFS_ATTR_FILE): likewise
18155 (GRUB_UFS_ATTR_LNK): likewise
18156 (struct grub_ufs_sblock): new fields mtime
18157 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
18158 all users updated
18159 (grub_ufs_dir): mtime support
18160 (grub_ufs_mtime): new function
18161 * fs/affs.c (grub_affs_dir): use new dir syntax
18162 * fs/afs.c (grub_afs_dir): likewise
18163 * fs/cpio.c (grub_cpio_dir): likewise
18164 * fs/fat.c (grub_fat_find_dir): likewise
18165 * fs/hfs.c (grub_hfs_dir): likewise
18166 * fs/iso9660.c (grub_iso9660_dir): likewise
18167 * fs/jfs.c (grub_jfs_dir): likewise
18168 * fs/minix.c (grub_minix_dir): likewise
18169 * fs/ntfs.c (grub_ntfs_dir): likewise
18170 * fs/reiserfs.c (grub_reiserfs_dir): likewise
18171 * fs/sfs.c (grub_sfs_dir): likewise
18172 * fs/xfs.c (grub_xfs_dir): likewise
18173 * util/hostfs.c (grub_hostfs_dir): likewise
18174 * lib/datetime.c: moved to ...
18175 * normal/datetime.c: ... moved here
18176 (grub_unixtime2datetime): new function
18177 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 18178 * normal/completion.c (iterate_dir): use new dir syntax
18179 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 18180 last modification time of a volume
7dd4a573 18181 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 18182 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 18183 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 18184 (normal_mod_SOURCES): likewise
18185 (datetime_mod_SOURCES): Removed lib/datetime.c
18186 * conf/i386-efi.rmk: likewise
7dd4a573 18187 * conf/i386-ieee1275.rmk: likewise
05aaebfb 18188 * conf/i386-pc.rmk: likewise
18189 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 18190 * conf/sparc64-ieee1275.rmk: likewise
18191 * conf/x86_64-efi.rmk: likewise
05aaebfb 18192
8a7e1a14 181932009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18194
18195 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 18196
18197 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 18198 on grub_fat_find_dir
18199 (grub_fat_find_dir): use grub_fat_iterate_dir
18200 (grub_fat_label): likewise
18201
04186a9c 182022009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18203
7dd4a573 18204 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 18205 and command.h
18206 remove extraneous kernel_elf_HEADERS
18207
da4c0bb6 182082009-04-04 Bean <bean123ch@gnail.com>
18209
18210 * include/grub/util/misc.h: Add dummy function fsync for mingw.
18211
18212 * util/misc.c: Likewise.
18213
54ad9555 182142009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
18215
18216 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
18217 instead of grub_printf.
18218
7a6bf9f2 182192009-04-03 Robert Millan <rmh@aybabtu.com>
18220
18221 * loader/i386/linux.c (grub_linux_setup_video): Fill
18222 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
18223 values from `mode info' structure instead of hardcoded
18224 values.
18225
3fcc2083 182262009-04-01 Pavel Roskin <proski@gnu.org>
18227
18228 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
18229 unused now.
18230 * genmk.rb: Likewise.
18231 * configure.ac: Likewise.
18232
5ec9740b 182332009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
18234
18235 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
18236 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
18237
5270cec8 182382009-04-01 David S. Miller <davem@davemloft.net>
18239
18240 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 18241 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 18242 (grub_setjmp): Mark with 'returns_twice' attribute.
18243 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
18244 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
18245 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
18246
9c3dd854 182472009-04-01 Robert Millan <rmh@aybabtu.com>
18248
18249 Reapply fix from 2008-07-28 which was accidentally reverted; also
18250 perform the same fix to a similar check in same function.
18251
18252 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
18253 with the same number are found, just use issue a warning with
18254 grub_dprintf(), as this error has been reported to be non-fatal.
18255
0d818b7e 182562009-03-31 Pavel Roskin <proski@gnu.org>
18257
18258 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
18259 for cross-compilation.
18260
95646d92 182612009-03-30 Robert Millan <rmh@aybabtu.com>
18262
18263 Fix i386-ieee1275 build.
18264
18265 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
18266 Remove declaration.
18267
6a003ed1 182682009-03-30 Pavel Roskin <proski@gnu.org>
18269
18270 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
18271 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
18272 zero-terminated, rely only on the strlen value. Fix comparison
18273 of strings differing in length.
18274
92f33540 182752009-03-30 Robert Millan <rmh@aybabtu.com>
18276
18277 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
18278 checking for abi version. Improve error messages on BIOS to notify
18279 user about `linux16' command.
18280
a8c48fd5 182812009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18282
f968172e 18283 Leak fixes
a8c48fd5 18284
f968172e 18285 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
18286 in case of collision
18287 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 18288
9c323f09 182892009-03-29 Robert Millan <rmh@aybabtu.com>
18290
18291 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
18292 set `vid_mode' accordingly.
18293 (grub_linux_boot): Process `vid_mode' and set video mode.
18294
ae68f423 182952009-03-29 Robert Millan <rmh@aybabtu.com>
18296
18297 * util/grub.d/10_linux.in (linux_entry): New function.
18298 Factorize generation of Linux boot entries.
18299
5709cfc4 183002009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
18301
18302 Make the format of Environment Block plain text. The boot loader
18303 part is not tested well yet.
7dd4a573 18304
5709cfc4 18305 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
18306 (buffer): Removed.
18307 (envblk): Likewise.
18308 (usage): Remove "info" and "clear". Add "unset". Update the
18309 description of "set", as this does not delete variables any
18310 longer.
18311 (create_envblk_file): Complete rewrite.
18312 (open_envblk_file): Likewise.
18313 (cmd_info): Removed.
18314 (cmd_list): Likewise.
18315 (cmd_set): Likewise.
18316 (cmd_clear): Likewise.
18317 (list_variables): New function.
18318 (write_envblk): Likewise.
18319 (set_variables): Likewise.
18320 (unset_variables): Likewise.
18321 (main): Complete rewrite.
18322
18323 * commands/loadenv.c (buffer): Removed.
18324 (envblk): Likewise.
18325 (open_envblk_file): New function.
18326 (read_envblk_file): Complete rewrite.
18327 (grub_cmd_load_env): Likewise.
18328 (grub_cmd_list_env): Likewise.
18329 (struct blocklist): New struct.
18330 (free_blocklists): New function.
18331 (check_blocklists): Likewise.
18332 (write_blocklists): Likewise.
18333 (grub_cmd_save_env): Complete rewrite.
18334
18335 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
18336 a plain text signature.
18337 (GRUB_ENVBLK_MAXLEN): Removed.
18338 (struct grub_envblk): Complete rewrite.
18339 (grub_envblk_find): Removed.
18340 (grub_envblk_insert): Likewise.
18341 (grub_envblk_open): New prototype.
18342 (grub_envblk_set): Likewise.
18343 (grub_envblk_delete): Put const to VALUE.
18344 (grub_envblk_iterate): Put const to NAME and VALUE.
18345 (grub_envblk_close): New prototype.
18346 (grub_envblk_buffer): New inline function.
18347 (grub_envblk_size): Likewise.
18348
18349 * lib/envblk.c: Include grub/mm.h.
18350 (grub_env_find): Removed.
18351 (grub_envblk_open): New function.
18352 (grub_envblk_close): Likewise.
18353 (escaped_value_len): Likewise.
18354 (find_next_line): Likewise.
18355 (grub_envblk_insert): Removed.
18356 (grub_envblk_set): New function.
18357 (grub_envblk_delete): Complete rewrite.
18358 (grub_envblk_iterate): Likewise.
18359
a9368fd3 183602009-03-28 Robert Millan <rmh@aybabtu.com>
18361
18362 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
18363 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
18364 variables. Use 16-bit loader.
18365 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
18366 loader.
18367 * kern/i386/loader.S (grub_linux_boot): Rename to ...
18368 (grub_linux16_boot): ... this. Update all users.
18369 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
18370 (grub_linux_boot): ... this. Update all users.
18371
18372 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
18373 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
18374 commands to `linux16' and `initrd16'.
18375 (GRUB_MOD_FINI(linux)): Rename to ...
18376 (GRUB_MOD_FINI(linux16)): ... this.
18377
e4dd5a7e 183782009-03-24 Pavel Roskin <proski@gnu.org>
18379
18380 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
18381 not just for compilation.
18382
c04d6e05 183832009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 Move multiboot helper out of kernel
18386
18387 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
18388 `loader/i386/multiboot_helper.S'.
18389 * conf/i386-coreboot.rmk: Likewise
18390 * conf/i386-ieee1275.rmk: Likewise
18391
18392 * kern/i386/loader.S: Move multiboot helpers from here...
18393 * loader/i386/multiboot_helper.S: ...moved here
18394 * include/grub/i386/loader.h: Move declarations of multiboot
18395 helpers from here...
18396 * include/grub/i386/multiboot.h: ...moved here
18397 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
18398
42a5b3fc 183992009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18400
18401 * kern/env.c (grub_env_context_open): Added an argument to specify
18402 whether a new context inherits exported variables from current
18403 one. This is useful when making a sandbox to interpret a config
18404 file.
18405 All callers updated.
18406
18407 * include/grub/env.h (grub_env_context_open): Updated the prototype.
18408
b28bbc4e 184092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18410
18411 * kern/env.c (grub_env_context_close): Fix memory leaks.
18412
f04f02e4 184132009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
18414
18415 * normal/main.c (grub_normal_execute): Added an argument
18416 BATCH to specify if an interactive interface should be provided
18417 after reading a config file.
18418 All callers updated.
18419 (read_command_list): Prevent being executed twice.
18420 (read_fs_list): Likewise.
18421
42a5b3fc 18422 * include/grub/normal.h (grub_normal_execute): Updated the
18423 prototype.
f04f02e4 18424
41473ac2 184252009-03-22 Pavel Roskin <proski@gno.org>
18426
fbc00b0c 18427 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
18428 _start.
18429 * kern/i386/pc/startup.S: Likewise.
18430 * kern/i386/efi/startup.S: Likewise.
18431 * kern/i386/ieee1275/startup.S: Likewise.
18432 * kern/i386/coreboot/startup.S: Likewise.
18433 * kern/x86_64/efi/startup.S: Likewise.
18434
41473ac2 18435 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
18436 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
18437 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
18438
2274cc8f 184392009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
18440
18441 Bugfixes in multiboot for bugs uncovered by solaris kernel.
18442
18443 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
18444 limit detection.
18445 Use vaddr of correct segment for entry_point.
18446
b1b797cb 184472009-03-21 Bean <bean123ch@gmail.com>
18448
18449 * commands/blocklist.c: Add include file <grub/command.h>, remove
18450 <grub/normal.h> and <grub/arg.h>.
18451 (grub_cmd_blocklist): Use the new command interface.
18452 (GRUB_MOD_INIT): Likewise.
18453 (GRUB_MOD_FINI): Likewise.
18454 * commands/boot.c: Likewise.
18455 * commands/cat.c: Likewise.
18456 * commands/cmp.c: Likewise.
18457 * commands/configfile.c: Likewise.
18458 * commands/crc.c: Likewise.
18459 * commands/echo.c: Likewise.
18460 * commands/halt.c: Likewise.
18461 * commands/handler.c: Likewise.
18462 * commands/hdparm.c: Likewise.
18463 * commands/help.c: Likewise.
18464 * commands/hexdump.c: Likewise.
18465 * commands/loadenv.c: Likewise.
18466 * commands/ls.c: Likewise.
18467 * commands/lsmmap.c: Likewise.
18468 * commands/lspci.c: Likewise.
18469 * commands/loadenv.c: Likewise.
18470 * commands/read.c: Likewise.
18471 * commands/reboot.c: Likewise.
18472 * commands/search.c: Likewise.
18473 * commands/sleep.c: Likewise.
18474 * commands/test.c: Likewise.
18475 * commands/usbtest.c: Likewise.
18476 * commands/videotest.c: Likewise.
18477 * commands/i386/cpuid.c: Likewise.
18478 * commands/i386/pc/halt.c: Likewise.
18479 * commands/i386/pc/play.c: Likewise.
18480 * commands/i386/pc/pxecmd.c: Likewise.
18481 * commands/i386/pc/vbeinfo.c: Likewise.
18482 * commands/i386/pc/vbetest.c: Likewise.
18483 * commands/ieee1275/suspend.c: Likewise.
18484 * disk/loopback.c: Likewise.
18485 * font/font_cmd.c: Likewise.
18486 * hello/hello.c: Likewise.
18487 * loader/efi/appleloader.c: Likewise.
18488 * loader/efi/chainloader.c: Likewise.
18489 * loader/i386/bsd.c: Likewise.
18490 * loader/i386/efi/linux.c: Likewise.
18491 * loader/i386/ieee1275/linux.c: Likewise.
18492 * loader/i386/linux.c: Likewise.
18493 * loader/i386/pc/chainloader.c: Likewise.
18494 * loader/i386/pc/linux.c: Likewise.
18495 * loader/powerpc/ieee1275/linux.c: Likewise.
18496 * loader/multiboot_loader.c: Likewise.
18497 * term/gfxterm.c: Likewise.
18498 * term/i386/pc/serial.c: Likewise.
18499 * term/terminfo.c: Likewise.
18500
18501 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
18502 * term/i386/pc/vga.c: Likewise.
18503 * video/readers/jpeg.c: Likewise.
18504 * video/readers/png.c: Likewise.
18505 * video/readers/tga.c: Likewise.
18506
18507 * util/grub-fstest (cmd_loopback): Removed.
18508 (cmd_blocklist): Likewise.
18509 (cmd_ls): Likewise.
18510 (grub_register_command): Likewise.
18511 (grub_unregister_command): Likewise.
18512 (execute_command): Use grub_command_find to locate command and execute
18513 it.
18514
18515 * include/grub/efi/chainloader.h: Removed.
18516 * loader/efi/chainloader_normal.c: Likewise.
18517 * loader/i386/bsd_normal.c: Likewise.
18518 * loader/i386/pc/chainloader_normal.c: Likewise.
18519 * loader/i386/pc/multiboot_normal.c: Likewise.
18520 * loader/linux_normal.c: Likewise.
18521 * loader/multiboot_loader_normal.c: Likewise.
18522 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18523
18524 * gencmdlist.sh: Scan new registration command grub_register_extcmd
18525 and grub_register_command_p1.
18526
18527 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
18528 kern/command.c, lib/arg.c and commands/extcmd.c.
18529 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
18530 (minicmd_mod_SOURCES): New variable.
18531 (minicmd_mod_CFLAGS): Likewise.
18532 (minicmd_mod_LDFLAGS): Likewise.
18533 (extcmd_mod_SOURCES): Likewise.
18534 (extcmd_mod_CFLAGS): Likewise.
18535 (extcmd_mod_LDFLAGS): Likewise.
18536 (boot_mod_SOURCES): Removed.
18537 (boot_mod_CFLAGS): Likewise.
18538 (boot_mod_LDFLAGS): Likewise.
18539
18540 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
18541 kern/corecmd.c.
18542 (kernel_img_HEADERS): Add command.h.
18543 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
18544 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
18545 and lib/arg.c.
18546 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
18547 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
18548 remove the corresponding normal mode command.
18549 (normal_mod_SOURCES): Remove normal/arg.c.
18550 * conf/i386-coreboot.rmk: Likewise.
18551 * conf/i386-efi.rmk: Likewise.
18552 * conf/i386-ieee1275.rmk: Likewise.
18553 * conf/powerpc-ieee1275.rmk: Likewise.
18554 * conf/x86_64-efi.rmk: Likewise.
18555
18556 * include/grub/arg.h: Move from here ...
18557 * include/grub/lib/arg.h: ... to here.
18558
18559 * normal/arg.c: Move from here ...
18560 * lib/arg.c: ... to here.
18561
18562 * commands/extcmd.c: New file.
18563 * commands/minicmd.c: Likewise.
18564 * include/grub/command.h: Likewise.
18565 * include/grub/extcmd.h: Likewise.
18566 * kern/command.c: Likewise.
18567 * kern/corecmd.c: Likewise.
18568
18569 * kern/list.c (grub_list_iterate): Return int instead of void.
18570 (grub_list_insert): New function.
18571 (grub_prio_list_insert): Likewise.
18572
18573 * kern/rescue.c (grub_rescue_command): Removed.
18574 (grub_rescue_command_list): Likewise.
18575 (grub_rescue_register_command): Likewise.
18576 (grub_rescue_unregister_command): Likewise.
18577 (grub_rescue_cmd_boot): Move to minicmd.c
18578 (grub_rescue_cmd_help): Likewise.
18579 (grub_rescue_cmd_info): Likewise.
18580 (grub_rescue_cmd_boot): Likewise.
18581 (grub_rescue_cmd_testload): Likewise.
18582 (grub_rescue_cmd_dump): Likewise.
18583 (grub_rescue_cmd_rmmod): Likewise.
18584 (grub_rescue_cmd_lsmod): Likewise.
18585 (grub_rescue_cmd_exit): Likewise.
18586 (grub_rescue_print_devices): Moved to corecmd.c.
18587 (grub_rescue_print_files): Likewise.
18588 (grub_rescue_cmd_ls): Likewise.
18589 (grub_rescue_cmd_insmod): Likewise.
18590 (grub_rescue_cmd_set): Likewise.
18591 (grub_rescue_cmd_unset): Likewise.
7d074e3c 18592 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 18593 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 18594 commands, remove grub_rescue_register_command calls.
b1b797cb 18595
7d074e3c 18596 * normal/command.c (grub_register_command): Removed.
b1b797cb 18597 (grub_unregister_command): Likewise.
18598 (grub_command_find): Likewise.
18599 (grub_iterate_commands): Likewise.
18600 (rescue_command): Likewise.
18601 (export_command): Moved to corecmd.c.
18602 (set_command): Removed.
18603 (unset_command): Likewise.
18604 (insmod_command): Likewise.
18605 (rmmod_command): Likewise.
18606 (lsmod_command): Likewise.
18607 (grub_command_init): Likewise.
18608
18609 * normal/completion.c (iterate_command): Use cmd->prio to check for
18610 active command.
18611 (complete_arguments): Use grub_extcmd_t structure to find options.
18612 (grub_normal_do_completion): Change function grub_iterate_commands to
18613 grub_command_iterate.
18614
18615 * normal/execute.c (grub_script_execute_cmd): No need to parse
18616 argument here.
18617
18618 * normal/main.c (grub_dyncmd_dispatcher): New function.
18619 (read_command_list): Register unload commands as dyncmd.
18620 (grub_cmd_normal): Use new command interface, register rescue,
18621 unregister normal at entry, register normal, unregister rescue at exit.
18622
18623 * include/grub/list.h (grub_list_test_t): New type.
18624 (grub_list_iterate): Return int instead of void.
18625 (grub_list_insert): New function.
18626 (GRUB_AS_NAMED_LIST_P): New macro.
18627 (GRUB_AS_PRIO_LIST): Likewise.
18628 (GRUB_AS_PRIO_LIST_P): Likewise.
18629 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
18630 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
18631 (grub_prio_list): New structure.
18632 (grub_prio_list_insert): New function.
18633 (grub_prio_list_remove): New inline function.
18634
18635 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
18636 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
18637 (GRUB_COMMAND_FLAG_MENU): Likewise.
18638 (GRUB_COMMAND_FLAG_BOTH): Likewise.
18639 (GRUB_COMMAND_FLAG_TITLE): Likewise.
18640 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
18641 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
18642 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
18643 (grub_command): Likewise.
18644 (grub_register_command): Likewise.
18645 (grub_command_find): Likewise.
18646 (grub_iterate_commands): Likewise.
18647 (grub_command_init): Likewise.
18648 (grub_arg_parse): Likewise.
18649 (grub_arg_show_help): Likewise.
18650
18651 * include/grub/rescue.h (grub_rescue_register_command): Removed.
18652 (grub_rescue_unregister_command): Likewise.
18653
18654 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
18655 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
18656 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
18657
18658 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
18659 grub_rescue_cmd_initrd.
18660 * include/grub/i386/loader.h: Likewise.
18661 * include/grub/x86_64/loader.h: Likewise.
18662
18663 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
18664
1f4147aa 186652009-03-21 Bean <bean123ch@gmail.com>
18666
18667 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
18668 instead of stat in mingw environment.
18669
18670 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
18671
18672 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
18673
18674 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
18675 AC_CONFIG_LINKS.
18676
2156d5ba 186772009-03-21 Bean <bean123ch@gmail.com>
18678
18679 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
18680 out of range error.
18681
177b82ca 186822009-03-18 Michel Dänzer <michel@daenzer.net>
18683
18684 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
18685 checking inode flags for EXT4_EXTENTS_FLAG.
18686
14aad807 186872009-03-18 Robert Millan <rmh@aybabtu.com>
18688
18689 * loader/i386/linux.c: Include `<grub/video.h>' and
18690 `<grub/i386/pc/vbe.h>'..
18691 (grub_linux_setup_video): New function. Loosely based on the EFI one.
18692 (grub_linux32_boot): Attempt to configure video settings with
18693 grub_linux_setup_video().
18694 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
18695 to avoid grub_console_fini() which would step out of graphical mode
18696 unconditionally.
18697
8cf83a27 186982009-03-14 Robert Millan <rmh@aybabtu.com>
18699
18700 Fix build on powerpc.
18701 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
18702
40164e75 187032009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
18704
18705 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
18706 background image command.
18707
c58bc32a 187082009-03-12 Colin D Bennett <colin@gibibit.com>
18709
18710 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
18711 (grub_gfxterm_putchar): Extract pairs of identical calls to
18712 draw_cursor out of conditional blocks.
18713
5415144a 187142009-03-11 Pavel Roskin <proski@gnu.org>
18715
18716 * fs/hfs.c (grub_hfs_strncasecmp): New function.
18717 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
18718
6394042e 187192009-03-11 Robert Millan <rmh@aybabtu.com>
18720
18721 * loader/i386/multiboot_elfxx.c
18722 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
18723
b7b50e5f 187242009-03-11 Felix Zielcke <fzielcke@z-51.de>
18725
18726 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
18727 `kern/handler.c'.
18728
1ca7fc96 187292009-03-11 Robert Millan <rmh@aybabtu.com>
18730
18731 * loader/i386/multiboot.c (code_size): New variable.
18732 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 18733 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 18734 4-byte alignment to MBI and others by increasing
7d074e3c 18735 `boot_loader_name_length' appropriately.
1ca7fc96 18736
18737 * loader/i386/multiboot_elfxx.c
18738 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
18739
a83ea1d2 187402009-03-09 Felix Zielcke <fzielcke@z-51.de>
18741
18742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
18743 `fs/ext2.c'.
18744
aa9f3bff 187452009-03-08 Robert Millan <rmh@aybabtu.com>
18746
18747 Make loader/i386/linux.c usable on i386-pc again.
18748
18749 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
18750 memory to heap.
18751 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
18752 `#error' stanza.
18753
d8b3b60e 187542009-03-07 Bean <bean123ch@gmail.com>
18755
18756 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
18757 allocation.
18758
b362c9e9 187592009-03-06 Robert Millan <rmh@aybabtu.com>
18760
18761 Fix display issue on terminals with screen size other than 80x25
18762 (e.g. gfxterm with resolution higher than 640x480).
18763
18764 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 18765 position relative to the center of the terminal instead of relying
b362c9e9 18766 on a hardcoded offset.
18767
9304eef1 187682009-03-04 Robert Millan <rmh@aybabtu.com>
18769
18770 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
18771 installed.
18772
18773 * Makefile.in (host_kernel): New variable.
18774 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
18775 scripts instead of just the windows one.
18776 * configure.ac: Initialize and AC_SUBST `host_kernel'.
18777
eabc95fb 187782009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 18779
18780 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
18781 `kern/handler.c'.
18782 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18783 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18784 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18787 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18788
ceb1223c 187892009-03-04 Felix Zielcke <fzielcke@z-51.de>
18790
18791 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
18792 or if there's no space for the disk label and print the partition number on a
18793 invalid magic.
18794
4910684a 187952009-03-04 Felix Zielcke <fzielcke@z-51.de>
18796
18797 * util/misc.c: Include <time.h>.
18798 (grub_millisleep): New function.
18799
7e9ca17a 188002009-03-04 Bean <bean123ch@gmail.com>
18801
18802 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
18803 another option -mno-red-zone.
18804
18805 * commands/handler.c: Change module description.
18806
18807 * kern/handler.c: Add missing space at the end of description line.
18808
18809 * kern/list.c: Likewise.
18810
f501677c 188112009-03-03 Robert Millan <rmh@aybabtu.com>
18812
18813 Move more components to the relocation area, and fix mbi pointer
18814 handling to use the destination rather than the origin (thanks to
18815 Vladimir Serbinenko for spotting).
18816
18817 * loader/i386/multiboot.c (mbi_dest): New variable.
18818 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
18819 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
18820 relocation area.
18821
9902d047 188222009-03-01 Bean <bean123ch@gmail.com>
18823
50fb7002 18824 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 18825 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
18826 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
18827 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
18828
18829 * loader/i386/efi/linux.c (acpi_guid): New variable.
18830 (acpi_guid): Likewise.
18831 (EBDA_SEG_ADDR): New constant.
18832 (LOW_MEM_ADDR): Likewise.
18833 (FAKE_EBDA_SEG): Likewise.
18834 (fake_bios_data): New function.
18835 (grub_linux_boot): Call fake_bios_data.
18836
71b9f361 188372009-03-01 Bean <bean123ch@gmail.com>
18838
18839 * commands/terminal.c: Removed.
18840
18841 * commands/handler.c: New file.
18842
18843 * include/grub/list.h: Likewise.
18844
18845 * include/grub/handler.h: Likewise.
18846
18847 * kern/list.c: Likewise.
18848
18849 * kern/handler.c: Likewise.
18850
18851 * kern/term.h: Include header file <grub/handler.h>.
18852 (grub_term_input): Move next field to the beginning.
18853 (grub_term_output): Likewise.
18854 (grub_term_input_class): New variable.
18855 (grub_term_output_class): Likewise.
18856 (grub_term_register_input): Changed to inline function.
18857 (grub_term_register_output): Likewise.
18858 (grub_term_unregister_input): Likewise.
18859 (grub_term_unregister_output): Likewise.
18860 (grub_term_set_current_input): Likewise.
18861 (grub_term_set_current_output): Likewise.
18862 (grub_term_get_current_input): Likewise.
18863 (grub_term_get_current_output): Likewise.
18864 (grub_term_iterate_input): Removed.
18865 (grub_term_iterate_output): Likewise.
18866
18867 * kern/term.c (grub_term_list_input): Removed.
18868 (grub_term_list_output): Likewise.
18869 (grub_term_input_class): New variable.
18870 (grub_term_output_class): Likewise.
50fb7002 18871 (grub_cur_term_input): Change variable as macro.
71b9f361 18872 (grub_cur_term_output): Likewise.
18873 (grub_term_register_input): Removed.
18874 (grub_term_register_output): Likewise.
18875 (grub_term_unregister_input): Likewise.
18876 (grub_term_unregister_output): Likewise.
18877 (grub_term_set_current_input): Likewise.
18878 (grub_term_set_current_output): Likewise.
18879 (grub_term_iterate_input): Likewise.
18880 (grub_term_iterate_output): Likewise.
18881 (grub_term_get_current_input): Likewise.
18882 (grub_term_get_current_output): Likewise.
18883
18884 * util/grub-editenv.c: Include header file <grub/handler.h>.
18885 (grub_term_get_current_input): Removed.
18886 (grub_term_get_current_output): Likewise.
18887 (grub_term_input_class): New variable.
50fb7002 18888 (grub_term_output_class): Likewise.
71b9f361 18889
18890 * util/grub-fstest.c (grub_term_get_current_input): Removed.
18891 (grub_term_get_current_output): Likewise.
18892 (grub_term_input_class): New variable.
50fb7002 18893 (grub_term_output_class): Likewise.
71b9f361 18894
18895 * util/grub-probe.c (grub_term_get_current_input): Removed.
18896 (grub_term_get_current_output): Likewise.
18897 (grub_term_input_class): New variable.
50fb7002 18898 (grub_term_output_class): Likewise.
71b9f361 18899
18900 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
18901 (grub_term_get_current_output): Likewise.
18902 (grub_term_input_class): New variable.
50fb7002 18903 (grub_term_output_class): Likewise.
71b9f361 18904
18905 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
18906 (terminal_mod_SOURCES): Likewise.
18907 (terminal_mod_CFLAGS): Likewise.
18908 (terminal_mod_LDFLAGS): Likewise.
18909
18910 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
18911 handler.c.
18912 (kernel_img_SOURCES): Add list.c and handler.c.
18913 (kernel_img_HEADERS): Add list.h and handler.h.
18914
18915 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18916 handler.c.
18917 (kernel_mod_SOURCES): Add list.c and handler.c.
18918 (kernel_mod_HEADERS): Add list.h and handler.h.
18919
18920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
18921 handler.c.
18922 (kernel_elf_SOURCES): Add list.c and handler.c.
18923 (kernel_elf_HEADERS): Add list.h and handler.h.
18924
18925 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18926 handler.c.
18927 (kernel_elf_SOURCES): Add list.c and handler.c.
18928 (kernel_elf_HEADERS): Add list.h and handler.h.
18929
18930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
18931 handler.c.
18932 (kernel_mod_SOURCES): Add list.c and handler.c.
18933 (kernel_mod_HEADERS): Add list.h and handler.h.
18934
18935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
18936 handler.c.
18937 (kernel_elf_SOURCES): Add list.c and handler.c.
18938 (kernel_elf_HEADERS): Add list.h and handler.h.
18939
8a31787f 189402009-02-27 Robert Millan <rmh@aybabtu.com>
18941
18942 Factorize elf32 / elf64 code in Multiboot loader. This will
18943 prevent it from getting out of sync again.
18944
18945 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
18946 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
18947 grub_multiboot_load_elf64): Move from here ...
18948 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
18949 grub_multiboot_load_elf): ... to here (new file).
18950
51cd3dfc 189512009-02-27 Robert Millan <rmh@aybabtu.com>
18952
18953 * util/grub.d/10_linux.in: Rename "single-user mode" to
18954 "recovery mode".
18955
6e8c9c3a 189562009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 Don't leak in SCSI code.
18959 * disk/scsi.c (grub_scsi_close): free `scsi'.
18960
4b6bf4f9 189612009-02-27 Robert Millan <rmh@aybabtu.com>
18962
18963 * loader/i386/pc/multiboot.c: Move from here ...
18964 * loader/i386/multiboot.c: ... to here. Update all users.
18965
b9413424 189662009-02-27 Robert Millan <rmh@aybabtu.com>
18967
18968 Patch from Alexandre Bique <bique.alexandre@gmail.com>
18969 * util/i386/pc/grub-setup.c (setup): Fix directory path.
18970
50fb7002 189712009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 18972
18973 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
18974 b-tree.
18975
8cc50345 189762009-02-27 Robert Millan <rmh@aybabtu.com>
18977
18978 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
18979 `0x' qualifier as 0 when base is specified as parameter).
18980
6e09b8b7 189812009-02-24 Bean <bean123ch@gmail.com>
18982
18983 * configure.ac: Check for -mcmodel=large in x86_64 target.
18984
18985 * include/grub/efi/api.h (efi_call_10): New macro.
18986 (efi_wrap_10): New function.
18987
18988 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
18989 (GRUB_PE32_REL_BASED_HIGH): Likewise.
18990 (GRUB_PE32_REL_BASED_LOW): Likewise.
18991 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
18992 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
18993 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
18994 (GRUB_PE32_REL_BASED_SECTION): Likewise.
18995 (GRUB_PE32_REL_BASED_REL): Likewise.
18996 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
18997 (GRUB_PE32_REL_BASED_DIR64): Likewise.
18998 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
18999
19000 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
19001 issue.
19002
19003 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
19004 (efi_wrap_10): New function.
19005
19006 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
19007
19008 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
19009 MB/MBP model (NV chipset).
19010 (devdata_devs): Add devpath_5 to the list.
19011
19012 * load/i386/efi/linux.c (video_base): Remove variable.
19013 (RGB_MASK): New macro.
19014 (RGB_MAGIC): Likewise.
19015 (LINE_MIN): Likewise.
19016 (LINE_MAX): Likewise.
19017 (FBTEST_STEP): Likewise.
19018 (FBTEST_COUNT): Likewise.
19019 (fb_list): New variable.
19020 (grub_find_video_card): Remove function.
19021 (find_framebuf): New function.
19022 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
19023 line length.
19024
19025 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
19026 problem for x86_64.
19027
74b21bee 190282009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
19029
19030 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
19031
19032 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
19033 coding tool name.
19034
a455f472 190352009-02-22 Robert Millan <rmh@aybabtu.com>
19036
19037 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
19038 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
19039 in our relocation, instead of using it directly from heap. Also
19040 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
19041
6374daf3 190422009-02-21 Robert Millan <rmh@aybabtu.com>
19043
19044 Implement USB keyboard support (based on patch by Marco Gerards)
19045
19046 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
19047 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
19048 (usb_keyboard_mod_LDFLAGS): New variables.
19049
19050 * term/usb_keyboard.c: New file.
19051
8fa4ea70 190522009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 Corrected wrong declaration
19055
19056 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
19057
353976ac 190582009-02-14 Christian Franke <franke@computer.org>
19059
19060 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
19061 (grub_lspci_iter): Print class code and programming interface byte.
19062
6aa1169b 190632009-02-14 Christian Franke <franke@computer.org>
19064
19065 * gendistlist.sh: Ignore `.svn' directories.
19066
265372ca 190672009-02-14 Felix Zielcke <fzielcke@z-51.de>
19068
19069 * fs/fat.c: Add 2009 to Copyright line.
19070
9ff516f3 190712009-02-14 Christian Franke <franke@computer.org>
19072
19073 * commands/hdparm.c: New file. Provides `hdparm' command
19074 which sends ATA commands via grub_disk_ata_pass_through ().
19075
19076 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
19077
19078 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
19079 and <grub/cpu/io.h> to include/grub/ata.h.
19080 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
19081 (GRUB_CDROM_SECTOR_SIZE): Remove.
19082 (GRUB_ATA_*): Move to include/grub/ata.h.
19083 (GRUB_ATAPI_*): Likewise.
19084 (enum grub_ata_commands): Likewise.
19085 (enum grub_ata_timeout_milliseconds): Likewise.
19086 (struct grub_ata_device): Likewise.
19087 (grub_ata_regset): Likewise.
19088 (grub_ata_regget): Likewise.
19089 (grub_ata_regset2): Likewise.
19090 (grub_ata_regget2): Likewise.
19091 (grub_ata_check_ready): Likewise.
19092 (grub_ata_wait_not_busy): Remove static, exported in
19093 include/grub/ata.h.
19094 (grub_ata_wait_drq): Likewise.
19095 (grub_ata_pio_read): Likewise.
19096
19097 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
19098 function for hdparm.mod.
19099
19100 * include/grub/ata.h: New file, contains declarations from
19101 disk/ata.c.
19102 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
19103
19104 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
19105 (grub_disk_ata_pass_through): New exported variable.
19106
19107 * kern/disk.c (grub_disk_ata_pass_through): New variable.
19108
772e23da 191092009-02-13 Colin D Bennett <colin@gibibit.com>
19110
19111 Support multiple fallback entries, and provide an API to support
19112 executing default+fallback menu entries. Renamed the `terminal' menu
19113 viewer to `text'.
19114
19115 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
19116 variable declaration.
19117 (grub_menu_execute_callback): New structure declaration.
19118 (grub_menu_execute_callback_t): New typedef.
19119 (grub_menu_execute_with_fallback): New function declaration.
19120 (grub_menu_get_entry): Likewise.
19121 (grub_menu_get_timeout): Likewise.
19122 (grub_menu_set_timeout): Likewise.
19123
19124 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
19125
19126 * normal/menu.c (grub_wait_after_message): Moved to
19127 `normal/menu_text.c'.
19128 (draw_border): Likewise.
19129 (print_message): Likewise.
19130 (print_entry): Likewise.
19131 (print_entries): Likewise.
19132 (grub_menu_init_page): Likewise.
19133 (get_entry_number): Likewise.
19134 (print_timeout): Likewise.
19135 (run_menu): Likewise.
19136 (grub_menu_execute_entry): Likewise.
19137 (show_text_menu): Likewise.
19138 (get_and_remove_first_entry_number): New function.
19139 (grub_menu_execute_with_fallback): Likewise.
19140 (get_entry): Renamed to ...
19141 (grub_menu_get_entry): .. this and made it global.
19142 (get_timeout): Renamed to ...
19143 (grub_menu_get_timeout): ... this and made it global.
19144 (set_timeout): Renamed to ...
19145 (grub_menu_set_timeout): ... this and made it global.
19146 (grub_normal_terminal_menu_viewer): Renamed to ...
19147 (grub_normal_text_menu_viewer): ... this.
19148
19149 * normal/menu_text.c: New file. Extracted text-menu-specific code
19150 from normal/menu.c.
19151
19152 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
19153 (normal_mod_SOURCES): Likewise.
19154
19155 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19156 (normal_mod_SOURCES): Likewise.
19157
19158 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19159 (normal_mod_SOURCES): Likewise.
19160
19161 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
19162 (normal_mod_SOURCES): Likewise.
19163
19164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19165 (normal_mod_SOURCES): Likewise.
19166
19167 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19168 (normal_mod_SOURCES): Likewise.
19169
19170 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19171 (normal_mod_SOURCES): Likewise.
19172
16ac430e 191732009-02-11 Robert Millan <rmh@aybabtu.com>
19174
19175 * util/grub.d/00_header.in: Update old reference to `font' command.
19176
06ff20fc 191772009-02-10 Felix Zielcke <fzielcke@z-51.de>
19178
19179 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
19180
19181 Based on patch from Javier Martín.
19182
96da9407 191832009-02-09 Felix Zielcke <fzielcke@z-51.de>
19184
19185 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 19186 to avoid false positives with FAT.
96da9407 19187 (grub_fstest_SOURCES): Likewise.
19188 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19189 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19191 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19192 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19193 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19194
6dca6fe4 191952009-02-09 Felix Zielcke <fzielcke@z-51.de>
19196
06ff20fc 19197 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 19198 bpb.version_specific.fat12_or_fat16.fstype and
19199 bpb.version_specific.fat32.fstype.
19200
2550c62f 192012009-02-08 Robert Millan <rmh@aybabtu.com>
19202
be110b30 19203 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 19204
56978920 192052009-02-08 Robert Millan <rmh@aybabtu.com>
19206
19207 * Makefile.in (host_os, host_cpu): New variables.
19208 (target_os): Remove. Update all users.
19209
d64399b5 192102009-02-08 Marco Gerards <marco@gnu.org>
19211
19212 * Makefile.in (enable_grub_emu_usb): New variable.
19213 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
19214 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
19215 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
19216 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
19217 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
19218 `usbtest.mod' and `usbms.mod'.
19219 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
19220 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
19221 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
19222 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
19223 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
19224 variables.
19225
19226 * disk/usbms.c: New file.
19227
19228 * include/grub/usb.h: Likewise.
19229
19230 * include/grub/usbtrans.h: Likewise.
19231
19232 * include/grub/usbdesc.h: Likewise.
19233
19234 * bus/usb/usbtrans.c: Likewise.
19235
19236 * bus/usb/ohci.c: Likewise.
19237
19238 * bus/usb/uhci.c: Likewise.
19239
19240 * bus/usb/usbhub.c: Likewise.
19241
19242 * bus/usb/usb.c: Likewise.
19243
19244 * commands/usbtest.c: Likewise.
19245
19246 * util/usb.c: Likewise.
50fb7002 19247
d64399b5 19248 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
19249
19250 * configure.ac: Test for libusb presence.
50fb7002 19251
d64399b5 19252 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
19253
2b40d6bb 192542009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
19255
19256 * kern/mm.c: Add more comments.
19257
73a4ce81 192582009-02-08 Robert Millan <rmh@aybabtu.com>
19259
19260 Patch from Javier Martín.
19261 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
19262 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
19263
f821ce59 192642009-02-08 Robert Millan <rmh@aybabtu.com>
19265
19266 * fs/cpio.c: Split tar functionality to ...
19267 * fs/tar.c: ... here (new file). Update all users.
19268
aebfc4b0 192692009-02-07 Robert Millan <rmh@aybabtu.com>
19270
19271 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
19272 backward-incompatible features.
19273
19274 Based on patch from Javier Martín, with some adjustments.
19275
50fb7002 192762009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 19277
19278 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
19279
0bb5115e 192802009-02-07 Robert Millan <rmh@aybabtu.com>
19281
19282 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
19283 position of `disk/lvm.c' to ensure grub_init_all() always picks it
19284 after the RAID stuff.
19285
38a0f8e7 192862009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
19287
50fb7002 19288 Fixes problem when running vbetest command as reported by
38a0f8e7 19289 Vladimir Serbinenko <phcoder@gmail.com>.
19290
19291 * (grub_vbe_set_video_mode): Fixed problem with text modes.
19292
3143cc1c 192932009-02-04 Felix Zielcke <fzielcke@z-51.de>
19294
19295 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
19296 /dev/md/NpN style mdraid devices.
19297
9cba6fce 192982009-02-03 Felix Zielcke <fzielcke@z-51.de>
19299
19300 * util/unifont2pff.rb: Remove.
19301
e507a2c1 193022009-02-03 Felix Zielcke <fzielcke@z-51.de>
19303
19304 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
19305 `#'.
19306
d2c2b4cd 193072009-02-03 Felix Zielcke <fzielcke@z-51.de>
19308
19309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
19310 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19311 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19312 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19314 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19315 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19316
b4315fb0 193172009-02-02 Christian Franke <franke@computer.org>
19318
19319 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
19320
de3aa260 193212009-02-01 Felix Zielcke <fzielcke@z-51.de>
19322
7c3ff286 19323 * INSTALL: Note that we now require at least autoconf 2.59 and
19324 that LZO is optional.
de3aa260 19325
825a182b 193262009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19327
19328 Base on patch on bug #24154 created by Tomas Tintera
19329 <trosos@seznam.cz>.
19330
19331 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
19332
a69ef770 193332009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
19334
7c3ff286 19335 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 19336 <bero@arklinux.org>.
19337
19338 * normal/parser.y (script_init): Add missing semicolon.
19339
6fa42fa6 193402009-01-31 Colin D Bennett <colin@gibibit.com>
19341
7c3ff286 19342 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 19343 (free_menu_entry_classes): Added.
19344 (grub_normal_menu_addentry): Added class property handling.
19345 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
19346 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
19347
19348 * normal/menu_viewer.c: New file.
19349
19350 * normal/menu.c (run_menu_entry): Renamed to ...
19351 (grub_menu_execute_entry): ... this and made it as global.
19352 (grub_menu_run): Renamed to ...
19353 (show_text_menu): ... this and made it local.
19354 (show_text_menu): Adapt to new function names.
19355 (grub_normal_terminal_menu_viewer): New global variable.
19356
19357 * include/grub/menu.h: New file.
19358
19359 * include/grub/menu_viewer.h: New file.
19360
19361 * include/grub/normal.h: Added include to grub/menu.h.
19362 (grub_menu_entry): Moved to include/grub/menu.h.
19363 (grub_menu_entry_t): Likewise.
19364 (grub_menu): Likewise.
19365 (grub_menu_t): Likewise.
19366 (grub_normal_terminal_menu_viewer): Added.
19367 (grub_menu_execute_entry): Likewise.
19368 (grub_menu_run): Removed.
19369
19370 * DISTLIST: Added include/grub/menu.h.
19371 Added include/grub/menu_viewer.h.
19372 Added normal/menu_viewer.c.
19373
193742009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
19375
19376 * normal/execute.c (grub_script_execute_menuentry): Changed to use
19377 arglist for menutitle arguments.
19378
19379 * normal/main.c (grub_normal_menu_addentry): Likewise.
19380
19381 * normal/parser.y (menuentry): Likewise.
19382
19383 * normal/script.c (grub_script_create_cmdmenu): Likewise.
19384
19385 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
19386 (grub_script_create_cmdmenu): Likewise.
19387
19388 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
19389
19390 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
19391 changes.
19392
19393 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
19394
19395 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
19396
19397 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
19398
19399 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19400
19401 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19402
19403 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
19404
56192c23 194052009-01-30 Christian Franke <franke@computer.org>
19406
19407 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
19408 in option help text.
19409
d72521b3 194102009-01-27 Pavel Roskin <proski@gnu.org>
19411
19412 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
19413
994b5e84 194142009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19415
19416 * commands/lsmmap.c: Add include to grub/machine/memory.h.
19417
19418 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
19419
19420 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
19421 unregister function.
19422
6a7eab2c 194232009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
19424
19425 * disk/scsi.c (grub_scsi_read): Fix sign problem.
19426
19427 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
19428
19429 * util/grub-mkfont.c (usage): Fix typo.
19430
19431 * util/elf/grub-mkimage.c (load_modules): Fix warning.
19432
1806b56e 194332009-01-26 Daniel Mierswa <impulze@impulze.org>
19434
3fb18f09 19435 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
19436
336e1fb9 19437 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
19438
1806b56e 19439 * kern/misc.c (grub_strcasecmp): New function.
19440 (grub_strcasecmp): Use grub_size_t instead of int for length.
19441 Fix return value.
19442 * include/grub/misc.h: Update function prototypes.
19443
580b2a0f 194442009-01-26 Robert Millan <rmh@aybabtu.com>
19445
19446 * configure.ac: Fix cross-compilation check.
ef257b36 19447
d31c24f1 194482009-01-22 Christian Franke <franke@computer.org>
19449
19450 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
19451 (precision) digit string. Allow `.format2' without `format1' (width).
19452 Limit input chars for `%s' output to `format2' if specified. This is
19453 compatible with standard printf ().
19454
3138b44c 194552009-01-22 Christian Franke <franke@computer.org>
19456
19457 * disk/ata.c (grub_ata_wait_status): Replace by ...
19458 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
19459 other status bits may be invalid while BSY is asserted.
19460 (grub_ata_check_ready): New function.
19461 (grub_ata_cmd): Removed.
19462 (grub_ata_wait_drq): New function.
19463 (grub_ata_strncpy): Remove inline.
19464 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
19465 and error check now done by grub_ata_wait_drq ().
19466 (grub_ata_pio_write): Likewise.
19467 (grub_atapi_identify): Set DEV before check for !BSY. Use
19468 grub_ata_wait_drq () to wait for data.
19469 (grub_ata_device_initialize): Add status register check to
19470 detect missing SATA slave devices. Add debug messages.
19471 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
19472 (grub_atapi_packet): Set DEV before check for !BSY. Replace
19473 transfer loop by grub_ata_pio_write ().
19474 (grub_ata_identify): Set DEV before check for !BSY. Use
19475 grub_ata_wait_drq () to wait for data.
ef257b36 19476 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 19477 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
19478 read/write in one loop. Fix invalid command on write. Fix incomplete
19479 command on (size % batch) == 0. Add missing error check after write of
19480 last block. Add debug messages.
19481 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
19482
59a64ef6 194832009-01-19 Christian Franke <franke@computer.org>
19484
19485 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
19486 (GRUB_ATAPI_IREASON_*): Likewise.
19487 (grub_ata_pio_write): Fix timeout error return.
19488 (grub_atapi_identify): Add grub_ata_wait () after cmd.
19489 (grub_atapi_wait_drq): New function.
19490 (grub_atapi_packet): New parameter `size'.
19491 Use grub_atapi_wait_drq () and direct write instead of
19492 grub_ata_pio_write ().
19493 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
19494 reads the number of bytes requested by the device for each DRQ
19495 assertion.
19496 (grub_atapi_write): Remove old implementation, return not
19497 implemented instead.
19498
1cfe20b3 194992009-01-19 Christian Franke <franke@computer.org>
19500
19501 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
19502 of 512 to calculate data size.
19503 (grub_scsi_read12): Likewise.
19504 (grub_scsi_write10): Likewise.
19505 (grub_scsi_write12): Likewise.
19506 (grub_scsi_read): Adjust size according to blocksize.
19507 Add checks for invalid blocksize and unaligned transfer.
19508
bee5fe5d 195092009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
19510
19511 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
19512
ef257b36 19513 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 19514 width glyphs.
19515
3e643f8c 195162009-01-19 Robert Millan <rmh@aybabtu.com>
19517
19518 * config.guess: Update to latest version from config git.
19519 * config.sub: Likewise.
19520
4fa80998 195212009-01-17 Felix Zielcke <fzielcke@z-51.de>
19522
19523 * Makefile.in: Change font compilation to use new grub-mkfont instead
19524 of java version.
19525
19526 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
19527 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
19528 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19529 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
19530 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
19531 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
19532 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
19533 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
19534 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19535
7086085b 195362009-01-16 Christian Franke <franke@computer.org>
19537
19538 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
19539 (enum grub_ata_timeout_milliseconds): New enum.
19540 (grub_ata_wait_status): Add parameter milliseconds.
19541 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
19542 recovery from timed-out commands.
19543 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
19544 return grub_errno instead of REG_ERROR.
19545 (grub_ata_pio_write): Add parameter milliseconds.
19546 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
19547 Pass milliseconds to grub_ata_wait_status () and
19548 grub_ata_pio_read ().
19549 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
19550 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
19551 grub_ata_wait_status (). Fix IDENTIFY timeout check.
19552 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
19553 It is not suitable for device detection, because DEV bit is ignored,
19554 the command may run too long, and not all devices set the signature
19555 properly.
19556 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
19557 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
19558 Fix device selection, DEV bit must be set first to address the registers
19559 of the correct device.
19560 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
19561 grub_ata_pio_read/write ().
19562 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
19563 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
19564
4a412913 195652009-01-13 Carles Pina i Estany <carles@pina.cat>
19566
19567 * util/grub-editenv.c (main): Use fseeko(), not fseek().
19568
7795c55e 195692009-01-13 Bean <bean123ch@gmail.com>
d913988c 19570
19571 * util/grub-mkfont.c (write_font): forget to remove some debug code.
19572
7795c55e 195732009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 19574
19575 * Makefile.in: (enable_grub_mkfont): New variable.
19576 (freetype_cflags): Likewise.
19577 (freetype_libs): Likewise.
19578
19579 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
19580 (grub_mkfont_SOURCES): New variable.
19581 (grub_mkfont_CFLAGS): Likewise.
19582 (grub_mkfont_LDFLAGS): Likewise.
19583
19584 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
19585 library if `--enable-grub-mkfont' is requested.
19586 (enable_grub_mkfont): New variable.
19587 (freetype_cflags): Likewise.
19588 (freetype_libs): Likewise.
19589
19590 * util/grub-mkfont.c: New file.
19591
093af1fe 195922009-01-12 Christian Franke <franke@computer.org>
19593
19594 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
19595 mode check. Fix setting of compat_use[].
19596
f36cc108 195972009-01-10 Robert Millan <rmh@aybabtu.com>
19598
19599 Update a few copyright years which we forgot to do in 2008 (only for
19600 files whose changes made in 2008 were copyright-significant)
19601
19602 * Makefile.in: Add 2008 to Copyright line.
19603 * disk/ieee1275/ofdisk.c: Likewise.
19604 * disk/efi/efidisk.c: Likewise.
19605 * kern/dl.c: Likewise.
19606 * kern/sparc64/ieee1275/init.c: Likewise.
19607 * kern/mm.c: Likewise.
19608 * kern/efi/mm.c: Likewise.
19609 * boot/i386/pc/boot.S: Likewise.
19610 * genfslist.sh: Likewise.
19611 * fs/iso9660.c: Likewise.
19612 * fs/hfs.c: Likewise.
19613 * fs/jfs.c: Likewise.
19614 * fs/minix.c: Likewise.
19615 * fs/ufs.c: Likewise.
19616 * gensymlist.sh.in: Likewise.
19617 * genkernsyms.sh.in: Likewise.
19618 * include/grub/misc.h: Likewise.
19619 * include/grub/types.h: Likewise.
19620 * include/grub/symbol.h: Likewise.
19621 * include/grub/elf.h: Likewise.
19622 * include/grub/kernel.h: Likewise.
19623 * include/grub/disk.h: Likewise.
19624 * include/grub/dl.h: Likewise.
19625 * include/grub/i386/linux.h: Likewise.
19626 * include/grub/i386/pc/biosdisk.h: Likewise.
19627 * include/grub/efi/api.h: Likewise.
19628 * include/grub/efi/pe32.h: Likewise.
19629 * include/grub/util/misc.h: Likewise.
19630 * normal/execute.c: Likewise.
19631 * normal/arg.c: Likewise.
19632 * normal/completion.c: Likewise.
19633 * normal/lexer.c: Likewise.
19634 * normal/parser.y: Likewise.
19635 * normal/misc.c: Likewise.
19636 * commands/i386/pc/vbeinfo.c: Likewise.
19637 * commands/hexdump.c: Likewise.
19638 * commands/terminal.c: Likewise.
19639 * commands/ls.c: Likewise.
19640 * commands/help.c: Likewise.
19641 * partmap/pc.c: Likewise.
19642 * loader/efi/chainloader.c: Likewise.
19643 * loader/multiboot_loader.c: Likewise.
19644 * loader/i386/pc/multiboot2.c: Likewise.
19645 * term/efi/console.c: Likewise.
19646 * term/i386/pc/serial.c: Likewise.
19647 * util/lvm.c: Likewise.
19648 * util/console.c: Likewise.
19649 * util/i386/efi/grub-mkimage.c: Likewise.
19650 * util/raid.c: Likewise.
19651
7f02114b 196522009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
19653
19654 * commands/videotest.c: Removed include to grub/machine/memory.h.
19655
19656 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
19657 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
19658 (video_mod_SOURCES): Removed.
19659 (video_mod_CFLAGS): Likewise.
19660 (video_mod_LDFLAGS): Likewise.
19661 (gfxterm_mod_SOURCES): Likewise.
19662 (gfxterm_mod_CFLAGS): Likewise.
19663 (gfxterm_mod_LDFLAGS): Likewise.
19664 (videotest_mod_SOURCES): Likewise.
19665 (videotest_mod_CFLAGS): Likewise.
19666 (videotest_mod_LDFLAGS): Likewise.
19667 (bitmap_mod_SOURCES): Likewise.
19668 (bitmap_mod_CFLAGS): Likewise.
19669 (bitmap_mod_LDFLAGS): Likewise.
19670 (tga_mod_SOURCES): Likewise.
19671 (tga_mod_CFLAGS): Likewise.
19672 (tga_mod_LDFLAGS): Likewise.
19673 (jpeg_mod_SOURCES): Likewise.
19674 (jpeg_mod_CFLAGS): Likewise.
19675 (jpeg_mod_LDFLAGS): Likewise.
19676 (png_mod_SOURCES): Likewise.
19677 (png_mod_CFLAGS): Likewise.
19678 (png_mod_LDFLAGS): Likewise.
19679
19680 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
19681 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
19682 (video_mod_SOURCES): Added.
19683 (video_mod_CFLAGS): Likewise.
19684 (video_mod_LDFLAGS): Likewise.
19685 (videotest_mod_SOURCES): Likewise.
19686 (videotest_mod_CFLAGS): Likewise.
19687 (videotest_mod_LDFLAGS): Likewise.
19688 (bitmap_mod_SOURCES): Likewise.
19689 (bitmap_mod_CFLAGS): Likewise.
19690 (bitmap_mod_LDFLAGS): Likewise.
19691 (tga_mod_SOURCES): Likewise.
19692 (tga_mod_CFLAGS): Likewise.
19693 (tga_mod_LDFLAGS): Likewise.
19694 (jpeg_mod_SOURCES): Likewise.
19695 (jpeg_mod_CFLAGS): Likewise.
19696 (jpeg_mod_LDFLAGS): Likewise.
19697 (png_mod_SOURCES): Likewise.
19698 (png_mod_CFLAGS): Likewise.
19699 (png_mod_LDFLAGS): Likewise.
19700 (gfxterm_mod_SOURCES): Likewise.
19701 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 19702 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 19703
19704 * term/gfxterm.c: Removed include to grub/machine/memory.h,
19705 grub/machine/console.h.
19706
644fff97 197072009-01-04 Jerone Young <jerone@gmail.com>
19708
19709 Make on screen instructions clearer
19710
19711 Based on patch created by Jidanni <jidanni@jidanni.org>
19712
19713 * normal/menu.c: print clearer instructions on the screen
19714
1e901a75 197152009-01-02 Colin D Bennett <colin@gibibit.com>
19716
19717 New font engine.
34c44600 19718
1e901a75 19719 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
19720 build system and fixed gfxterm.c to work with different sized fonts.
19721
19722 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 19723
1e901a75 19724 * configure: Re-generated.
34c44600 19725
1e901a75 19726 * DISTLIST: Removed font/manager.c.
19727 Added font/font.c.
19728 Added font/font_cmd.c.
34c44600 19729
1e901a75 19730 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
19731 compilation.
34c44600 19732
1e901a75 19733 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 19734
19735 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 19736
19737 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 19738
1e901a75 19739 * normal/menu.c: Likewise.
34c44600 19740
1e901a75 19741 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
19742 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 19743
1e901a75 19744 * include/grub/font.h: Replaced with new file.
34c44600 19745
1e901a75 19746 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
19747 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
19748 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
19749 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
19750 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 19751 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 19752 fg_red, fg_green, fg_blue, fg_alpha.
19753 (grub_video_adapter): Removed blit_glyph.
34c44600 19754 (grub_video_blit_glyph): Removed.
19755
1e901a75 19756 * font/manager.c: Removed file.
34c44600 19757
19758 * font/font.c: New file.
19759
1e901a75 19760 * font/font_cmd.c: Likewise.
34c44600 19761
1e901a75 19762 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 19763
1e901a75 19764 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
19765 (grub_video_vbe_map_rgba): Likewise.
19766 (grub_video_vbe_unmap_color_int): Likewise.
19767 (grub_video_vbe_blit_glyph): Removed.
19768 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 19769
1e901a75 19770 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
19771 (get_pixel): Likewise.
34c44600 19772 (set_pixel): Likewise.
19773
1e901a75 19774 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 19775
1e901a75 19776 * term/gfxterm.c: Adapted to new font engine.
34c44600 19777
1e901a75 19778 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 19779
1e901a75 19780 * term/i386/pc/vga.c: Likewise.
34c44600 19781
1e901a75 19782 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 19783
1e901a75 19784 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 19785
1e901a75 19786 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19787
1e901a75 19788 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 19789
1e901a75 19790 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 19791
1e901a75 19792 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 19793
1e901a75 19794 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 19795
1e901a75 19796 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 19797
1e901a75 19798 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
19799
19800 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 19801
1e901a75 19802 * util/grub-mkconfig_lib.in: Changed font extension.
19803
278922e8 198042008-12-28 Felix Zielcke <fzielcke@z-51.de>
19805
19806 * util/getroot.c (grub_util_get_grub_dev): Add support for
19807 /dev/md/dNNpNN style partitionable mdraid devices.
19808
3ced05cf 198092008-12-12 Alex Smith <alex@alex-smith.me.uk>
19810
19811 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
19812 at a time limit of the PXE TFTP API correctly.
19813 (grub_pxefs_close): Likewise.
19814
7fd0ee30 198152008-11-29 Robert Millan <rmh@aybabtu.com>
19816
34c44600 19817 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 19818 grub_ata_device_initialize() calls.
19819
34c44600 198202008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 19821
19822 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
19823 iteration failed.
19824 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
19825
89313780 198262008-11-28 Robert Millan <rmh@aybabtu.com>
19827
19828 Fix build on powerpc-ieee1275. Based on patch created by
19829 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
19830 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
19831 `kern/ieee1275/mmap.c'.
19832 * include/grub/powerpc/ieee1275/memory.h: New file.
19833
15257703 19834 Provide grub-install on coreboot.
19835 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
19836 (grub_install_SOURCES): New variable.
19837 * util/i386/pc/grub-install.in: Add a few condition checks to make it
19838 usable on coreboot.
19839
9fc5388a 198402008-11-25 Felix Zielcke <fzielcke@z-51.de>
19841
19842 * util/grub-fstest.c (grub_term_get_current_input): Change return type
19843 to `grub_term_input_t'.
19844 (grub_term_get_current_output): Change return type to
19845 `grub_term_output_t'.
19846
bc3a2f31 198472008-11-22 Robert Millan <rmh@aybabtu.com>
19848
34c44600 19849 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 19850 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
19851 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
19852 grub_vga_text_cls().
19853
80fc88f2 19854 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 19855 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 19856
cbf36fd3 19857 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
19858 to 0x200000 (avoids trouble with some OFW implementations, and matches
19859 with the one in Yaboot).
19860 Reported by Manoel Abranches
19861
73e8e268 198622008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 19863
19864 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
19865 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
19866
73e8e268 19867 * util/grub-mkconfig_lib.in (grub_warn): New function.
19868 (convert_system_path_to_grub_path): Use grub_warn() when issuing
19869 warnings, to obtain consistent formatting.
19870 * util/grub.d/00_header.in: Likewise.
19871 * util/update-grub_lib.in: Likewise.
19872
e94045a1 19873 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 19874 Move comment text to `#error' stanza.
e94045a1 19875
79d29fd7 19876 Harmonize ieee1275's grub_available_iterate() with the generic
19877 grub_machine_mmap_iterate() interface (fixes a recently-introduced
19878 build problem on i386-ieee1275):
19879 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
19880 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
19881 parameter `type'. Update all users of this function.
19882 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19883 `kern/ieee1275/mmap.c'.
19884 * kern/ieee1275/init.c
19885 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
19886 with ...
19887 (grub_machine_mmap_iterate): ... this.
19888 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
19889 return type to `grub_err_t'. Update all implementations of this
19890 function prototype.
19891 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
19892 Likewise.
19893
60d6b16e 19894 Add `lsmmap' command (lists firmware-provided memory map):
19895 * commands/lsmmap.c: New file.
19896 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
19897 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
19898 variables.
19899 * conf/powerpc-ieee1275.rmk: Likewise.
19900 * conf/i386-coreboot.rmk: Likewise.
19901 * conf/i386-ieee1275.rmk: Likewise.
19902
ebaaf49b 199032008-11-19 Robert Millan <rmh@aybabtu.com>
19904
19905 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 19906 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
19907 constraints to initrd allocation (based on code from
19908 loader/i386/pc/linux.c). Without them, initrd was allocated too high
19909 for Linux to find it.
ebaaf49b 19910
dfab719f 199112008-11-14 Robert Millan <rmh@aybabtu.com>
19912
19913 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
19914 order to cope with duplicate slashes.
19915
10fc3eb9 199162008-11-14 Robert Millan <rmh@aybabtu.com>
19917
19918 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
19919 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
19920 don't want to mess with lower memory, because it is used in the Linux
19921 loader.
19922
19923 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 19924 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 19925 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
19926 is in our heap (probably as a result of it being corrupted during
2f2a3442 19927 decompression). Add #error instance with comment to explain why this
19928 loader isn't currently usable on PC/BIOS.
10fc3eb9 19929
e2e07847 199302008-11-14 Robert Millan <rmh@aybabtu.com>
19931
19932 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 19933 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 19934
fe8e8d69 199352008-11-12 Robert Millan <rmh@aybabtu.com>
19936
19937 Make loader/i386/linux.c buildable on i386-pc (although disabled).
19938
19939 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
19940 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
19941 from here ...
19942 * include/grub/i386/pc/memory.h: ... to here.
19943
976b07d0 199442008-11-12 Robert Millan <rmh@aybabtu.com>
19945
19946 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
19947 split).
19948
19949 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
19950 (grub_console_cur_color, grub_console_real_putchar)
19951 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19952 (grub_console_setcolorstate, grub_console_setcolor)
19953 (grub_console_getcolor): Move from here ...
19954 * include/grub/i386/vga_common.h: ... to here (new file).
19955
19956 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
19957 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
19958 `<grub/i386/io.h>'.
19959 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
19960 `<grub/i386/vga_common.h>'.
19961
76679cd3 199622008-11-12 Robert Millan <rmh@aybabtu.com>
19963
19964 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
19965 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
19966 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
19967 variables.
19968 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
19969 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
19970
19971 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
19972 grub_console_init() with call to grub_vga_text_init().
19973 (grub_machine_fini): Replace call to
19974 grub_console_fini() with call to grub_vga_text_fini() and
19975 grub_at_keyboard_fini().
19976
19977 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
19978 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
19979 (grub_console_setcolorstate, grub_console_setcolor)
19980 (grub_console_getcolor): New function prototypes.
19981
19982 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
19983 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
19984 (grub_vga_text_setcursor): Static-ize.
19985 (grub_vga_text_term): New structure.
19986 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
19987
19988 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
19989 (grub_console_cur_color, grub_console_standard_color)
19990 (grub_console_normal_color, grub_console_highlight_color)
19991 (map_char, grub_console_putchar, grub_console_getcharwidth)
19992 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
19993 (grub_console_getcolor): Move from here ...
19994 * term/i386/vga_common.c: ... to here (same function names).
19995
95b841d3 199962008-11-12 Robert Millan <rmh@aybabtu.com>
19997
19998 Use newly-added Multiboot support in coreboot.
19999
20000 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
20001 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
20002
20003 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
20004 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
20005 (codestart): Store the MBI in `startup_multiboot_info' when we're
20006 being loaded using Multiboot.
20007
20008 * kern/i386/coreboot/init.c (grub_machine_init): Move
20009 grub_at_keyboard_init() call to beginning of function (useful for
20010 debugging). Call grub_machine_mmap_init() before attempting to use
20011 grub_machine_mmap_iterate().
20012 (grub_lower_mem, grub_upper_mem): Move from here ...
20013 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
20014 here (new file).
20015
20016 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
20017 function prototype.
20018
761ca975 200192008-11-12 Robert Millan <rmh@aybabtu.com>
20020
20021 Fix a regression introduced by the at_keyboard.mod split. Because
20022 some terminals are default on some platforms and non-default on
20023 others, the first terminal being registered determines which is
20024 going to be default.
20025
20026 * kern/term.c (grub_term_register_input): If this is the first
20027 terminal being registered, set it as the current one.
20028 (grub_term_register_output): Likewise.
20029
20030 * term/efi/console.c (grub_console_init): Do not call
20031 grub_term_set_current_output() or grub_term_set_current_input().
20032 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
20033 * term/i386/pc/console.c (grub_console_init): Likewise.
20034 (grub_console_fini): Do not call grub_term_set_current_input()
20035 (but leave grub_term_set_current_output() to restore text mode).
20036
6c529df7 200372008-11-10 Robert Millan <rmh@aybabtu.com>
20038
20039 * util/grub.d/00_header.in: Add backward compatibility check for
20040 versions of terminal.mod that don't understand `terminal_input' or
20041 `terminal_output'.
20042
132e4113 200432008-11-09 Robert Millan <rmh@aybabtu.com>
20044
20045 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
20046 `terminal_input' / `terminal_output', not `terminal'.
20047
ac293d50 200482008-11-08 Robert Millan <rmh@aybabtu.com>
20049
20050 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 20051 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 20052
0025933a 200532008-11-08 Robert Millan <rmh@aybabtu.com>
20054
20055 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 20056 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 20057 members. Update all users.
20058 * util/console.c (grub_ncurses_term): Split in ...
20059 (grub_ncurses_term_input): ... this, and ...
20060 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 20061 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 20062
37c86336 200632008-11-08 Robert Millan <rmh@aybabtu.com>
20064
20065 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
20066 (PKGDATA): Add $(pkgdata_SRCDIR).
20067 (pkglib_BUILDDIR): New variable.
20068 (pkgdata_SRCDIR): New variable.
20069 (build_env.mk): New target.
20070 (include_DATA): New variable.
20071 (install-local): Install $(include_DATA) files in $(includedir).
20072
b6c15a2d 200732008-11-07 Pavel Roskin <proski@gnu.org>
20074
d99d46f1 20075 * gendistlist.sh: Use C locale for sorting to ensure consistent
20076 output on all systems.
20077
b6c15a2d 20078 * util/grub.d/00_header.in: Remove incorrect space before
20079 "serial".
20080
c32ee8c9 200812008-11-07 Robert Millan <rmh@aybabtu.com>
20082
20083 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
20084 per specification.
20085 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
20086 * loader/multiboot_loader.c (find_multi_boot2_header): New function
20087 (based on find_multi_boot1_header).
20088 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
20089 using find_multi_boot2_header(), and abort if neither Multiboot or
20090 Multiboot headers were found.
20091
651c29b7 200922008-11-07 Robert Millan <rmh@aybabtu.com>
20093
20094 Modularize at_keyboard.mod:
20095
20096 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
20097 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20098 (at_keyboard_mod_LDFLAGS): New variables.
20099
20100 Actual terminal split:
20101
20102 * include/grub/term.h (struct grub_term): Split in ...
20103 (struct grub_term_input): ... this, and ...
20104 (struct grub_term_output): ... this. Update all users.
20105 (grub_term_set_current): Split in ...
20106 (grub_term_set_current_input): ... this, and ...
20107 (grub_term_set_current_output): ... this.
20108 (grub_term_get_current): Split in ...
20109 (grub_term_get_current_input): ... this, and ...
20110 (grub_term_get_current_output): ... this.
20111 (grub_term_register): Split in ...
20112 (grub_term_register_input): ... this, and ...
20113 (grub_term_register_output): ... this.
20114 (grub_term_unregister): Split in ...
20115 (grub_term_unregister_input): ... this, and ...
20116 (grub_term_unregister_output): ... this.
20117 (grub_term_iterate): Split in ...
20118 (grub_term_iterate_input): ... this, and ...
20119 (grub_term_iterate_output): ... this.
20120
20121 * kern/term.c (grub_term_list): Split in ...
20122 (grub_term_list_input): ... this, and ...
20123 (grub_term_list_output): ... this. Update all users.
20124 (grub_cur_term): Split in ...
20125 (grub_cur_term_input): ... this, and ...
20126 (grub_cur_term_output): ... this. Update all users.
20127 (grub_term_set_current): Split in ...
20128 (grub_term_set_current_input): ... this, and ...
20129 (grub_term_set_current_output): ... this.
20130 (grub_term_get_current): Split in ...
20131 (grub_term_get_current_input): ... this, and ...
20132 (grub_term_get_current_output): ... this.
20133 (grub_term_register): Split in ...
20134 (grub_term_register_input): ... this, and ...
20135 (grub_term_register_output): ... this.
20136 (grub_term_unregister): Split in ...
20137 (grub_term_unregister_input): ... this, and ...
20138 (grub_term_unregister_output): ... this.
20139 (grub_term_iterate): Split in ...
20140 (grub_term_iterate_input): ... this, and ...
20141 (grub_term_iterate_output): ... this.
20142
20143 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
20144 a check for input and one for output (and only attempt to get keys
20145 from user when input works).
20146
20147 * util/grub-probe.c (grub_term_get_current): Split in ...
20148 (grub_term_get_current_input): ... this, and ...
20149 (grub_term_get_current_output): ... this.
20150 * util/grub-fstest.c: Likewise.
20151 * util/i386/pc/grub-setup.c: Likewise.
20152 * util/grub-editenv.c: Likewise.
20153
20154 Portability adjustments:
20155
20156 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
20157 `term/i386/pc/at_keyboard.c'.
20158 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
20159 grub_keyboard_controller_init() (now handled by terminal .init).
20160 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
20161 grub_at_keyboard_init().
20162 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
20163 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
20164 at_keyboard.mod via input terminal interface).
20165 * include/grub/i386/coreboot/console.h: Convert into a stub for
20166 `<grub/i386/pc/console.h>'.
20167
20168 Migrate full terminals to new API:
20169
20170 * term/efi/console.c (grub_console_term): Split into ...
20171 (grub_console_term_input): ... this, and ...
20172 (grub_console_term_output): ... this. Update all users.
20173 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
20174 (grub_ofconsole_init): Split into ...
20175 (grub_ofconsole_init_input): ... this, and ...
20176 (grub_ofconsole_init_output): ... this.
20177 (grub_ofconsole_term): Split into ...
20178 (grub_ofconsole_term_input): ... this, and ...
20179 (grub_ofconsole_term_output): ... this. Update all users.
20180 * term/i386/pc/serial.c (grub_serial_term): Split into ...
20181 (grub_serial_term_input): ... this, and ...
20182 (grub_serial_term_output): ... this. Update all users.
20183 * term/i386/pc/console.c (grub_console_term): Split into ...
20184 (grub_console_term_input): ... this, and ...
20185 (grub_console_term_output): ... this. Update all users.
20186 (grub_console_term_input): Only enable it on PC/BIOS platform.
20187 (grub_console_init): Remove grub_keyboard_controller_init() call.
20188
20189 Migrate input terminals to new API:
20190
20191 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
20192 `i386' and `i386/pc' to enable build on x86_64 (this driver is
20193 i386-specific anyway).
20194 (grub_console_checkkey): Rename to ...
20195 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
20196 users.
20197 (grub_keyboard_controller_orig): New variable.
20198 (grub_console_getkey): Rename to ...
20199 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
20200 users.
20201 (grub_keyboard_controller_init): Static-ize. Save original
20202 controller value so that it can be restored ...
20203 (grub_keyboard_controller_fini): ... here (new function).
20204 (grub_at_keyboard_term): New structure.
20205 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
20206 functions.
20207
20208 Migrate output terminals to new API:
20209
20210 * term/i386/pc/vga.c (grub_vga_term): Change type to
20211 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20212 members. Update all users.
20213 * term/gfxterm.c (grub_video_term): Change type to
20214 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
20215 members. Update all users.
20216 * include/grub/i386/pc/console.h (grub_console_checkkey)
20217 (grub_console_getkey): Do not export (no longer needed by gfxterm,
20218 etc).
20219
20220 Migrate `terminal' command and userland tools to new API:
20221
20222 * commands/terminal.c (grub_cmd_terminal): Split into ...
20223 (grub_cmd_terminal_input): ... this, and ...
20224 (grub_cmd_terminal_output): ... this.
20225 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
20226 `terminal_input' and `terminal_output'.
20227 * util/grub.d/00_header.in: Adjust `terminal' calls to new
20228 `terminal_input' / `terminal_output' API.
20229 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
20230 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
20231 provided ${GRUB_TERMINAL}, convert it).
20232
96e5d876 202332008-11-04 Robert Millan <rmh@aybabtu.com>
20234
20235 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
20236 for FreeBSD.
20237 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
20238
556f3775 202392008-11-03 Bean <bean123ch@gmail.com>
20240
20241 * kern/elf.c (grub_elf32_load): Revert to previous code.
20242 (grub_elf64_load): Likewise.
20243
20244 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
20245
926b9823 202462008-11-01 Robert Millan <rmh@aybabtu.com>
20247
20248 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
20249 (TARGET_CPPFLAGS): Likewise.
20250 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
20251
1432e958 202522008-11-01 Carles Pina i Estany <carles@pina.cat>
20253
20254 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
20255
dba3f844 202562008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 20257
20258 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
20259 addition of objects until the code is not going to be able to fail.
20260
dba3f844 202612008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 20262
20263 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
20264 (add a missing NULL check, and correct them by moving the pointer
20265 operations after the actual check).
20266
7ab28c21 202672008-10-29 Robert Millan <rmh@aybabtu.com>
20268
20269 * util/i386/pc/grub-install.in: Handle empty string as output from
20270 make_system_path_relative_to_its_root().
20271
1b7748eb 202722008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
20273
20274 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
20275 circular metadata worst case scenario. If the metadata is circular
20276 then copy the wrap in place.
20277 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
20278 project lib/format_text/layout.h
20279 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
20280
c9618ab2 202812008-10-03 Felix Zielcke <fzielcke@z-51.de>
20282
7a36edca 20283 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 20284
bf981c62 202852008-10-03 Felix Zielcke <fzielcke@z-51.de>
20286
20287 * util/update-grub_lib.in: Mention filename in warning message.
20288
6d994591 202892008-09-29 Felix Zielcke <fzielcke@z-51.de>
20290
20291 * NEWS: Update for rename of update-grub to grub-mkconfig.
20292
18ade780 202932008-09-29 Felix Zielcke <fzielcke@z-51.de>
20294
20295 * util/update-grub_lib.in: Copy to ...
20296 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 20297 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 20298 * util/update-grub.in: Rename to ...
20299 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
20300 option. Add `--output' option to allow users to specify the generated
20301 configuration file. Default to stdout.
20302 (update_grub_dir): Rename to ...
20303 (grub_mkconfig_dir): ... this.
20304 (grub_cfg): Default to an empty string.
20305 * conf/common.rmk (update-grub): Rename to ...
20306 (grub-mkconfig): ... this.
20307 (update-grub_lib): Copy to ...
20308 (grub-mkconfig_lib): ... this.
20309 (update-grub_SCRIPTS): Copy to ...
20310 (grub-mkconfig_SCRIPTS): ... this. Update all users.
20311 (update-grub_DATA): Rename to ...
20312 (grub-mkconfig_DATA): ... this.
20313
556ce6ac 203142008-09-28 Robert Millan <rmh@aybabtu.com>
20315
20316 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
20317 to `modified'. Add the real `created' field.
20318 (grub_iso9660_uuid): Use `modified' rather than `created' for
20319 constructing the UUID.
20320
203212008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 20322
20323 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
20324 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
20325
92274e85 203262008-09-28 Bean <bean123ch@gmail.com>
20327
20328 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
20329 Thanks to Christian Franke for finding this bug.
20330
add6f17a 203312008-09-25 Robert Millan <rmh@aybabtu.com>
20332
20333 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
20334 instances of grub_util_get_disk_name() (see previous commit).
20335
d2a367b8 203362008-09-25 Robert Millan <rmh@aybabtu.com>
20337
20338 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
20339 `util/i386/get_disk_name.c'.
20340 * conf/i386-efi.rmk: Likewise.
20341 * conf/x86_64-efi.rmk: Likewise.
20342 * conf/i386-coreboot.rmk: Likewise.
20343 * conf/i386-ieee1275.rmk: Likewise.
20344 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
20345 `util/ieee1275/get_disk_name.c'.
20346 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
20347 * util/ieee1275/get_disk_name.c: Remove file.
20348 * util/i386/get_disk_name.c: Remove file.
20349 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
20350 "hd%d" for device.map entries, rather than using
20351 grub_util_get_disk_name().
20352
81a06771 203532008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 20354
20355 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
20356 warning.
20357 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
20358
5a004279 203592008-09-24 Carles Pina i Estany <carles@pina.cat>
20360
20361 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
20362 Changed to 0x5100.
20363 (GRUB_TERM_PPAGE): Changed to 0x4900.
20364
397093d3 203652008-09-24 Robert Millan <rmh@aybabtu.com>
20366
20367 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
20368 macros (they were i386-pc specific).
20369 * include/grub/sparc64/ieee1275/console.h: Likewise.
20370 * include/grub/efi/console.h: Likewise.
20371
a91b6c7c 203722008-09-22 Bean <bean123ch@gmail.com>
20373
20374 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
20375 resident and in attribute list.
20376
20377 * include/grub/ntfs.h (BMP_LEN): Removed.
20378
c40fd116 203792008-09-22 Bean <bean123ch@gmail.com>
20380
81a06771 20381 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 20382 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
20383
20384 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
20385 error occurs, as grub_disk_open will call grub_disk_close, which will
20386 call p->close (scsi).
20387
81a06771 203882008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 20389
20390 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
20391 (AC_PREREQ): Bumped to 2.59.
20392 (AC_TRY_COMPILE): Replace obsolete macro with ...
20393 (AC_COMPILE_IFELSE): ... this.
20394 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
20395 (AC_LINK_IFELSE): ... this.
20396
5dc43410 203972008-09-21 Felix Zielcke <fzielcke@z-51.de>
20398
20399 * autogen.sh: Add a call to `gendistlist.sh'.
20400
9035dce4 204012008-09-19 Christian Franke <franke@computer.org>
20402
20403 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
20404 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
20405 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
20406 Export __enable_execute_stack() to modules.
20407 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
20408 New function.
20409
7fd75377 204102008-09-09 Felix Zielcke <fzielcke@z-51.de>
20411
040030b3 20412 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
20413 Sort the list.
20414
204152008-09-09 Felix Zielcke <fzielcke@z-51.de>
20416
20417 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 20418 #include <grub/util/hostdisk.h>.
20419
89d5ffcf 204202008-09-08 Robert Millan <rmh@aybabtu.com>
20421
20422 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
20423 segments when their filesz is zero (grub_file_read() interprets
81a06771 20424 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 20425 Use `lowest_segment' rather than 0 for calculating the current
20426 segment load address.
20427
40da438f 204282008-09-08 Robert Millan <rmh@aybabtu.com>
20429
20430 * util/hostdisk.c (open_device): Replace a grub_util_info() call
20431 with grub_dprintf("hostdisk", ...), as it was so verbose that it
20432 clobbered useful information.
20433
ddbf5556 204342008-09-08 Robert Millan <rmh@aybabtu.com>
20435
20436 * include/grub/util/biosdisk.h: Move to ...
20437 * include/grub/util/hostdisk.h: ... here. Update all users.
20438 * util/biosdisk.c: Move to ...
20439 * util/hostdisk.c: ... here. Update all users.
20440
783d0f48 204412008-09-07 Robert Millan <rmh@aybabtu.com>
20442
20443 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
20444 variables.
20445 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
20446 and length can be stored directly in the `mbi->mmap_addr' and
20447 `mbi->mmap_length' struct fields.
20448
548e2ea5 204492008-09-07 Robert Millan <rmh@aybabtu.com>
20450
20451 * conf/i386.rmk: New file. Provides declaration for building
20452 `cpuid.mod'.
20453 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
20454 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
20455 variables.
20456 Include `conf/i386.mk'.
20457 * conf/i386-efi.rmk: Likewise.
20458 * conf/x86_64-efi.rmk: Likewise.
20459 * conf/i386-coreboot.rmk: Likewise.
20460 * conf/i386-ieee1275.rmk: Likewise.
20461
0ea85a37 204622008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
20463
20464 Based on patch created by Colin D Bennett <colin@gibibit.com>.
20465 Adds optimization support for BGR based modes.
20466
20467 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
20468 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20469 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20470 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20471 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20472 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20473 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20474 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20475 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20476 (grub_video_i386_vbeblit_index_index): Likewise.
20477 (grub_video_i386_vbeblit_replace_directN): Added.
20478 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20479 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20480 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20481 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20482 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20483 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 20484 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 20485 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20486 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20487 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20488 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20489 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20490 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
20491
20492 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
20493 (grub_video_i386_vbefill_R8G8B8): Likewise.
20494 (grub_video_i386_vbefill_index): Likewise.
20495 (grub_video_i386_vbefill_direct32): Added.
20496 (grub_video_i386_vbefill_direct24): Likewise.
20497 (grub_video_i386_vbefill_direct16): Likewise.
20498 (grub_video_i386_vbefill_direct8): Likewise.
20499
81a06771 20500 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 20501 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
20502 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
20503 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
20504 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
20505 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 20506
0ea85a37 20507 * video/video.c (grub_video_get_blit_format): Updated to use new
20508 blit formats. Added handling for 16 bit color modes.
81a06771 20509
20510 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 20511 fillers.
20512 (common_blitter): Updated to use new blitters.
20513
20514 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
20515 Removed.
20516 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
20517 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20518 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20519 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20520 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20521 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20522 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20523 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20524 (grub_video_i386_vbeblit_index_index): Likewise.
20525 (grub_video_i386_vbeblit_replace_directN): Added.
20526 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
20527 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
20528 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
20529 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
20530 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
20531 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
20532 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
20533 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
20534 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
20535 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
20536 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
20537 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
20538 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 20539
0ea85a37 20540 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
20541 (grub_video_i386_vbefill_R8G8B8): Likewise.
20542 (grub_video_i386_vbefill_index): Likewise.
20543 (grub_video_i386_vbefill_direct32): Added.
20544 (grub_video_i386_vbefill_direct24): Likewise.
20545 (grub_video_i386_vbefill_direct16): Likewise.
20546 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 20547
0ea85a37 20548 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
20549 types.
81a06771 20550
0ea85a37 20551 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
20552 types.
81a06771 20553
0ea85a37 20554 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
20555 blitter types.
81a06771 20556
0ea85a37 20557 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
20558 types.
20559
e8a83df6 205602008-09-06 Felix Zielcke <fzielcke@z-51.de>
20561
20562 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
20563 RAID level 1.
20564
6bcd8ee5 205652008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 20566
6bcd8ee5 20567 * fs/iso9660.c (grub_iso9660_date): New structure.
20568 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
20569 (grub_iso9660_uuid): New function.
c375ae58 20570
59261157 205712008-09-05 Bean <bean123ch@gmail.com>
20572
20573 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
20574
20575 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
20576 insensitive bit for names in Win32 and Win32 & DOS namespace.
20577
20578 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
20579
20580 * include/grub/types.h (LONG_MAX): Likewise.
20581
58b6645a 205822008-09-04 Felix Zielcke <fzielcke@z-51.de>
20583
4ee55921 20584 * util/getroot.c: Include <config.h>.
20585 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
20586 add support for /dev/md/N devices and handle LVM double dash escaping.
20587
205882008-09-04 Felix Zielcke <fzielcke@z-51.de>
20589
20590 * config.guess: Update to latest version from config git.
20591 * config.sub: Likewise.
58b6645a 20592
9124f65d 205932008-09-03 Robert Millan <rmh@aybabtu.com>
20594
20595 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
20596 `disk->total_sectors'.
20597
81a06771 205982008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 20599
20600 * include/grub/normal.h: Fixed incorrect comment for
20601 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
20602
81a06771 206032008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 20604
20605 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
20606 values with defines.
20607
20608 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
20609 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
20610 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
20611 (GRUB_VBE_MODEATTR_COLOR): Likewise.
20612 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
20613 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
20614 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
20615 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
20616 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
20617 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
20618 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
20619 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
20620 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
20621 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
20622 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
20623 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
20624 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
20625 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
20626 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
20627
93d5cbf8 206282008-08-31 Robert Millan <rmh@aybabtu.com>
20629
20630 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
20631 declaration.
20632 (grub_multiboot): Fix a few warnings.
20633
21751d50 206342008-08-31 Robert Millan <rmh@aybabtu.com>
20635
20636 * loader/i386/pc/multiboot.c: Update comment not to say that
20637 boot_device support is unimplemented.
20638
e27a75c5 206392008-08-31 Robert Millan <rmh@aybabtu.com>
20640
20641 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
20642 or memory map support are unimplemented.
20643
81a06771 206442008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 20645
20646 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
20647
81a06771 206482008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 20649
20650 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
20651 total video memory in 'vbeinfo' output; show color format details for
20652 each video mode.
20653
7c5d8d95 206542008-08-30 Pavel Roskin <proski@gnu.org>
20655
20656 * util/genmoddep.c: Remove for real this time.
20657 * DISTLIST: Remove util/genmoddep.c.
20658
4cebd25a 206592008-08-30 Robert Millan <rmh@aybabtu.com>
20660
20661 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
20662 as required by Multiboot spec (it was already 4-byte aligned, but
20663 only by chance).
20664
b497a269 206652008-08-29 Pavel Roskin <proski@gnu.org>
20666
e3925185 20667 * kern/powerpc/ieee1275/crt0.S: Rename to ...
20668 * kern/powerpc/ieee1275/startup.S: ... this.
20669 * conf/powerpc-ieee1275.rmk: Adjust for the above.
20670 * DISTLIST: Likewise.
20671
b497a269 20672 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
20673 grub/cpu/kernel.h. Add start label for consistency with other
20674 platforms. Add grub_prefix immediately after start. Add jump
20675 to the code after grub_prefix.
20676 * include/grub/powerpc/kernel.h: Provide valid values for
20677 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
20678
6e5a42fe 206792008-08-29 Bean <bean123ch@gmail.com>
20680
20681 * configure.ac: Change host_os to cygwin for mingw.
20682 (asprintf): New check for function.
20683
20684 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
20685 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
20686
20687 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 20688 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 20689 sync, sleep and grub_util_get_disk_size for mingw.
20690
20691 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
20692 to get size in mingw.
20693 (open_device): Use flag O_BINARY if it's defined.
20694 (find_root_device): Add dummy code for mingw.
20695
20696 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
20697 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
20698 (get_scsi_disk_name): Return 0 for mingw.
20699
20700 * util/hostfs.c: #include <grub/util/misc.h>.
20701 (grub_hostfs_open): Use "rb" flag to open file, use
20702 grub_util_get_disk_size to get disk size for mingw.
20703
20704 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
20705 (asprintf): New function if HAVE_ASPRINTF is not set.
20706 (sync): New function for mingw.
20707 (sleep): Likewise.
20708 (grub_util_get_disk_size): Likewise.
20709
ab3f2673 207102008-08-28 Pavel Roskin <proski@gnu.org>
20711
20712 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
20713 kern/time.c.
20714
1c282483 207152008-08-28 Robert Millan <rmh@aybabtu.com>
20716
20717 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
20718
678e849c 207192008-08-28 Robert Millan <rmh@aybabtu.com>
20720
20721 Change find_grub_drive() syntax so it doesn't prevent it from
20722 detecting NULL names as errors.
20723
20724 * util/biosdisk.c (find_grub_drive): Move free slot search code
20725 from here ...
20726 (find_free_slot): ... to here.
20727 (read_device_map): Use find_free_slot() to search for free slots.
20728
965c75ca 207292008-08-27 Marco Gerards <marco@gnu.org>
20730
20731 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
20732 (scsi_mod_SOURCES): New variable.
20733 (scsi_mod_CFLAGS): Likewise
20734 (scsi_mod_LDFLAGS): Likewise.
20735
20736 * disk/scsi.c: New file.
20737
20738 * include/grub/scsi.h: Likewise.
20739
20740 * include/grub/scsicmd.h: Likewise.
20741
20742 * disk/ata.c: Include <grub/scsi.h>.
20743 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
20744 instead.
20745 (grub_ata_iterate): Skip ATAPI devices.
20746 (grub_ata_open): Only handle ATAPI devices.
20747 (struct grub_atapi_read): Removed.
20748 (grub_atapi_readsector): Likewise.
20749 (grub_ata_read): No longer handle ATAPI devices.
20750 (grub_ata_write): Likewise.
20751 (grub_atapi_iterate): New function.
20752 (grub_atapi_read): Likewise.
20753 (grub_atapi_write): Likewise.
20754 (grub_atapi_open): Likewise.
20755 (grub_atapi_close): Likewise.
20756 (grub_atapi_dev): New variable.
20757 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
20758 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
20759
20760 * include/grub/disk.h (enum grub_disk_dev_id): Add
20761 `GRUB_DISK_DEVICE_SCSI_ID'.
20762
c07ae501 207632008-08-26 Robert Millan <rmh@aybabtu.com>
20764
20765 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
20766 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
20767 descriptive.
20768
5ed20adc 207692008-08-23 Bean <bean123ch@gmail.com>
20770
20771 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
20772 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20773 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
20774 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
20775 dm_nv.mod.
20776 (raid5rec_mod_SOURCES): New macro.
20777 (raid5rec_mod_CFLAGS): Likewise.
20778 (raid5rec_mod_LDFLAGS): Likewise.
20779 (raid6rec_mod_SOURCES): Likewise.
20780 (raid6rec_mod_CFLAGS): Likewise.
20781 (raid6rec_mod_LDFLAGS): Likewise.
20782 (mdraid_mod_SOURCES): Likewise.
20783 (mdraid_mod_CFLAGS): Likewise.
20784 (mdraid_mod_LDFLAGS): Likewise.
20785 (dm_nv_mod_SOURCES): Likewise.
20786 (dm_nv_mod_CFLAGS): Likewise.
20787 (dm_nv_mod_LDFLAGS): Likewise.
20788
20789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
20790 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
20791 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20792
20793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
20794 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
20795
20796 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20797
20798 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20799
20800 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20801
20802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20803
20804 * disk/raid5_recover.c: New file.
20805
20806 * disk/raid6_recover.c: Likewise.
20807
20808 * disk/mdraid_linux.c: Likewise.
20809
20810 * disk/dmraid_nvidia.c: Likewise.
20811
20812 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
20813 ULONG_MAX.
20814
20815 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
20816 calculate the size of raid device.
20817 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
20818 different layout of raid5.
20819 (grub_raid_scan_device): Remove code specific to mdraid.
20820 (grub_raid_list): New variable.
20821 (free_array): New function.
20822 (grub_raid_register): Likewise.
20823 (grub_raid_unregister): Likewise.
20824 (grub_raid_rescan): Likewise.
20825 (GRUB_MOD_INIT): Don't iterate device here.
20826 (GRUB_MOD_FINI): Use free_array to release resource.
20827
20828 * include/grub/raid.h: Remove macro and structure specific to mdraid.
20829 (grub_raid5_recover_func_t): New function variable type.
20830 (grub_raid6_recover_func_t): Likewise.
20831 (grub_raid5_recover_func): New variable.
20832 (grub_raid6_recover_func): Likewise.
20833 (grub_raid_register): New function.
20834 (grub_raid_unregister): Likewise.
20835 (grub_raid_rescan): Likewise.
20836 (grub_raid_block_xor): Likewise.
20837
20838 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
20839 (CMD_CRC): New macro.
20840 (part): Removed.
20841 (read_file): Handle device as well as file.
20842 (cmd_crc): New function.
20843 (fstest): Handle multiple disks.
20844 (options): Remove part, raw and long, add root and diskcount.
20845 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 20846 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 20847 add handling for the new options, support multiple disks.
20848
20849 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
20850
29c18915 208512008-08-23 Bean <bean123ch@gmail.com>
20852
20853 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
20854
20855 * genfslist.sh: Ignore kernel.mod.
20856
20857 * genpartmaplist.sh: Likewise.
20858
8415f261 208592008-08-23 Robert Millan <rmh@aybabtu.com>
20860
20861 * util/getroot.c (find_root_device): Skip anything that starts with
20862 a dot, not just directories. This avoids things like /dev/.tmp.md0.
20863
d5a7dc5b 208642008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 20865
d5a7dc5b 20866 * util/update-grub.in (GRUB_GFXMODE): Export variable.
20867 * util/grub.d/00_header.in: Allow the administrator to change default
20868 gfxmode via ${GRUB_GFXMODE}.
20869
380cfbb4 208702008-08-21 Felix Zielcke <fzielcke@z-51.de>
20871
20872 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
20873
c9baafe7 208742008-08-21 Robert Millan <rmh@aybabtu.com>
20875
20876 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
20877 loader.
20878 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
20879 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
20880
e290bef2 208812008-08-20 Carles Pina i Estany <carles@pina.cat>
20882
20883 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
20884 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
20885
f9dbfc96 208862008-08-19 Robert Millan <rmh@aybabtu.com>
20887
20888 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
20889 (struct grub_virtual_screen): Remove `cursor_color'.
20890 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
20891 initialization.
20892 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
20893
dd6bd6ab 208942008-08-18 Robert Millan <rmh@aybabtu.com>
20895
20896 Unify (identical) linux_normal.c files.
20897 * loader/i386/efi/linux_normal.c: Move from here ...
20898 * loader/linux_normal.c: ... to here. Update all users.
20899 * loader/i386/pc/linux_normal.c: Delete. Update all users.
20900 * loader/i386/ieee1275/linux_normal.c: Likewise.
20901
7f42f83e 209022008-08-18 Robert Millan <rmh@aybabtu.com>
20903
20904 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
20905 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
20906 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
20907 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
20908 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
20909 New macros.
20910 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
20911 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
20912 (GRUB_LINUX_CL_END_OFFSET): ... to here.
20913 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
20914 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
20915 (GRUB_EFI_CL_END_OFFSET): Rename to ...
20916 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
20917 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
20918 Initialize `params->video_cursor_x' and `params->video_cursor_y'
20919 portably using grub_getxy().
20920 Replace `-EFI' with `-bzImage' in boot message.
20921
38487ddb 209222008-08-17 Robert Millan <rmh@aybabtu.com>
20923
20924 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
20925
deceb3ec 209262008-08-17 Robert Millan <rmh@aybabtu.com>
20927
20928 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
20929
20930 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
20931 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
20932 (grub_machine_mmap_iterate): New function declaration.
20933 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
20934 structure.
20935 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
20936 macros.
20937
20938 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
20939 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
20940 Move e820 parsing from here ...
20941 * kern/i386/pc/mmap.c: New file.
20942 (grub_machine_mmap_iterate): ... to here.
20943
20944 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
20945 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
20946 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
20947 (grub_available_iterate): Redeclare to return `void', and redeclare
20948 its hook to use grub_uint64_t as addr and size parameters, and rename
20949 to ...
20950 (grub_machine_mmap_iterate): ... this. Update all users.
20951
20952 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
20953 to make it more readable. Rename to ...
20954 (grub_machine_mmap_iterate): ... this.
20955
20956 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
20957 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
20958 (grub_multiboot): Allocate an extra region after the payload, and fill
20959 it with a Multiboot memory map. Adjust a.out loader to calculate size
20960 with the extra space.
20961 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
20962 with the extra space.
20963
f8aa0f43 209642008-08-17 Carles Pina i Estany <carles@pina.cat>
20965
9807deb9 20966 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 20967
605f5bb6 209682008-08-17 Felix Zielcke <fzielcke@z-51.de>
20969
20970 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
20971 mdate-sh to the list `find' searches for.
20972 * DISTLIST: Regenerated.
20973
210db6c6 209742008-08-16 Felix Zielcke <fzielcke@z-51.de>
20975
20976 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
20977 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 20978 genmoddep.awk, gensymlist.sh.in.
20979 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 20980 * DISTLIST: Regenerated.
48cdbfd4 20981 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 20982
1082b929 209832008-08-16 Robert Millan <rmh@aybabtu.com>
20984
20985 * disk/raid.c (grub_raid_init): Handle/report errors set by
20986 grub_device_iterate().
20987 * disk/lvm.c (grub_lvm_init): Likewise.
20988
42ce5170 209892008-08-15 Bean <bean123ch@gmail.com>
20990
20991 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
20992 and datehook.mod.
20993 (datetime_mod_SOURCES): New macro.
20994 (datetime_mod_CFLAGS): Likewise.
20995 (datetime_mod_LDFLAGS): Likewise.
20996 (date_mod_SOURCES): Likewise.
20997 (date_mod_CFLAGS): Likewise.
20998 (date_mod_LDFLAGS): Likewise.
20999 (datehook_mod_SOURCES): Likewise.
21000 (datehook_mod_CFLAGS): Likewise.
21001 (datehook_mod_LDFLAGS): Likewise.
21002
21003 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21004 and datehook.mod.
21005 (datetime_mod_SOURCES): New macro.
21006 (datetime_mod_CFLAGS): Likewise.
21007 (datetime_mod_LDFLAGS): Likewise.
21008 (date_mod_SOURCES): Likewise.
21009 (date_mod_CFLAGS): Likewise.
21010 (date_mod_LDFLAGS): Likewise.
21011 (datehook_mod_SOURCES): Likewise.
21012 (datehook_mod_CFLAGS): Likewise.
21013 (datehook_mod_LDFLAGS): Likewise.
21014
21015 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21016 and datehook.mod.
21017 (datetime_mod_SOURCES): New macro.
21018 (datetime_mod_CFLAGS): Likewise.
21019 (datetime_mod_LDFLAGS): Likewise.
21020 (date_mod_SOURCES): Likewise.
21021 (date_mod_CFLAGS): Likewise.
21022 (date_mod_LDFLAGS): Likewise.
21023 (datehook_mod_SOURCES): Likewise.
21024 (datehook_mod_CFLAGS): Likewise.
21025 (datehook_mod_LDFLAGS): Likewise.
21026
21027 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21028 and datehook.mod.
21029 (datetime_mod_SOURCES): New macro.
21030 (datetime_mod_CFLAGS): Likewise.
21031 (datetime_mod_LDFLAGS): Likewise.
21032 (date_mod_SOURCES): Likewise.
21033 (date_mod_CFLAGS): Likewise.
21034 (date_mod_LDFLAGS): Likewise.
21035 (datehook_mod_SOURCES): Likewise.
21036 (datehook_mod_CFLAGS): Likewise.
21037 (datehook_mod_LDFLAGS): Likewise.
21038
21039 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
21040 and datehook.mod.
21041 (datetime_mod_SOURCES): New macro.
21042 (datetime_mod_CFLAGS): Likewise.
21043 (datetime_mod_LDFLAGS): Likewise.
21044 (date_mod_SOURCES): Likewise.
21045 (date_mod_CFLAGS): Likewise.
21046 (date_mod_LDFLAGS): Likewise.
21047 (datehook_mod_SOURCES): Likewise.
21048 (datehook_mod_CFLAGS): Likewise.
21049 (datehook_mod_LDFLAGS): Likewise.
21050
21051 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
21052
21053 * commands/date.c: New file.
21054
21055 * hook/datehook.c: Likewise.
21056
21057 * include/grub/lib/datetime.h: Likewise.
21058
21059 * include/grub/i386/cmos.h: Likewise.
21060
21061 * lib/datetime.c: Likewise.
21062
21063 * lib/i386/datetime.c: Likewise.
21064
21065 * lib/efi/datetime.c: Likewise.
21066
0e9242da 210672008-08-14 Robert Millan <rmh@aybabtu.com>
21068
21069 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
21070 (grub_mkelfimage_SOURCES): New variable.
21071 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
21072
21073 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
21074 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
21075 * conf/powerpc-ieee1275.rmk: Likewise.
21076 * conf/i386-ieee1275.rmk: Likewise.
21077
21078 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
21079 * kern/i386/coreboot/init.c: Likewise.
21080
21081 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
21082 with `<grub/cpu/kernel.h>'.
21083 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
21084 to ...
21085 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
21086 * kern/i386/coreboot/startup.S: Likewise.
21087
21088 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
21089 (GRUB_MOD_GAP): Remove.
21090 * include/grub/powerpc/kernel.h: New file.
21091 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
21092 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21093 * include/grub/i386/kernel.h: New file.
21094 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
21095 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
21096 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
21097
21098 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
21099 `grub-mkelfimage'.
21100 Use --directory when invoking grub_mkimage.
21101
21102 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
21103 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
21104 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
21105 and GRUB_KERNEL_CPU_PREFIX.
21106
b86408f8 211072008-08-14 Felix Zielcke <fzielcke@z-51.de>
21108
d5e619ca 21109 * include/grub/err.h (grub_err_printf): New function prototype.
21110 * util/misc.c (grub_err_printf): New function.
21111 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
21112 grub_printf.
21113 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 21114
7161f0e0 211152008-08-13 Robert Millan <rmh@aybabtu.com>
21116
21117 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
21118
a1967522 211192008-08-13 Robert Millan <rmh@aybabtu.com>
21120
21121 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
21122 boot entry.
21123
371458b5 211242008-08-12 Robert Millan <rmh@aybabtu.com>
21125
21126 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
21127 of the relocation code from here ...
21128 (grub_multiboot): ... to here.
21129 (forward_relocator, backward_relocator): Move from here ...
21130 * kern/i386/loader.S (grub_multiboot_forward_relocator)
21131 (grub_multiboot_backward_relocator): ... to here.
21132 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
21133 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
21134 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
21135 (grub_multiboot_forward_relocator_end)
21136 (grub_multiboot_backward_relocator)
21137 (grub_multiboot_backward_relocator_end): New variables.
21138
05f9452b 211392008-08-12 Bean <bean123ch@gmail.com>
21140
21141 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
21142
20024ab0 211432008-08-11 Robert Millan <rmh@aybabtu.com>
21144
21145 * kern/i386/linuxbios/startup.S: Move from here ...
21146 * kern/i386/coreboot/startup.S: ... to here.
21147
21148 * kern/i386/linuxbios/init.c: Move from here ...
21149 * kern/i386/coreboot/init.c: ... to here.
21150
21151 * kern/i386/linuxbios/table.c: Move from here ...
21152 * kern/i386/coreboot/mmap.c: ... to here.
21153
21154 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
21155
e352e9cd 211562008-08-11 Robert Millan <rmh@aybabtu.com>
21157
21158 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
21159 errors. Leave it to the upper layer to handle them.
21160
2d05bc6a 211612008-08-09 Christian Franke <franke@computer.org>
21162
21163 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
21164 * conf/common.rmk: Install `grub-pe2elf' only if requested.
21165 Install `grub.d/10_windows' only on Cygwin.
21166 * configure.ac: Add subst of `target_os'.
21167 Check `target_os' also before setting TARGET_OBJ2ELF.
21168 Add `--enable-grub-pe2elf'.
21169
042bd419 211702008-08-08 Robert Millan <rmh@aybabtu.com>
21171
21172 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21173 (grub_last_time): Change type to grub_uint64_t.
21174 (grub_disk_open): Migrate code from to using grub_get_time_ms().
21175 (grub_disk_close): Likewise.
21176
21177 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
21178 (run_menu): Migrate code from to using grub_get_time_ms().
21179
21180 * util/misc.c (grub_get_time_ms): New function.
21181
7f280db5 211822008-08-08 Marco Gerards <marco@gnu.org>
21183
21184 * disk/ata.c (grub_ata_regget): Change return type to
21185 `grub_uint8_t'.
21186 (grub_ata_regget2): Likewise.
21187 (grub_ata_wait_status): New function.
21188 (grub_ata_wait_busy): Removed function, updated all users to use
21189 `grub_ata_wait_status'.
21190 (grub_ata_wait_drq): Likewise.
21191 (grub_ata_cmd): New function.
21192 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
21193 error handling.
21194 (grub_ata_pio_write): Add error handling.
21195 (grub_atapi_identify): Likewise.
21196 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
21197 handling.
21198 (grub_ata_identify): Use `grub_ata_cmd' and improve error
21199 handling. Actually use the detected registers. Reorder the
21200 detection logic such that it is easier to read.
21201 (grub_ata_pciinit): Do not assign the same ID to each controller.
21202 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
21203 handling.
21204 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
21205
21206 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
21207
1fbc5e66 212082008-08-08 Marco Gerards <marco@gnu.org>
21209
21210 * NEWS: Update.
21211
819ce6c0 212122008-08-07 Bean <bean123ch@gmail.com>
21213
21214 * include/grub/x86_64/pci.h: New file.
21215
5c41d44d 212162008-08-07 Christian Franke <franke@computer.org>
21217
21218 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
21219 (TIMER2_GATE): Likewise.
21220 (grub_pit_wait): Add enable/disable of the timer2 gate
21221 bit of port 0x61. This fixes a possible infinite loop.
21222
5ebc275d 212232008-08-07 Bean <bean123ch@gmail.com>
21224
21225 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
21226 kern/i386/tsc.c and kern/i386/pit.c.
21227
21228 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
21229 x86_64 platform.
21230
21231 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
21232 <grub/i386/tsc.h>.
21233
21234 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
21235
e383b3d0 212362008-08-07 Bean <bean123ch@gmail.com>
21237
21238 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
21239
21240 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
21241
21242 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
21243 multiple inclusion. Add #include <grub/types.h>.
21244
1cbb58ac 212452008-08-06 Christian Franke <franke@computer.org>
21246
21247 * conf/common.rmk: Build and install `10_windows'.
21248 * util/grub.d/10_windows.in: New script.
21249
337f5a1e 212502008-08-06 Pavel Roskin <proski@gnu.org>
21251
21252 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
21253
057bc4ac 212542008-08-06 Robert Millan <rmh@aybabtu.com>
21255
21256 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
21257 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
21258
2b99f123 212592008-08-06 Bean <bean123ch@gmail.com>
21260
21261 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
21262 (grub_pxefs_fs_int): Remove dummy definition.
21263 (grub_pxefs_open): Use data->block_size to store the current block
21264 size setting.
21265 (grub_pxefs_read): Use block size stored in data->block_size. As the
21266 value of grub_pxe_blksize can be changed after the file is opened.
21267
9f0234cb 212682008-08-06 Bean <bean123ch@gmail.com>
21269
21270 * fs/i386/pc/pxe.c (curr_file): new variable.
21271 (grub_pxefs_open): Simply the handling of pxe file system. Don't
21272 require the dummy internal file system anymore.
21273 (grub_pxefs_read): Removed.
21274 (grub_pxefs_close): Likewise.
21275 (grub_pxefs_fs_int): Likewise.
21276 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
21277 connection when we switch file.
21278 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
21279
a55d42e0 212802008-08-06 Robert Millan <rmh@aybabtu.com>
21281
21282 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
21283 `halt.mod'.
21284 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
21285 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
21286
21287 * kern/i386/halt.c: New file.
21288 * kern/i386/reboot.c: Likewise.
21289 * include/grub/i386/reboot.h: Likewise.
21290 * include/grub/i386/halt.h: Likewise.
21291
21292 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
21293 Include `<grub/cpu/halt.h>'.
21294 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
21295 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
21296
21297 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
21298 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
21299 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
21300 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
21301 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
21302 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
21303 from here ...
21304 * include/grub/i386/at_keyboard.h: ... to here.
21305
24371d26 213062008-08-05 Robert Millan <rmh@aybabtu.com>
21307
21308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
21309 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
21310 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
21311 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21312 `kern/generic/millisleep.c'.
21313
21314 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
21315 instead of grub_get_rtc().
21316 (grub_tsc_init): Initialize `tsc_boot_time'.
21317
21318 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
21319 (grub_machine_init): Use grub_tsc_init() rather than
21320 installing an RTC-based handler via grub_install_get_time_ms().
21321
21322 * kern/i386/pit.c: New file.
21323 * include/grub/i386/pit.h: Likewise.
21324
9e7007b3 213252008-08-05 Bean <bean123ch@gmail.com>
21326
21327 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
21328
21329 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
21330 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
21331 (pxe_mod_SOURCES): New macro.
21332 (pxe_mod_CFLAGS): Likewise.
21333 (pxe_mod_LDFLAGS): Likewise.
21334 (pxecmd_mod_SOURCES): Likewise.
21335 (pxecmd_mod_CFLAGS): Likewise.
21336 (pxecmd_mod_LDFLAGS): Likewise.
21337
21338 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
21339 (grub_pxe_call): Likewise.
21340
21341 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
21342
21343 * commands/i386/pc/pxecmd.c: New file.
21344
9f0234cb 21345 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 21346
21347 * include/grub/i386/pc/pxe.h: Likewise.
21348
6977d49f 213492008-08-05 Bean <bean123ch@gmail.com>
21350
21351 * util/console.c (grub_console_cur_color): New variable.
21352 (grub_console_standard_color): Likewise.
21353 (grub_console_normal_color): Likewise.
21354 (grub_console_highlight_color): Likewise.
21355 (color_map): Likewise.
21356 (use_color): Likewise.
21357 (NUM_COLORS): New macro.
21358 (grub_ncurses_setcolorstate): Handle color properly.
21359 (grub_ncurses_setcolor): Don't change color here, just remember the
21360 settings, color will be set in grub_ncurses_setcolorstate.
21361 (grub_ncurses_getcolor): New function.
21362 (grub_ncurses_init): Initialize color pairs.
21363 (grub_ncurses_term): New member grub_ncurses_getcolor.
21364
9c2ff3ee 213652008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 21366
9c2ff3ee 21367 High resolution timer support. Implemented for x86 CPUs using TSC.
21368 Extracted generic grub_millisleep() so it's linked in only as needed.
21369 This requires a Pentium compatible CPU; if the RDTSC instruction is
21370 not supported, then it falls back on the generic grub_get_time_ms()
21371 implementation that uses the machine's RTC.
21372
21373 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
21374 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
21375 `kern/generic/millisleep.c'.
21376
21377 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
21378 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
21379
21380 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
21381 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
21382
21383 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21384
21385 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21386 `kern/generic/millisleep.c'.
21387
21388 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
21389
21390 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
21391
21392 * kern/generic/rtc_get_time_ms.c: New file.
21393
21394 * kern/generic/millisleep.c: New file.
337f5a1e 21395
9c2ff3ee 21396 * kern/misc.c: Don't include
21397 <kern/time.h> anymore.
21398 (grub_millisleep_generic): Removed.
21399
21400 * commands/sleep.c (grub_interruptible_millisleep): Uses
21401 grub_get_time_ms() instead of grub_get_rtc().
21402
21403 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
21404 function.
21405 (grub_cpu_is_cpuid_supported): New inline function.
21406 (grub_cpu_is_tsc_supported): New inline function.
21407 (grub_tsc_init): New function prototype.
21408 (grub_tsc_get_time_ms): New function prototype.
21409
21410 * kern/i386/tsc.c (grub_get_time_ms): New file.
21411
21412 * include/grub/time.h: Include <grub/types.h.
21413 (grub_millisleep_generic): Removed.
21414 (grub_get_time_ms): New prototype.
21415 (grub_install_get_time_ms): New prototype.
21416 (grub_rtc_get_time_ms): New prototype.
21417
21418 * kern/time.c (grub_get_time_ms): New function.
21419 (grub_install_get_time_ms): New function.
21420
21421 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
21422 <grub/time.h> anymore.
21423 (grub_millisleep): Removed.
21424 (grub_machine_init): Call grub_tsc_init.
21425
21426 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
21427 get_time_ms() implementation.
21428
21429 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
21430 (ieee1275_get_time_ms): New function.
21431 (grub_machine_init): Install get_time_ms() implementation.
21432
21433 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
21434 (grub_machine_init): Call grub_tsc_init().
21435 (grub_millisleep): Removed.
bf06a93f 21436
9c2ff3ee 21437 * kern/ieee1275/init.c (grub_millisleep): Removed.
21438 (grub_machine_init): Install ieee1275_get_time_ms()
21439 implementation.
21440 (ieee1275_get_time_ms): New function.
21441 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
21442 real work.
21443
9ec92aaf 214442008-08-05 Marco Gerards <marco@gnu.org>
21445
21446 * disk/ata.c: Include <grub/pci.h>.
21447 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
21448 (grub_ata_initialize): Rewritten.
21449 (grub_ata_device_initialize): New function.
21450
8d23f507 214512008-08-04 Pavel Roskin <proski@gnu.org>
21452
21453 * kern/main.c: Include grub/mm.h.
21454
5e15ee3d 214552008-08-04 Robert Millan <rmh@aybabtu.com>
21456
21457 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
21458 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
21459 corruption problem).
21460
a9053f8f 214612008-08-04 Robert Millan <rmh@aybabtu.com>
21462
21463 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
21464 warnings introduced in my last commit.
21465
dd19c7d7 214662008-08-03 Robert Millan <rmh@aybabtu.com>
21467
21468 Make PCI available on all i386 architectures.
21469
21470 * include/grub/i386/pc/pci.h: Move from here ...
21471 * include/grub/i386/pci.h: ... to here.
21472
21473 * include/grub/i386/pc/pci.h: Remove.
21474 * include/grub/i386/efi/pci.h: Remove.
21475 * include/grub/x86_64/efi/pci.h: Remove.
21476
21477 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
21478 `<grub/cpu/pci.h>'.
21479
21480 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
21481 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
21482 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
21483
21484 * conf/i386-ieee1275.rmk: Likewise.
21485
e14a6184 214862008-08-03 Robert Millan <rmh@aybabtu.com>
21487
21488 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
21489 (grub_console_setcursor): Make it possible to set cursor off.
21490
52768e37 214912008-08-03 Robert Millan <rmh@aybabtu.com>
21492
21493 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
21494 of modules instead of assuming which platform provides what.
21495 * util/update-grub.in: Likewise.
21496
2d52f57f 214972008-08-03 Robert Millan <rmh@aybabtu.com>
21498
21499 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
21500 instead of `grub_install_dos_part' to determine whether a drive needs
21501 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 21502 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 21503
2a5cd121 215042008-08-02 Robert Millan <rmh@aybabtu.com>
21505
21506 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
21507
93808428 215082008-08-02 Robert Millan <rmh@aybabtu.com>
21509
21510 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
21511 of informational grub_dprintf() calls.
21512
3bd0a12a 215132008-08-02 Robert Millan <rmh@aybabtu.com>
21514
21515 * disk/memdisk.c (memdisk_size): Don't initialize.
21516 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
21517
21518 * include/grub/i386/pc/kernel.h
21519 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
21520 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
21521 (grub_memdisk_image_size, grub_arch_memdisk_addr)
21522 (grub_arch_memdisk_size): Remove.
21523
21524 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
21525 field (was only used to transfer a constant). Add `type' field to
21526 support multiple module types.
21527 (grub_module_iterate): New function.
21528
21529 * kern/device.c (grub_device_open): Do not hide error messages
21530 when grub_disk_open() fails. Use grub_print_error() instead.
21531
21532 * kern/i386/pc/init.c (grub_arch_modules_addr)
21533 (grub_arch_memdisk_size): Remove functions.
21534 (grub_arch_modules_addr): Return the module address in high memory
21535 (now that it isn't copied anymore).
21536
21537 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
21538 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
21539 decompression routine (grub_total_module_size already includes that
21540 now). Don't copy modules back to low memory.
21541
21542 * kern/main.c: Include `<grub/mm.h>'.
21543 (grub_load_modules): Split out (and use) ...
21544 (grub_module_iterate): ... this function, which iterates through
21545 module objects and runs a hook.
21546 Comment out grub_mm_init_region() call, as it would cause non-ELF
21547 modules to be overwritten.
21548
21549 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
21550 the memdisk image in its own region, make it part of the module list.
21551 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
21552 (main): Parse --memdisk|-m option, and pass user-provided path as
21553 parameter to generate_image().
21554 (add_segments): Pass `memdisk_path' down to load_modules().
21555 (load_modules): Embed memdisk image in module section when requested.
21556 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
21557 `header.type' instead of `header.offset'.
21558
21559 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
21560 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
21561 (memdisk_mod_LDFLAGS): New variables.
21562 * conf/i386-coreboot.rmk: Likewise.
21563 * conf/i386-ieee1275.rmk: Likewise.
21564
a927cc73 215652008-08-02 Robert Millan <rmh@aybabtu.com>
21566
21567 * loader/i386/pc/multiboot.c (playground, forward_relocator)
21568 (backward_relocator): New variables. Used to allocate and relocate
21569 the payload, respectively.
21570 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 21571 address, install the appropriate relocator code in each bound of
a927cc73 21572 the payload, and set the entry point such that
21573 grub_multiboot_real_boot() will jump to one of them.
21574
21575 * kern/i386/loader.S (grub_multiboot_payload_size)
21576 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21577 (grub_multiboot_payload_entry_offset): New variables.
21578 (grub_multiboot_real_boot): Set cpu context to what the relocator
21579 expects, and jump to the relocator instead of the payload.
21580
21581 * include/grub/i386/loader.h (grub_multiboot_payload_size)
21582 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
21583 (grub_multiboot_payload_entry_offset): Export.
21584
b15d8a0c 215852008-08-01 Bean <bean123ch@gmail.com>
21586
21587 * normal/menu_entry.c (editor_getline): Don't return the original
21588 string as result, as it will be released by lexer once it has done
21589 using it.
21590
cdfb3d22 215912008-08-01 Robert Millan <rmh@aybabtu.com>
21592
21593 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
21594 within menuentries, not before them.
21595 util/grub.d/10_hurd.in: Likewise.
21596
9175e93d 215972008-08-01 Bean <bean123ch@gmail.com>
21598
21599 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
21600 (bufio_mod_SOURCES): New macro.
21601 (bufio_mod_CFLAGS): Likewise.
21602 (bufio_mod_LDFLAGS): Likewise.
21603
21604 * include/grub/bufio.h: New file.
21605
21606 * io/bufio.c: Likewise.
21607
21608 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
21609 (grub_video_reader_png): Use grub_buffile_open to open file.
21610
21611 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
21612 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
21613
21614 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
21615 (grub_video_reader_tga): Use grub_buffile_open to open file.
21616
21617 * font/manager.c: Include <grub/bufio.h>.
21618 (add_font): Use grub_buffile_open to open file.
21619
3d8383e7 216202008-07-31 Robert Millan <rmh@aybabtu.com>
21621
21622 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
21623 ELF segments, use a macro for arbitrarily accessing any of them instead
21624 of preparing a pointer that allows access to one at a time.
21625 (grub_multiboot_load_elf64): Likewise.
21626
16e641b6 216272008-07-31 Bean <bean123ch@gmail.com>
21628
21629 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
21630 GRUB_KERNEL_MACHINE_DATA_END.
21631
59198b72 216322008-07-30 Robert Millan <rmh@aybabtu.com>
21633
21634 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
21635 Increase from 0x50 to 0x60.
21636 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
21637 use UUIDs to identify the root drive for them. If that's not
21638 possible, abort.
21639 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
21640 check, for cross-disk installs.
21641
ae88bca3 216422008-07-30 Robert Millan <rmh@aybabtu.com>
21643
21644 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
21645 is non-empty, use it to set the `prefix' environment variable instead
21646 of the usual approach.
21647 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
21648 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
21649 environment variable instead of dummy make_install_device().
21650
21651 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
21652 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 21653 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 21654
21655 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
21656 New variable reference.
21657 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
21658 New macro. Defines offset of `grub_prefix' within startup.S (relative
21659 to `start').
21660 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
21661 section within startup.S (relative to `start').
21662 * include/grub/i386/coreboot/kernel.h: Likewise.
21663
21664 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
21665 Overwrite grub_prefix with its contents, at the beginning of the
21666 first segment.
21667 (main): Understand -p|--prefix.
21668
14f41dd1 216692008-07-30 Robert Millan <rmh@aybabtu.com>
21670
21671 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
21672
4ca049a3 216732008-07-30 Robert Millan <rmh@aybabtu.com>
21674
21675 * term/i386/pc/vga_text.c (grub_console_cls): Use
21676 grub_console_gotoxy() to go back to beginning of the screen.
21677 Found by Patrick Georgi <patrick.georgi@coresystems.de>
21678
2921d337 216792008-07-29 Christian Franke <franke@computer.org>
21680
21681 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
21682 Add conversion of emulated mount points on Cygwin.
21683
b609876d 216842008-07-29 Christian Franke <franke@computer.org>
21685
21686 * util/update-grub.in: Add a check for admin
21687 group on Cygwin.
21688 Remove old `grub.cfg.new' before creation.
21689 Add `-f' to `mv' to handle the different filesystem
21690 semantics of Windows.
21691
e93e4679 216922008-07-29 Bean <bean123ch@gmail.com>
21693
21694 * normal/main.c (get_line): Fix buffer overflow bug.
21695
41694fd0 216962008-07-28 Robert Millan <rmh@aybabtu.com>
21697
21698 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
21699 (struct grub_apple_header): New struct. Describes the layout of
21700 the partmap header.
21701 (apple_partition_map_iterate): Check the header magic as well as the
21702 partition magic (which was already being checked).
21703
cfd0b4e6 217042008-07-28 Pavel Roskin <proski@gnu.org>
21705
21706 * genmk.rb: Add a warning to the beginning of the output that
21707 it's a generated file and should not be edited.
21708
93cce016 217092008-07-28 Robert Millan <rmh@aybabtu.com>
21710
21711 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
21712 with the same number are found, just use issue a warning with
21713 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 21714
cd1df915 217152008-07-27 Robert Millan <rmh@aybabtu.com>
21716
21717 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
21718 information.
21719
b70a8427 217202008-07-27 Bean <bean123ch@gmail.com>
21721
21722 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
21723 (grub_fat_find_dir): Ignore case when comparing filename.
21724
8f5e379f 217252008-07-27 Bean <bean123ch@gmail.com>
21726
21727 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
21728 smallino, as it's more descriptive, and i8count can be confused with
21729 the other field count.
21730 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
21731 inode type.
21732
a85cd5a0 217332008-07-27 Bean <bean123ch@gmail.com>
21734
21735 * commands/crc.c: New file.
21736
21737 * lib/crc.c: Likewise.
21738
21739 * include/grub/lib/crc.h: Likewise.
21740
21741 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
21742
21743 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
21744 (hexdump): Move this function to ...
21745
21746 * lib/hexdump.c: ... here.
21747
21748 * include/grub/hexdump.h: Renamed to ...
21749
21750 * include/grub/lib/hexdump.h: ... this.
21751
21752 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
21753
21754 * util/grub-editenv.c: Likewise.
21755
21756 * include/envblk.h: Renamed to ...
21757
21758 * include/lib/envblk.h: ... this.
21759
21760 * util/envblk.c: Renamed to ...
21761
21762 * lib/envblk.c: ... this.
21763
21764 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
21765 lib/hexdump.c.
21766 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
21767 (pkglib_MODULES): Add crc.mod.
21768 (hexdump_mod_SOURCES): Add lib/hexdump.c.
21769 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
21770 (crc_mod_SOURCES): New macro.
21771 (crc_mod_CFLAGS): Likewise.
21772 (crc_mod_LDFLAGS): Likewise.
21773
21774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
21775
21776 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21777
21778 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21779
21780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21781
21782 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21783
c298def0 217842008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 21785
21786 * commands/help.c: Include <grub/term.h>.
21787 (TERM_WIDTH): Removed. Updated all users.
21788
cc349fb3 217892008-07-27 Pavel Roskin <proski@gnu.org>
21790
21791 * util/getroot.c (find_root_device): Rephrase a comment to avoid
21792 spurious warnings about a comment within a comment.
21793
9051607e 217942008-07-25 Robert Millan <rmh@aybabtu.com>
21795
21796 * util/getroot.c (find_root_device): Skip devices that match
21797 /dev/dm-[0-9]. This lets the real device be found for any type of
21798 abstraction (LVM, EVMS, RAID..).
21799 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
21800 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
21801 device is found first, find_root_device() will now skip it.
21802
01453bfc 218032008-07-24 Pavel Roskin <proski@gnu.org>
21804
21805 * include/grub/types.h: Use __builtin_bswap32() and
21806 __builtin_bswap64() with gcc 4.3 and newer.
21807
6af9849f 218082008-07-24 Christian Franke <franke@computer.org>
21809
3a0fa256 21810 * util/i386/pc/grub-install.in: If `--debug' is specified,
21811 pass `--verbose' to grub-setup.
21812 Abort script if make_system_path_relative_to_its_root() fails.
21813
7810e747 218142008-07-24 Bean <bean123ch@gmail.com>
21815
21816 * configure.ac: Fixed a bug caused by the previous cygwin patch,
21817 variable `target_platform' should be `platform'.
21818
42290e17 218192008-07-24 Bean <bean123ch@gmail.com>
21820
51cc5193 21821 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 21822 (grub_png_init_fixed_block): New function.
21823 (grub_png_decode_image_data): Handle fixed huffman code compression.
21824
2a8a80e4 218252008-07-24 Bean <bean123ch@gmail.com>
21826
21827 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
21828 (grub_pe2elf_SOURCES): New macro.
21829 (CLEANFILES): Add grub-pe2elf.
21830
21831 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
21832 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
21833 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
21834 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
21835 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
21836 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
21837 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
21838 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
21839 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
21840 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
21841 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
21842 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
21843 (GRUB_PE32_DT_FUNCTION): Likewise.
21844 (GRUB_PE32_REL_I386_DIR32): Likewise.
21845 (GRUB_PE32_REL_I386_REL32): Likewise.
21846 (grub_pe32_symbol): New structure.
21847 (grub_pe32_reloc): Likewise.
21848
21849 * util/grub-pe2elf.c: New file.
21850
21851 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
21852 start symbol in non pc platform.
21853
21854 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
21855
21856 The following patches are from Christian Franke.
21857
21858 * include/grub/dl.h: Remove .previous, gas supports this only
21859 for ELF format.
21860
21861 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
21862 Remove .type, gas supports this only for ELF format.
21863
21864 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
21865 nullbytes in symbol table. This fixes an infinite loop if table is
21866 zero filled.
21867
21868 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
21869 TARGET_IMG_LDFLAGS and EXEEXT.
21870
21871 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
21872 TARGET_IMG_LDFLAGS_AC.
21873 (grub_CHECK_STACK_ARG_PROBE): New function.
21874
21875 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
21876
21877 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
21878
21879 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
21880 to set TARGET_IMG_LD* accordingly.
21881 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
21882 Add call to grub_CHECK_STACK_ARG_PROBE.
21883 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
21884
21885 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
21886
21887 * genmk.rb: Add EXEEXT to CLEANFILES.
21888
12ccdb75 218892008-07-23 Robert Millan <rmh@aybabtu.com>
21890
21891 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
21892 define the codes for arrows and lines used for the menu).
21893 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
21894 as well.
21895
21896 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
21897 fonts, because the latter are too slow.
21898
18eeaf04 218992008-07-21 Bean <bean123ch@gmail.com>
21900
21901 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
21902 a20. Run keyboard test last, as it will cause macbook to halt.
21903
b095e2ad 219042008-07-18 Pavel Roskin <proski@gnu.org>
21905
21906 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
21907 load foreign architecture modules correctly anyway. Keep
21908 support for loading host architecture modules, whether we
21909 compile them or not.
21910
737feb35 219112008-07-17 Pavel Roskin <proski@gnu.org>
21912
3f4ce737 21913 * configure.ac: Use -m32 or -m64 regardless of whether we had to
21914 change target_cpu. The compiler default can mismatch target_cpu
21915 in any case.
21916
4ad2d049 21917 * disk/efi/efidisk.c: Fix format warnings on x86_64.
21918 * kern/efi/efi.c: Likewise.
21919
f6130a12 21920 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
21921 target compiler is functional.
21922 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
21923 are set up.
21924
58393a2d 21925 * configure.ac: Default to efi platform for x86_64-apple. Allow
21926 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
21927 adjustments from the rest, only do them if target is not
21928 explicitly given. Merge other adjustments with the final sanity
21929 check. Remove an extraneous check for supported CPU. Be
21930 specific which CPU and which platform is not supported.
21931
737feb35 21932 * configure.ac: Default to pc platform for x86_64.
21933
546f966a 219342008-07-17 Robert Millan <rmh@aybabtu.com>
21935
21936 Partial LinuxBIOS -> Coreboot rename.
21937
21938 * conf/i386-linuxbios.rmk: Renamed to ...
21939 * conf/i386-coreboot.rmk: ... this.
21940 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
21941 * configure.ac: Accept "coreboot" as input platform (but maintain
21942 compatibility with "linuxbios").
21943 * include/grub/i386/linuxbios: Renamed to ...
21944 * include/grub/i386/coreboot: ... this.
21945
20011694 219462008-07-17 Bean <bean123ch@gmail.com>
21947
21948 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 21949 (appleldr_mod_SOURCE): New variable.
20011694 21950 (appleldr_mod_CFLAGS): Likewise.
21951 (appleldr_mod_LDFLAGS): Likewise.
21952 (pci_mod_SOURCES): Likewise.
21953 (pci_mod_CFLAGS): Likewise.
21954 (pci_mod_LDFLAGS): Likewise.
21955 (lspci_mod_SOURCES): Likewise.
21956 (lspci_mod_CFLAGS): Likewise.
21957 (lspci_mod_LDFLAGS): Likewise.
21958
21959 * conf/x86_64-efi.rmk: New file.
21960
21961 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
21962 macro.
21963 (grub_efidisk_write): Likewise.
21964
21965 * include/efi/api.h (efi_call_0): New macro.
21966 (efi_call_1): Likewise.
21967 (efi_call_2): Likewise.
21968 (efi_call_3): Likewise.
21969 (efi_call_4): Likewise.
21970 (efi_call_5): Likewise.
21971 (efi_call_6): Likewise.
21972
21973 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
21974 grub_rescue_cmd_chainloader.
21975
21976 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
21977 (grub_pe32_optional_header): Change some fields based on i386 or
21978 x86_64 platform.
21979 (GRUB_PE32_PE32_MAGIC): Likewise.
21980
21981 * include/grub/efi/uga_draw.h: New file.
21982
21983 * include/grub/elf.h (STN_ABS): New constant.
21984 (R_X86_64_NONE): Relocation constant for x86_64.
21985 (R_X86_64_64): Likewise.
21986 (R_X86_64_PC32): Likewise.
21987 (R_X86_64_GOT32): Likewise.
21988 (R_X86_64_PLT32): Likewise.
21989 (R_X86_64_COPY): Likewise.
21990 (R_X86_64_GLOB_DAT): Likewise.
21991 (R_X86_64_JUMP_SLOT): Likewise.
21992 (R_X86_64_RELATIVE): Likewise.
21993 (R_X86_64_GOTPCREL): Likewise.
21994 (R_X86_64_32): Likewise.
21995 (R_X86_64_32S): Likewise.
21996 (R_X86_64_16): Likewise.
21997 (R_X86_64_PC16): Likewise.
21998 (R_X86_64_8): Likewise.
21999 (R_X86_64_PC8): Likewise.
22000
22001 * include/grub/i386/efi/pci.h: New file.
22002
22003 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
22004 Change it value based on platform.
22005 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
22006 (GRUB_E820_RAM): Likewise.
22007 (GRUB_E820_RESERVED): Likewise.
22008 (GRUB_E820_ACPI): Likewise.
22009 (GRUB_E820_NVS): Likewise.
22010 (GRUB_E820_EXEC_CODE): Likewise.
22011 (GRUB_E820_MAX_ENTRY): Likewise.
22012 (grub_e820_mmap): New structure.
22013 (linux_kernel_header): Change the efi field according to different
22014 kernel version, also field from linux_kernel_header.
22015
22016 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
22017
22018 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
22019 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
22020 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
22021 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
22022 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
22023 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
22024 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
22025 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
22026 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
22027 (GRUB_PCI_ADDR_IO_MASK): Likewise.
22028
22029 * include/grub/x86_64/efi/kernel.h: New file.
22030
22031 * include/grub/x86_64/efi/loader.h: Likewise.
22032
22033 * include/grub/x86_64/efi/machine.h: Likewise.
22034
22035 * include/grub/x86_64/efi/pci.h: Likewise.
22036
22037 * include/grub/x86_64/efi/time.h: Likewise.
22038
22039 * include/grub/x86_64/linux.h: Likewise.
22040
22041 * include/grub/x86_64/setjmp.h: Likewise.
22042
22043 * include/grub/x86_64/time.h: Likewise.
22044
22045 * include/grub/x86_64/types.h: Likewise.
22046
22047 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
22048 GRUB_TARGET_SIZEOF_VOID_P.
22049
22050 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
22051 (grub_efi_locate_handle): Likewise.
22052 (grub_efi_open_protocol): Likewise.
22053 (grub_efi_set_text_mode): Likewise.
22054 (grub_efi_stall): Likewise.
22055 (grub_exit): Likewise.
22056 (grub_reboot): Likewise.
22057 (grub_halt): Likewise.
22058 (grub_efi_exit_boot_services): Likewise.
22059 (grub_get_rtc): Likewise.
22060
22061 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
22062 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
22063 (grub_efi_allocate_pages): Wrap efi calls.
22064 (grub_efi_free_pages): Wrap efi calls.
22065 (grub_efi_get_memory_map): Wrap efi calls.
22066
22067 * kern/x86_64/dl.c: New file.
22068
22069 * kern/x86_64/efi/callwrap.S: Likewise.
22070
22071 * kern/x86_64/efi/startup.S: Likewise.
22072
22073 * loader/efi/appleloader.c: Likewise.
22074
22075 * loader/efi/chainloader.c (cmdline): New variable.
22076 (grub_chainloader_unload): Wrap efi calls.
22077 (grub_chainloader_boot): Likewise.
22078 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
22079 command line.
22080
22081 * loader/efi/chainloader_normal.c (chainloader_command):
22082 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
22083 command line.
22084
22085 * loader/i386/efi/linux.c (allocate_pages): Change allocation
22086 method.
22087 (grub_e820_add_region): New function.
22088 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
22089 booting.
22090 (grub_find_video_card): New function.
22091 (grub_linux_setup_video): New function.
22092 (grub_rescue_cmd_linux): Probe for video information.
22093
22094 * normal/x86_64/setjmp.S: New file.
22095
22096 * term/efi/console.c (map_char): New function.
22097 (grub_console_putchar): Map unicode char.
22098 (grub_console_checkkey): Wrap efi calls.
22099 (grub_console_getkey): Likewise.
22100 (grub_console_getwh): Likewise.
22101 (grub_console_gotoxy): Likewise.
22102 (grub_console_cls): Likewise.
22103 (grub_console_setcolorstate): Likewise.
22104 (grub_console_setcursor): Likewise.
22105
22106 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
22107
59652a20 221082008-07-16 Pavel Roskin <proski@gnu.org>
22109
ef294055 22110 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
22111 format strings.
22112
59652a20 22113 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
22114 pointer, not an integer. This fixes a warning and prevents
22115 precision loss on 64-bit systems.
22116 (relocate_addresses): Remove unneeded cast.
22117
afc3b5d7 221182008-07-15 Pavel Roskin <proski@gnu.org>
22119
506b2b3e 22120 * kern/i386/ieee1275/init.c: Include grub/cache.h.
22121
62ead89c 22122 * term/ieee1275/ofconsole.c: Disable code unused on i386.
22123
c4cd51d7 22124 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
22125 Fix comparison between signed and unsigned.
22126
0d3d8f28 22127 * include/grub/i386/ieee1275/console.h: Declare
22128 grub_console_init() and grub_console_fini().
22129
8804b286 22130 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
22131 It's empty and unused.
22132
ee01cf35 22133 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
22134 beginning to avoid warnings with some compilers.
22135
afc3b5d7 22136 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
22137 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
22138
e4e8eaa5 221392008-07-14 Pavel Roskin <proski@gnu.org>
22140
407aceb4 22141 * kern/env.c (grub_register_variable_hook): Don't copy empty
22142 string, it leaks memory. Pass "" to grub_env_set(), it should
22143 handle constant strings.
22144
e4e8eaa5 22145 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
22146 * commands/cmp.c (grub_cmd_cmp): Likewise.
22147 * kern/dl.c (grub_dl_flush_cache): Likewise.
22148 (grub_dl_load_core): Likewise.
22149 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
22150 (grub_elf64_load_phdrs): Likewise.
22151
d4e2dad3 221522008-07-13 Pavel Roskin <proski@gnu.org>
22153
22154 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
22155 between signed and unsigned.
22156 (LzmaEnc_Finish): Fix warning about an unused parameter.
22157
aa24b516 221582008-07-13 Bean <bean123ch@gmail.com>
22159
22160 * Makefile.in (enable_lzo): New rule.
22161
22162 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
22163
22164 * configure.ac (ENABLE_LZO): New option --enable-lzo.
22165
22166 * boot/i386/pc/lnxboot.S: #include <config.h>.
22167
22168 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 22169 its value according to the compression algorithm used, lzo or lzma.
aa24b516 22170
22171 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
22172 compression algorithm according to configure macro.
22173
22174 * kern/i386/pc/startup.S (codestart): Likewise.
22175
22176 * kern/i386/pc/lzma_decode.S: New file.
22177
22178 * include/grub/lib/LzFind.h: Likewise.
22179
22180 * include/grub/lib/LzHash.h: Likewise.
22181
22182 * include/grub/lib/LzmaDec.h: Likewise.
22183
22184 * include/grub/lib/LzmaEnc.h: Likewise.
22185
22186 * include/grub/lib/LzmaTypes.h: Likewise.
22187
22188 * lib/LzFind.c: Likewise.
22189
22190 * lib/LzmaDec.c: Likewise.
22191
22192 * lib/LzmaEnc.c: Likewise.
22193
4ae821ac 221942008-07-13 Bean <bean123ch@gmail.com>
22195
22196 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
22197 (grub_ext4_extent_header): New structure.
22198 (grub_ext4_extent): Likewise.
22199 (grub_ext4_extent_idx): Likewise.
22200 (grub_ext4_find_leaf): New function.
22201 (grub_ext2_read_block): Handle extents.
22202
9a745147 222032008-07-12 Robert Millan <rmh@aybabtu.com>
22204
22205 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
22206
d49a4cf6 222072008-07-11 Robert Millan <rmh@aybabtu.com>
22208
22209 * util/grub.d/40_custom.in: New file. Example on how to add custom
22210 entries to /etc/grub.d.
22211 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
22212 40_custom (implicitly, by merging all the grub.d rules).
22213
947414b4 222142008-07-11 Pavel Roskin <proski@gnu.org>
22215
0059cf6f 22216 * commands/read.c (grub_getline): Fix invalid memory access.
22217 Don't add newline to the variable value.
22218
947414b4 22219 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
22220 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
22221 (serial_hw_get_port): Check validity of the port number.
22222 (grub_cmd_serial): Check return value of serial_hw_get_port().
22223
62a02d00 222242008-07-07 Pavel Roskin <proski@gnu.org>
22225
22226 * boot/i386/pc/diskboot.S (notification_string): Replace
22227 "Loading kernel" with just "loading". This is shorter, less
22228 confusing and saves a few bytes for possible future changes.
22229
3e5581b0 222302008-07-05 Pavel Roskin <proski@gnu.org>
22231
ea387a48 22232 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
22233 size for ATAPI devices, they are undefined. Output sector
22234 number in decimal form.
22235
3e5581b0 22236 * disk/ata.c: Use named constants for status bits.
22237
fdecb8fd 222382008-07-04 Pavel Roskin <proski@gnu.org>
22239
bcd35b90 22240 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
22241 grub_addr_t before casting it to the void pointer to fix a
22242 warning. Non-addressable regions are discarded earlier.
22243 (grub_arch_modules_addr): Cast _end to grub_addr_t.
22244 * kern/i386/linuxbios/table.c: Include grub/misc.h.
22245 (check_signature): Don't shadow table_header.
22246 (grub_linuxbios_table_iterate): Cast numeric constants to
22247 grub_linuxbios_table_header_t.
22248 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
22249 grub_stop().
22250
af58ab3d 22251 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
22252 prevent warnings.
22253
1759aa57 22254 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
22255 pointer, which can cause warnings. Support 64-bit addresses.
22256
fdecb8fd 22257 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
22258 of sizeof(long). This fixes PowerPC image generation on x86_64.
22259
8516d2a8 222602008-07-04 Robert Millan <rmh@aybabtu.com>
22261
22262 This fixes a performance issue when pc & gpt partmap iterators
22263 didn't abort iteration even after our hook found what it was
fe987087 22264 looking for (often causing expensive probes of non-existent drives).
8516d2a8 22265
22266 Some callers relied on previous buggy behaviour, since they would
34c44600 22267 raise an error when their own hooks caused early abortion of its
8516d2a8 22268 iteration.
22269
22270 * kern/device.c (grub_device_open): Improve error message.
22271 * disk/lvm.c (grub_lvm_open): Likewise.
22272 * disk/raid.c (grub_raid_open): Likewise.
22273
22274 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
22275 when hook requests it, independently of grub_errno.
22276 (pc_partition_map_probe): Do not fail when find_func() caused
22277 early abortion of pc_partition_map_iterate().
22278
22279 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
22280 when hook requests it, independently of grub_errno.
22281 (gpt_partition_map_probe): Do not fail when find_func() caused
22282 early abortion of gpt_partition_map_iterate().
22283
22284 * kern/partition.c (grub_partition_iterate): Abort parent iteration
22285 when hook requests it, independently of grub_errno. Do not fail when
22286 part_map_iterate_hook() caused early abortion of p->iterate().
22287
22288 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
22289 when grub_partition_iterate() returned with non-zero.
22290
277d0de9 222912008-07-03 Pavel Roskin <proski@gnu.org>
22292
22293 * disk/ata.c (grub_ata_pio_write): Check status before writing,
22294 like we do in grub_ata_pio_read().
22295 (grub_ata_readwrite): Always write individual sectors. Fix the
22296 sector count for the remainder.
22297 (grub_ata_write): Enable writing to ATA devices. Correctly
22298 report error for ATAPI devices.
22299
d4c9b428 223002008-07-02 Pavel Roskin <proski@gnu.org>
22301
e43fc690 22302 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
22303 warning.
22304
f707af42 22305 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
22306 for every read sector, we already increment it for the whole
22307 batch. This fixes reading more than 256 sectors at once.
22308
11e16b15 22309 * util/grub-editenv.c (cmd_info): Cast argument to long
22310 explicitly. ptrdiff_t reduces to int on i386.
22311
cbabfdd4 22312 * util/grub-editenv.c (main): Be specific which parameter is
22313 missing.
22314
b8fbce0a 22315 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
22316 (memdisk): Make memdisk_orig_addr a pointer.
22317
c9c8e606 22318 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
22319 for file offsets, use grub_off_t instead. Fix printf format
22320 warnings.
22321
ca62e598 22322 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
22323 there. Real unexpected warnings should not drown in the noise
22324 about known problems.
22325
ce8d1766 22326 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
22327 grub_disk_addr_t for memory addresses.
22328
00c7a56a 22329 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
22330 explicitly to fix a warning.
22331
08d3ef09 22332 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
22333
cb71ba20 22334 * Makefile.in (MODULE_LDFLAGS): New variable.
22335 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
22336 the linker accepts --build-id=none.
22337 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
22338 MODULE_LDFLAGS.
22339 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
22340
d4c9b428 22341 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
22342 those in Linux XFS code. Provide a way to access 64-bit parent
22343 inode.
22344 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
22345 the end of struct grub_xfs_dir_header.
22346
d4156eee 223472008-07-02 Bean <bean123ch@gmail.com>
22348
22349 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
22350 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22351 and GRUB_IEEE1275_FLAG_NO_ANSI.
22352
22353 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
22354 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
22355 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
22356
22357 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
22358 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
22359
22360 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
22361 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
22362
22363 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
22364 esc sequence on non ANSI terminal.
22365 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
22366
22367 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
22368 beginning of file.
22369
2270f77b 223702008-07-02 Bean <bean123ch@gmail.com>
22371
22372 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
22373 (grub_editenv_SOURCES): New variable.
22374 (pkglib_MODULES): Add loadenv.mod.
22375 (loadenv_mod_SOURCES): New variable.
22376 (loadenv_mod_CFLAGS): Likewise.
22377 (loadenv_mod_LDFLAGS): Likewise.
22378
22379 * include/grub/envblk.h: New file.
22380
22381 * util/envblk.c: New file.
22382
22383 * util/grub-editenv.c: New file.
22384
22385 * commands/loadenv.c: New file.
22386
0e9e51ec 223872008-07-01 Pavel Roskin <proski@gnu.org>
22388
d89b7634 22389 * include/multiboot2.h (struct multiboot_tag_module): Use char,
22390 not unsigned char. This fixes warnings and is consistent with
22391 other tags.
22392
bf1835b1 22393 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
22394
8222a04b 22395 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
22396
6a42d99d 22397 * term/tparm.c (analyze): Always set *popcount.
22398
10b159d1 22399 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
22400 cast to fix a warning.
22401
b8789f6c 22402 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
22403 cast to suppress a warning.
22404
29d7e38a 22405 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
22406 grub_fshelp_read_file() expects.
22407
f341f669 22408 * fs/fat.c: Fix UUID calculation on big-endian systems. We
22409 write uuid as a 32-bit value in CPU byte order, so declare and
22410 use it as such.
22411
0e9e51ec 22412 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
22413 long if the format specifier expects it.
22414 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
22415 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22416 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
22417 long to fix a warning.
22418 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
22419 grub_dprintf() arguments to fix warnings.
22420
3aefa857 224212008-06-30 Pavel Roskin <proski@gnu.org>
22422
56c7668b 22423 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
22424 install_bsd_part immediately before core.img is embedded or
22425 modified on disk. This fixes core.img verification if core.img
22426 cannot be embedded.
22427
3aefa857 22428 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
22429 core_path to calculate the blocklist.
22430 Patch from Javier Martín <lordhabbit@gmail.com>
22431
5444088d 224322008-06-29 Robert Millan <rmh@aybabtu.com>
22433
22434 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
22435 block to disk block.
22436 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
22437 Patch from Niels Böhm <bitbucket@arcor.de>
22438
674835c8 224392008-06-29 Robert Millan <rmh@aybabtu.com>
22440
22441 * util/update-grub_lib.in (font_path): Search for fonts in
22442 /boot/grub first, which is more likely to be readable (we aren't
22443 deciding where fonts live, just looking for them).
22444
f527dbc8 224452008-06-26 Pavel Roskin <proski@gnu.org>
22446
6c2d8df6 22447 * util/biosdisk.c (read_device_map): Don't leave dead map
22448 entries for devices failing stat() check.
22449
f527dbc8 22450 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
22451 core_path_dev for the core.img path on the target device.
22452
aebe3d13 224532008-06-26 Robert Millan <rmh@aybabtu.com>
22454
22455 * disk/fs_uuid.c: New file.
22456 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
22457 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
22458 (fs_uuid_mod_LDFLAGS): New variables.
22459 * include/grub/disk.h (grub_disk_dev_id): Add
22460 `GRUB_DISK_DEVICE_UUID_ID'.
22461 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
22462 implement iterate().
22463
37aaf354 224642008-06-26 Robert Millan <rmh@aybabtu.com>
22465
22466 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
22467 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
22468 Linux image includes no initrd.
22469
25ff262a 224702008-06-21 Javier Martín <lordhabbit@gmail.com>
22471
22472 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
22473 call to resolve the core image location that effectively appended the
22474 name twice.
22475
76a2bd44 224762008-06-21 Robert Millan <rmh@aybabtu.com>
22477
22478 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
22479 call from here ...
22480
22481 * util/grub.d/10_hurd.in: ... to here ...
22482 * util/grub.d/10_linux.in: ... and here.
22483
650e1c79 224842008-06-19 Robert Millan <rmh@aybabtu.com>
22485
fe987087 22486 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 22487 after it has been set by grub_machine_set_prefix().
22488
6ce63911 224892008-06-19 Robert Millan <rmh@aybabtu.com>
22490
22491 * commands/search.c (search_label, search_fs_uuid, search_file): Print
22492 search result when not saving to variable, not the other way around.
22493 When saving to variable, abort iteration as soon as a match is found.
22494
73940cec 224952008-06-19 Robert Millan <rmh@aybabtu.com>
22496
22497 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
22498 check for partition that provides /boot/grub. Its logic is flawed,
22499 as it prevents prepare_grub_to_access_device() from being called
22500 multiple times.
22501
3c62a39d 225022008-06-19 Robert Millan <rmh@aybabtu.com>
22503
22504 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
22505 "insmod" command directly when abstraction modules are needed,
fe987087 22506 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 22507 since it had already been processed).
22508
47395a42 225092008-06-19 Pavel Roskin <proski@gnu.org>
22510
22511 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
22512 changed. This is needed in case GRUB_LIBDIR changes.
22513 * conf/i386-ieee1275.rmk: Likewise.
22514 * conf/i386-linuxbios.rmk: Likewise.
22515 * conf/i386-pc.rmk: Likewise.
22516 * conf/powerpc-ieee1275.rmk: Likewise.
22517
a145ac2d 225182008-06-18 Pavel Roskin <proski@gnu.org>
22519
22520 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
22521 kernel_elf_symlist.c to symlist.c for consistency with other
22522 architectures. Update all users.
22523 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
22524
7847c51e 225252008-06-18 Robert Millan <rmh@aybabtu.com>
22526
22527 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
22528 it in prefix.
22529
22530 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
22531 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
22532 a RAID device, run setup() for all members independently on whether
22533 LVM abstraction is being used.
22534 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
22535 If grub-mkimage has set `*install_dos_part == -2', don't override this
22536 value.
22537 Perform *install_dos_part adjustments independently on whether
22538 we're embedding or not.
22539 Clarify error message when image is too big for embedding.
22540 Remove duplicate *install_dos_part stanza.
22541
b23e5644 225422008-06-17 Robert Millan <rmh@aybabtu.com>
22543
22544 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
22545 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
22546 variables.
22547 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
22548 values in grub_ofconsole_normal_color and
22549 grub_ofconsole_highlight_color (they're not directly related to
22550 background and foreground).
22551 (grub_ofconsole_setcolorstate): Extract background and foreground
22552 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
22553
0aac2f79 225542008-06-17 Robert Millan <rmh@aybabtu.com>
22555
22556 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
22557 /boot/grub for the check in last commit, not /boot (they could be
22558 different partitions).
22559
3cca7ef3 225602008-06-16 Robert Millan <rmh@aybabtu.com>
22561
22562 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
22563 asked to setup access for the same partition that provides /boot,
22564 don't bother using UUIDs since our root already has the value we
22565 want.
22566
347396d8 225672008-06-16 Robert Millan <rmh@aybabtu.com>
22568
22569 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
22570 I2O devices.
22571 Patch from Sven Mueller <sven@debian.org>.
22572
991477f8 225732008-06-16 Robert Millan <rmh@aybabtu.com>
22574
22575 * util/update-grub.in: Check for $EUID instead of $UID.
22576 Reported by Vincent Zweije.
22577
d31a32a1 225782008-06-16 Bean <bean123ch@gmail.com>
22579
fe987087 22580 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 22581 (grub_ext2_read_block): Likewise.
22582 (grub_ext2_read_inode): Likewise.
22583 (grub_ext2_mount): Likewise.
22584 (grub_ext2_close): Likewise.
22585 (grub_ext3_get_journal): Removed.
22586
fe987087 22587 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 22588 (grub_reiserfs_read_symlink): Likewise.
22589 (grub_reiserfs_mount): Likewise.
22590 (grub_reiserfs_open): Likewise.
22591 (grub_reiserfs_read): Likewise.
22592 (grub_reiserfs_close): Likewise.
22593 (grub_reiserfs_get_journal): Removed.
22594
22595 * fs/fshelp.c (grub_fshelp_read): Removed.
22596 (grub_fshelp_map_block): Likewise.
22597
22598 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
22599 (grub_fshelp_journal): Likewise.
22600 (grub_fshelp_read): Likewise.
22601 (grub_fshelp_map_block): Likewise.
22602
3540a760 226032008-06-16 Pavel Roskin <proski@gnu.org>
22604
22605 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
22606 floating point anymore.
22607 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
22608
95614c84 226092008-06-15 Pavel Roskin <proski@gnu.org>
22610
22611 * commands/ls.c (grub_ls_list_files): Use integer calculations
22612 for human readable format, avoid floating point use.
22613 * kern/misc.c (grub_ftoa): Remove.
22614 (grub_vsprintf): Remove floating point support.
22615
50465dd6 226162008-06-15 Robert Millan <rmh@aybabtu.com>
22617
fe6b695a 22618 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 22619 devices.
22620 Reported by Max Vozeler.
22621
a9207284 226222008-06-15 Robert Millan <rmh@aybabtu.com>
22623
22624 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
22625 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
22626 skipped later.
22627 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
22628 the beginning of the prefix.
22629
22630 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
22631 It is assumed that if we have a memdisk, grub-mkimage has set
22632 grub_prefix to include the "(memdisk)" drive in it.
22633
a7cbd45a 226342008-06-15 Robert Millan <rmh@aybabtu.com>
22635
22636 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
22637 Initialize keyboard controller after registering the terminal, so that
22638 grub_printf() can be called from grub_keyboard_controller_init().
22639
21cf716a 226402008-06-15 Robert Millan <rmh@aybabtu.com>
22641
22642 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
22643 extent-btree which is written as big endian on disk.
22644 Reported by Alain Greppin <al@chilibi.org>.
22645
23a64d8e 226462008-06-14 Robert Millan <rmh@aybabtu.com>
22647
22648 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
22649 * util/i386/pc/grub-install.in (modules): Likewise.
22650
d687651c 226512008-06-13 Pavel Roskin <proski@gnu.org>
22652
22653 * commands/ls.c (grub_ls_list_files): Fix format warnings.
22654
dfe9ddd4 226552008-06-13 Bean <bean123ch@gmail.com>
22656
22657 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
22658
22659 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
22660
22661 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
22662 to indicate sparse block.
22663
16ae7781 226642008-06-12 Pavel Roskin <proski@gnu.org>
22665
e6d1a308 22666 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
22667 number, grub_fshelp_read() does it for us.
22668
16ae7781 22669 * fs/fshelp.c (grub_fshelp_read): New function. Implement
22670 linear disk read with journal translation.
22671 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
22672 * include/grub/fshelp.h: Declare grub_fshelp_read().
22673
40fd3a2b 226742008-06-09 Pavel Roskin <proski@gnu.org>
22675
22676 * fs/minix.c (grub_minix_mount): Handle error reading
22677 superblock.
22678
f5679726 226792008-06-08 Robert Millan <rmh@aybabtu.com>
22680
22681 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
22682 don't append the RAID prefix afterwards.
22683 Reported by Clint Adams.
22684
ce525529 226852008-06-08 Robert Millan <rmh@aybabtu.com>
22686
22687 Based on description from Pavel:
22688 * kern/disk.c (grub_disk_check_range): Rename to ...
22689 (grub_disk_adjust_range): ... this. Add a comment explaining the
22690 tasks performed by this function.
22691
ad4936a0 226922008-06-08 Robert Millan <rmh@aybabtu.com>
22693
22694 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
22695 `num_serial' (for consistency with other variables).
22696 (struct grub_ntfs_data): Add `uuid' member.
22697 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
22698 (grub_ntfs_uuid): New function.
22699 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
22700
dc20b0f9 227012008-06-07 Pavel Roskin <proski@gnu.org>
22702
22703 * util/biosdisk.c (open_device): Revert last change to the
22704 function, it broke installation. The sector needs to be
22705 different dependent on which device is opened.
22706
c5e3cfba 227072008-06-06 Robert Millan <rmh@aybabtu.com>
22708
22709 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
22710 rest of GRUB, and breakage doesn't happen if its value were modified.
22711
22712 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22713 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
22714 a constant (same value).
22715 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
22716 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
22717
26a1f8c4 227182008-06-06 Robert Millan <rmh@aybabtu.com>
22719
22720 * util/biosdisk.c (open_device): Do not modify sector offset when
22721 accessing a partition. kern/disk.c already handles this for us.
22722
25d6b327 227232008-06-06 Robert Millan <rmh@aybabtu.com>
22724
22725 * util/grub-emu.c (grub_machine_init): Move code in this function from
22726 here ...
22727 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
22728 segfault in case grub_printf() is called).
22729
22730 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
22731 grub_probe. Update all users not to explicitly add it again.
22732 (grub_device): New variable; contains corresponding device for grubdir.
22733 (fs_module, partmap_module, devabstraction_module): Pass
22734 `--device ${grub_device}' to grub_probe to avoid traversing /dev
22735 every time.
22736
9ece62fb 227372008-06-05 Robert Millan <rmh@aybabtu.com>
22738
22739 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
22740 is found, print it (same layout as with labels).
22741
1ad36d37 227422008-06-04 Robert Millan <rmh@aybabtu.com>
22743
22744 * util/biosdisk.c (get_drive): Rename to ...
22745 (find_grub_drive): ... this. Update all users.
22746
22747 (get_os_disk): Rename to ...
22748 (convert_system_partition_to_system_disk): ... this. Update all users.
22749
22750 (find_drive): Rename to ...
22751 (find_system_device): ... this. Update all users.
22752
e6a30859 227532008-06-04 Robert Millan <rmh@aybabtu.com>
22754
22755 * util/biosdisk.c (get_os_disk): Handle IDA devices.
22756 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22757 (make_device_map): Likewise.
22758
00c108a4 227592008-06-01 Robert Millan <rmh@aybabtu.com>
22760
22761 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
22762 before dereferencing it.
22763
22764 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
22765 union with fat12/fat16-specific ones. Add some new fields, including
22766 `num_serial' for both versions.
22767 (struct grub_fat_data): Add `uuid' member.
22768 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
22769 names. Initialize `data->uuid' using `num_serial'.
22770 (grub_fat_uuid): New function.
22771 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
22772
22773 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
22774 (grub_reiserfs_uuid): New function.
22775 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
22776 member.
22777
22778 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
22779 (grub_xfs_uuid): New function.
22780 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
22781
1385c5bb 227822008-06-01 Robert Millan <rmh@aybabtu.com>
22783
22784 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
22785 code that is backward compatible with pre-uuid search command.
22786
c682dfd7 227872008-05-31 Robert Millan <rmh@aybabtu.com>
22788
22789 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
22790 floppies after everything else, to ensure floppy drive isn't accessed
22791 unnecessarily (patch from Bean).
22792
b7db5d47 227932008-05-31 Robert Millan <rmh@aybabtu.com>
22794
22795 * commands/search.c (search_label, search_fs_uuid, search_file): Do
22796 not print device names when we were asked to set a variable.
22797
6e037aa9 227982008-05-31 Robert Millan <rmh@aybabtu.com>
22799
22800 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
22801 using "cursor-on" and "cursor-off" commands (understood at least by
22802 the Open Firmware flavour on OLPC).
22803
41305bc8 228042008-05-31 Michael Gorven <michael@gorven.za.net>
22805
22806 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
22807 on and off sequences.
22808
69ba137e 228092008-05-31 Robert Millan <rmh@aybabtu.com>
22810
22811 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
22812 * util/update-grub.in: Likewise.
22813
520ae21b 228142008-05-30 Pavel Roskin <proski@gnu.org>
22815
22816 * util/biosdisk.c (linux_find_partition): Simplify logic and
22817 make the code more universal. Keep special processing for
22818 devfs, but use a simple rule for all other devices. If the
22819 device ends with a number, append 'p' and the partition number.
22820 Otherwise, append only the partition number.
22821
5786569b 228222008-05-30 Robert Millan <rmh@aybabtu.com>
22823
22824 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
22825 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
22826 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
22827 the `root' parameter to Linux.
22828
51500452 228292008-05-30 Robert Millan <rmh@aybabtu.com>
22830
22831 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
22832 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
22833 --fs_uuid with --fs-uuid.
22834 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
22835 all filesystems support them).
22836
811d3878 228372008-05-30 Robert Millan <rmh@aybabtu.com>
22838
22839 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 22840 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 22841
cab63c95 228422008-05-30 Robert Millan <rmh@aybabtu.com>
22843
22844 * util/grub.d/00_header.in: Remove obsolete comment referencing
22845 convert_system_path_to_grub_path().
22846 * util/update-grub.in: Likewise.
22847 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
22848 (convert_system_path_to_grub_path): Add a warning message explaining
22849 that this function is deprecated. Rely on is_path_readable_by_grub()
22850 for the readability checks.
22851 (font_path): Use is_path_readable_by_grub() for the readability
22852 check rather than convert_system_path_to_grub_path().
22853
972e2f7a 228542008-05-30 Robert Millan <rmh@aybabtu.com>
22855
22856 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
22857 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
22858 converting it first.
22859 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
22860 grub.cfg for access to font file, and afterwards call it again to set
22861 the root device.
22862
62191274 228632008-05-30 Robert Millan <rmh@aybabtu.com>
22864
22865 * commands/search.c (options): Add --fs_uuid option.
22866 (search_fs_uuid): New function.
22867 (grub_cmd_search): Fix --set argument passing.
22868 Use search_fs_uuid() when requested via --fs_uuid.
22869 (grub_search_init): Update help message.
22870 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
22871 and redeclare it as an array of 16-bit words.
22872 (grub_ext2_uuid): New function.
22873 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
22874 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
22875 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
22876 (GRUB_DEVICE_BOOT_UUID): New variables.
22877 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
22878 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
22879 whenever possible.
22880 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
22881 just assume `root' variable has the right value.
22882 * util/grub.d/10_linux.in: Likewise.
22883 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
22884 via PRINT_FS_UUID.
22885 (main): Recognise `-t fs_uuid' argument.
22886
01b73ec8 228872008-05-30 Robert Millan <rmh@aybabtu.com>
22888
22889 * util/biosdisk.c (map): Redefine structure to hold information
22890 about GRUB drive name.
fe6b695a 22891 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 22892 drive names.
22893 (call_hook): Remove.
22894 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
22895 member. Assume drive has partitions.
22896 (grub_util_biosdisk_open): Access device names via `.device' struct
22897 member.
22898 (open_device): Likewise.
22899 (find_drive): Likewise.
22900 (read_device_map): Adjust map[] usage to match the new struct
22901 definition. Don't check for duplicates (still possible, but not cheap
22902 anymore).
22903 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
22904 (make_device_name): Remove assumption of BIOS-like drive names.
22905
22f16596 229062008-05-30 Pavel Roskin <proski@gnu.org>
22907
22908 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
22909 compiling execute.c doesn't need grub_script.tab.h anymore.
22910 (normal/command.c_DEPENDENCIES): Likewise.
22911 (normal/function.c_DEPENDENCIES): Likewise.
22912 * conf/i386-ieee1275.rmk: Likewise.
22913 * conf/i386-linuxbios.rmk: Likewise.
22914 * conf/i386-pc.rmk: Likewise.
22915 * conf/powerpc-ieee1275.rmk: Likewise.
22916 * conf/sparc64-ieee1275.rmk: Likewise.
22917
528ad8f2 229182008-05-29 Pavel Roskin <proski@gnu.org>
22919
d1dff95d 22920 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
22921 when scanning metadata for volume group name.
22922
528ad8f2 22923 * include/grub/script.h: Don't include grub_script.tab.h. It's
22924 a generated file, which may only be included from the files with
22925 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
22926 use union YYSTYPE, as the later allows forward declaration.
22927 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
22928
47248e08 229292008-05-29 Robert Millan <rmh@aybabtu.com>
22930
22931 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
22932 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
22933 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
22934 (grub_console_checkkey): Add grub_dprintf() call to report unknown
22935 scan codes.
22936
ee632529 229372008-05-29 Robert Millan <rmh@aybabtu.com>
22938
22939 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
22940 control key combinations.
22941
eee96e08 229422008-05-29 Robert Millan <rmh@aybabtu.com>
22943
22944 * util/powerpc/ieee1275/grub-install.in: Move from here ...
22945 * util/ieee1275/grub-install.in: ... to here.
22946 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
22947 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
22948 (grub_install_SOURCES): Likewise.
22949
da9a6a94 229502008-05-29 Robert Millan <rmh@aybabtu.com>
22951
22952 * fs/affs.c: Update copyright year.
22953 * fs/ext2.c: Likewise.
22954 * fs/fshelp.c: Likewise.
22955 * fs/hfsplus.c: Likewise.
22956 * fs/ntfs.c: Likewise.
22957 * fs/xfs.c: Likewise.
22958 * include/grub/fshelp.h: Likewise.
22959 * util/grub-mkdevicemap.c: Likewise.
22960
12e65f3a 229612008-05-28 Robert Millan <rmh@aybabtu.com>
22962
22963 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
22964 might need to be fatfs to support some firmware implementations
22965 (e.g. OFW or EFI).
22966
23023641 229672008-05-28 Robert Millan <rmh@aybabtu.com>
22968
22969 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
22970 devices.
22971 * util/grub-mkdevicemap.c (get_mmc_disk_name)
22972 (make_device_map): Likewise.
22973
887d2619 229742008-05-20 Bean <bean123ch@gmail.com>
22975
22976 * fs/fshelp.c (grub_fshelp_map_block): New function.
22977 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
22978 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
22979
22980 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
22981 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
22982 (grub_fshelp_journal): New structure.
22983 (grub_fshelp_map_block): New function prototype.
22984 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
22985 (grub_fshelp_map_block): Likewise.
22986
22987 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
22988 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
22989 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
22990 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
22991 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
22992 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
22993 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
22994 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
22995 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
22996 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
22997 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
22998 (grub_ext2_sblock): New members for journal support.
22999 (grub_ext3_journal_header): New structure.
23000 (grub_ext3_journal_revoke_header): Likewise.
23001 (grub_ext3_journal_block_tag): Likewise.
23002 (grub_ext3_journal_sblock): Likewise.
23003 (grub_fshelp_node): New members logfile and journal.
23004 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
23005 grub_fshelp_map_block to get real block number.
23006 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
23007 number.
23008 (grub_ext2_read_inode): Likewise.
23009 (grub_ext3_get_journal): New function.
23010 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
23011 (grub_ext2_close): Release memory used by journal.
23012
23013 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
23014 (REISERFS_MAGIC_DESC_BLOCK): New macro.
23015 (grub_reiserfs_transaction_header): Renamed to
23016 grub_reiserfs_description_block, replace field data with real_blocks.
23017 (grub_reiserfs_commit_block): New structure.
23018 (grub_reiserfs_data): New member journal.
23019 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
23020 number.
23021 (grub_reiserfs_read_symlink): Likewise.
23022 (grub_reiserfs_iterate_dir): Likewise.
23023 (grub_reiserfs_open): Likewise.
23024 (grub_reiserfs_read): Likewise.
23025 (grub_reiserfs_get_journal): New function.
23026 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
23027 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
23028 using grub_reiserfs_get_journal.
23029 (grub_reiserfs_close): Release memory used by journal.
23030
23031 * fs/affs.c (grub_affs_read_block): Change block type to
23032 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
23033
23034 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
23035
23036 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
23037
23038 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
23039
23040 * fs/udf.c (grub_udf_read_block): Change block type to
23041 grub_disk_addr_t. Use type cast to avoid warning.
23042
23043 * fs/xfs.c (grub_xfs_read_block): Likewise.
23044
b7c6bed5 230452008-05-16 Christian Franke <franke@computer.org>
23046
23047 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
23048 to ensure that break with ESC will always work.
23049 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
23050 Remove ESC from keyboard queue.
23051
eedf167f 230522008-05-16 Christian Franke <franke@computer.org>
23053
23054 * util/biosdisk.c: [__CYGWIN__] Add includes.
23055 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
23056 (get_os_disk): Move variable declarations to OS specific
23057 parts to avoid warning.
23058 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
23059 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
23060 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
23061 Cygwin.
23062 * util/getroot.c: [__CYGWIN__] Add includes.
23063 (strip_extra_slashes): Fix "/" case.
23064 [__CYGWIN__] (get_win32_path): New function.
23065 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
23066 [__CYGWIN__] (find_root_device): Disable.
23067 [__CYGWIN__] (get_bootsec_serial): New function.
23068 [__CYGWIN__] (find_cygwin_root_device): Likewise.
23069 [__linux__] (grub_guess_root_device): Add early returns to simplify
23070 structure.
23071 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
23072 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
23073 check for Linux only.
23074
a079699e 230752008-05-15 Bean <bean123ch@gmail.com>
23076
23077 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
23078 keyboard hang problem in apple's intel mac.
23079
1cf4059a 230802008-05-09 Robert Millan <rmh@aybabtu.com>
23081
23082 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
23083 devices.
23084 * util/grub-mkdevicemap.c (get_virtio_disk_name)
23085 (make_device_map): Likewise.
23086 Reported by Aurelien Jarno <aurel32@debian.org>
23087
ed759390 230882008-05-07 Ian Campbell <ijc@hellion.org.uk>
23089
23090 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
23091 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
23092 (make_device_map): Output entries for xvd type disks.
23093
b56c4eaa 230942008-05-07 Robert Millan <rmh@aybabtu.com>
23095
23096 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
23097 devices.
23098 * util/grub-mkdevicemap.c (get_cciss_disk_name)
23099 (make_device_map): Likewise.
23100 Reported by Roland Dreier <rdreier@cisco.com>
23101
7f8866ed 231022008-05-07 Robert Millan <rmh@aybabtu.com>
23103
23104 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
23105 grub_strstr() call. Correct a few mistakes in failure path handling.
23106
b0346e0f 231072008-05-06 Robert Millan <rmh@aybabtu.com>
23108
23109 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23110 Do not print a trailing slash (therefore, the root directory is an
23111 empty string).
23112 (convert_system_path_to_grub_path): Do not remove trailing slash
23113 from make_system_path_relative_to_its_root() output.
23114
23115 * util/i386/pc/grub-install.in: Add trailing slash to output from
23116 make_system_path_relative_to_its_root().
23117
6cf12cbd 231182008-05-06 Robert Millan <rmh@aybabtu.com>
23119
23120 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
23121 ensures that output lines aren't intermangled with those sent to
23122 stderr (via grub_util_info()).
23123 * util/grub-probe.c (grub_refresh): Likewise.
23124 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
23125
0fbb3117 231262008-05-05 Christian Franke <franke@computer.org>
23127
23128 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
23129 Add Cygwin device names.
23130 (get_ide_disk_name) [__CYGWIN__]: Likewise.
23131 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
23132 (check_device): Return error instead of success on empty name.
23133 (make_device_map): Move label inside linux specific code to
23134 prevent compiler warning.
23135
8124cdb7 231362008-04-30 Robert Millan <rmh@aybabtu.com>
23137
23138 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
23139 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
23140 first boot option.
23141 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
23142
094c01d0 231432008-04-29 Robert Millan <rmh@aybabtu.com>
23144
23145 * docs/grub.cfg: New file (example GRUB configuration).
23146
f4b1fc02 231472008-04-26 Robert Millan <rmh@aybabtu.com>
23148
329ce2a5 23149 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
23150 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
23151 and `disk/ieee1275/nand.c'.
f4b1fc02 23152
25f16ec1 231532008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 23154
25f16ec1 23155 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
23156 i386-linuxbios.
23157
23158 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
23159 change the buffer size to 4096 for cdrom device.
23160
23161 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
23162 and nand.mod.
23163 (_linux_mod_SOURCES): New variable.
23164 (_linux_mod_CFLAGS): Likewise.
23165 (_linux_mod_LDFLAGS): Likewise.
23166 (linux_mod_SOURCES): Likewise.
23167 (linux_mod_CFLAGS): Likewise.
23168 (linux_mod_LDFLAGS): Likewise.
23169 (nand_mod_SOURCES): Likewise.
23170 (nand_mod_CFLAGS): Likewise.
23171 (nand_mod_LDFLAGS): Likewise.
23172
23173 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
23174 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
23175 type property. (nand device in olpc don't have this property)
23176
23177 * include/grub/disk.h (grub_disk_dev_id): New macro
23178 GRUB_DISK_DEVICE_NAND_ID.
23179
23180 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
23181 function prototype.
23182 (grub_rescue_cmd_initrd): Likewise.
23183
23184 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
23185 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
23186 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 23187
25f16ec1 23188 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
23189 GRUB_MACHINE_IEEE1275 is defined.
23190
23191 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
23192 Use NESTED_FUNC_ATTR attribute on the hook parameter.
23193
23194 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
23195 on nested function heap_init.
23196 (grub_upper_mem): New variable for i386-ieee1275.
23197 (grub_get_extended_memory): New function for i386-ieee1275.
23198 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
23199
23200 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
23201 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
23202 property.
f19dbdb7 23203
25f16ec1 23204 * loader/i386/ieee1275/linux.c: New file.
23205
23206 * loader/i386/ieee1275/linux_normal.c: New file.
23207
23208 * disk/ieee1275/nand.c: New file.
23209
e89d61e9 232102008-04-18 Thomas Schwinge <tschwinge@gnu.org>
23211
23212 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
23213 value.
23214 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
23215
602566f6 232162008-04-18 Robert Millan <rmh@aybabtu.com>
23217
23218 Restructures early code path on ieee1275 to unify grub_main() as
23219 the first C function that is executed in every platform.
23220
23221 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
23222 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
23223 cmain().
23224 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
23225 * kern/ieee1275/cmain.c (cmain): Rename to ...
23226 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
23227 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
23228 at the beginning.
23229
57490c2b 232302008-04-18 Robert Millan <rmh@aybabtu.com>
23231
23232 * util/update-grub.in: Fix syntax error when setting
23233 `GRUB_PRELOAD_MODULES'.
23234 Reported by Stephane Chazelas <stephane@artesyncp.com>
23235
1977517d 232362008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
23237
23238 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
23239 section into account, newer toolchains generate unique build ids
23240 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 23241 we want build ids to be preserved
1977517d 23242 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
23243 far from other sections don't cause the raw binary images grow
23244 size
23245
bfb1f1a2 232462008-04-15 Robert Millan <rmh@aybabtu.com>
23247
23248 * disk/lvm.c: Update copyright year.
23249 * kern/misc.c: Likewise.
23250
01979850 232512008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23252
23253 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 23254 there is no memory left for physical volume name.
01979850 23255
0a1150e2 232562008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
23257
23258 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
23259 volume name mapping to support bigger than 9 character names properly.
23260
82ead3fe 232612008-04-13 Robert Millan <rmh@aybabtu.com>
23262
23263 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
23264 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
23265
e54a72f5 232662008-04-13 Christian Franke <franke@computer.org>
23267
23268 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
23269 to create a floppy emulation boot CD when non emulation mode
23270 does not work.
23271 Enable Joliet CD filesystem extension.
23272
9fe86034 232732008-04-13 Robert Millan <rmh@aybabtu.com>
23274
23275 * kern/misc.c (grub_strncat): Fix off-by-one error.
23276 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
23277
23278 * kern/env.c (grub_env_context_close): Clear current context, not
23279 previous one.
23280 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
23281
23282 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
23283
7ceeee39 232842008-04-13 Robert Millan <rmh@aybabtu.com>
23285
23286 Improve robustness when handling LVM.
23287
23288 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 23289 (and leave `*p' unmodified).
7ceeee39 23290 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
23291 through it.
23292 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
23293 iterating through it.
23294 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
23295 through it.
fe6b695a 23296 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 23297 when due) on each grub_lvm_getvalue() or grub_strstr() call.
23298 Don't assume `vg->pvs != NULL' when iterating through it.
23299
58cd3d85 233002008-04-13 Robert Millan <rmh@aybabtu.com>
23301
23302 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
23303 * genmk.rb (partmap): New variable.
23304 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
23305 (#{partmap}): New target rule.
23306 * genpartmaplist.sh: New file.
23307 * Makefile.in (pkglib_DATA): Add partmap.lst.
23308 (partmap.lst): New target rule.
23309 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
23310 modules (including all partition maps), instead of preloading them.
23311
78b51059 233122007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
23313
23314 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
23315 `linux-boot-prober' (if installed) to detect other operating
23316 systems which are installed on the computer and add them to
23317 the boot menu.
23318 * conf/common.rmk: Build and install 30_os-prober.
23319
a91627b4 233202008-04-12 Robert Millan <rmh@aybabtu.com>
23321
23322 * kern/powerpc/ieee1275/init.c: Move from here ...
23323 * kern/ieee1275/init.c: ... to here. Update all users.
23324
23325 * kern/powerpc/ieee1275/cmain.c: Move from here ...
23326 * kern/ieee1275/cmain.c: ... to here. Update all users.
23327
23328 * kern/powerpc/ieee1275/openfw.c: Move from here ...
23329 * kern/ieee1275/openfw.c: ... to here. Update all users.
23330
23331 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
23332 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
23333
322562ea 233342008-04-10 Pavel Roskin <proski@gnu.org>
23335
23336 * configure.ac: Always use "_cv_" in cache variables for
23337 compatibility with Autoconf 2.62.
23338
a02a73c5 233392008-04-07 Robert Millan <rmh@aybabtu.com>
23340
23341 Revert grub/machine/init.h addition by Pavel (since it breaks on
23342 i386-ieee1275 and others):
23343 * util/i386/pc/misc.c: Remove grub/machine/init.h.
23344 * util/powerpc/ieee1275/misc.c: Likewise.
23345
25c024b1 233462008-04-07 Robert Millan <rmh@aybabtu.com>
23347
23348 * util/grub-probe.c (probe): Improve error message.
23349
3cbd2f98 233502008-04-07 Robert Millan <rmh@aybabtu.com>
23351
23352 * util/biosdisk.c (read_device_map): Skip devices that don't exist
23353 (this prevents the presence of a bogus entry from ruining the whole
23354 thing).
23355
87a297bf 233562008-04-06 Pavel Roskin <proski@gnu.org>
23357
36747a62 23358 * util/biosdisk.c: Include grub/util/biosdisk.h.
23359 * util/grub-fstest.c (execute_command): Make static.
23360 * util/grub-mkdevicemap.c (check_device): Likewise.
23361 * util/i386/pc/misc.c: Include grub/machine/init.h.
23362 * util/powerpc/ieee1275/misc.c: Likewise.
23363 * util/lvm.c: Include grub/util/lvm.h.
23364 * util/misc.c: Include grub/kernel.h, grub/misc.h and
23365 grub/cache.h.
23366 * util/raid.c: Include grub/util/raid.h.
23367 (grub_util_getdiskname): Make static.
23368
87a297bf 23369 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
23370 grub_hostfs_fini(), as they are called from grub_init_all() and
23371 grub_fini_all() respectively. This fixes an infinite loop in
23372 grub-fstest due to double registration of hostfs.
23373 Reported by Christian Franke <Christian.Franke@t-online.de>
23374
f6ce7629 233752008-04-05 Pavel Roskin <proski@gnu.org>
23376
23377 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
23378 all 8 functions. Otherwise, probe function 0 only.
23379
070e49e4 233802008-04-04 Pavel Roskin <proski@gnu.org>
23381
8b088a4c 23382 * commands/lspci.c (grub_lspci_iter): Print the bus number
23383 correctly.
23384
4f657021 23385 * commands/lspci.c (grub_pci_classes): Fix typos.
23386 (grub_lspci_iter): Don't print func twice. Print vendor ID
23387 before device ID, as it's normally done.
23388
070e49e4 23389 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
23390 Fix signedness warnings.
23391 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
23392 Likewise.
23393 * util/ieee1275/get_disk_name.c: Include config.h so that
23394 _GNU_SOURCE is defined and getline() is declared. Mark an
23395 unused argument as such. Fix a signedness warning.
23396
ba7328dc 233972008-04-02 Pavel Roskin <proski@gnu.org>
23398
26887f22 23399 * genkernsyms.sh.in: Use more robust assignments for CC and
23400 srcdir. Quote srcdir.
23401 * gensymlist.sh.in: Likewise. Assert at the compile time that
23402 the symbol table is not empty.
23403
ba7328dc 23404 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
23405 * fs/cpio.c (grub_cpio_read): Likewise.
23406
0f582c6b 234072008-04-01 Pavel Roskin <proski@gnu.org>
23408
4b6e1995 23409 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
23410 * disk/host.c (grub_host_open): Likewise.
23411 * disk/loopback.c (grub_loopback_open): Likewise.
23412 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
23413 disk->id as in disk/host.c, not a multi-character constant.
23414
828a2768 23415 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
23416 later is obsolete, potentially dangerous and sets a bad example.
23417 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
23418 * util/misc.c (grub_util_get_image_size): Likewise.
23419
2bb4fb47 23420 * disk/loopback.c (options): Improve help for "--partitions".
23421
0f582c6b 23422 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
23423 options to align them with the short options, e.g. "echo -e".
23424
a33224e0 234252008-03-31 Bean <bean123ch@gmail.com>
23426
23427 * video/reader/png.c (grub_png_data): New member is_16bit and
23428 image_data.
23429 (grub_png_decode_image_header): Detect 16 bit png image.
23430 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
23431 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
23432 (grub_video_reader_png): Release memory occupied by image_data.
23433
23434 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
23435 4096 bytes.
23436 (grub_nfs_mount): Skip the test for sector per cluster.
23437
23438 * include/grub/ntfs.h (MAX_SPC): Removed.
23439
86cb4f54 234402008-03-31 Bean <bean123ch@gmail.com>
23441
23442 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
23443 (grub_probe_SOURCES): Add fs/afs.c.
23444 (grub_fstest_SOURCES): Likewise.
23445 (afs_mod_SOURCES): New variable.
23446 (afs_mod_CFLAGS): Likewise.
23447 (afs_mod_LDFLAGS): Likewise.
23448
23449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
23450 (grub_emu_SOURCES): Likewise.
23451
23452 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23453
23454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23455
23456 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23457
23458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23459
23460 * fs/afs.c: New file.
23461
17c74c21 234622008-03-30 Pavel Roskin <proski@gnu.org>
23463
4cb68e89 23464 * disk/host.c: Include grub/misc.h to fix a warning.
23465 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
23466 warnings about implicit declarations.
23467
8790bb04 23468 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
23469 variable.
23470 * include/grub/i386/loader.h: Change declaration of
23471 grub_linux_boot() to match what grub_loader_set() expects.
23472 * util/getroot.c (grub_guess_root_device): Return const char* to
23473 fix a warning.
23474 * util/grub-probe.c (probe): Fix a warning about uninitialized
23475 abstraction_name variable.
23476 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
23477 second argument as unused to fix a warning.
23478
9a3f3296 23479 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
23480 missing grub_error() call.
23481
0ecef90d 23482 * util/update-grub_lib.in: Define datarootdir, since Autoconf
23483 2.60 and newer uses it to define datadir.
23484
0bf6d401 23485 * commands/sleep.c: Fix warning about implicit declaration.
23486 * disk/memdisk.c: Likewise.
23487 * loader/aout.c: Likewise.
23488 * loader/i386/bsd_normal.c: Likewise.
23489 * util/grub-probe.c: Likewise.
23490
7cdacf97 23491 * commands/i386/cpuid.c (has_longmode): Make static.
23492 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
23493 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
23494
17c74c21 23495 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
23496 GDT. This is more robust, as %ds can change.
23497 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
23498 calling real_to_prot().
23499 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
23500
80a3e68b 235012008-03-28 Pavel Roskin <proski@gnu.org>
23502
23503 * kern/i386/pc/startup.S: Assert that uncompressed functions
23504 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
23505 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
23506 code, as they push parts of the code (error handlers) beyond
23507 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
23508 code as correctness and size.
23509
77bcd272 235102008-03-28 Pavel Roskin <proski@gnu.org>
23511
23512 * kern/i386/pc/startup.S
23513 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
23514 data block address to the real mode, keep offset minimal. This
23515 works around a bug in AWARD BIOS on old Athlon systems, which
23516 makes CD detection hang.
23517
c5dfd43b 235182008-03-26 Pavel Roskin <proski@gnu.org>
23519
23520 * normal/color.c (grub_parse_color_name_pair): Make `name' a
23521 const.
23522 * include/grub/normal.h: Add grub_parse_color_name_pair()
23523 declaration.
23524
bf962df2 235252008-03-24 Bean <bean123ch@gmail.com>
23526
23527 * disk/i386/pc/biosdisk.c (cd_start): Removed.
23528 (cd_count): Removed.
23529 (cd_drive): New variable.
23530 (grub_biosdisk_get_drive): Don't check for (cdN) device.
23531 (grub_biosdisk_call_hook): Likewise.
23532 (grub_biosdisk_iterate): Change cdrom detection method.
23533 (grub_biosdisk_open): Replace cd_start with cd_drive.
23534 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
23535 detect cdrom device.
23536
23537 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
23538 Removed.
23539 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
23540 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
23541 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
23542 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
23543 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
23544 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
23545 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
23546 (grub_biosdisk_cdrp): New structure.
23547 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
23548
23549 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
23550
23551 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
23552 device.
23553
23554 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
23555 New function.
23556
68e7fc7a 235572008-03-20 Robert Millan <rmh@aybabtu.com>
23558
23559 Remove 2 TiB limit in ata.mod.
23560 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
23561 (grub_ata_dumpinfo): Print sector count with 0x%llx.
23562 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
23563 grub_uint64_t instead of grub_uint32_t.
23564
38ad2cf5 235652008-03-05 Bean <bean123ch@gmail.com>
23566
23567 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
23568 (grub_multiboot): Set boot device.
23569
23570 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
23571
2b89344e 235722008-03-02 Bean <bean123ch@gmail.com>
23573
23574 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
23575 symlink_buffer.
23576
87a95d1f 235772008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
23578
23579 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
23580 texinfo.tex.
23581
23582 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
23583 modified.
23584
23585 * docs/fdl.texi: New file.
f19dbdb7 23586
87a95d1f 23587 * docs/mdate-sh: New file. Copied from gnulib.
23588 * docs/texinfo.tex: Likewise.
23589
23590 * config.guess: Updated from gnulib.
23591 * install-sh: Likewise.
23592
7dc15d8e 235932008-02-28 Robert Millan <rmh@aybabtu.com>
23594
23595 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
23596 (aout_mod_SOURCES): New variable.
23597 (aout_mod_CFLAGS): Likewise.
23598 (aout_mod_LDFLAGS): Likewise.
23599
23600 * conf/i386-ieee1275.rmk: Likewise.
23601
b00ab696 236022008-02-28 Robert Millan <rmh@aybabtu.com>
23603
23604 * util/update-grub.in: Reorganise terminal validity check. Accept
23605 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
23606 Based on suggestion by Franklin PIAT.
23607
79ca2d78 236082008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
23609
23610 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
23611 function.
23612 * util/getroot.c (grub_util_check_block_device): New function that
23613 returns the given argument if it is a block device and returns NULL else.
23614 * util/grub-probe.c (argument_is_device): New variable.
23615 (probe): Promote device_name from a variable to an argument. Receive
23616 device_name from grub_util_check_block_device() if path is NULL and from
23617 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 23618 (options): Introduce new parameter '-d, --device'.
79ca2d78 23619 (main): Add description of the new parameter to the help screen.
23620 Rename path variable to argument. Set argument_is_device if the '-d'
23621 option is given. Pass argument to probe() depending on
23622 argument_is_device.
23623
0d16e571 236242008-02-24 Bean <bean123ch@gmail.com>
23625
23626 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
23627 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
23628 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
23629 (GRUB_ISO9660_VOLDESC_PART): Likewise.
23630 (GRUB_ISO9660_VOLDESC_END): Likewise.
23631 (grub_iso9660_primary_voldesc): New member escape.
23632 (grub_iso9660_data): New member joliet.
23633 (grub_iso9660_convert_string): New function.
23634 (grub_iso9660_mount): Detect joliet extension.
23635 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
23636 (grub_iso9660_iso9660_label): Likewise.
23637
23638 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
23639 (grub_setup_SOURCES): Add fs/udf.c.
23640 (grub_fstest_SOURCES): Likewise.
23641 (udf_mod_SOURCES): New variable.
23642 (udf_mod_CFLAGS): Likewise.
23643 (udf_mod_LDFLAGS): Likewise.
23644
23645 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
23646 (grub_emu_SOURCES): Likewise.
23647
23648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23649
23650 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23651
23652 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23653
23654 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23655
23656 * fs/udf.c: New file.
23657
8a594a17 236582008-02-24 Robert Millan <rmh@aybabtu.com>
23659
23660 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
23661 (normal/lexer.c_DEPENDENCIES): New variables.
23662 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23663 (normal/lexer.c_DEPENDENCIES): Likewise.
23664 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
23665 (normal/lexer.c_DEPENDENCIES): Likewise.
23666 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
23667 (normal/lexer.c_DEPENDENCIES): Likewise.
23668 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23669 (normal/lexer.c_DEPENDENCIES): Likewise.
23670 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
23671 (normal/lexer.c_DEPENDENCIES): Likewise.
23672
2dc33c03 236732008-02-23 Robert Millan <rmh@aybabtu.com>
23674
23675 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
23676 since they were intended to be in hex. This didn't break previously
23677 because of a bug in gpt_partition_map_iterate() (see below).
23678
23679 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
23680 when checking the validity of GPT header.
23681 Remove `partno', since it always provides the same information as `i'.
23682
f6f4cfb0 236832008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
23684
23685 * include/grub/efi/time.h: Fix a wrong comment.
23686
79ff665f 236872008-02-19 Pavel Roskin <proski@gnu.org>
23688
23689 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
23690 message.
23691
d38e24c2 236922008-02-19 Bean <bean123ch@gmail.com>
23693
23694 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
23695 (aout_mod_SOURCES): New variable.
23696 (aout_mod_CFLAGS): Likewise.
23697 (aout_mod_LDFLAGS): Likewise.
23698 (_bsd_mod_SOURCES): New variable.
23699 (_bsd_mod_CFLAGS): Likewise.
23700 (_bsd_mod_LDFLAGS): Likewise.
23701 (bsd_mod_SOURCES): New variable.
23702 (bsd_mod_CFLAGS): Likewise.
23703 (bsd_mod_LDFLAGS): Likewise.
23704
23705 * include/grub/aout.h: New file.
23706
23707 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
23708
23709 * include/grub/i386/bsd.h: New file.
23710
23711 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
23712 to make it public.
23713
23714 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
23715 function is called, so that it's possible to change it inside the hook.
23716 (grub_elf64_load): Likewise.
23717 (grub_elf_file): Don't close the file if elf header is not found.
23718 (grub_elf_close): Close the file if grub_elf_file fails (The new
23719 grub_elf_file won't close it).
23720 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
23721 (grub_elf64_size): Likewise.
23722
23723 * kern/i386/loader.S (grub_unix_real_boot): New function.
23724
23725 * loader/aout.c: New file.
23726
23727 * loader/i386/bsd.c: New file.
23728
23729 * loader/i386/bsd_normal.c: New file.
23730
23731 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
23732
23733 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 23734 can test other formats.
d38e24c2 23735
b93bdb0f 237362008-02-19 Robert Millan <rmh@aybabtu.com>
23737
23738 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
23739 (grub_gpt_partition_type_empty): Redefine with macro from
23740 `<grub/gpt_partition.h>'.
23741 (gpt_partition_map_iterate): Adjust partition type comparison.
23742
23743 Export `entry' as partmap-specific `part.data' struct.
23744 (grub_gpt_header, grub_gpt_partentry): Move from here ...
23745
23746 * include/grub/gpt_partition.h (grub_gpt_header)
23747 (grub_gpt_partentry): ... to here (new file).
23748
23749 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
23750
23751 (grub_gpt_partition_type_bios_boot): New const variable, defined
23752 with macro from `<grub/gpt_partition.h>'.
23753
23754 (setup): Replace `first_start' with `embed_region', which keeps
23755 track of the embed region (and is partmap-agnostic).
23756
23757 Replace find_first_partition_start() with find_usable_region(),
23758 which finds a usable region for embedding using partmap-specific
23759 knowledge (supports PC/MSDOS and GPT).
23760
23761 Fix all assumptions that the embed region start at sector 1, using
23762 `embed_region.start' from now on. Similarly, use `embed_region.end'
23763 rather than `first_start' to calculate available size.
23764
23765 In grub_util_info() message, replace "into after the MBR" with an
23766 indication of the specific sector our embed region starts at.
23767
66cb40f6 237682008-02-19 Robert Millan <rmh@aybabtu.com>
23769
23770 * DISTLIST: Replace `commands/ieee1275/halt.c' and
23771 `commands/ieee1275/reboot.c' with `commands/halt.c' and
23772 `commands/reboot.c'.
23773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23774 (halt_mod_SOURCES): Likewise.
23775 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
23776 (halt_mod_SOURCES): Likewise.
23777
b7202015 237782008-02-17 Christian Franke <franke@computer.org>
23779
23780 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
23781
32b0fc49 237822008-02-17 Robert Millan <rmh@aybabtu.com>
23783
23784 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23785 set `first_start' to 0 for non-PC/MSDOS partition maps.
23786
aca63502 237872008-02-16 Robert Millan <rmh@aybabtu.com>
23788
23789 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
23790 do not assume partition map is PC/MSDOS before performing checks that
23791 are specific to that layout.
23792
0de8be86 237932008-02-13 Robert Millan <rmh@aybabtu.com>
23794
23795 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
23796 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
23797 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
23798
c3db8364 237992008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
23800
23801 * configure.ac: Only a cosmetic change on the handling of
23802 -fno-stack-protector.
23803
f714229e 238042008-02-12 Alexandre Boeglin <alex@boeglin.org>
23805
c3db8364 23806 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
23807 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
23808 reboot.c.
f714229e 23809 (grub_install_SOURCES): Add halt.mod and reboot.mod.
23810 (halt_mod_SOURCES): New variable.
23811 (halt_mod_CFLAGS): Likewise.
23812 (halt_mod_LDFLAGS): Likewise.
23813 (reboot_mod_SOURCES): Likewise.
23814 (reboot_mod_CFLAGS): Likewise.
23815 (reboot_mod_LDFLAGS): Likewise.
23816
c3db8364 23817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
23818 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
23819 reboot.c.
f714229e 23820 (halt_mod_SOURCES): Likewise.
23821 (reboot_mod_SOURCES): Likewise.
23822
c3db8364 23823 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
23824 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 23825 (reboot_mod_SOURCES): Likewise.
23826
23827 * commands/i386/pc/reboot.c: merge this file ...
23828
23829 * commands/ieee1275/reboot.c: ... and this file ...
23830
23831 * commands/reboot.c: ... to this file.
c3db8364 23832 Add some precompiler directive to include the correct header for
23833 each machine.
f714229e 23834
23835 * commands/ieee1275/halt.c: move this file ...
23836
23837 * commands/halt.c: ... to here.
c3db8364 23838 Add some precompiler directive to include the correct header for
23839 each machine.
f714229e 23840
23841 * include/grub/efi/efi.h (grub_reboot): New function declaration.
23842 (grub_halt): Likewise.
23843
23844 * kern/efi/efi.c (grub_reboot): New function.
23845 (grub_halt): Likewise.
23846
c74493e0 238472008-02-12 Robert Millan <rmh@aybabtu.com>
23848
23849 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
23850 /dev (like it is done for /dev/mapper). This doesn't provide support
23851 for EVMS, but at least it is now easy to identify the problem when it
23852 arises.
23853
d0db4b04 238542008-02-11 Robert Millan <rmh@aybabtu.com>
23855
23856 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
23857 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
23858 comparing it with -1, not 0.
23859
bf748642 238602008-02-10 Robert Millan <rmh@aybabtu.com>
23861
23862 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
23863 `disk/lvm.c'.
23864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23865 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23866
23867 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
23868 `disk/lvm.c' to the end of the list.
23869 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
23870 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23871
b5db202a 238722008-02-10 Robert Millan <rmh@aybabtu.com>
23873
23874 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
23875 grub_print_error() instead. This will let user know why we're entering
23876 rescue mode.
23877 Based on suggestions from Sam Morris.
23878
83abee31 238792008-02-10 Alexandre Boeglin <alex@boeglin.org>
23880
23881 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
23882 on remaining N args, instead of "--" arg N times.
23883
78d5a08b 238842008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
23885
23886 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
23887 (fill_with_default_glyph): Changed to use unknown_glyph for fill
23888 pattern for unknown glyphs.
23889
68807e5f 238902008-02-09 Robert Millan <rmh@aybabtu.com>
23891
23892 * configure.ac: Probe for `help2man'.
23893 * Makefile.in (builddir): New variable.
23894 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
23895 or otherwise add a few flags/options to it.
23896 (install-local): For every executable utility or script that is
23897 installed, invoke $(HELP2MAN) to install a manpage based on --help
23898 output.
23899
23900 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
23901 that it doesn't prevent --help from working in build tree.
23902
23903 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
23904 with `bug-grub@gnu.org'.
23905 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
23906 * util/update-grub.in (usage): New function.
23907 Implement proper argument check, with support for --help and --version
23908 (as well as existing -y).
23909
239102008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 23911
23912 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
23913 avoid overwriting previous output.
23914 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
23915
c1962162 239162008-02-09 Robert Millan <rmh@aybabtu.com>
23917
23918 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
23919 drawing the menu.
23920
3dac2e3f 239212008-02-09 Robert Millan <rmh@aybabtu.com>
23922
23923 * commands/sleep.c: New file.
23924 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
23925 (sleep_mod_SOURCES): New variable.
23926 (sleep_mod_CFLAGS): Likewise.
23927 (sleep_mod_LDFLAGS): Likewise.
23928
7a634e08 239292008-02-09 Robert Millan <rmh@aybabtu.com>
23930
23931 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
23932 situations in which we can deduce the RAID size and the superblock
23933 doesn't match it.
23934
b92f0c18 239352008-02-09 Robert Millan <rmh@aybabtu.com>
23936
23937 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
23938 and return a grub_diskmemberlist_t composed of LVM physical volumes.
23939 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
23940
23941 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
23942 and return a grub_diskmemberlist_t composed of physical array members.
23943 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
23944
23945 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
23946 prototype.
23947 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
23948 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
23949 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
23950
23951 * util/grub-probe.c (probe): Move partmap probing code from here ...
23952 (probe_partmap): ... to here.
23953 (probe): Use probe_partmap() once for the disk we're probing, and
23954 additionally, when such disk contains a memberlist() struct member,
23955 once for each disk that is contained in the structure returned by
23956 memberlist().
23957
91a4bf68 239582008-02-09 Robert Millan <rmh@aybabtu.com>
23959
23960 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
23961 environment variable to 'all' in order to obtain debug output from
23962 non-util/ code.
23963 * util/i386/pc/grub-setup.c (main): Likewise.
23964
a96f9caa 239652008-02-08 Robert Millan <rmh@aybabtu.com>
23966
23967 * disk/raid.c (grub_raid_scan_device): Check for
23968 `array->device[sb.this_disk.number]' rather than for
23969 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 23970 guaranteed to be accessible.
a96f9caa 23971
b37a9222 239722008-02-08 Robert Millan <rmh@aybabtu.com>
23973
23974 * disk/raid.c: Update copyright.
23975 * fs/cpio.c: Likewise.
23976 * include/grub/raid.h: Likewise.
23977 * loader/i386/pc/multiboot.c: Likewise.
23978 * util/hostfs.c: Likewise.
23979
5626aee1 239802008-02-08 Robert Millan <rmh@aybabtu.com>
23981
23982 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
23983 to a grub_disk_t array.
23984 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
23985 `device[x]'.
23986 (grub_raid_scan_device): Replace `device[x].name' accesses with
23987 `device[x]->name'. Simplify initialization of `array->device[x]'.
23988
554f0187 239892008-02-08 Robert Millan <rmh@aybabtu.com>
23990
23991 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
23992 grub_dprintf() calls.
23993 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
23994 error message.
23995
1ec8425d 239962008-02-07 Christian Franke <franke@computer.org>
23997
23998 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
23999 instead of fseek and ftell to support large files.
24000 (grub_hostfs_read): Likewise.
24001
f2156fda 240022008-02-07 Robert Millan <rmh@aybabtu.com>
24003
24004 Patch from Jeroen Dekkers.
24005 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 24006 failure, since successfully reading all array members might not be
f2156fda 24007 required.
24008
9216e0e7 240092008-02-06 Robert Millan <rmh@aybabtu.com>
24010
24011 * util/grub-probe.c (probe): Simplify partmap probing (with the
24012 assumption that the first word up to the underscore equals to
24013 the module name).
24014
b0dfd29a 240152008-02-06 Christian Franke <franke@computer.org>
24016
24017 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
24018 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
24019 last block of a cpio or tar stream.
24020 Check for "TRAILER!!!" instead of any empty data
24021 block to detect last block of a cpio stream.
24022 (grub_cpio_dir): Fix constness of variable np.
24023 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
24024 cpio or tar trailer is detected. This fixes a crash
24025 on open of a non existing file.
24026
c32865bf 240272008-02-05 Bean <bean123ch@gmail.com>
24028
24029 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
24030 address of entry.
24031 (grub_multiboot_load_elf64): Likewise.
24032 (grub_multiboot): Initialize mbi structure.
24033
24034 * util/grub-fstest.c: Don't include unused header file script.h.
24035
fe6b695a 24036 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 24037 of file.
24038 (grub_fstest_SOURCES): Likewise.
24039
409480b7 240402008-02-05 Robert Millan <rmh@aybabtu.com>
24041
24042 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
24043 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
24044 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
24045 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
24046
24047 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
24048 (translation_table): Replace hardcoded values with macros
24049 provided by `<grub/term.h>'.
24050
24051 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
24052 (keyboard_map): Correct/add a few values, with macros provided
24053 by `<grub/term.h>'.
24054 (keyboard_map_shift): Zero values that don't differ from their
24055 `keyboard_map' equivalents.
24056 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
24057 Discard the second scan code that is always sent by Caps lock.
24058 Only use `keyboard_map_shift' when it provides a non-zero value,
24059 otherwise fallback to `keyboard_map'.
24060
99fadbaa 240612008-02-04 Bean <bean123ch@gmail.com>
24062
24063 * Makefile.in (enable_grub_fstest): New variable.
24064
24065 * conf/common.rmk (grub_fstest_init.lst): New rule.
24066 (grub_fstest_init.h): Likewise.
24067 (grub_fstest_init.c): Likewise.
24068 (util/grub-fstest.c_DEPENDENCIES): New variable.
24069 (grub_fstest_SOURCES): Likewise.
24070
24071 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
24072
24073 * util/grub-fstest.c: New file.
24074
bf567c50 240752008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24076
24077 Make grub-setup handle a separate root device.
f19dbdb7 24078
bf567c50 24079 * util/i386/pc/grub-setup.c (setup): Always open the root device,
24080 so that the root device can be compared with the destination
24081 device.
24082 When embedding the core image, if the root and destination devices
24083 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
24084 0xFF.
24085 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 24086
9be6b98b 240872008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24088
24089 Add support for having a grub directory in a different drive. This
24090 is still only the data handling part.
f19dbdb7 24091
9be6b98b 24092 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
24093 (codestart): Save %dh in GRUB_ROOT_DRIVE.
24094 (grub_root_drive): New variable.
24095
24096 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
24097 instead of GRUB_BOOT_DRIVE to construct a device name. Set
24098 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
24099 as it was.
24100
24101 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
24102
24103 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
24104 macro.
24105 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
24106
24107 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
24108 is bogus, because PXE booting does not specify any drive
24109 correctly.
24110
24111 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
24112 am not sure if this is really correct.
24113
24114 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
24115 is always identical to the boot drive when booting from a CD.
24116
24117 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
24118 longer.
24119 (root_drive): New variable.
24120 (real_start): Unconditionally set %dh to ROOT_DRIVE.
24121 (setup_sectors): Push %dx right after popping it, because %dh will
24122 be modified later.
24123 (copy_buffer): Restore %dx.
24124
e0ca0677 241252008-02-03 Robert Millan <rmh@aybabtu.com>
24126
24127 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
24128 use `cdboot.img' for cdrom images.
24129
3b3f6629 241302008-02-03 Robert Millan <rmh@aybabtu.com>
24131
24132 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
24133 only setup gfxterm when `font' command has succeeded.
24134
d42b3672 241352008-02-03 Robert Millan <rmh@aybabtu.com>
24136
24137 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
24138 (grub_rescue_cmd_multiboot_loader)
24139 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
24140
fa370ea6 241412008-02-03 Pavel Roskin <proski@gnu.org>
24142
e0c5dacb 24143 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 24144 %edx and %esi from stack only after grub_gate_a20() is called.
24145 grub_gate_a20() clobbers %edx.
24146
f2a76e1d 241472008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
24148
24149 * configure.ac (AC_INIT): Bumped to 1.96.
24150
24151 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
24152 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
24153 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
24154 video/readers/png.c.
24155
90fd32d1 241562008-02-03 Bean <bean123ch@gmail.com>
9be665dd 24157
24158 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
24159 (cdboot_img_SOURCES): New variable.
24160 (cdboot_img_ASFLAGS): New variable.
24161 (cdboot_img_LDFLAGS): New variable.
24162
24163 * boot/i386/pc/cdboot.S: New file.
24164
24165 * disk/i386/pc/biosdisk.c (cd_start): New variable.
24166 (cd_count): Likewise.
24167 (grub_biosdisk_get_drive): Add support for cd device.
24168 (grub_biosdisk_call_hook): Likewise.
24169 (grub_biosdisk_iterate): Likewise.
24170 (grub_biosdisk_open): Likewise.
24171 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
24172 (grub_biosdisk_rw): Support reading from cd device.
24173 (GRUB_MOD_INIT): Iterate cd devices.
24174
24175 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
24176 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
24177 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
24178
24179 * kern/i386/pc/init.c (make_install_device): Check for cd device.
24180
4020aa53 241812008-02-02 Robert Millan <rmh@aybabtu.com>
24182
24183 * commands/read.c: New file.
24184 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
24185 (read_mod_SOURCES): New variable.
24186 (read_mod_CFLAGS): Likewise.
24187 (read_mod_LDFLAGS): Likewise.
24188
e03a1132 241892008-02-02 Robert Millan <rmh@aybabtu.com>
24190
24191 * normal/main.c (grub_normal_execute): Check for `menu->size' when
24192 determining whether menu has to be displayed.
24193
58c69220 241942008-02-02 Marco Gerards <marco@gnu.org>
24195
24196 * bus/pci.c: New file.
24197
24198 * include/grub/pci.h: Likewise.
24199
24200 * include/grub/i386/pc/pci.h: Likewise.
24201
24202 * commands/lspci.c: Likewise.
24203
24204 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
24205 `lspci.mod'.
24206 (pci_mod_SOURCES): New variable.
24207 (pci_mod_CFLAGS): Likewise.
24208 (pci_mod_LDFLAGS): Likewise.
24209 (lspci_mod_SOURCES): Likewise.
24210 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 24211 (lspci_mod_LDFLAGS): Likewise.
58c69220 24212
c004e1b4 242132008-02-02 Bean <bean123ch@gmail.com>
24214
24215 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
24216 (grub_ufs_get_file_block): Fix indirect block calculation problem.
24217
24218 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
24219 (grub_xfs_btree_node): New structure.
24220 (grub_xfs_btree_root): New structure.
24221 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
24222 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
24223 (GRUB_XFS_EXTENT_BLOCK): Likewise.
24224 (GRUB_XFS_EXTENT_SIZE): Likewise.
24225 (grub_xfs_read_block): Support btree format type.
24226 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
24227 Use directory block as basic unit.
24228
24229 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
24230
24231 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
24232 __attribute__ ((__regparm__ (1))).
24233
f95562bf 242342008-02-01 Robert Millan <rmh@aybabtu.com>
24235
24236 Correct a mistake in previous commit.
24237
24238 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
24239 top.
24240 (normal/command.c_DEPENDENCIES): New variable.
24241
7d31f41f 242422008-02-01 Robert Millan <rmh@aybabtu.com>
24243
24244 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
24245 top.
24246 (normal/command.c_DEPENDENCIES): New variable.
24247 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
24248 * conf/i386-ieee1275.rmk: Likewise.
24249 * conf/i386-linuxbios.rmk: Likewise.
24250 * conf/i386-pc.rmk: Likewise.
24251 * conf/sparc64-ieee1275.rmk: Likewise.
24252 * conf/powerpc-ieee1275.rmk: Likewise.
24253 (grub_emu_SOURCES): Add `fs/fshelp.c'.
24254
24255 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
24256
60b6be74 242572008-02-01 Robert Millan <rmh@aybabtu.com>
24258
24259 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
24260 call at beginning of function.
24261
078522ab 242622008-01-31 Pavel Roskin <proski@gnu.org>
24263
24264 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 24265 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
24266 (grub_mkrescue_SOURCES): Likewise.
078522ab 24267 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
24268
ccaa8a5f 242692008-01-30 Robert Millan <rmh@aybabtu.com>
24270
24271 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
24272 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
24273 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
24274 (grub_probe_SOURCES): ... to here.
24275
24276 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
24277 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
24278 * conf/i386-ieee1275.rmk: Likewise.
24279 * conf/i386-linuxbios.rmk: Likewise.
24280 * conf/powerpc-ieee1275.rmk: Likewise.
24281
ae5a9cd7 242822008-01-30 Tristan Gingold <gingold@free.fr>
24283
24284 * kern/rescue.c: Silently accept empty lines.
24285
70bc2ef2 242862008-01-29 Bean <bean123ch@gmail.com>
24287
24288 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
24289 (real_code_2): Code cleanup and change comment style.
24290 (move_memory): Avoid using 32-bit address mode.
24291
6a4d50ea 242922008-01-29 Bean <bean123ch@gmail.com>
24293
24294 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
24295 (png_mod_SOURCES): New variable.
24296 (png_mod_CFLAGS): Likewise.
24297 (png_mod_LDFLAGS): Likewise.
24298
24299 * video/readers/png.c: New file.
24300
11cc30ac 243012008-01-28 Robert Millan <rmh@aybabtu.com>
24302
24303 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
24304 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
24305 `ifndef GRUB_MOD_GAP' hack.
24306 * util/elf/grub-mkimage.c (add_segments): Likewise.
24307
3abc589f 243082008-01-27 Robert Millan <rmh@aybabtu.com>
24309
24310 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
24311 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 24312 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 24313
e1907778 243142008-01-27 Robert Millan <rmh@aybabtu.com>
24315
24316 Get grub-emu to build again (including parallel builds).
24317
24318 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
24319 Split into ...
24320 (util/grub-emu.c_DEPENDENCIES): ... this, ...
24321 (normal/execute.c_DEPENDENCIES): ... this, ...
24322 (grub-emu_DEPENDENCIES): ... and this.
24323
24324 * conf/i386-efi.rmk: Likewise.
24325 * conf/i386-linuxbios.rmk: Likewise.
24326 * conf/i386-ieee1275.rmk: Likewise.
24327 * conf/powerpc-ieee1275.rmk: Likewise.
24328 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
24329
2216b101 243302008-01-27 Robert Millan <rmh@aybabtu.com>
24331
24332 * NEWS: Add a few items.
24333
f75172d9 243342008-01-27 Robert Millan <rmh@aybabtu.com>
24335
24336 Fix parallel builds with grub-emu. Based on earlier commit for
24337 grub-probe and grub-setup.
24338
24339 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24340 (util/grub-emu.c_DEPENDENCIES): ... this.
24341 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24342 (util/grub-emu.c_DEPENDENCIES): ... this.
24343 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24344 (util/grub-emu.c_DEPENDENCIES): ... this.
24345 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24346 (util/grub-emu.c_DEPENDENCIES): ... this.
24347 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
24348 (util/grub-emu.c_DEPENDENCIES): ... this.
24349
3f51de77 243502008-01-27 Pavel Roskin <proski@gnu.org>
24351
24352 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
24353 to create a gap between _end and the modules added to the image
24354 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
24355 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
24356 * util/elf/grub-mkimage.c (add_segments): Likewise.
24357
2033f53e 243582008-01-26 Pavel Roskin <proski@gnu.org>
24359
24360 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
24361 just return an error.
24362
22da1f6f 243632008-01-26 Bean <bean123ch@gmail.com>
24364
24365 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
24366 (grub_reiserfs_get_item): Save offset of the next item.
24367 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
24368
2a9525e6 243692008-01-25 Robert Millan <rmh@aybabtu.com>
24370
24371 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
24372 make all filesystem sources appear together (possibly fixing omissions
24373 while at it).
24374 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24375 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24376 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
24377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24378
24379 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
24380 add `kern/file.c'.
24381 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
24382 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24383 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
24384 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
24385
24386 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
24387 (probe): Add a sanity check to make sure of our ability to read
24388 requested files when probing for filesystem type.
24389
24390 * genmk.rb: Update copyright year (2007).
24391
24392 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
24393 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
24394 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
24395 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
24396 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
24397 : Remove function prototypes.
24398
b95f71b5 243992008-01-25 Robert Millan <rmh@aybabtu.com>
24400
24401 Revert my previous commits (based on wrong assumption of how grub_errno
24402 works).
24403
fe6b695a 24404 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 24405 * kern/file.c (grub_file_open): Likewise.
24406
d08bbb49 244072008-01-24 Pavel Roskin <proski@gnu.org>
24408
24409 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
24410 that hang if GRUB tries to setup colors.
24411 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
24412 colors for firmwares that don't support it.
24413 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
24414 Recognize Open Hack'Ware, set flags to work around its
24415 limitations.
24416
605e36ed 244172008-01-24 Robert Millan <rmh@aybabtu.com>
24418
24419 * kern/file.c (grub_file_open): Do not account previous failures of
24420 unrelated functions when grub_errno is checked for.
24421 Reported by Oleg Strikov.
24422
bac332a1 244232008-01-24 Bean <bean123ch@gmail.com>
24424
24425 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
24426 (grub_ufs_sblock): New member volume name.
24427 (grub_ufs_find_file): Fix string copy bug.
24428 (grub_ufs_label): Implement this function properly.
24429
24430 * fs/hfs.c (grub_hfs_cnid_type): New enum.
24431 (grub_hfs_iterate_records): Use the correct file number for extents
24432 and catalog file. Fix problem in next index calculation.
24433 (grub_hfs_find_node): Replace recursive function call with loop.
24434 (grub_hfs_iterate_dir): Replace recursive function call with loop.
24435
15c80c09 244362008-01-23 Robert Millan <rmh@aybabtu.com>
24437
24438 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
24439 `<grub/symbol.h>' and `<grub/multiboot.h>'.
24440 (grub_multiboot2_real_boot): New function prototype.
24441
24442 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
24443 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
24444
24445 * kern/i386/ieee1275/init.c (grub_os_area_addr)
24446 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
24447
305338fd 244482008-01-23 Robert Millan <rmh@aybabtu.com>
24449
24450 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
24451 #ifdef'ed out grub_printf().
24452
3ea52685 244532008-01-23 Robert Millan <rmh@aybabtu.com>
24454
24455 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
24456 grub_dprintf calls, since they make "debug=all" mode unusable.
24457 (grub_console_checkkey): Likewise.
24458
5882ae4b 244592008-01-23 Robert Millan <rmh@aybabtu.com>
24460
24461 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24462 `term/i386/pc/at_keyboard.c'.
24463 (pkglib_MODULES): Add `serial.mod'.
24464 (serial_mod_SOURCES): New variable.
24465 (serial_mod_CFLAGS): Likewise.
24466 (serial_mod_LDFLAGS): Likewise.
24467
24468 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
24469 `<grub/powerpc/ieee1275/console.h>'.
24470 (grub_keyboard_controller_init): New function prototype.
24471 (grub_console_checkkey): Likewise.
24472 (grub_console_getkey): Likewise.
24473
24474 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
24475 keyboard on i386.
24476
24477 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
24478 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
24479
06ab5303 244802008-01-23 Robert Millan <rmh@aybabtu.com>
24481
24482 * kern/i386/pc/init.c (make_install_device): When memdisk image is
24483 present, "(memdisk)/boot/grub" becomes the default prefix.
24484
24485 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
24486 a memdisk tarball with all the modules. Add --overlay=DIR option that
24487 allows users to overlay additional files into the image.
24488
dbb475a4 244892008-01-23 Robert Millan <rmh@aybabtu.com>
24490
24491 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
24492 and `machine/memory.h'.
24493 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
24494 (_multiboot_mod_SOURCES): New variable.
24495 (_multiboot_mod_CFLAGS): Likewise.
24496 (_multiboot_mod_LDFLAGS): Likewise.
24497 (multiboot_mod_SOURCES): Likewise.
24498 (multiboot_mod_CFLAGS): Likewise.
24499 (multiboot_mod_LDFLAGS): Likewise.
24500
24501 * include/grub/i386/ieee1275/loader.h: New file.
24502
24503 * include/grub/i386/ieee1275/machine.h: Likewise.
24504
24505 * include/grub/i386/ieee1275/memory.h: Likewise.
24506
24507 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
24508 variable declaration.
24509 (grub_os_area_size): Likewise.
24510
24511 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
24512 (grub_lower_mem, grub_upper_mem): New variables.
24513 (grub_stop_floppy): New function (just to make
24514 grub_multiboot2_real_boot() happy).
24515
24516 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
24517 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
24518 (grub_stop): New function.
24519 Include `"../realmode.S"' and `"../loader.S"'.
24520
24521 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
24522 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
24523
24524 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
24525 rely on grub_multiboot2_real_boot() for final boot.
24526
25638629 245272008-01-22 Robert Millan <rmh@aybabtu.com>
24528
24529 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
24530 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
24531 device that doesn't look like an SD card.
24532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
24533 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
24534 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
24535 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
24536 found.
24537
9dad816d 245382008-01-22 Robert Millan <rmh@aybabtu.com>
24539
24540 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
24541 avoid claiming over our own code.
24542
34842f2d 245432008-01-22 Bean <bean123ch@gmail.com>
24544
24545 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
24546 (jpeg_mod_SOURCES): New variable.
24547 (jpeg_mod_CFLAGS): Likewise.
24548 (jpeg_mod_LDFLAGS): Likewise.
24549
24550 * video/readers/jpeg.c : New file.
24551
44023a28 245522008-01-22 Bean <bean123ch@gmail.com>
24553
24554 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
24555 there are no more items.
24556
bc2d8ac6 245572008-01-21 Robert Millan <rmh@aybabtu.com>
24558
24559 * kern/mm.c (grub_mm_init_region): Improve debug message.
24560
261bd4bc 245612008-01-21 Robert Millan <rmh@aybabtu.com>
24562
24563 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
24564 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
24565 address.
24566 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
24567 a C macro.
24568 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
24569 Indicates start of upper memory.
24570 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
24571 (generate_image): Abort when image size is big enough to corrupt
24572 upper memory.
24573
24574 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
24575 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
24576 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24577 instead of hardcoding 0xA0000.
24578 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
24579 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
24580 instead of hardcoding 0xA0000.
24581
f970b55e 245822008-01-21 Robert Millan <rmh@aybabtu.com>
24583
24584 * disk/memdisk.c (memdisk_size): New variable.
24585 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
24586 `memdisk_size'.
24587 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
24588 image to dynamic memory.
24589 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
24590 `memdisk_size'. Free memdisk block.
24591
1a8b0526 245922008-01-21 Robert Millan <rmh@aybabtu.com>
24593
24594 Fix detection of very small filesystems (like tar).
24595
24596 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
24597 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
24598 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
24599 a problem with this disk).
24600
6e9b4aab 246012008-01-21 Robert Millan <rmh@aybabtu.com>
24602
24603 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
24604 on grub_biosdisk_rw_standard() error.
24605
0d8837b2 246062008-01-21 Robert Millan <rmh@aybabtu.com>
24607
24608 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
24609 recent changes.
24610 * kern/elf.c: Likewise.
24611 * kern/ieee1275/ieee1275.c: Likewise.
24612 * kern/powerpc/ieee1275/openfw.c: Likewise.
24613 * term/ieee1275/ofconsole.c: Likewise.
24614
ffd36e34 246152008-01-21 Robert Millan <rmh@aybabtu.com>
24616
24617 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
24618
3f0093d0 24619 * include/grub/kernel.h (grub_arch_memdisk_addr)
24620 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 24621
3f0093d0 24622 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
24623 (grub_arch_memdisk_size): ... to here.
ffd36e34 24624
6c391b21 246252008-01-21 Robert Millan <rmh@aybabtu.com>
24626
24627 Mostly based on bugfix from Bean.
24628
24629 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
24630 attribute with hook() parameter.
24631 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
24632 declaration.
24633 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
24634 attribute with hook() parameter.
24635 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
24636 declaration.
24637
55a581dc 246382008-01-21 Robert Millan <rmh@aybabtu.com>
24639
24640 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
24641 (pkglib_MODULES): Add `memdisk.mod'.
24642 (memdisk_mod_SOURCES): New variable.
24643 (memdisk_mod_CFLAGS): Likewise.
24644 (memdisk_mod_LDFLAGS): Likewise.
24645
24646 * disk/memdisk.c: New file.
24647
24648 * include/grub/disk.h (grub_disk_dev_id): Add
24649 `GRUB_DISK_DEVICE_MEMDISK_ID'.
24650
24651 * include/grub/i386/pc/kernel.h
24652 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
24653 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
24654 (grub_kernel_image_size): New variable declaration.
24655 (grub_total_module_size): Likewise.
24656 (grub_memdisk_image_size): Likewise.
24657
24658 * include/grub/i386/pc/memory.h
24659 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
24660
24661 * include/grub/kernel.h: Include `<grub/symbol.h>'.
24662 (grub_arch_memdisk_addr): New variable declaration.
24663 (grub_arch_memdisk_size): Likewise.
24664
24665 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
24666 (grub_arch_memdisk_size): Likewise.
24667
24668 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
24669 (codestart): Replace hardcoded `0x100000' with
24670 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
24671
24672 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
24673 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
24674 not NULL, append the contents of the file it refers to, at the end of
24675 the compressed kernel image. Initialize `grub_memdisk_image_size'
24676 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
24677 (options): Add "memdisk"|'m' option.
24678 (main): Parse --memdisk|-m option, and pass user-provided path as
24679 parameter to generate_image().
24680
3d7f54c9 246812008-01-20 Robert Millan <rmh@aybabtu.com>
24682
24683 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
24684 grub_dprintf() calls from here ...
24685 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
24686
0bf74728 246872008-01-20 Robert Millan <rmh@aybabtu.com>
24688
24689 Fix detection of "real mode" when /options/real-mode? doesn't exist.
24690
24691 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
24692 declaration.
24693 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
24694 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
24695 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 24696 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 24697 property).
24698 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
24699 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
24700
33bf70a7 247012008-01-19 Robert Millan <rmh@aybabtu.com>
24702
fe6b695a 24703 Get rid of confusing function (superseded by
33bf70a7 24704 `grub_ieee1275_get_integer_property')
24705 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
24706 prototype.
24707 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
24708 function.
24709 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
24710 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 24711 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 24712
e2da7d26 247132008-01-19 Robert Millan <rmh@aybabtu.com>
24714
24715 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
24716 command after "shut-down", since implementations differ on which
24717 the command for halt is.
24718
59f1fd8d 247192008-01-19 Robert Millan <rmh@aybabtu.com>
24720
24721 * include/grub/i386/linuxbios/console.h: Add header protection.
24722 (grub_keyboard_controller_init): New function prototype.
24723 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
24724 (KEYBOARD_COMMAND_READ): Likewise.
24725 (KEYBOARD_COMMAND_WRITE): Likewise.
24726 (KEYBOARD_SCANCODE_SET1): Likewise.
24727 (grub_keyboard_controller_write): New function.
24728 (grub_keyboard_controller_read): Likewise.
24729 (grub_keyboard_controller_init): Likewise.
24730
24731 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
24732 (grub_console_init): On coreboot/LinuxBIOS, call
24733 grub_keyboard_controller_init().
24734
5f5a7c15 247352008-01-19 Robert Millan <rmh@aybabtu.com>
24736
24737 PowerPC changes provided by Pavel Roskin.
24738
24739 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
24740 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
24741 don't rely on cmain() doing it.
24742 * kern/i386/ieee1275/startup.S (_start): Store %eax in
24743 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
24744
1210e168 247452008-01-16 Robert Millan <rmh@aybabtu.com>
24746
24747 * include/grub/i386/linuxbios/memory.h
24748 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
24749 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
24750 receive `table_header' as argument. Instead, probe for it in the
24751 known memory ranges where it can be present.
24752 (grub_available_iterate): Do not pass a fixed `table_header' address
24753 to grub_linuxbios_table_iterate().
24754
3d04eab8 247552008-01-15 Robert Millan <rmh@aybabtu.com>
24756
24757 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
24758 * conf/i386-ieee1275.rmk: New file.
24759 * include/grub/i386/ieee1275/console.h: Likewise.
24760 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
24761 * include/grub/i386/ieee1275/kernel.h: Likewise.
24762 * include/grub/i386/ieee1275/time.h: Likewise.
24763 * kern/i386/ieee1275/init.c: Likewise.
24764 * kern/i386/ieee1275/startup.S: Likewise.
24765
d1bc1b73 247662008-01-15 Robert Millan <rmh@aybabtu.com>
24767
24768 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
24769 when pointers are 32-bit (but still do set it to one when they are
24770 64-bit).
24771
66a65807 247722008-01-15 Robert Millan <rmh@aybabtu.com>
24773
24774 * include/grub/ieee1275/ieee1275.h
24775 (grub_ieee1275_get_integer_property): New function prototype.
24776
24777 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
24778 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 24779 grub_ieee1275_get_property() to handle endianness.
66a65807 24780
24781 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
24782 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 24783 where appropriate.
66a65807 24784 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
24785 (grub_map): Likewise.
24786 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
24787
a83ccafd 247882008-01-15 Bean <bean123ch@gmail.com>
24789
24790 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
24791 (grub_script_execute_cmdline): Reset grub_errno.
24792
24793 * normal/main.c (read_config_file): Reset grub_errno.
24794
24795 * normal/parse.y (script_init): New.
24796 (script): Move function and menuentry here.
24797 (delimiter): New.
24798 (command): Add delimiter at the end of command.
24799 (commands): Adjust to match the new command.
24800 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 24801 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 24802 (if): Use the new commands.
24803
24804 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
24805
df6ecfc6 248062008-01-15 Robert Millan <rmh@aybabtu.com>
24807
24808 * normal/menu.c (run_menu): Move timeout message from here ...
24809 (print_timeout): ... to here.
24810 (run_menu): Use print_timeout() once during initial draw to print
24811 the whole message, and again in every clock tick to update only
24812 the number of seconds.
24813
87ae25eb 248142008-01-15 Robert Millan <rmh@aybabtu.com>
24815
24816 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
24817 actual size of `available' from grub_ieee1275_get_property(), and
24818 restrict parsing to that bound.
24819
47bf09a4 248202008-01-15 Christian Franke <franke@computer.org>
24821
24822 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
24823 (argp_program_version): Remove variable.
24824 (argp_program_bug_address): Likewise.
24825 (options): Convert from struct argp_option to struct option.
24826 (struct arguments): Remove.
24827 (parse_opt): Remove.
24828 (usage): New function.
24829 (main): Replace struct args members by simple variables.
24830 Replace argp_parse() by getopt_long().
24831 Add switch to evaluate options.
24832 Add missing "(...)" around root_dev in prefix string.
24833
c86f1469 248342008-01-14 Robert Millan <rmh@aybabtu.com>
24835
24836 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
24837 for grub_ieee1275_exit(), in order to improve portability.
24838
e622c559 248392008-01-14 Robert Millan <rmh@aybabtu.com>
24840
24841 * util/grub.d/10_linux.in (prefix): Define.
24842 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
24843
44cb1ec8 248442008-01-13 Pavel Roskin <proski@gnu.org>
24845
24846 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
24847 grub_errno if no errors have been detected.
24848
1eb8c802 248492008-01-12 Robert Millan <rmh@aybabtu.com>
24850
24851 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
24852 (grub_util_get_dev_abstraction): New function prototype.
24853
24854 * util/getroot.c: Include `<grub/util/getroot.h>'
24855 (grub_util_get_grub_dev): Move detection of abstraction type to ...
24856 (grub_util_get_dev_abstraction): ... here (new function).
24857
24858 * util/grub-probe.c: Convert PRINT_* to an enum. Add
24859 `PRINT_ABSTRACTION'.
24860 (probe): Probe for abstraction type when requested.
24861 (main): Understand `--target=abstraction'.
24862
24863 * util/i386/efi/grub-install.in: Add abstraction module to core
24864 image when it is found to be necessary.
24865 * util/i386/pc/grub-install.in: Likewise.
24866 * util/powerpc/ieee1275/grub-install.in: Likewise.
24867
24868 * util/update-grub_lib.in (font_path): Return system path without
24869 converting to GRUB path.
24870 * util/update-grub.in: Convert system path returned by font_path()
24871 to a GRUB path. Use `grub-probe -t abstraction' to determine what
24872 abstraction module is needed for loading fonts (if any). Export
24873 that as `GRUB_PRELOAD_MODULES'.
24874 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
24875 insmod commands).
24876
52bd3de9 248772008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
24878
24879 Remove some unused code from reiserfs.
f19dbdb7 24880
52bd3de9 24881 * fs/reiserfs.c (struct grub_reiserfs_key)
24882 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
24883 (struct grub_reiserfs_node_body): Removed.
24884 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24885 Likewise.
24886 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24887 Likewise.
24888 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24889 Likewise.
24890 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
24891 Likewise.
24892 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
24893 Likewise.
24894 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
24895 Likewise.
24896 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24897 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24898 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
24899
2f80039d 249002008-01-10 Robert Millan <rmh@aybabtu.com>
24901
24902 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
24903 Determines if a file is garbage left by packaging systems, etc.
24904 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
24905 for processing /etc/grub.d scripts.
24906 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
24907 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
24908 as a condition for processing Linux images.
24909
87888032 249102008-01-10 Pavel Roskin <proski@gnu.org>
24911
24912 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
24913 to compile reiserfs.c on PowerPC.
24914
7e54fced 249152008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 24916
24917 * kern/device.c (grub_device_iterate): Do not abort device iteration
24918 when one of the devices cannot be opened.
24919 * kern/disk.c (grub_disk_open): Do not account previous failures of
24920 unrelated functions when grub_errno is checked for.
24921
5aa541e6 249222008-01-08 Robert Millan <rmh@aybabtu.com>
24923
24924 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
24925 `! grub_linux_is_bzimage', change order of address comparison to make
24926 it more intuitive, and improve "too big zImage" error message.
24927
7076340d 249282008-01-08 Robert Millan <rmh@aybabtu.com>
24929
24930 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
24931 `$(update-grub_DATA)'.
24932 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
24933 targets.
24934
9ca70333 249352008-01-07 Robert Millan <rmh@aybabtu.com>
24936
24937 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
24938 which instruction is modified by grub-setup during installation
24939 (since it wasn't obvious by only looking at this file).
24940
38ccf575 249412008-01-07 Robert Millan <rmh@aybabtu.com>
24942
24943 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
24944 listing actual TODO items.
24945
f5db4291 249462008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24947
868967cf 24948 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
24949 correctly.
24950 (grub_reiserfs_get_key_offset): Likewise.
24951 (grub_reiserfs_set_key_offset): Likewise.
24952 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 24953 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 24954
24955 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
24956 better to remove the bitfield version completely.
f19dbdb7 24957
868967cf 249582008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 24959
f5db4291 24960 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
24961 allocated from the heap, due to the fshelp implementation.
24962 (grub_reiserfs_dir): Free NODE, due to the same reason.
24963
492e6d9d 249642008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
24965
24966 Mostly from Vincent Pelletier:
f19dbdb7 24967
492e6d9d 24968 * fs/reiserfs.c: New file.
f19dbdb7 24969
492e6d9d 24970 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
24971 (reiserfs_mod_SOURCES): New variable.
24972 (reiserfs_mod_CFLAGS): Likewise.
24973 (reiserfs_mod_LDFLAGS): Likewise.
24974
24975 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
24976 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
24977 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
24978 normal/color.c.
24979
9ce3e7c1 249802008-01-06 Robert Millan <rmh@aybabtu.com>
24981
24982 * normal/color.c: Remove `<grub/env.h>'.
24983
f3b58148 249842008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
24985
24986 * include/grub/normal.h: Include <grub/env.h>.
24987
7ac3bcfa 249882008-01-05 Robert Millan <rmh@aybabtu.com>
24989
24990 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
24991 usage example with `(hd0,1)'.
fb358190 24992 Reported by Samuel Thibault.
7ac3bcfa 24993
c8ee99d7 249942008-01-05 Robert Millan <rmh@aybabtu.com>
24995
24996 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
24997 (grub_linux_boot_zimage): Rename to ...
24998 (grub_linux_boot): ... this.
24999 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
25000 (grub_linux_boot_zimage): Conditionalize zImage copy.
25001
25002 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
25003 (grub_linux_boot_bzimage): Remove prototype.
25004 (grub_linux_boot_zimage): Rename to ...
25005 (grub_linux_boot): ... this.
25006
25007 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
25008 (grub_linux_boot): Remove function.
25009
0ece25b1 250102008-01-05 Robert Millan <rmh@aybabtu.com>
25011
25012 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
25013 (grub_env_write_color_highlight): Likewise.
25014 (grub_wait_after_message): Likewise.
25015
25016 * normal/color.c: New file.
25017
25018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25019 (normal_mod_DEPENDENCIES): Likewise.
25020
25021 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25022 (normal_mod_DEPENDENCIES): Likewise.
25023
25024 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25025 (normal_mod_DEPENDENCIES): Likewise.
25026
25027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
25028 (normal_mod_DEPENDENCIES): Likewise.
25029
25030 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
25031 for waiting after a message is printed.
25032 * normal/main.c (read_config_file): Likewise.
25033 (grub_normal_init): Register grub_env_write_color_normal() and
25034 grub_env_write_color_highlight() hooks. Mark `color_normal' and
25035 `color_highlight' variables as global.
25036
25037 * normal/menu.c (grub_wait_after_message): New function.
25038 (grub_color_menu_normal): New variable. Replaces ...
25039 (GRUB_COLOR_MENU_NORMAL): ... this macro.
25040 (grub_color_menu_highlight): New variable. Replaces ...
25041 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
25042 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
25043 `GRUB_TERM_COLOR_STANDARD'.
25044 (print_message): Use `grub_setcolorstate' to reload colors. Rename
25045 `normal_code' and `highlight_code' to `old_color_normal' and
25046 `old_color_highlight', respectively.
25047 (grub_menu_init_page): Update colors when drawing the menu, based on
25048 `menu_color_normal' and `menu_color_highlight' variables.
25049 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
25050 a message is printed.
25051
182dd4e5 250522008-01-05 Robert Millan <rmh@aybabtu.com>
25053
25054 * kern/env.c (grub_env_context_open): Propagate hooks for global
25055 variables to new context.
25056
25057 * kern/main.c (grub_set_root_dev): Export `root' variable.
25058
ddf8f6ad 250592008-01-05 Robert Millan <rmh@aybabtu.com>
25060
25061 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 25062 discs unconditionally, since udev and others have options to provide
ddf8f6ad 25063 them.
25064
d8b43d9b 250652008-01-05 Robert Millan <rmh@aybabtu.com>
25066
25067 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
25068
2bff2de3 250692008-01-04 Christian Franke <franke@computer.org>
25070
25071 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
25072 of eisa_mmap.
25073
97eab917 250742008-01-03 Pavel Roskin <proski@gnu.org>
25075
25076 * kern/i386/linuxbios/init.c: Put "void" to all function
25077 declarations with no arguments.
25078 * kern/powerpc/ieee1275/init.c: Likewise.
25079 * term/i386/pc/at_keyboard.c: Likewise.
25080 * term/i386/pc/vga_text.c: Likewise.
25081 * util/grub-mkdevicemap.c: Likewise.
25082
b9416d00 250832008-01-02 Robert Millan <rmh@aybabtu.com>
25084
25085 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
25086 message when loaded image is out of bounds.
25087 (grub_multiboot_load_elf64): Likewise.
25088
92695df9 250892008-01-02 Pavel Roskin <proski@gnu.org>
25090
25091 * util/grub.d/10_linux.in: Try version without ".old" when
25092 looking for initrd. It's better to use initrd from the newer
25093 kernel of the same version than no initrd at all.
25094
d98d9cad 250952008-01-01 Robert Millan <rmh@aybabtu.com>
25096
25097 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
25098
dbfdce36 250992008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
25100
f19dbdb7 25101 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 25102 grub_video_get_active_render_target.
25103 (grub_video_adapter): Added unmap_color and get_active_render_target.
25104
f19dbdb7 25105 * video/video.c: Added grub_video_unmap_color and
dbfdce36 25106 grub_video_get_active_render_target.
25107 (grub_video_get_info): Changed method to accept NULL pointer as an
25108 argument to allow detection of active video adapter.
25109
25110 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
25111 grub_video_vbe_unmap_color_int.
25112 Added grub_video_vbe_unmap_color and
25113 grub_video_vbe_get_active_render_target.
25114 (grub_video_vbe_adapter): Added unmap_color and
25115 get_active_render_target.
25116
f19dbdb7 25117 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 25118 with grub_video_vbe_unmap_color_int.
25119
25120 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
25121 (DEFAULT_NORMAL_COLOR): Likewise.
25122 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
25123 (DEFAULT_FG_COLOR): Removed.
25124 (DEFAULT_BG_COLOR): Likewise.
25125 (DEFAULT_CURSOR_COLOR): Changed value.
25126 (grub_virtual_screen): Added standard_color_setting,
25127 normal_color_setting, highlight_color_setting and term_color.
25128 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
25129 (bitmap_width): Added.
25130 (bitmap_height): Likewise.
25131 (bitmap): Likewise.
25132 (set_term_color): Likewise.
25133 (grub_virtual_screen_setup): Changed to use new terminal coloring
25134 settings.
25135 (grub_gfxterm_init): Added init for bitmap.
25136 (grub_gfxterm_fini): Added destroy for bitmap.
25137 (redraw_screen_rect): Updated to use background bitmap and new
25138 terminal coloring.
25139 (scroll_up): Added optimization for case when there is no bitmap.
25140 (grub_gfxterm_cls): Fixed to use correct background color.
25141 (grub_virtual_screen_setcolorstate): Changed to use new terminal
25142 coloring.
25143 (grub_virtual_screen_setcolor): Likewise.
25144 (grub_virtual_screen_getcolor): Added.
25145 (grub_gfxterm_background_image_cmd): Likewise.
25146 (grub_video_term): Added setcolor and getcolor.
25147 (MOD_INIT): Added registration of background_image command.
25148 (MOD_TERM): Added unregistration for background_image command.
25149
c3c20931 251502007-12-30 Pavel Roskin <proski@gnu.org>
25151
25152 * loader/multiboot_loader.c: Fix multiboot command
25153 unregistration. Fix all typos in the word "multiboot".
25154
df266716 251552007-12-29 Pavel Roskin <proski@gnu.org>
94239199 25156
25157 * util/grub.d/10_linux.in: Refactor search for initrd. Add
25158 support for initrd names used in Fedora.
25159
fc6e896c 251602007-12-26 Bean <bean123ch@gmail.com>
25161
25162 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
25163 (cpio_mod_SOURCES): New variable.
25164 (cpio_mod_CFLAGS): Likewise.
25165 (cpio_mod_LDFLAGS): Likewise.
25166
25167 * fs/cpio.c: New file.
25168
25169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
25170
25171 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25172
25173 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25174
25175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25176
533110ad 251772007-12-25 Robert Millan <rmh@aybabtu.com>
25178
25179 * include/grub/term.h (struct grub_term): Add `getcolor' function.
25180 (grub_getcolor): New function.
25181
25182 * kern/term.c (grub_getcolor): New function.
25183 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
25184 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
25185 (print_entry): Set normal and highlight colors to
25186 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
25187 respectively, before printing and restore them to old
25188 values afterwards.
25189 (grub_menu_init_page): Likewise. Fill an additional colored space
25190 that would otherwise be left blank.
25191
25192 * term/efi/console.c (grub_console_getcolor): New function.
25193 (struct grub_console_term.getcolor): New variable.
25194 * term/i386/pc/console.c (grub_console_getcolor): New function.
25195 (struct grub_console_term.getcolor): New variable.
25196 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
25197 (struct grub_console_term.getcolor): New variable.
25198
25199 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
25200 (struct grub_console_term.setcolor): Remove variable.
25201 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
25202 (struct grub_console_term.setcolor): Remove variable.
25203 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
25204 (struct grub_console_term.setcolor): Remove variable.
25205 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
25206 (struct grub_console_term.setcolor): Remove variable.
25207
4931827f 252082007-12-25 Robert Millan <rmh@aybabtu.com>
25209
25210 * configure.ac: Search for possible unifont.hex locations, and
25211 define UNIFONT_HEX if found.
25212
25213 * Makefile.in (UNIFONT_HEX): Define variable.
25214 (DATA): Rename to ...
25215 (PKGLIB): ... this. Update all users.
25216 (PKGDATA): New variable.
25217 (pkgdata_IMAGES): Rename to ...
25218 (pkglib_IMAGES): ... this. Update all users.
25219 (pkgdata_MODULES): Rename to ...
25220 (pkglib_MODULES): ... this. Update all users.
25221 (pkgdata_PROGRAMS): Rename to ...
25222 (pkglib_PROGRAMS): ... this. Update all users.
25223 (pkgdata_DATA): Rename to ...
25224 (pkglib_DATA): ... this. Update all users.
25225 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
25226 (unicode.pff, ascii.pff): New rules.
25227 (all-local): Add `$(PKGDATA)' dependency.
25228 (install-local): Process `$(PKGDATA)'.
25229
25230 * util/update-grub_lib.in (font_path): Search for *.pff files in
25231 a few more locations, including `${pkgdata}'.
25232
57e57e31 252332007-12-23 Robert Millan <rmh@aybabtu.com>
25234
25235 Patch from Bean <bean123ch@gmail.com>:
25236 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
25237 `size'.
25238
4bc72aa9 252392007-12-21 Bean <bean123ch@gmail.com>
25240
25241 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
25242 (ntfscomp_mod_SOURCES): New variable.
25243 (ntfscomp_mod_CFLAGS): Likewise.
25244 (ntfscomp_mod_LDFLAGS): Likewise.
25245
25246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
25247 (grub_probe_SOURCES): Likewise.
25248 (grub_emu_SOURCES): Likewise.
25249
25250 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25251 (grub_emu_SOURCES): Likewise.
25252
25253 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25254 (grub_emu_SOURCES): Likewise.
25255
25256 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
25257 (grub_emu_SOURCES): Likewise.
25258
25259 * fs/ntfs.c (grub_ntfscomp_func): New variable.
25260 (read_run_list): Renamed to grub_ntfs_read_run_list.
25261 (decomp_nextvcn): Moved to ntfscomp.c.
25262 (decomp_getch): Likewise.
25263 (decomp_get16): Likewise.
25264 (decomp_block): Likewise.
25265 (read_block): Likewise.
25266 (read_data): Partially moved to ntfscomp.c.
25267 (fixup): Change unsigned to grub_uint16_t.
25268 (read_mft): Change unsigned long to grub_uint32_t.
25269 (read_attr): Likewise.
25270 (read_data): Likewise.
25271 (read_run_data): Likewise.
25272 (read_run_list): Likewise.
25273 (read_mft): Likewise.
25274
25275 * fs/ntfscomp.c: New file.
25276
25277 * include/grub/ntfs.h: New file.
25278
af680a87 252792007-12-16 Robert Millan <rmh@aybabtu.com>
25280
25281 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
25282 IDE disk check, since Linux is known to support 20 IDE disks.
25283 Reported by Colin Watson.
25284
84be7599 252852007-12-15 Bean <bean123ch@gmail.com>
25286
25287 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
25288 (lnxboot_img_SOURCES): New variable.
25289 (lnxboot_img_ASFLAGS): Likewise.
25290 (lnxboot_img_LDFLAGS): Likewise.
25291
25292 * boot/i386/pc/lnxboot.S: New file.
25293
6af9db01 252942007-11-24 Pavel Roskin <proski@gnu.org>
25295
25296 * configure.ac: Test if '--build-id=none' is supported by the
25297 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
25298 objcopy to generate incorrect binary files (binutils
25299 2.17.50.0.18-1 as shipped by Fedora 8).
25300 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
25301 linking, so that build ID doesn't break the test.
25302
7361cfe6 253032007-11-24 Pavel Roskin <proski@gnu.org>
25304
25305 * include/grub/i386/time.h: use "void" in the argument list
25306 of grub_cpu_idle().
25307 * include/grub/powerpc/time.h: Likewise.
25308 * include/grub/sparc64/time.h: Likewise.
25309
1593e10c 253102007-11-18 Christian Franke <franke@computer.org>
25311
25312 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
25313 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
25314 This fixes the problem that function keys did not work in grub-emu.
25315
3b8db1a8 253162007-11-18 Christian Franke <franke@computer.org>
25317
25318 * disk/host.c (grub_host_open): Remove attribute unused from
25319 name parameter. Add check for "host". This fixes the problem
25320 that grub-emu does not find partitions.
25321
2e29408d 253222007-11-18 Christian Franke <franke@computer.org>
25323
25324 * util/hostfs.c (is_dir): New function.
25325 (grub_hostfs_dir): Handle missing dirent.d_type case.
25326 (grub_hostfs_read): Add missing fseek().
25327 (grub_hostfs_label): Clear label pointer. This fixes a crash
25328 of grub-emu on "ls (host)".
25329
398cd047 253302007-11-18 Christian Franke <franke@computer.org>
25331
25332 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
25333 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
25334 to 64 bit boundary by default.
25335
c405c391 253362007-11-18 Bean <bean123ch@gmail.com>
25337
25338 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
25339 (hexdump_mod_SOURCES): New variable.
25340 (hexdump_mod_CFLAGS): Likewise.
25341 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 25342
c405c391 25343 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25344
25345 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25346
25347 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25348
25349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
25350
25351 * include/grub/hexdump.h: New file.
25352
25353 * commands/hexdump.c: New file.
25354
5cced7fd 253552007-11-10 Robert Millan <rmh@aybabtu.com>
25356
25357 * commands/i386/pc/play.c (beep_off): Switch order of arguments
25358 in grub_outb() calls.
25359 (beep_on): Likewise.
25360
8b714eb0 253612007-11-10 Christian Franke <franke@computer.org>
25362
25363 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
25364 (grub_menu_run): Likewise.
25365
ce0f1839 253662007-11-10 Robert Millan <rmh@aybabtu.com>
25367
25368 * include/grub/i386/efi/machine.h: New file.
25369 * include/grub/i386/linuxbios/machine.h: Likewise.
25370 * include/grub/i386/pc/machine.h: Likewise.
25371 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25372 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25373
25374 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
25375 (serial_hw_io_addr): New variable.
25376 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
25377 instead of `(unsigned short *) 0x400'.
25378
270c237d 253792007-11-10 Bean <bean123ch@gmail.com>
25380
25381 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
25382
a87783bf 253832007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25384
25385 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
25386 (vga_mod_SOURCES): Added.
25387 (vga_mod_CFLAGS): Likewise.
25388 (vga_mod_LDFLAGS): Likewise.
25389
25390 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
25391 grub_outb() calls.
25392 (set_map_mask): Likewise.
25393 (set_read_map): Likewise.
25394 (set_read_address): Likewise.
25395 (vga_font): Removed variable.
25396 (get_vga_glyph): Removed function.
25397 (invalidate_char): Likewise.
25398 (write_char): Changed to use grub_font_get_glyph() for font
25399 information.
25400 (grub_vga_putchar): Likewise.
25401 (grub_vga_getcharwidth): Likewise.
25402
6433b448 254032007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
25404
25405 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
25406 flags.
25407 (pxeboot_img_LDFLAGS): Likewise.
25408 (diskboot_img_LDFLAGS): Likewise.
25409 (kernel_img_LDFLAGS): Likewise.
25410
49178511 254112007-11-06 Robert Millan <rmh@aybabtu.com>
25412
25413 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
25414 in grub_outb() calls.
25415 (serial_hw_init): Likewise.
25416
53b052de 254172007-11-05 Robert Millan <rmh@aybabtu.com>
25418
25419 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
25420 spaces. Skip non-regular files.
25421
5ab33bba 254222007-11-05 Robert Millan <rmh@aybabtu.com>
25423
25424 * kern/disk.c (grub_disk_firmware_fini)
25425 (grub_disk_firmware_is_tainted): New variables.
25426
25427 * include/grub/disk.h (grub_disk_firmware_fini)
25428 (grub_disk_firmware_is_tainted): Likewise.
25429
25430 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
25431 (grub_disk_biosdisk_fini): ... to here.
25432 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
25433 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
25434 is set. Register grub_disk_biosdisk_fini() in
25435 `grub_disk_firmware_fini'.
25436
25437 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
25438 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
25439 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
25440 to finish existing firmware disk interface.
25441
25442 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
25443 (ata_mod_SOURCES): New variable.
25444 (ata_mod_CFLAGS): Likewise.
25445 (ata_mod_LDFLAGS): Likewise.
25446
0149ab7c 254472007-11-05 Robert Millan <rmh@aybabtu.com>
25448
25449 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
25450 (grub_ata_wait): Reimplement using grub_millisleep().
25451
25452 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
25453 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
25454
be7ac41e 254552007-11-03 Marco Gerards <marco@gnu.org>
25456
25457 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
25458 (CRTC_ADDR_PORT): New macro.
25459 (CRTC_DATA_PORT): Likewise.
25460 (CRTC_CURSOR): Likewise.
25461 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25462 (CRTC_CURSOR_ADDR_LOW): Likewise.
25463 (update_cursor): New function.
25464 (grub_console_real_putchar): Call `update_cursor'.
25465 (grub_console_gotoxy): Likewise.
25466 (grub_console_cls): Set the default color when clearing the
25467 screen.
25468 (grub_console_setcursor): Implemented.
25469
bb06ab2e 254702007-11-03 Marco Gerards <marco@gnu.org>
25471
25472 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
25473 become activate.
25474 (grub_ata_pio_write): Likewise.
25475
25476 (grub_atapi_identify): Wait after issuing an ATA command.
25477 (grub_atapi_packet): Likewise.
25478 (grub_ata_identify): Likewise.
25479 (grub_ata_readwrite): Likewise.
25480
cf8f780b 254812007-11-03 Marco Gerards <marco@gnu.org>
25482
25483 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
25484 (grub_ata_pio_write): Likewise.
25485 (grub_ata_readwrite): Use `grub_error', instead of
25486 returning `grub_errno'.
25487
ed649e54 254882007-11-03 Marco Gerards <marco@gnu.org>
25489
25490 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
25491 grub_ata_pio_write once for every single sector, instead of for
25492 multiple sectors.
25493
ca25d8f0 254942007-10-31 Robert Millan <rmh@aybabtu.com>
25495
25496 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
25497
25498 * conf/i386-linuxbios.rmk: New file.
25499
25500 * kern/i386/pc/hardware.c: Likewise.
25501 * term/i386/pc/at_keyboard.c: Likewise.
25502 * term/i386/pc/vga_text.c: Likewise.
25503
25504 * include/grub/i386/linuxbios/boot.h: Likewise.
25505 * include/grub/i386/linuxbios/console.h: Likewise.
25506 * include/grub/i386/linuxbios/init.h: Likewise.
25507 * include/grub/i386/linuxbios/kernel.h: Likewise.
25508 * include/grub/i386/linuxbios/loader.h: Likewise.
25509 * include/grub/i386/linuxbios/memory.h: Likewise.
25510 * include/grub/i386/linuxbios/serial.h: Likewise.
25511 * include/grub/i386/linuxbios/time.h: Likewise.
25512
25513 * kern/i386/linuxbios/init.c: Likewise.
25514 * kern/i386/linuxbios/startup.S: Likewise.
25515 * kern/i386/linuxbios/table.c: Likewise.
25516
e911ecc1 255172007-10-31 Marco Gerards <marco@gnu.org>
25518
25519 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
25520 (ata_mod_SOURCES): New variable.
25521 (ata_mod_CFLAGS): Likewise.
25522 (ata_mod_LDFLAGS): Likewise.
25523
25524 * disk/ata.c: New file.
25525
25526 * include/grub/disk.h (grub_disk_dev_id): Add
25527 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 25528
7f66d0e0 255292007-10-31 Robert Millan <rmh@aybabtu.com>
25530
25531 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
25532 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
25533
25534 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
25535 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
25536
25537 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
25538 `<grub/types.h>'.
25539
25540 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
25541
5cd7dd46 255422007-10-27 Robert Millan <rmh@aybabtu.com>
25543
3236ca65 25544 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 25545
2ebfc90f 255462007-10-22 Robert Millan <rmh@aybabtu.com>
25547
25548 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
25549 `"../realmode.S"'.
25550 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
25551
73fcb0f3 255522007-10-22 Robert Millan <rmh@aybabtu.com>
25553
25554 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
25555 (pkgdata_MODULES): Add `biosdisk.mod'.
25556 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
25557 variables.
25558
25559 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
25560 (grub_biosdisk_init): Replace with ...
25561 (GRUB_MOD_INIT(biosdisk)): ... this.
25562 (grub_biosdisk_fini): Replace with ...
25563 (GRUB_MOD_FINI(biosdisk)): ... this.
25564
25565 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
25566 (grub_machine_init): Remove call to grub_biosdisk_init().
25567 (grub_machine_fini): Remove call to grub_machine_fini().
25568
25569 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
25570
3381d274 255712007-10-22 Robert Millan <rmh@aybabtu.com>
25572
25573 * include/grub/time.h: New file.
25574 * include/grub/i386/time.h: Likewise.
25575 * include/grub/powerpc/time.h: Likewise.
25576 * include/grub/sparc64/time.h: Likewise.
25577
25578 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
25579 instances to ...
25580 (KERNEL_MACHINE_TIME_HEADER): ... this.
25581 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25582 instances to ...
25583 (KERNEL_MACHINE_TIME_HEADER): ... this.
25584 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
25585 instances to ...
25586 (KERNEL_MACHINE_TIME_HEADER): ... this.
25587
25588 * kern/i386/efi/init.c: Include `<grub/time.h>'.
25589 (grub_millisleep): New function.
25590 * kern/i386/pc/init.c: Include `<grub/time.h>'.
25591 (grub_millisleep): New function.
25592 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
25593 Remove `grub/machine/time.h' include.
25594 (grub_millisleep): New function.
25595 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
25596 Remove `grub/machine/time.h' include.
25597 (grub_millisleep): New function.
25598
25599 * include/grub/misc.h (grub_div_roundup): New function.
25600
25601 * kern/misc.c: Include `<grub/time.h>'.
25602 (grub_millisleep_generic): New function.
25603
25604 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
25605 Add `time.h'.
25606 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
25607 Add `time.h'.
25608 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
25609 `machine/time.h'. Add `time.h'.
25610 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
25611
a39a0312 256122007-10-21 Robert Millan <rmh@aybabtu.com>
25613
25614 * include/grub/misc.h (grub_max): New function.
25615
2aad70e2 256162007-10-21 Robert Millan <rmh@aybabtu.com>
25617
25618 * util/misc.c (grub_util_info): Call fflush() before returning.
25619
54b71c4b 256202007-10-20 Robert Millan <rmh@aybabtu.com>
25621
25622 * genmk.rb (Image): Copy `extra_flags' from here ...
25623 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
25624
25625 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
25626 to `argc' and `args' arguments.
25627
a979f513 256282007-10-17 Robert Millan <rmh@aybabtu.com>
25629
25630 * kern/i386/loader.S: New file.
25631
25632 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
25633 * kern/i386/loader.S (grub_linux_prot_size)... to here.
25634 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
25635 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
25636 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
25637 * kern/i386/loader.S (grub_linux_real_addr)... to here.
25638 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
25639 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
25640 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
25641 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
25642 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
25643 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
25644 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
25645 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
25646
25647 * kern/i386/realmode.S: New file.
25648
25649 * kern/i386/pc/startup.S (protstack): Moved from here ...
25650 * kern/i386/realmode.S (protstack)... to here.
25651 * kern/i386/pc/startup.S (gdt): Moved from here ...
25652 * kern/i386/realmode.S (gdt)... to here.
25653 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
25654 * kern/i386/realmode.S (prot_to_real)... to here.
25655
25656 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
25657 `kern/i386/realmode.S'.
25658
825fc8fd 256592007-10-17 Robert Millan <rmh@aybabtu.com>
25660
25661 * include/grub/i386/loader.h: New file.
25662
25663 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
25664 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25665 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25666 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25667 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
25668 * include/grub/i386/loader.h (grub_linux_prot_size)
25669 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
25670 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
25671 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
25672 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
25673
25674 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
25675
e179b2f4 256762007-10-15 Robert Millan <rmh@aybabtu.com>
25677
25678 * normal/misc.c (grub_normal_print_device_info): Do not probe for
25679 filesystem when dev->disk is unset.
25680 Do probe for filesystem even when dev->disk->has_partitions is set.
25681 In case a filesystem is found, always report it.
25682 In case it isn't, if dev->disk->has_partitions is set, report that
25683 a partition table was found instead of reporting that no filesystem
25684 could be identified.
25685
5db82af6 256862007-10-12 Robert Millan <rmh@aybabtu.com>
25687
25688 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
25689 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
25690
68f6ac74 25691 * include/grub/types.h (grub_host_to_target16): New macro.
25692 (grub_host_to_target32): Likewise.
25693 (grub_host_to_target64): Likewise.
25694 (grub_target_to_host16): Likewise.
25695 (grub_target_to_host32): Likewise.
25696 (grub_target_to_host64): Likewise.
5db82af6 25697
25698 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
25699 Renamed from to ...
25700 (GRUB_MOD_ALIGN): ...this. Update all users.
25701
68f6ac74 25702 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
25703 grub_host_to_target32.
25704 Replace grub_be_to_cpu32 with grub_target_to_host32.
25705 (load_modules): Likewise.
25706 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
25707 Replace grub_be_to_cpu32 with grub_target_to_host32.
25708 Replace grub_cpu_to_be16 with grub_host_to_target16.
25709 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 25710
3cf497cc 257112007-10-12 Robert Millan <rmh@aybabtu.com>
25712
25713 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
25714 * util/elf/grub-mkimage.c: ... here.
25715
25716 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
25717 `util/powerpc/ieee1275/grub-mkimage.c'.
25718
c8cc3692 257192007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 25720
c8cc3692 25721 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
25722 and make it easier to figure out.
25723 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
25724 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
25725 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
25726 leave us with less than HEAP_MIN_SIZE total heap.
25727 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 25728
5c58b791 257292007-10-03 Robert Millan <rmh@aybabtu.com>
25730
25731 * include/grub/i386/io.h: New file.
25732 * commands/i386/pc/play.c (inb): Removed.
25733 (outb): Removed.
25734 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25735 with grub_outb().
afcd2ef8 25736 * term/i386/pc/serial.c (inb): Removed.
25737 (outb): Removed.
25738 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25739 with grub_outb().
25740 * term/i386/pc/vga.c (inb): Removed.
25741 (outb): Removed.
25742 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
25743 with grub_outb().
5c58b791 25744
1a477ed6 257452007-10-02 Robert Millan <rmh@aybabtu.com>
25746
25747 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
25748 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25749 Reported by Marcin Kurek.
25750
6b5d80fa 257512007-09-07 Robert Millan <rmh@aybabtu.com>
25752
25753 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
25754 SmartFirmware version updates (as released by Sven Luther), and avoid
25755 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
25756 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
25757 known broken.
25758
5618afbf 257592007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25760
25761 From Hitoshi Ozeki:
25762 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
25763 when merging two regions.
25764
6139dcd9 257652007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
25766
508e39ee 25767 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
25768 * normal/completion.c (grub_normal_do_completion): Likewise.
25769 Reported by Hitoshi Ozeki.
25770
257712007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 25772
6139dcd9 25773 Do not use devices at boot in chainloading.
f19dbdb7 25774
6139dcd9 25775 * loader/i386/pc/chainloader.c (boot_drive): New variable.
25776 (boot_part_addr): Likewise.
25777 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
25778 with BOOT_DRIVE and BOOT_PART_ADDR.
25779 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
25780 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
25781
38da6516 257822007-08-29 Robert Millan <rmh@aybabtu.com>
25783
25784 Patch from Simon Peter <dn.tlp@gmx.net>:
25785 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
25786 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
25787 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
25788 util/i386/pc/grub-setup.c_DEPENDENCIES.
25789 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
25790 util/grub-probe.c_DEPENDENCIES.
25791 * conf/powerpc-ieee1275.rmk: Likewise.
25792
29d0928c 257932007-08-28 Robert Millan <rmh@aybabtu.com>
25794
25795 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
25796 to tell grub-mkdevicemap how to name devices.
25797 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
25798 feature).
25799
25800 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
25801 util/i386/get_disk_name.c.
25802 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
25803 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
25804 util/ieee1275/get_disk_name.c.
25805
25806 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
25807
25808 * DISTLIST: Add util/i386/get_disk_name.c and
25809 util/ieee1275/get_disk_name.c.
25810
25811 * util/grub-mkdevicemap.c: Replace device naming logic with
25812 grub_util_get_disk_name() calls.
25813
5a0d3cca 258142007-08-20 Robert Millan <rmh@aybabtu.com>
25815
25816 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
25817 (so that it works for both plural and singular quantities).
25818
8b72db2f 258192007-08-05 Robert Millan <rmh@aybabtu.com>
25820
25821 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
25822 so that [xz] isn't taken into account when determining order.
25823
352466bf 258242007-08-02 Marco Gerards <marco@gnu.org>
25825
25826 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
25827 `include/multiboot2.h', `include/grub/elfload.h',
25828 `include/multiboot.h', `include/grub/multiboot.h',
25829 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
25830 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
25831 `kern/elf.c', `loader/multiboot_loader.c',
25832 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
25833 `loader/i386/pc/multiboot2.c',
25834 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
25835 `util/i386/pc/grub-mkrescue.in'. Remove
25836 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
25837 `include/grub/i386/pc/util/biosdisk.h' and
25838 `include/grub/powerpc/ieee1275/multiboot.h'.
25839
8f096014 258402007-08-02 Bean <bean123ch@gmail.com>
25841
25842 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
25843 (ntfs_mod_SOURCES): New variable.
25844 (ntfs_mod_CFLAGS): Likewise.
25845 (ntfs_mod_LDFLAGS): Likewise.
25846
25847 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
25848 (grub_probe_SOURCES): Likewise.
25849 (grub_emu_SOURCES): Likewise.
25850
25851 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25852 (grub_emu_SOURCES): Likewise.
25853
25854 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
25855 (grub_emu_SOURCES): Likewise.
f19dbdb7 25856
8f096014 25857 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
25858
25859 * fs/ntfs.c: New file.
25860
9959f7db 258612007-08-02 Bean <bean123ch@gmail.com>
25862
25863 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
25864
25865 * file.h (grub_file): Likewise.
25866
25867 * fshelp.h (grub_fshelp_read_file): Likewise.
25868
25869 * util/i386/pc/grub-setup.c (setup): Likewise.
25870 (save_first_sector): Likewise.
25871 (save_blocklists): Likewise.
f19dbdb7 25872
9959f7db 25873 * fs/affs.c (grub_affs_read_file): Likewise.
25874
25875 * fs/ext2.c (grub_ext2_read_file): Likewise.
25876
25877 * fs/fat.c (grub_fat_read_data): Likewise.
25878
25879 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
25880
25881 * fs/hfs.c (grub_hfs_read_file): Likewise.
25882
25883 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
25884
25885 * fs/jfs.c (grub_jfs_read_file): Likewise.
25886
25887 * fs/minix.c (grub_minix_read_file): Likewise.
25888
25889 * fs/sfs.c (grub_sfs_read_file): Likewise.
25890
25891 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 25892
9959f7db 25893 * fs/xfs.c (grub_xfs_read_file): Likewise.
25894
25895 * command/blocklist.c (read_blocklist): Likewise.
25896 (print_blocklist): Likewise.
25897
0a203f83 258982007-08-02 Marco Gerards <marco@gnu.org>
25899
25900 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
25901 `util/hostfs.c'.
25902
25903 * disk/host.c: New file.
25904
25905 * util/hostfs.c: Likewise.
25906
25907 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
25908 return `GRUB_ERR_BAD_FS'.
25909 * fs/sfs.c (grub_sfs_mount): Likewise.
25910 * fs/xfs.c (grub_xfs_mount): Likewise.
25911
25912 * include/grub/disk.h (enum grub_disk_dev_id): Add
25913 `GRUB_DISK_DEVICE_HOST_ID'.
25914
25915 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
25916
e5dfe777 259172007-07-24 Jerone Young <jerone@gmail.com>
25918
f19dbdb7 25919 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 25920 modules for compilation.
25921 * conf/powerpc-ieee1275.rmk: Likewise.
25922
25923 * include/multiboot.h: Move multiboot definitions to one file. Rename
25924 many definitions to not get grub specific.
25925 * include/multiboot2.h: Create header with multiboot 2 definitions.
25926 * include/grub/multiboot.h: Header for grub specific function
25927 prototypes and definitions.
25928 * include/grub/multiboot2.h: Likewise.
25929 * include/grub/multiboot_loader.h: Likewise.
25930 * include/grub/i386/pc/multiboot.h: Removed.
25931 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
25932
25933 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
25934 and 2 to allow for one multiboot and module commands.
25935 * loader/multiboot2.c: Add multiboot2 functionality.
25936 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
25937 and definition names.
25938 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
25939 2 functions.
25940 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
25941 ieee1275 specific multiboot2 code.
25942
25943 * kern/i386/pc/startup.S: Change headers and definition names for
25944 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
25945
daf0f0ba 259462007-07-22 Robert Millan <rmh@aybabtu.com>
25947
25948 * geninitheader.sh: Process file specified in first parameter rather
25949 than hardcoding grub_modules_init.lst.
fe6b695a 25950 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 25951 than hardcoding grub_modules_init.h.
25952
25953 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
25954 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
25955 grub_probe_init.[ch] and grub_setup_init.[ch].
25956
25957 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
25958 grub_modules_init.h with grub_emu_init.h.
25959 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
25960 grub_probe_init.[ch] files.
25961 * conf/i386-efi.rmk: Likewise.
25962 * conf/i386-pc.rmk: Likewise.
25963 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
25964 grub_setup_init.[ch] files.
25965
25966 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
25967 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
25968 to initialize modules rather than a list of hardcoded functions.
25969 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
25970 grub_init_all() to initialize modules rather than a list of hardcoded
25971 functions.
25972
54cdc1cc 259732007-07-22 Robert Millan <rmh@aybabtu.com>
25974
25975 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
25976 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
25977
ad0686cc 259782007-07-22 Robert Millan <rmh@aybabtu.com>
25979
25980 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
25981 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
25982 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
25983 flag when running on SmartFirmware.
25984 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
25985 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
25986 was set.
25987
25988 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
25989 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
25990 rather than decreasing it.
25991
25992 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
25993 there's not enough space to do it, fail in the same way as when it
25994 can't be done because there are no partitions.
25995
25996 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
25997 when nvsetenv failed.
25998
969c02ec 259992007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26000
26001 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
26002 because this rule is automatically generated.
26003 (grub-mkrescue): Removed for the same reason as above.
26004
5a79f472 260052007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
26006
26007 Migrate to GNU General Public License Version 3.
f19dbdb7 26008
5a79f472 26009 * COPYING: Replaced with the plain text version of GPLv3.
26010
26011 * config.guess: Updated from gnulib.
26012 * config.sub: Likewise.
26013
26014 * geninit.sh: Output a GPLv3 copyright notice.
26015 * geninitheader.sh: Likewise.
26016 * genmodsrc.sh: Likewise.
26017 * gensymlist.sh.in: Likewise.
26018
26019 * boot/i386/pc/boot.S: Upgraded to GPLv3.
26020 * boot/i386/pc/diskboot.S: Likewise.
26021 * boot/i386/pc/pxeboot.S: Likewise.
26022 * commands/blocklist.c: Likewise.
26023 * commands/boot.c: Likewise.
26024 * commands/cat.c: Likewise.
26025 * commands/cmp.c: Likewise.
26026 * commands/configfile.c: Likewise.
26027 * commands/echo.c: Likewise.
26028 * commands/help.c: Likewise.
26029 * commands/ls.c: Likewise.
26030 * commands/search.c: Likewise.
26031 * commands/terminal.c: Likewise.
26032 * commands/test.c: Likewise.
26033 * commands/videotest.c: Likewise.
26034 * commands/i386/cpuid.c: Likewise.
26035 * commands/i386/pc/halt.c: Likewise.
26036 * commands/i386/pc/play.c: Likewise.
26037 * commands/i386/pc/reboot.c: Likewise.
26038 * commands/i386/pc/vbeinfo.c: Likewise.
26039 * commands/i386/pc/vbetest.c: Likewise.
26040 * commands/ieee1275/halt.c: Likewise.
26041 * commands/ieee1275/reboot.c: Likewise.
26042 * commands/ieee1275/suspend.c: Likewise.
26043 * disk/loopback.c: Likewise.
26044 * disk/lvm.c: Likewise.
26045 * disk/raid.c: Likewise.
26046 * disk/efi/efidisk.c: Likewise.
26047 * disk/i386/pc/biosdisk.c: Likewise.
26048 * disk/ieee1275/ofdisk.c: Likewise.
26049 * font/manager.c: Likewise.
26050 * fs/affs.c: Likewise.
26051 * fs/ext2.c: Likewise.
26052 * fs/fat.c: Likewise.
26053 * fs/fshelp.c: Likewise.
26054 * fs/hfs.c: Likewise.
26055 * fs/hfsplus.c: Likewise.
26056 * fs/iso9660.c: Likewise.
26057 * fs/jfs.c: Likewise.
26058 * fs/minix.c: Likewise.
26059 * fs/sfs.c: Likewise.
26060 * fs/ufs.c: Likewise.
26061 * fs/xfs.c: Likewise.
26062 * hello/hello.c: Likewise.
26063 * include/grub/acorn_filecore.h: Likewise.
26064 * include/grub/arg.h: Likewise.
26065 * include/grub/bitmap.h: Likewise.
26066 * include/grub/boot.h: Likewise.
26067 * include/grub/cache.h: Likewise.
26068 * include/grub/device.h: Likewise.
26069 * include/grub/disk.h: Likewise.
26070 * include/grub/dl.h: Likewise.
26071 * include/grub/elfload.h: Likewise.
26072 * include/grub/env.h: Likewise.
26073 * include/grub/err.h: Likewise.
26074 * include/grub/file.h: Likewise.
26075 * include/grub/font.h: Likewise.
26076 * include/grub/fs.h: Likewise.
26077 * include/grub/fshelp.h: Likewise.
26078 * include/grub/gzio.h: Likewise.
26079 * include/grub/hfs.h: Likewise.
26080 * include/grub/kernel.h: Likewise.
26081 * include/grub/loader.h: Likewise.
26082 * include/grub/lvm.h: Likewise.
26083 * include/grub/misc.h: Likewise.
26084 * include/grub/mm.h: Likewise.
26085 * include/grub/net.h: Likewise.
26086 * include/grub/normal.h: Likewise.
26087 * include/grub/parser.h: Likewise.
26088 * include/grub/partition.h: Likewise.
26089 * include/grub/pc_partition.h: Likewise.
26090 * include/grub/raid.h: Likewise.
26091 * include/grub/rescue.h: Likewise.
26092 * include/grub/script.h: Likewise.
26093 * include/grub/setjmp.h: Likewise.
26094 * include/grub/symbol.h: Likewise.
26095 * include/grub/term.h: Likewise.
26096 * include/grub/terminfo.h: Likewise.
26097 * include/grub/tparm.h: Likewise.
26098 * include/grub/types.h: Likewise.
26099 * include/grub/video.h: Likewise.
26100 * include/grub/efi/api.h: Likewise.
26101 * include/grub/efi/chainloader.h: Likewise.
26102 * include/grub/efi/console.h: Likewise.
26103 * include/grub/efi/console_control.h: Likewise.
26104 * include/grub/efi/disk.h: Likewise.
26105 * include/grub/efi/efi.h: Likewise.
26106 * include/grub/efi/pe32.h: Likewise.
26107 * include/grub/efi/time.h: Likewise.
26108 * include/grub/i386/linux.h: Likewise.
26109 * include/grub/i386/setjmp.h: Likewise.
26110 * include/grub/i386/types.h: Likewise.
26111 * include/grub/i386/efi/kernel.h: Likewise.
26112 * include/grub/i386/efi/loader.h: Likewise.
26113 * include/grub/i386/efi/time.h: Likewise.
26114 * include/grub/i386/pc/biosdisk.h: Likewise.
26115 * include/grub/i386/pc/boot.h: Likewise.
26116 * include/grub/i386/pc/chainloader.h: Likewise.
26117 * include/grub/i386/pc/console.h: Likewise.
26118 * include/grub/i386/pc/init.h: Likewise.
26119 * include/grub/i386/pc/kernel.h: Likewise.
26120 * include/grub/i386/pc/loader.h: Likewise.
26121 * include/grub/i386/pc/memory.h: Likewise.
26122 * include/grub/i386/pc/multiboot.h: Likewise.
26123 * include/grub/i386/pc/serial.h: Likewise.
26124 * include/grub/i386/pc/time.h: Likewise.
26125 * include/grub/i386/pc/vbe.h: Likewise.
26126 * include/grub/i386/pc/vbeblit.h: Likewise.
26127 * include/grub/i386/pc/vbefill.h: Likewise.
26128 * include/grub/i386/pc/vbeutil.h: Likewise.
26129 * include/grub/i386/pc/vga.h: Likewise.
26130 * include/grub/ieee1275/ieee1275.h: Likewise.
26131 * include/grub/ieee1275/ofdisk.h: Likewise.
26132 * include/grub/powerpc/libgcc.h: Likewise.
26133 * include/grub/powerpc/setjmp.h: Likewise.
26134 * include/grub/powerpc/types.h: Likewise.
26135 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
26136 * include/grub/powerpc/ieee1275/console.h: Likewise.
26137 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
26138 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26139 * include/grub/powerpc/ieee1275/loader.h: Likewise.
26140 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
26141 * include/grub/powerpc/ieee1275/time.h: Likewise.
26142 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
26143 * include/grub/sparc64/libgcc.h: Likewise.
26144 * include/grub/sparc64/setjmp.h: Likewise.
26145 * include/grub/sparc64/types.h: Likewise.
26146 * include/grub/sparc64/ieee1275/console.h: Likewise.
26147 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
26148 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26149 * include/grub/sparc64/ieee1275/time.h: Likewise.
26150 * include/grub/util/biosdisk.h: Likewise.
26151 * include/grub/util/getroot.h: Likewise.
26152 * include/grub/util/lvm.h: Likewise.
26153 * include/grub/util/misc.h: Likewise.
26154 * include/grub/util/raid.h: Likewise.
26155 * include/grub/util/resolve.h: Likewise.
26156 * io/gzio.c: Likewise.
26157 * kern/device.c: Likewise.
26158 * kern/disk.c: Likewise.
26159 * kern/dl.c: Likewise.
26160 * kern/elf.c: Likewise.
26161 * kern/env.c: Likewise.
26162 * kern/err.c: Likewise.
26163 * kern/file.c: Likewise.
26164 * kern/fs.c: Likewise.
26165 * kern/loader.c: Likewise.
26166 * kern/main.c: Likewise.
26167 * kern/misc.c: Likewise.
26168 * kern/mm.c: Likewise.
26169 * kern/parser.c: Likewise.
26170 * kern/partition.c: Likewise.
26171 * kern/rescue.c: Likewise.
26172 * kern/term.c: Likewise.
26173 * kern/efi/efi.c: Likewise.
26174 * kern/efi/init.c: Likewise.
26175 * kern/efi/mm.c: Likewise.
26176 * kern/i386/dl.c: Likewise.
26177 * kern/i386/efi/init.c: Likewise.
26178 * kern/i386/efi/startup.S: Likewise.
26179 * kern/i386/pc/init.c: Likewise.
26180 * kern/i386/pc/lzo1x.S: Likewise.
26181 * kern/i386/pc/startup.S: Likewise.
26182 * kern/ieee1275/ieee1275.c: Likewise.
26183 * kern/powerpc/cache.S: Likewise.
26184 * kern/powerpc/dl.c: Likewise.
26185 * kern/powerpc/ieee1275/cmain.c: Likewise.
26186 * kern/powerpc/ieee1275/crt0.S: Likewise.
26187 * kern/powerpc/ieee1275/init.c: Likewise.
26188 * kern/powerpc/ieee1275/openfw.c: Likewise.
26189 * kern/sparc64/cache.S: Likewise.
26190 * kern/sparc64/dl.c: Likewise.
26191 * kern/sparc64/ieee1275/init.c: Likewise.
26192 * kern/sparc64/ieee1275/openfw.c: Likewise.
26193 * loader/efi/chainloader.c: Likewise.
26194 * loader/efi/chainloader_normal.c: Likewise.
26195 * loader/i386/efi/linux.c: Likewise.
26196 * loader/i386/efi/linux_normal.c: Likewise.
26197 * loader/i386/pc/chainloader.c: Likewise.
26198 * loader/i386/pc/chainloader_normal.c: Likewise.
26199 * loader/i386/pc/linux.c: Likewise.
26200 * loader/i386/pc/linux_normal.c: Likewise.
26201 * loader/i386/pc/multiboot.c: Likewise.
26202 * loader/i386/pc/multiboot_normal.c: Likewise.
26203 * loader/powerpc/ieee1275/linux.c: Likewise.
26204 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26205 * normal/arg.c: Likewise.
26206 * normal/cmdline.c: Likewise.
26207 * normal/command.c: Likewise.
26208 * normal/completion.c: Likewise.
26209 * normal/execute.c: Likewise.
26210 * normal/function.c: Likewise.
26211 * normal/lexer.c: Likewise.
26212 * normal/main.c: Likewise.
26213 * normal/menu.c: Likewise.
26214 * normal/menu_entry.c: Likewise.
26215 * normal/misc.c: Likewise.
26216 * normal/parser.y: Likewise.
26217 * normal/script.c: Likewise.
26218 * normal/i386/setjmp.S: Likewise.
26219 * normal/powerpc/setjmp.S: Likewise.
26220 * normal/sparc64/setjmp.S: Likewise.
26221 * partmap/acorn.c: Likewise.
26222 * partmap/amiga.c: Likewise.
26223 * partmap/apple.c: Likewise.
26224 * partmap/gpt.c: Likewise.
26225 * partmap/pc.c: Likewise.
26226 * partmap/sun.c: Likewise.
26227 * term/gfxterm.c: Likewise.
26228 * term/terminfo.c: Likewise.
26229 * term/efi/console.c: Likewise.
26230 * term/i386/pc/console.c: Likewise.
26231 * term/i386/pc/serial.c: Likewise.
26232 * term/i386/pc/vesafb.c: Likewise.
26233 * term/i386/pc/vga.c: Likewise.
26234 * term/ieee1275/ofconsole.c: Likewise.
26235 * util/biosdisk.c: Likewise.
26236 * util/console.c: Likewise.
26237 * util/genmoddep.c: Likewise.
26238 * util/getroot.c: Likewise.
26239 * util/grub-emu.c: Likewise.
26240 * util/grub-mkdevicemap.c: Likewise.
26241 * util/grub-probe.c: Likewise.
26242 * util/lvm.c: Likewise.
26243 * util/misc.c: Likewise.
26244 * util/raid.c: Likewise.
26245 * util/resolve.c: Likewise.
26246 * util/update-grub.in: Likewise.
26247 * util/update-grub_lib.in: Likewise.
26248 * util/grub.d/00_header.in: Likewise.
26249 * util/grub.d/10_hurd.in: Likewise.
26250 * util/grub.d/10_linux.in: Likewise.
26251 * util/i386/efi/grub-install.in: Likewise.
26252 * util/i386/efi/grub-mkimage.c: Likewise.
26253 * util/i386/pc/grub-install.in: Likewise.
26254 * util/i386/pc/grub-mkimage.c: Likewise.
26255 * util/i386/pc/grub-mkrescue.in: Likewise.
26256 * util/i386/pc/grub-setup.c: Likewise.
26257 * util/i386/pc/misc.c: Likewise.
26258 * util/powerpc/ieee1275/grub-install.in: Likewise.
26259 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
26260 * util/powerpc/ieee1275/misc.c: Likewise.
26261 * video/bitmap.c: Likewise.
26262 * video/video.c: Likewise.
26263 * video/i386/pc/vbe.c: Likewise.
26264 * video/i386/pc/vbeblit.c: Likewise.
26265 * video/i386/pc/vbefill.c: Likewise.
26266 * video/i386/pc/vbeutil.c: Likewise.
26267 * video/readers/tga.c: Likewise.
26268
3572d015 262692007-07-02 Robert Millan <rmh@aybabtu.com>
26270
26271 * conf/i386-efi.rmk: Replace obsolete reference to
26272 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
26273 with util/getroot.c.
26274 * conf/powerpc-ieee1275.rmk: Likewise.
26275 * conf/sparc64-ieee1275.rmk: Likewise.
26276
26277 * util/grub-emu.c (main): Fix unchecked pointer handling.
26278
2c2a681b 262792007-07-02 Robert Millan <rmh@aybabtu.com>
26280
26281 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
26282 invocation to fail, in order to support partition-less media.
26283
26284 * util/i386/pc/grub-install.in: Likewise.
26285
26286 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
26287 which fs or partmap modules are needed (akin to its sister scripts).
26288
26289 Also use grub-probe to get rid of unportable /proc/mounts check.
26290
26291 Print the same informational message that the other scripts do, before
fe6b695a 26292 exiting.
2c2a681b 26293
6193defe 262942007-06-23 Robert Millan <rmh@aybabtu.com>
26295
fe6b695a 26296 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 26297 a font file can be found and, if so, echo the GRUB path to it.
26298
26299 * util/update-grub.in: Handle multiple terminals depending on user
26300 input, platform availability and font file presence. Propagate
26301 variables of our findings to /etc/grub.d/ children.
26302
26303 * util/grub.d/00_header.in: Handle multiple terminals, based on
26304 environment setup by update-grub.
26305
eface1dc 263062007-06-23 Robert Millan <rmh@aybabtu.com>
26307
ba50d28f 26308 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 26309
bf697e28 263102007-06-21 Robert Millan <rmh@aybabtu.com>
26311
26312 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
26313 indicate end of data section in kernel image.
26314 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
26315 GRUB_KERNEL_MACHINE_DATA_END.
26316
26317 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
26318 space for it.
26319 * kern/i386/efi/startup.S: Likewise.
26320
26321 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
26322 during image generation. Implement --prefix option to override this
26323 patch.
26324 * util/i386/efi/grub-mkimage.c: Likewise.
26325
26326 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
26327 code to make path relative to its root into a separate function.
26328
26329 * util/i386/pc/grub-install.in: Use newly provided
26330 make_system_path_relative_to_its_root() to convert ${grubdir}, then
26331 pass the result to grub-install --prefix.
26332
baa574b4 263332007-06-13 Robert Millan <rmh@aybabtu.com>
26334
26335 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
26336 DEFAULT_DEVICE_MAP.
26337 * util/grub-emu.c: Use above definitions from misc.h instead of
26338 defining them.
26339 * util/grub-mkdevicemap.c: Likewise.
26340 * util/i386/pc/grub-setup.c: Likewise.
26341 * util/grub-probe.c: Likewise.
26342 (probe): Abort with grub_util_error() when either
26343 grub_guess_root_device or grub_util_get_grub_dev fails.
26344
0215dcbf 263452007-06-12 Robert Millan <rmh@aybabtu.com>
26346
26347 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
26348 "pager" assignment.
26349 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
26350 "pcdata".
26351 * util/grub-probe.c (probe): Likewise for "drive_name".
26352
8af2ab7b 263532007-06-11 Robert Millan <rmh@aybabtu.com>
26354
26355 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
26356 not just the cdrom one.
26357
59d31694 263582007-06-11 Robert Millan <rmh@aybabtu.com>
26359
26360 * util/i386/pc/grub-mkrescue.in: Add "set -e".
26361 Add --pkglibdir=DIR option to override pkglibdir.
26362 Mention --image-type=TYPE in help output.
26363 Fix --grub-mkimage (it was a no-op).
fe6b695a 26364 Abort gracefully when no parameter is given.
59d31694 26365
7ee367e4 263662007-06-11 Robert Millan <rmh@aybabtu.com>
26367
26368 * util/i386/pc/grub-mkrescue.in: New file.
26369 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
26370 * Makefile.in: Handle bin_SCRIPTS.
26371
29b0ed46 263722007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
26373
26374 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
26375 list of video modes.
26376
c0f90770 263772007-06-06 Robert Millan <rmh@aybabtu.com>
26378
26379 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
26380 file doesn't exist, or if it is in a filesystem grub can't read.
26381
26382 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
26383 not abort if GRUB_DRIVE could not be defined. Rearrange generated
26384 header comment to fit in 80 columns when the variables are resolved.
26385
26386 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
26387 could be identified by update-grub. Remove redundant check for
fe6b695a 26388 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 26389 handles that).
26390
fb36dc26 263912007-06-04 Robert Millan <rmh@aybabtu.com>
26392
26393 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
26394
26395 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
26396
26397 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
26398
0c68c93e 263992007-06-04 Robert Millan <rmh@aybabtu.com>
26400
26401 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
26402
26403 * include/grub/partition.h: Declare grub_apple_partition_map_init and
26404 grub_apple_partition_map_fini.
26405
26406 * util/biosdisk.c
26407 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
26408 to access >2 TiB disks).
26409
26410 Print disk->total_sectors with %llu instead of %lu, since this
26411 variable is always 64-bit (prevents wrong disk size from being displayed
26412 on either >2 TiB disk or big-endian CPU).
26413
26414 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
26415 into a generic case that supports all (sane) partition maps.
26416
26417 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
26418 breaks big-endian.
26419
26420 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
26421 and grub_apple_partition_map_fini() after that.
26422
0f23eb74 264232007-06-01 Robert Millan <rmh@aybabtu.com>
26424
26425 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
26426
26427 * util/grub.d/00_header.in: Only enable gfxterm when
26428 convert_system_path_to_grub_path() succeeds.
26429
42c71976 264302007-05-20 Robert Millan <rmh@aybabtu.com>
26431
26432 * util/update-grub_lib.in: New file.
26433 * DISTLIST: Add update-grub_lib.in.
26434 * conf/common.rmk: Generate update-grub_lib and install it in
26435 $(lib_DATA).
26436 * Makefile.in: Add install routine for $(lib_DATA).
26437
26438 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
26439 function provided by update-grub_lib to support arbitrary paths of
26440 unifont.pff.
26441 * util/update-grub.in: Use convert_system_path_to_grub_path() to
26442 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
26443
5beb2291 264442007-05-19 Robert Millan <rmh@aybabtu.com>
26445
26446 * commands/i386/cpuid.c: New module.
26447 * DISTLIST: Add it.
26448 * conf/i386-efi.rmk: Enable cpuid.mod.
26449 * conf/i386-pc.rmk: Likewise.
26450
7262eca1 264512007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26452
26453 * kern/disk.c (grub_disk_read): Check return value of
26454 grub_realloc().
26455
260ba823 264562007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
26457
26458 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
26459 arrays.
26460 * disk/raid.c (grub_raid_open): Likewise.
26461
1ecb6cf2 264622007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26463
26464 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
26465 stack instead of on the heap.
26466
26467 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
26468 before doing a read on it.
26469
26470 * configure.ac: Only use -fno-stack-protector for the target
26471 environment.
f19dbdb7 26472
21c8cbb1 264732007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
26474
26475 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
26476 __attribute_ ((unused)) to mode_type argument.
26477
26478 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 26479
21c8cbb1 26480 * kern/misc.c (memcmp): Fix prototype.
26481
26482 * include/grub/partition.h [GRUB_UTIL]
26483 (grub_gpt_partition_map_init): Add prototype.
26484 (grub_gpt_partition_map_fini): Likewise.
26485
26486 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
26487 at the right place.
26488
26489 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
26490 (grub_fat_read_data): Likewise.
26491 (grub_fat_find_dir): Likewise.
26492
26493 * font/manager.c (find_glyph): Make table a const.
26494 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 26495
849d55d3 264962007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
26497
26498 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
26499 code, first search for device in /dev/mapper, then in /dev.
26500 (grub_util_get_grub_dev): New function.
26501 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
26502 prototype.
26503 * util/grub-probe.c (probe): Remove check for RAID, call
26504 grub_util_get_grub_dev() instead of
26505 grub_util_biosdisk_get_grub_dev().
26506 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
26507 grub_util_biosdisk_get_grub_dev().
26508 * util/i386/pc/grub-setup.c (main): Likewise.
26509
8fff7c2f 265102007-05-16 Robert Millan <rmh@aybabtu.com>
26511
26512 * DISTLIST: Update for the latest changes.
26513 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
26514 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
26515 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
26516 grub/util/biosdisk.h.
26517 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
26518 grub/util/biosdisk.h.
26519
48e12b52 265202007-05-16 Robert Millan <rmh@aybabtu.com>
26521
26522 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
26523
46b9d128 265242007-05-16 Robert Millan <rmh@aybabtu.com>
26525
26526 * util/i386/efi/grub-install.in: New.
26527 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
26528 newly added grub-install.
26529 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
26530 include.
26531 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
26532 grub/util/biosdisk.h.
26533 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
26534 grub/util/biosdisk.h.
26535
2d1a40a9 265362007-05-16 Robert Millan <rmh@aybabtu.com>
26537
26538 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
26539 * include/grub/util/biosdisk.h: ... here.
26540 * util/i386/pc/biosdisk.c: Moved to ...
26541 * util/biosdisk.c: ... here.
26542 * util/i386/pc/getroot.c: Moved to ...
26543 * util/getroot.c: ... here.
26544 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
26545 * util/grub-mkdevicemap.c: ... here.
26546 * util/i386/pc/grub-probe.c: Moved to ...
26547 * util/grub-probe.c: ... here.
26548
9e26e3bc 265492007-05-15 Robert Millan <rmh@aybabtu.com>
26550
26551 * util/update-grub.in: Remove duplicated line in grub.cfg header
26552 message.
26553
57f96397 265542007-05-13 Robert Millan <rmh@aybabtu.com>
26555
26556 * util/update-grub.in: Fix a few assumptions about the devices holding
26557 /, /boot and /boot/grub being the same.
26558 * util/grub.d/00_header.in: Likewise.
26559 * util/grub.d/10_hurd.in: Likewise.
26560 * util/grub.d/10_linux.in: Likewise.
26561
26562 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
26563 patterns. Use that to define the `.old' suffix as older than `'.
26564
26565 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
26566
26567 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
26568 the grub.cfg header message.
26569
2e610d62 265702007-05-11 Robert Millan <rmh@aybabtu.com>
26571
26572 * util/update-grub.in: Create device.map if it doesn't already exist,
26573 before attempting to run grub-probe.
26574 Check for grub-probe and grub-mkdevicemap with the same code
26575 grub-install is using.
26576 Remove test mode.
26577
3f6a10ef 265782007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
26579
26580 * Makefile.in: Add the datarootdir autoconf variable.
26581
02e7b75e 265822007-05-09 Robert Millan <rmh@aybabtu.com>
26583
26584 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 26585 fail gracefully if dev->disk->partition == NULL.
02e7b75e 26586
75f396cc 265872007-05-07 Robert Millan <rmh@aybabtu.com>
26588
26589 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
26590 determine partition map module.
26591 * util/i386/pc/grub-install.in: Use this feature to decide which
26592 partition module to load, instead of hardcoding pc and gpt.
26593
da65cb36 265942007-05-07 Robert Millan <rmh@aybabtu.com>
26595
26596 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
26597 source directory differs from build directory.
26598
b57d6a91 265992007-05-05 Robert Millan <rmh@aybabtu.com>
26600
26601 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
26602 initialisation.
26603
509d00f1 266042007-05-05 Robert Millan <rmh@aybabtu.com>
26605
26606 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
26607
c48f23ef 266082007-05-05 Robert Millan <rmh@aybabtu.com>
26609
26610 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
26611 command-line arguments via ${GRUB_CMDLINE_LINUX}.
26612
20b97658 266132007-05-05 Robert Millan <rmh@aybabtu.com>
26614
26615 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
26616 (grub_probe_SOURCES): Likewise.
26617 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
26618 GPT and initialize dos_part and bsd_part accordingly.
26619 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
26620 install_bsd_part.
26621 (main): Activate gpt module for use during partition identification,
26622 and deactivate it afterwards.
26623 * util/i386/pc/grub-install.in: Add gpt module to core.img.
26624 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
26625 partition identification, and deactivate it afterwards.
26626
99123174 266272007-05-05 Robert Millan <rmh@aybabtu.com>
26628
26629 * term/i386/pc/console.c (grub_console_fini): Call
26630 grub_term_set_current() before grub_term_unregister().
26631
ebd97f6e 266322007-05-04 Robert Millan <rmh@aybabtu.com>
26633
26634 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
26635 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
26636 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
26637 and update-grub_DATA.
26638 * conf/common.rmk: Build and install update-grub components.
26639 * conf/common.mk: Regenerate.
26640 * util/update-grub.in: New. Core of update-grub.
26641 * util/grub.d/00_header.in: New. Generates grub.cfg header.
26642 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
26643 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
26644 * util/grub.d/README: New. Document grub.d directory layout.
26645
b06a264d 266462007-05-01 Robert Millan <rmh@aybabtu.com>
26647
26648 * util/grub-emu.c: Move initialization functions
26649 grub_util_biosdisk_init() and grub_init_all() before
26650 grub_util_biosdisk_get_grub_dev(), which relies on them.
26651
41f0050e 266522007-04-19 Robert Millan <rmh@aybabtu.com>
26653
26654 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
26655 it is used later.
26656
04582bb3 266572007-04-18 Jerone Young <jerone@gmail.com>
26658
f19dbdb7 26659 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 26660 stanza.
26661
08db4632 266622007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 26663
08db4632 26664 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
26665 continue on and look for device node with real device name.
26666
801b76be 266672007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 26668
fe6b695a 26669 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 26670 ability.
26671 * Makefile.in: Add autoconf package transformation code.
26672 * util/i386/pc/grub-install.in: Likewise.
26673 * util/powerpc/ieee1275/grub-install.in: Likewise.
26674
6795c4e1 266752007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
26676
26677 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
26678 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
26679 (EXT2_REVISION): Likewise.
26680 (EXT2_INODE_SIZE): Likewise.
26681 (struct grub_ext2_block_group): Added a missing member
26682 "used_dirs".
26683 (grub_ext2_read_inode): Divide by the inode size in a superblock
26684 instead of 128 to obtain INODES_PER_BLOCK.
26685 Use the macro EXT2_INODE_SIZE instead of directly using
26686 SBLOCK->INODE_SIZE.
26687
d70af616 266882007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
26689
26690 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
26691 superblock instead of the structure size to compute an
26692 offset. This fixes the problem that GRUB could not read a
26693 filesystem when inode size is different from 128-byte.
26694
3b801603 266952007-03-05 Marco Gerards <marco@gnu.org>
26696
26697 * normal/main.c (read_config_file): When "menu" is not set, create
26698 an initial context.
26699
4785bfe4 267002007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26701
26702 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
26703 (HEAP_LIMIT): New macro.
26704 (grub_claim_heap): Claim memory up to `heaplimit'.
26705
a0cbb023 267062007-02-21 Hollis Blanchard <hollis@penguinppc.org>
26707
26708 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
26709 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
26710 (_start): Likewise.
26711 (grub_arch_modules_addr): Return address after `_end'.
26712 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
26713 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
26714 (add_segments): Calculate `_end' from phdr size and location.
26715 (ALIGN_UP): Moved to ...
26716 * include/grub/misc.h: here.
26717 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
26718 New macro.
26719 (GRUB_IEEE1275_MODULE_BASE): Removed.
26720
fd7d8eba 267212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26722
26723 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
26724 loop boundary.
26725
9b09e6fc 267262007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26727
26728 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
26729 All users updated.
26730 (grub_elf64_load_hook_t): Likewise.
26731 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
26732 debug output.
26733
3ce27299 267342007-02-20 Hollis Blanchard <hollis@penguinppc.org>
26735
26736 * kern/mm.c: Update copyright.
26737 (grub_mm_debug): Correct syntax error.
26738 (grub_mm_dump_free): New function.
26739 (grub_debug_free): Call `grub_free'.
26740 * include/grub/mm.h: Update copyright.
26741 (grub_mm_dump_free): Add declaration.
26742
077d5fee 267432007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26744
26745 * include/grub/ieee1275/ieee1275.h: Update copyright.
26746 * kern/powerpc/ieee1275/init.c: Likewise.
26747 * kern/powerpc/ieee1275/openfw.c: Likewise.
26748
26749 * loader/powerpc/ieee1275/linux.c: Likewise.
26750 * include/grub/elfload.h: Likewise.
26751 * kern/elf.c: Likewise.
26752 (grub_elf32_load): Pass `base' and `size' parameters. Update all
26753 callers.
26754 (grub_elf64_load): Likewise.
26755 (grub_elf32_load_segment): Move to a nested function.
26756 (grub_elf64_load_segment): Likewise.
26757
dc946850 267582007-02-12 Hollis Blanchard <hollis@penguinppc.org>
26759
26760 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
26761 prototype.
26762 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
26763 (grub_heap_len): Likewise.
26764 (HEAP_SIZE): New macro.
26765 (grub_claim_heap): New function.
26766 (grub_machine_init): Don't claim heap directly. Call
26767 `grub_claim_heap'.
26768 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
26769 (grub_available_iterate): New function.
26770
baa2a121 267712007-02-03 Thomas Schwinge <tschwinge@gnu.org>
26772
26773 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
26774 * configure.ac: Use it for testing the HOST and TARGET compilers.
26775
4fe9862e 267762006-12-13 Thomas Schwinge <tschwinge@gnu.org>
26777
26778 * Makefile.in (enable_grub_emu): New variable.
26779 * configure.ac (--enable-grub-emu): New option.
26780 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
26781 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
26782 * conf/i386-pc.rmk: Likewise.
26783 * conf/powerpc-ieee1275.rmk: Likewise.
26784 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
26785
a8aa5762 267862006-12-12 Marco Gerards <marco@gnu.org>
26787
26788 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
26789
26790 * kern/env.c (grub_env_unset): Don't free the member `value' when
26791 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
26792 pointer.
26793
26794 * normal/main.c (current_menu): Removed.
26795 (free_menu): Unset the `menu' environment variable.
26796 (grub_normal_menu_addentry): Make use of the environment variable
26797 `menu', instead of using the global `current_menu'. Allocate
26798 memory for the sourcecode of this entry.
26799 (read_config_file): New argument `nested', changed all callers.
26800 Only in the case of a new context, initialize a new menu. Set the
26801 `menu' environment variable.
26802 (grub_normal_execute): Don't set and unset the environment
26803 variable `menu' here anymore. Only free the menu when leaving the
26804 context.
26805
26806 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
26807 leak.
26808
957b3a3e 268092006-12-11 Marco Gerards <marco@gnu.org>
26810
26811 * normal/menu_entry.c (run): Fix off by one bug so the last line
26812 is executed. Move the loader check to outside the loop.
26813
ef875714 268142006-12-08 Hollis Blanchard <hollis@penguinppc.org>
26815
26816 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
26817
4e739985 268182006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
26819
26820 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
26821 the number of sectors. Reported by Andrey Shuvikov
26822 <mr_hyro@yahoo.com>.
f19dbdb7 26823
790707f2 268242006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
26825
26826 * kern/disk.c (grub_disk_read): When there is a read error, always
26827 try to read only the necessary data.
f19dbdb7 26828
790707f2 26829 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
26830 disk/raid.c.
26831 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
26832 prototype.
26833 [GRUB_UTIL] (grub_raid_fini): Likewise.
26834 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 26835 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 26836 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
26837 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
26838 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
26839 and grub_raid_fini().
f19dbdb7 26840
03e58196 268412006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
26842
26843 * include/grub/types.h (__unused): Rename to UNUSED.
26844 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
26845 (grub_elf64_size): Likewise.
f19dbdb7 26846
ae4f23bf 268472006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26848
26849 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
26850 grub_error_push and grub_error_pop in the error-handling path.
26851 (grub_elf32_load_segment): Only call grub_file_read with non-zero
26852 length.
26853
2166cc83 268542006-11-03 Hollis Blanchard <hollis@penguinppc.org>
26855
26856 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
26857 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26859 (kernel_elf_SOURCES): Likewise.
26860 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
26861 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
26862 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26863 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
26864 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
26865 (elf_mod_SOURCES): New variable.
26866 (elf_mod_CFLAGS): Likewise.
26867 (elf_mod_LDFLAGS): Likewise.
26868 * include/grub/types.h (__unused): New macro.
26869 * include/grub/elfload.h: New file.
26870 * kern/elf.c: Likewise.
26871 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
26872 (ELF32_LOADMASK): New macro.
26873 (ELF64_LOADMASK): Likewise.
26874 (vmlinux): Removed.
26875 (grub_linux_load32): New function.
26876 (grub_linux_load64): Likewise.
26877 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
26878 Use grub_elf_t instead of grub_file_t.
26879
a09d5aa5 268802006-11-02 Hollis Blanchard <hollis@penguinppc.org>
26881
26882 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
26883 `catch_result' to struct set_color_args.
26884
d976fc51 268852006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
26886
26887 * normal/menu.c: Include grub/script.h.
26888 * normal/menu_entry.c: Likewise.
26889 * include/grub/normal.h: Do not include grub/script.h.
26890
67507549 268912006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26892
26893 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
26894
69203a99 268952006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26896
26897 * kern/disk.c (grub_disk_open): Print debug messages when opening a
26898 disk.
26899 (grub_disk_close): Print debug messages when closing a disk.
26900 (grub_disk_read): Print debug messages when disk read fails.
26901 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
26902 filesystem type.
26903 * kern/partition.c: Include misc.h.
26904 (grub_partition_iterate): Print debug messages when detecting
26905 partition type.
26906
e2b8278c 269072006-10-27 Hollis Blanchard <hollis@penguinppc.org>
26908
26909 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
26910 is negative.
26911 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
26912
97b2f2ff 269132006-10-26 Hollis Blanchard <hollis@penguinppc.org>
26914
26915 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
26916 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
26917
6555d655 269182006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
26919
26920 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
26921 instead of sizeof(lv). Patch by Michael Guntsche.
26922
4d42b77f 269232006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
26924
26925 * disk/lvm.c: Rename VGS to VG_LIST.
26926 (grub_lvm_iterate): Change VGS->LV to VG-LV.
26927 (grub_lvm_open): Likewise.
26928 Thanks to Michael Guntsche for finding this bug.
26929
5d74d927 269302006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
26931
26932 * configure.ac (AC_INIT): Bumped to 1.95.
26933
a1bb27e4 269342006-10-14 Robert Millan <rmh@aybabtu.com>
26935
26936 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
26937 with "/dev/.static/dev/md".
26938
e0994b8b 269392006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26940
26941 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
26942 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
26943 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
26944 DRIVE_NAME are always freed.
26945
26946 * util/i386/pc/biosdisk.c (make_device_name): Add one into
26947 DOS_PART, as a DOS partition is counted from one instead of zero
26948 now. Reported by Robert Millan.
26949
ddd5cee9 269502006-10-14 Robert Millan <rmh@aybabtu.com>
26951
26952 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
26953 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
26954 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
26955 string returned by grub_guess_root_device.
26956 * util/i386/pc/grub-setup.c: Likewise.
26957 * util/i386/pc/grub-probefs.c: Likewise.
26958
26959 * util/i386/pc/grub-probefs.c: Rename to ...
26960 * util/i386/pc/grub-probe.c: ... this.
26961 * DISTLIST: Remove grub-probefs, add grub-probe.
26962 * conf/i386-efi.rmk: Likewise.
26963 * conf/i386-pc.rmk: Likewise.
26964 * util/i386/pc/grub-install.in: Likewise.
26965
26966 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
26967 choose which information we want to print.
26968
2b002173 269692006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
26970
26971 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
26972 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
26973 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
26974 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
26975 video/readers/tga.c and video/i386/pc/vbeutil.c.
26976
269772006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
26978
26979 Added support for RAID and LVM.
f19dbdb7 26980
2b002173 26981 * disk/lvm.c: New file.
26982 * disk/raid.c: Likewise.
26983 * include/grub/lvm.h: Likewise.
f19dbdb7 26984 * include/grub/raid.h: Likewise.
2b002173 26985 * include/grub/util/lvm.h: Likewise.
26986 * include/grub/util/raid.h: Likewise.
26987 * util/lvm.c: Likewise.
26988 * util/raid.c: Likewise.
26989
26990 * include/grub/disk.h (grub_disk_dev_id): Add
26991 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
26992 (grub_disk_get_size): New prototype.
26993 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
26994 returns a partition.
26995 (grub_disk_get_size): New function.
f19dbdb7 26996
2b002173 26997 * kern/i386/pc/init.c (make_install_device): Copy the prefix
26998 verbatim if grub_install_dos_part is -2.
26999
27000 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
27001 and LVM devices.
27002
27003 * util/i386/pc/grub-setup.c (setup): New argument
27004 MUST_EMBED. Force embedding of GRUB when the argument is
27005 true. Close FILE before returning.
27006 (main): Add support for RAID and LVM.
f19dbdb7 27007
2b002173 27008 * conf/common.rmk: Add RAID and LVM modules.
27009 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
27010 util/lvm.c.
27011 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
27012
27013 * kern/misc.c (grub_strstr): New function.
27014 * include/grub/misc.h (grub_strstr): New prototype.
27015
050548d0 270162006-10-10 Tristan Gingold <tristan.gingold@bull.net>
27017
27018 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
27019
da849d2d 270202006-10-05 Tristan Gingold <tristan.gingold@bull.net>
27021
27022 * kern/misc.c (grub_strtoull): Guess the base only if not
27023 specified.
27024
97b2f2ff 270252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 27026
27027 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
27028 PowerMac support.
27029
97b2f2ff 270302006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 27031
27032 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
27033
27034 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
27035 Remove `flags' argument. All callers changed.
27036 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
27037 (IEEE1275_IHANDLE_INVALID): New variable.
27038 (IEEE1275_CELL_INVALID): New variable.
27039 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27040 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
27041 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
27042 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
27043 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
27044 codes from Open Firmware. All callers updated.
27045 (grub_ieee1275_next_property): Directly return Open Firmware return
27046 code.
27047 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27048 Standardize error checking from `grub_ieee1275_get_property'.
27049 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
27050 `devalias' to `aliases'. Correct comments. Consolidate error paths.
27051
97b2f2ff 270522006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 27053
27054 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
27055 `instance_to_package_args' to `instance_to_path_args'.
27056
27057 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
27058 `grub_ieee1275_chosen'.
27059
27060 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
27061 `grub_ieee1275_interpret'.
27062
97b2f2ff 270632006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 27064
27065 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
27066
97b2f2ff 270672006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 27068
27069 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
27070 (__cmpdi): Likewise.
27071
27072 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
27073 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
27074 `grub_ssize_t'.
27075
02bb8acc 27076 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 27077
27078 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
27079 to type `grub_ssize_t'.
27080 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
27081
7f9a8531 270822006-09-22 Marco Gerards <marco@gnu.org>
27083
27084 * normal/script.c (grub_script_create_cmdmenu): Skip leading
27085 newlines.
27086
b5ef1102 270872006-09-22 Marco Gerards <marco@gnu.org>
27088
27089 * commands/echo.c: New file.
27090
27091 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
27092
27093 * conf/common.rmk (echo_mod_SOURCES): New variable.
27094 (echo_mod_CFLAGS): Likewise.
27095 (echo_mod_LDFLAGS): Likewise.
27096
2cff3677 270972006-09-22 Marco Gerards <marco@gnu.org>
27098
27099 * normal/main.c (get_line): Malloc memory instead of using
27100 preallocated memory. Removed the arguments `cmdline' and
27101 `max_len'. Updated all callers.
27102
6ba4688b 271032006-09-22 Marco Gerards <marco@gnu.org>
27104
27105 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
27106 (normal_mod_DEPENDENCIES): Likewise.
27107
27108 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
27109 (normal_mod_DEPENDENCIES): Likewise.
27110
27111 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
27112
e02ac02c 271132006-09-22 Johan Rydberg <jrydberg@gnu.org>
27114
27115 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
27116 programs.
27117 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
27118 (normal_mod_DEPENDENCIES): Likewise.
27119 * conf/i386-pc.mk: Regenerate.
27120 * conf/i386-efi.mk: Likewise
27121 * conf/common.mk: Likewise.
27122 * conf/powerpc-ieee1275.mk: Likewise.
27123 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27124
8d252e44 271252006-09-22 Robert Millan <rmh@aybabtu.com>
27126
27127 Sync with i386 version.
27128 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
27129 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
27130
209bf7ac 271312006-09-21 Robert Millan <rmh@aybabtu.com>
27132
27133 Import from GRUB Legacy (lib/device.c):
27134 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
27135 (init_device_map) [__linux__]: Add support for I2O devices.
27136
6b146090 271372006-09-14 Marco Gerards <marco@gnu.org>
27138
27139 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
27140 `-melf_i386'.
27141
e38600a8 271422006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 27143
27144 * util/i386/pc/grub-install.in: Skip menu.lst when removing
27145 /boot/grub/*.lst.
78fa1790 27146
2952da5d 27147 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 27148
2952da5d 27149 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
27150 before adding it to device.map.
27151
01b82a64 271522006-08-15 Johan Rydberg <jrydberg@gnu.org>
27153
fe6b695a 27154 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 27155 compiles a file; using the -MD option.
27156 * conf/common.mk: Regenerate.
27157 * conf/i386-pc.mk: Likewise.
27158 * conf/i386-efi.mk: Likewise.
27159 * conf/powerpc-ieee1275.mk: Likewise.
27160 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 27161
1064790d 271622006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
27163
27164 Move the prototypes of grub_setjmp and grub_longjmp to
27165 cpu/setjmp.h, so that each architecture may specify different
27166 attributes.
f19dbdb7 27167
1064790d 27168 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
27169 (grub_longjmp): Likewise.
27170 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
27171 (grub_longjmp): Likewise.
27172 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
27173 (grub_longjmp): Likewise.
27174
27175 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
27176 [!GRUB_UTIL] (grub_longjmp): Removed.
27177
29dda3ed 271782006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
27179
27180 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
27181 "color!" method does not return any value.
27182
ad2a06ed 271832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27184
27185 * include/grub/bitmap.h: New file.
27186
27187 * include/grub/i386/pc/vbeutil.h: Likewise.
27188
27189 * video/bitmap.c: Likewise.
27190
27191 * video/readers/tga.c: Likewise.
27192
27193 * video/i386/pc/vbeutil.c: Likewise.
27194
27195 * commands/videotest.c: Code cleanup and updated to reflect to new
27196 video API.
27197
27198 * term/gfxterm.c: Likewise.
27199
27200 * video/video.c: Likewise.
27201
27202 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
27203 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
27204 (bitmap_mod_SOURCES): New entry.
27205 (bitmap_mod_CFLAGS): Likewise.
27206 (bitmap_mod_LDFLAGS): Likewise.
27207 (tga_mod_SOURCES): Likewise.
27208 (tga_mod_CFLAGS): Likewise.
27209 (tga_mod_LDFLAGS): Likewise.
27210
27211 * include/grub/video.h (grub_video_blit_operators): New enum type.
27212 (grub_video_render_target): Changed as forward declaration and moved
27213 actual definition to be video driver specific.
27214 (grub_video_adapter.blit_bitmap): Added blitting operator.
27215 (grub_video_adapter.blit_render_target): Likewise.
27216 (grub_video_blit_bitmap): Likewise.
27217 (grub_video_blit_render_target): Likewise.
27218
27219 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
27220 driver specific render target definition.
27221 (grub_video_vbe_map_rgba): Added driver internal helper.
27222 (grub_video_vbe_unmap_color): Updated to use
27223 grub_video_i386_vbeblit_info.
27224 (grub_video_vbe_get_video_ptr): Likewise.
27225
27226 * include/grub/i386/pc/vbeblit.h
27227 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
27228 grub_video_i386_vbeblit_info.
27229 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27230 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27231 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27232 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27233 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27234 (grub_video_i386_vbeblit_index_index): Likewise.
27235 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
27236 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27237 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27238 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
27239 operator.
27240 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
27241 operator.
27242
27243 * video/i386/pc/vbeblit.c: Updated to reflect changes on
27244 include/grub/i386/pc/vbeblit.h.
27245
27246 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
27247 Updated to use grub_video_i386_vbeblit_info.
27248 (grub_video_i386_vbefill_R8G8B8): Likewise.
27249 (grub_video_i386_vbefill_index): Likewise.
27250 (grub_video_i386_vbefill): Added generic filler.
27251
27252 * video/i386/pc/vbefill.c: Updated to reflect changes on
27253 include/grub/i386/pc/vbefill.h.
27254
27255 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
27256 grub_video_i386_vbeblit_info.
27257 (grub_video_vbe_unmap_color): Likewise.
27258 (grub_video_vbe_blit_glyph): Likewise.
27259 (grub_video_vbe_scroll): Likewise.
27260 (grub_video_vbe_draw_pixel): Removed function.
27261 (grub_video_vbe_get_pixel): Likewise.
27262 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
27263 updated code to use it.
27264 (common_blitter): Added common blitter for render target and bitmap.
27265 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
27266 (grub_video_vbe_blit_render_target): Likewise.
27267
bc8c036d 272682006-07-30 Johan Rydberg <jrydberg@gnu.org>
27269
27270 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
27271 is in text mode if there is no console control protocol instance
27272 available.
27273
684a8eff 272742006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27275
27276 * include/grub/video.h: Code cleanup.
27277
27278 * include/grub/i386/pc/vbe.h: Likewise.
27279
27280 * video/i386/pc/vbe.c: Likewise.
27281
27282 * video/i386/pc/vbeblit.c: Likewise.
27283
27284 * video/i386/pc/vbefill.c: Likewise.
27285
27286 * video/video.c: Likewise. Also added more comments.
27287
5915059b 272882006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
27289
27290 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
27291 (struct grub_biosdisk_dap): Likewise.
27292
27293 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
27294 linkage settings for all functions.
27295
90ce5d56 272962006-07-12 Marco Gerards <marco@gnu.org>
27297
27298 * configure.ac (--enable-mm-debug): Fix typo.
27299
27300 * genkernsyms.sh.in: Use proper quoting for `CC'.
27301
43e7f879 273022006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
27303
27304 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
27305 (normal_mod_ASFLAGS): Remove "-m32".
27306
4889bdec 273072006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
27308
27309 * util/misc.c: Include config.h.
27310 [!HAVE_MEMALIGN]: Do not include malloc.h.
27311 (grub_memalign): Use posix_memalign, if present. Then, use
27312 memalign, if present. Otherwise, emit an error.
27313
27314 * util/grub-emu.c: Do not include malloc.h.
27315
27316 * include/grub/util/misc.h: Include unistd.h. This is required for
27317 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
27318 D. Eades III <hde@foobar-qux.org>.
27319
27320 * configure.ac (AC_GNU_SOURCE): Added.
27321 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
27322 type.
27323
fd39d4da 273242006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
27325
27326 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
27327 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
27328
b786f3b5 273292006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
27330
27331 * include/grub/types.h (grub_host_addr_t): Rename to
27332 grub_target_addr_t.
27333 (grub_host_off_t): Rename to grub_target_off_t.
27334 (grub_host_size_t): Rename to grub_target_size_t.
27335 (grub_host_ssize_t): Rename to grub_target_ssize_t.
27336 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
27337
27338 * include/grub/kernel.h (struct grub_module_header): Change type
27339 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
27340 (grub_module_info): Likewise.
f19dbdb7 27341
051988bb 273422006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27343
27344 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
27345 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
27346 Velazquez <jesus.velazquez@gmail.com>.
27347
deae281b 273482006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
27349
27350 Count partitions from 1 instead of 0 in the string representation
27351 of partitions. Still use 0-based internally.
f19dbdb7 27352
deae281b 27353 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
27354 (sun_partition_map_iterate): Use grub_partition_t instead of
27355 struct grub_partition *. Cast DESC->START_CYLINDER to
27356 grub_uint64_t after converting the endian.
27357 (sun_partition_map_probe): Subtract 1 for PARTNUM.
27358 (sun_partition_map_get_name): Add 1 to P->INDEX.
27359
27360 * partmap/pc.c (grub_partition_parse): Subtract 1 for
27361 PCDATA->DOS_PART.
27362 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
27363
27364 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
27365 zero instead of one.
27366 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
27367 (gpt_partition_map_get_name): Add 1 into P->INDEX.
27368
27369 * partmap/apple.c (apple_partition_map_iterate): Change the type
27370 of POS to unsigned.
27371 (apple_partition_map_probe): Subtract 1 for PARTNUM.
27372 (apple_partition_map_get_name): Add 1 into P->INDEX.
27373
27374 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
27375 of POS to unsigned.
27376 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
27377 calculate the offset of a partition.
27378 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
27379 (amiga_partition_map_get_name): Add 1 into P->INDEX.
27380
27381 * partmap/acorn.c (acorn_partition_map_find): Change the type of
27382 SECTOR to grub_disk_addr_t.
27383 (acorn_partition_map_iterate): Likewise.
27384 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
27385 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
27386 top.
27387 (acorn_partition_map_get_name): Add 1 into P->INDEX.
27388
27389 * kern/i386/pc/init.c (make_install_device): Add 1 into
27390 GRUB_INSTALL_DOS_PART.
27391
27392 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
27393 conditional.
27394
524a1e6a 273952006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27396
27397 Clean up the code to support 64-bit addressing in disks and
27398 files. This change is not enough for filesystems yet.
f19dbdb7 27399
524a1e6a 27400 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
27401 type of "start" to grub_uint64_t.
27402 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
27403 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
27404 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
27405 convert addresses.
27406
27407 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
27408 to grub_disk_addr_t.
27409
27410 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
27411 string.
27412
27413 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27414
27415 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
27416 to char *.
27417
27418 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
27419
27420 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
27421
27422 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
27423
27424 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
27425 to grub_off_t, to detect an error from grub_file_seek.
27426 (grub_multiboot_load_elf32): Likewise.
27427
27428 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
27429 maximum unsigned long value when an overflow is detected.
27430 (grub_strtoull): New function.
27431 (grub_divmod64): Likewise.
27432 (grub_lltoa): use grub_divmod64.
27433
27434 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
27435 grub_disk_addr_t.
27436 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
27437 the pointer to next character. Use grub_strtoull instead of
27438 grub_strtoul.
27439 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
27440 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
27441 respectively.
27442
fe6b695a 27443 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 27444 return value is signed.
27445 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
27446 test if OFFSET is less than zero, as OFFSET is unsigned now.
27447
27448 * kern/disk.c (struct grub_disk_cache): Change the type of
27449 "sector" to grub_disk_addr_t.
27450 (grub_disk_cache_get_index): Change the type of SECTOR to
27451 grub_disk_addr_t. Calculate the hash with SECTOR casted to
27452 unsigned after shifting.
27453 (grub_disk_cache_invalidate): Change the type of SECTOR to
27454 grub_disk_addr_t.
27455 (grub_disk_cache_unlock): Likewise.
27456 (grub_disk_cache_store): Likewise.
27457 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
27458 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
27459 grub_disk_addr_t and grub_uint64_t, respectively.
27460 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
27461 body, as the value of OFFSET is tweaked by
27462 grub_disk_check_range. Change the types of START_SECTOR, LEN and
27463 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
27464 respectively.
27465 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
27466 body, as the value of OFFSET is tweaked by
27467 grub_disk_check_range. Change the types of LEN and N to
27468 grub_size_t.
27469
27470 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
27471 and "saved_offset" to grub_off_t.
27472 (test_header): Cast BUF to char *.
27473 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
27474 to char *.
27475 (grub_gzio_read): Change the types of OFFSET and SIZE to
27476 grub_off_t and grub_size_t, respectively.
27477
27478 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
27479 Removed.
27480 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
27481 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
27482 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
27483 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
27484 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
27485
27486 * include/grub/types.h (grub_off_t): Unconditionally set to
27487 grub_uint64_t.
27488 (grub_disk_addr_t): Changed to grub_uint64_t.
27489
27490 * include/grub/partition.h (struct grub_partition): Change the
27491 types of "start", "len" and "offset" to grub_disk_addr_t,
27492 grub_uint64_t and grub_disk_addr_t, respectively.
27493 (grub_partition_get_start): Return grub_disk_addr_t.
27494 (grub_partition_get_len): Return grub_uint64_t.
27495
27496 * include/grub/misc.h (grub_strtoull): New prototype.
27497 (grub_divmod64): Likewise.
27498
27499 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
27500 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
27501 grub_off_t, respectively.
27502 All callers and references changed.
27503
27504 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
27505 grub_size_t in "read".
27506 All callers and references changed.
27507
27508 * include/grub/file.h (struct grub_file): Change the types of
27509 "offset" and "size" to grub_off_t and grub_off_t,
27510 respectively. Change the type of SECTOR to grub_disk_addr_t in
27511 "read_hook".
27512 (grub_file_read): Change the type of LEN to grub_size_t.
27513 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
27514 grub_off_t.
27515 (grub_file_size): Return grub_off_t.
27516 (grub_file_tell): Likewise.
27517 All callers and references changed.
27518
27519 * include/grub/disk.h (struct grub_disk_dev): Change the types of
27520 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
27521 "write".
27522 (struct grub_disk): Change the type of "total_sectors" to
27523 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 27524 "read_hook".
524a1e6a 27525 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
27526 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
27527 (grub_disk_write): Likewise.
27528 All callers and references changed.
27529
27530 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
27531 char * for grub_strncmp to silence gcc.
27532 (grub_iso9660_mount): Likewise.
27533 (grub_iso9660_mount): Likewise.
27534 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
27535 return statement.
27536 (grub_iso9660_iterate_dir): Likewise.
27537 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
27538
27539 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
27540 LEN to grub_disk_addr_t and grub_size_t, respectively.
27541
27542 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27543
27544 * fs/jfs.c (grub_jfs_read_file): Likewise.
27545
27546 * fs/minix.c (grub_jfs_read_file): Likewise.
27547
27548 * fs/sfs.c (grub_jfs_read_file): Likewise.
27549
27550 * fs/ufs.c (grub_jfs_read_file): Likewise.
27551
27552 * fs/xfs.c (grub_jfs_read_file): Likewise.
27553
27554 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
27555 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
27556 respectively.
27557
27558 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
27559 BLKNR to -1 instead of returning GRUB_ERRNO.
27560 (grub_ext2_read_file): Change the types of SECTOR and
27561 LEN to grub_disk_addr_t and grub_size_t, respectively.
27562
27563 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
27564 LEN to grub_disk_addr_t and grub_size_t, respectively.
27565
27566 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
27567 grub_file_read.
27568
27569 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
27570 string. Do not cast SECTOR explicitly.
27571
27572 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
27573 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
27574 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
27575 grub_disk_addr_t and grub_size_t, respectively. If the sector is
27576 over 2TB and LBA mode is not supported, raise an error.
27577 (get_safe_sectors): New function.
27578 (grub_biosdisk_read): Use get_safe_sectors.
27579 (grub_biosdisk_write): Likewise.
27580
27581 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
27582 (grub_efidisk_write): Likewise.
27583
27584 * disk/loopback.c (delete_loopback): Cosmetic changes.
27585 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
27586 correctly.
27587 (grub_loopback_open): Likewise.
27588 (grub_loopback_read): Likewise. Also, change the type of POS to
27589 grub_off_t, and fix the usage of grub_memset.
27590
27591 * commands/i386/pc/play.c: Include grub/machine/time.h.
27592
27593 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
27594 print FILE->SIZE.
27595
27596 * commands/configfile.c: Include grub/env.h.
27597
27598 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
27599 GRUB_ERRNO directly instead. Change the type of POS to
27600 grub_off_t. Follow the coding standard.
27601
27602 * commands/blocklist.c: Include grub/partition.h.
27603 (grub_cmd_blocklist): Return an error if the underlying device is
27604 not a disk. Take the starting sector of a partition into account,
27605 if a partition is used.
27606
27607 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
27608 a length field.
27609 (lba_mode): Support 64-bit addresses.
27610 (chs_mode): Likewise.
27611 (copy_buffer): Adapted to the new offsets of a length field and a
27612 segment field.
27613 (blocklist_default_start): Allocate 64-bit space.
27614
27615 * boot/i386/pc/boot.S (force_lba): Removed.
27616 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 27617 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 27618 space.
27619 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
27620 is useless.
27621 (lba_mode): Refactored to support a 64-bit address. More size
27622 optimization.
27623 (setup_sectors): Likewise.
27624
53af98ad 276252006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
27626
27627 * DISTLIST: Added include/grub/i386/linux.h. Removed
27628 include/grub/i386/pc/linux.h
27629
27630 * configure.ac (AC_INIT): Bumped to 1.94.
27631
27632 * config.guess: Updated from gnulib.
27633 * config.sub: Likewise.
27634 * install-sh: Likewise.
27635 * mkinstalldirs: Likewise.
27636
b4c1940a 276372006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27638
27639 * conf/common.rmk (grub_modules_init.lst): Depended on
27640 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
27641 MODSRCFILES.
27642
27643 * genmk.rb (PModule::rule): Reverted the previous change.
27644
cfca1cfd 276452006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
27646
27647 * conf/common.rmk (grub_modules_init.lst): Depends on
27648 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
27649 that the target does not exist before producing.
27650 (grub_modules_init.h): Remove the target before generating.
27651 (grub_emu_init.c): Likewise.
27652
27653 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
27654
aa6d7826 276552006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
27656
27657 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
27658 for the target-specific tests. Make sure that we also have the
27659 up-to-date target variables for those tests.
27660
26c607b9 276612006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27662
27663 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
27664 (PModule::rule): Likewise.
27665
0162321a 276662006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
27667
27668 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
27669 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
27670 target-specific flags should be prefixed.
27671 (PModule::rule): Likewise.
27672
6c826348 276732006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
27674
27675 * configure.ac (CMP): Check if cmp is available explicitly.
27676
b977bf01 276772006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
27678
27679 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
27680 (target_cpu): New variable.
27681 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 27682
b977bf01 27683 * util/i386/pc/grub-install.in (host_cpu): Removed.
27684 (target_cpu): New variable.
27685 (pkglibdir): Use target_cpu instead of host_cpu.
27686
27687 * util/genmoddep.c: Removed.
f19dbdb7 27688
b977bf01 27689 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
27690 instead of GRUB_HOST_SIZEOF_VOID_P.
27691 * kern/dl.c: Likewise.
27692
27693 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
27694 ...
27695 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27696 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27697 (GRUB_TARGET_SIZEOF_LONG): ... this.
27698 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27699 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27700 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27701 to ...
27702 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27703 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27704 (GRUB_TARGET_SIZEOF_LONG): ... this.
27705 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27706 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27707 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
27708 to ...
27709 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
27710 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
27711 (GRUB_TARGET_SIZEOF_LONG): ... this.
27712 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
27713 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
27714
27715 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
27716 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
27717 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
27718 instead of GRUB_HOST_SIZEOF_LONG.
27719 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
27720 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
27721 GRUB_CPU_WORDS_BIGENDIAN.
27722 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
27723 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
27724 grub_host_ssize_t.
27725
27726 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
27727 (genmoddep_SOURCES): Likewise.
27728 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
27729 (genmoddep_SOURCES): Likewise.
27730 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
27731 (genmoddep_SOURCES): Likewise.
27732 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
27733 Likewise.
27734 (genmoddep_SOURCES): Likewise.
27735
27736 * genmoddep.awk: New file.
27737
27738 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
27739 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
27740 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
27741 (PModule::rule): Likewise.
27742 (Program::rule): Likewise.
27743 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
27744 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
27745 respectively.
27746
27747 * configure.ac: Rewritten intensively to use host and target
27748 instead of build and host, respectively.
27749
27750 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
27751 (host_cpu): Removed.
27752 (target_cpu): New variable.
27753 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
27754 (BUILD_CC): Removed.
27755 (BUILD_CFLAGS): Likewise.
27756 (BUILD_CPPFLAGS): Likewise.
27757 (TARGET_CC): New variable.
27758 (TARGET_CFLAGS): Likewise.
27759 (TARGET_CPPFLAGS): Likewise.
27760 (TARGET_LDFLAGS): Likewise.
27761 (AWK): Likewise.
27762 (include): Use target_cpu instead of host_cpu.
27763 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 27764
b977bf01 27765 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
27766
f09771a1 277672006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
27768
27769 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
27770 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
27771 field 'false' to 'exec_on_false'.
27772 (grub_script_create_cmdif): Renamed argument names to reflect above
27773 changes.
27774
27775 * normal/execute.c (grub_script_execute_cmdif): Likewise.
27776
27777 * normal/script.c (grub_script_create_cmdif): Likewise.
27778
118f4fb3 277792006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
27780
27781 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
27782 top.
27783 (grub_hfsplus_btree_recptr): Likewise.
27784 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
27785 FILEBLOCK both to pass a block number and store next block
27786 number.
27787 (grub_hfsplus_read_block): Rewritten heavily to support an extent
27788 overflow file correctly. Specify errors appropriately, because
27789 fshelp expects that GRUB_ERRNO is set when fails. Reuse
27790 grub_hfsplus_btree_recptr to get the pointer to a found key.
27791 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
27792 is found.
27793
27794 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
27795 linux.mod.
27796 (_linux_mod_SOURCES): New variable.
27797 (_linux_mod_CFLAGS): Likewise.
27798 (_linux_mod_LDFLAGS): Likewise.
27799 (linux_mod_SOURCES): Likewise.
27800 (linux_mod_CFLAGS): Likewise.
27801 (linux_mod_LDFLAGS): Likewise.
27802
27803 * DISTLIST: Added loader/i386/efi/linux.c,
27804 loader/i386/efi/linux_normal.c and
27805 include/grub/i386/efi/loader.h.
27806
27807 * loader/i386/efi/linux.c: New file.
27808 * loader/i386/efi/linux_normal.c: Likewise.
27809 * include/grub/i386/efi/loader.h: Likewise.
27810
89a7d726 278112006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
27812
27813 * commands/blocklist.c: New file.
27814
27815 * DISTLIST: Added commands/blocklist.c.
27816
27817 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 27818 color for the background, and a darker color for the foreground.
89a7d726 27819 (grub_console_checkkey): Return READ_KEY.
27820 (grub_console_cls): Set the background to
27821 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
27822
27823 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
27824
27825 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
27826 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
27827
27828 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
27829 prototype.
27830
27831 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
27832 BG. The spec is wrong again.
27833
27834 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
27835 prototype.
27836 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
27837
27838 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
27839 commands/blocklist.c.
27840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 27841
89a7d726 27842 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
27843 (blocklist_mod_SOURCES): New variable.
27844 (blocklist_mod_CFLAGS): Likewise.
27845 (blocklist_mod_LDFLAGS): Likewise.
27846
75c8f258 278472006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
27848
27849 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
27850 duplication.
27851 (lba_mode): Use %eax more intensively to reduce the code size.
27852
da2eb181 278532006-05-20 Marco Gerards <marco@gnu.org>
27854
27855 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
27856
27857 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
27858 for `menuentry'.
27859 (script): Accept leading newlines.
27860 (newlines): New rule to describe 0 or more newlines.
27861 (commands): Accept `command' with trailing newline. Fixed the
27862 order in which arguments were passed to `grub_script_add_cmd'.
27863 Accept commands separated by newlines.
27864 (function): Changed to accept newlines.
27865 (menuentry) Rewritten.
27866
27867 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
27868 front of the list, instead of to the end.
27869
577b4050 278702006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
27871
27872 * util/i386/pc/grub-install.in (bindir): New variable.
27873 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
27874 Shaver <lbgwjl@gmail.com>.
27875
0d6e1189 278762006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
27877
27878 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
27879 grub/machine/linux.h
27880 * loader/i386/pc/linux.c: Likewise.
27881
27882 * include/grub/i386/pc/linux.h: Moved to ...
27883 * include/grub/i386/linux.h: ... here.
27884
27885 * include/grub/i386/linux.h (struct linux_kernel_params): New
27886 struct.
f19dbdb7 27887
31b86e9f 278882006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
27889
27890 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
27891 checking.
27892 (grub_video_vbe_blit_glyph): Likewise.
27893 (grub_video_vbe_blit_bitmap): Likewise.
27894 (grub_video_vbe_blit_render_target): Likewise.
27895
83b984de 278962006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
27897
27898 * configure.ac (--with-platform): Properly quote the square
27899 brackets.
27900
5f0413bd 279012006-05-08 Marco Gerards <marco@gnu.org>
27902
27903 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
27904 this...
27905 (kernel_elf_HEADERS): ...to this. Updated all users.
27906 (grubof_symlist.c): Renamed from this...
27907 (kernel_elf_symlist.c): ...to this. Updated all users.
27908 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27909 (grubof_SOURCES): Renamed from this...
27910 (kernel_elf_SOURCES): ...to this.
27911 (grubof_HEADERS): Renamed from this...
27912 (kernel_elf_HEADERS): ...to this.
27913 (grubof_CFLAGS): Renamed from this...
27914 (kernel_elf_CFLAGS): ...to this.
27915 (grubof_ASFLAGS): Renamed from this...
27916 (kernel_elf_ASFLAGS): ...to this.
27917 (grubof_LDFLAGS): Renamed from this...
27918 (kernel_elf_LDFLAGS): ...to this.
27919
27920 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
27921 this...
27922 (kernel_elf_HEADERS): ...to this. Updated all users.
27923 (grubof_symlist.c): Renamed from this...
27924 (kernel_elf_symlist.c): ...to this. Updated all users.
27925 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
27926 (grubof_SOURCES): Renamed from this...
27927 (kernel_elf_SOURCES): ...to this.
27928 (grubof_HEADERS): Renamed from this...
27929 (kernel_elf_HEADERS): ...to this.
27930 (grubof_CFLAGS): Renamed from this...
27931 (kernel_elf_CFLAGS): ...to this.
27932 (grubof_ASFLAGS): Renamed from this...
27933 (kernel_elf_ASFLAGS): ...to this.
27934 (grubof_LDFLAGS): Renamed from this...
27935 (kernel_elf_LDFLAGS): ...to this.
27936
27937 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
27938 `kernel.elf' instead of `grubof'.
27939
05568c2e 279402006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
27941
27942 Add --with-platform to configure. Use pkglibdir instead of
27943 pkgdatadir. This is reported by Roger Leigh.
27944
27945 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
27946 (host_vendor): Likewise.
27947 (host_os): Likewise.
27948 (pkgdatadir): Likewise.
27949 (platform): New variable.
27950 (pkglibdir): Likewise.
27951 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 27952
05568c2e 27953 * util/i386/pc/grub-install.in (datadir): Removed.
27954 (host_vendor): Likewise.
27955 (host_os): Likewise.
27956 (pkgdatadir): Likewise.
27957 (platform): New variable.
27958 (pkglibdir): Likewise.
27959 Use PKGLIBDIR instead of PKGDATADIR.
27960
27961 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
27962 instead of GRUB_DATADIR.
27963 (main): Likewise.
27964 * util/i386/pc/grub-mkimage.c (usage): Likewise.
27965 (main): Likewise.
27966 * util/i386/efi/grub-mkimage.c (usage): Likewise.
27967 (main): Likewise.
27968
27969 * configure.ac (--with-platform): New option.
27970 Use PLATFORM instead of HOST_VENDOR to specify a platform.
27971
27972 * Makefile.in: Include a makefile based on PLATFORM instead of
27973 HOST_VENDOR.
27974 (pkgdatadir): Not appended by the machine type.
27975 (pkglibdir): Appended by the machine type.
27976 (host_vendor): Removed.
27977 (platform): New variable.
27978 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
27979 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
27980 (uninstall): Likewise.
27981
4e93851c 279822006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
27983
27984 Use the environment context in the menu. Remove the commands
27985 "default" and "timeout", and use variables instead.
f19dbdb7 27986
4e93851c 27987 * normal/menu.c: Include grub/env.h.
27988 (print_entry): Cast TITLE to silence gcc.
27989 (get_timeout): New function.
27990 (set_timeout): Likewise.
27991 (get_entry_number): Likewise.
27992 (run_menu): Use a default entry, a fallback entry and a timeout
27993 in the environment variables "default", "fallback" and
27994 "timeout". Also, tweak the default entry if it is not within the
27995 current menu entries.
27996 (grub_menu_run): Use a fallback entry in the environment variable
27997 "fallback".
27998
27999 * normal/main.c (read_config_file): Do not initialize
28000 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
28001 NEWMENU->TIMEOUT.
28002 (grub_normal_execute): Use a data slot to store the menu.
28003
28004 * include/grub/normal.h (struct grub_menu): Removed default_entry,
28005 fallback_entry and timeout.
28006 (struct grub_menu_list): Removed.
28007 (grub_menu_list_t): Likewise.
28008 (struct grub_context): Likewise.
28009 (grub_context_t): Likewise.
28010 (grub_context_get): Likewise.
28011 (grub_context_get_current_menu): Likewise.
28012 (grub_context_push_menu): Likewise.
28013 (grub_context_pop_menu): Likewise.
28014 (grub_default_init): Likewise.
28015 (grub_default_fini): Likewise.
28016 (grub_timeout_init): Likewise.
28017 (grub_timeout_fini): Likewise.
28018
28019 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
28020 and timeout.mod.
28021 (normal_mod_SOURCES): Removed normal/context.c.
28022
28023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
28024 commands/default.c, commands/timeout.c and normal/context.c.
28025 (normal_mod_SOURCES): Removed normal/context.c.
28026
28027 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
28028 commands/timeout.c and normal/context.c.
28029 (normal_mod_SOURCES): Removed normal/context.c.
28030
28031 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
28032 commands/default.c, commands/timeout.c and normal/context.c.
28033 (normal_mod_SOURCES): Removed normal/context.c.
28034
28035 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
28036 timeout.mod.
28037 (default_mod_SOURCES): Removed.
28038 (default_mod_CFLAGS): Likewise.
28039 (default_mod_LDFLAGS): Likewise.
28040 (timeout_mod_SOURCES): Removed.
28041 (timeout_mod_CFLAGS): Likewise.
28042 (timeout_mod_LDFLAGS): Likewise.
28043
28044 * DISTLIST: Removed commands/default.c, commands/timeout.c and
28045 normal/context.c.
28046
28047 * commands/default.c: Removed.
28048 * commands/timeout.c: Likewise.
28049 * normal/context.c: Likewise.
28050
1eb9cc1d 280512006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
28052
28053 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
28054
385bd9c1 280552006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
28056
28057 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
28058 "next" to "prev" for readability.
28059 (struct grub_env_sorted_var): New struct.
28060 (grub_env_context): Renamed to ...
28061 (initial_context): ... this.
28062 (grub_env_var_context): Renamed to ...
28063 (current_context): ... this.
28064 (grub_env_find): Look only at CURRENT_CONTEXT.
28065 (grub_env_context_open): Rewritten to copy exported variables from
28066 previous context.
28067 (grub_env_context_close): Rewritten according to the new
28068 scheme. Also, add an assertion to prevent the initial context from
28069 removed.
28070 (grub_env_insert): Removed the code for the sorted list.
28071 (grub_env_remove): Likewise.
28072 (grub_env_export): Simply mark the variable with
28073 GRUB_ENV_VAR_GLOBAL.
28074 (grub_env_set): A cosmetic change for naming consistency.
28075 (grub_env_get): Likewise.
28076 (grub_env_unset): Likewise.
28077 (grub_env_iterate): Rewritten to sort variables within this
28078 function.
28079 (grub_register_variable_hook): Fixed for naming consistency. Call
28080 grub_env_find again, only if NAME is not found at the first time.
28081 (mangle_data_slot_name): New function.
28082 (grub_env_set_data_slot): Likewise.
28083 (grub_env_get_data_slot): Likewise.
28084 (grub_env_unset_data_slot): Likewise.
28085
28086 * include/grub/env.h (grub_env_var_type): New enum.
28087 (GRUB_ENV_VAR_LOCAL): New constant.
28088 (GRUB_ENV_VAR_GLOBAL): Likewise.
28089 (GRUB_ENV_VAR_DATA): Likewise.
28090 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
28091 "type".
28092 (grub_env_set): Replace VAR with NAME for consistency.
28093 (grub_register_variable_hook): Likewise.
28094 (grub_env_export): Specify the name of the argument.
28095 (grub_env_set_data_slot): New prototype.
28096 (grub_env_get_data_slot): Likewise.
28097 (grub_env_unset_data_slot): Likewise.
28098
7f362539 280992006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28100
28101 Extend the loader so that GRUB can accept a loader which comes
28102 back to GRUB when a loaded image exits. Also, this change adds
28103 support for a chainloader on EFI.
f19dbdb7 28104
7f362539 28105 * term/efi/console.c: Include grub/misc.h.
28106 (grub_console_checkkey): Display a scan code on the top for
28107 debugging. This will be removed once the EFI port gets stable.
28108 Correct the scan code mapping.
28109
28110 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
28111 allocate memory from larger regions, in order to reduce the number
28112 of allocated regions. Otherwise, the MacOSX loader panics.
28113 (filter_memory_map): Avoid less than 1MB for compatibility with
28114 other loaders.
28115 (add_memory_regions): Allocate from the tail of a region, if
28116 possible, to avoid allocating a region near to 1MB, for the MacOSX
28117 loader.
28118
28119 * kern/efi/init.c (grub_efi_set_prefix): Specify
28120 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
28121
28122 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
28123 argument IMAGE_HANDLE and specify it to get a loaded image.
28124 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
28125 grub_efi_get_loaded_image.
fe6b695a 28126 (grub_efi_get_filename): Divide the length by the size of
7f362539 28127 grub_efi_char16_t.
28128 (grub_efi_get_device_path): New function.
28129 (grub_efi_print_device_path): Print End Device Path nodes. Divide
28130 the length by the size of grub_efi_char16_t for a file path device
28131 path node.
28132
28133 * kern/loader.c (grub_loader_noreturn): New variable.
28134 (grub_loader_set): Accept a new argument NORETURN. Set
28135 GRUB_LOADER_NORETURN to NORETURN.
28136 All callers changed.
28137 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
28138 grub_machine_fini.
28139
28140 * include/grub/efi/efi.h (grub_efi_get_device_path): New
28141 prototype.
28142 (grub_efi_get_loaded_image): Take an argument to specify an image
28143 handle.
28144
28145 * include/grub/loader.h (grub_loader_set): Added one more argument
28146 NORETURN.
28147
28148 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
28149 instead of grub_efi_open_protocol.
28150 (grub_efidisk_get_device_name): Likewise.
28151 (grub_efidisk_close): Print a newline.
28152 (grub_efidisk_get_device_handle): Fixed to use
28153 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
28154 GRUB_EFI_DEVICE_PATH_TYPE.
28155
28156 * disk/efi/efidisk.c (device_path_guid): Moved to ...
28157 * kern/efi/efi.c (device_path_guid): ... here.
28158
28159 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
28160 chain.mod.
28161 (kernel_mod_HEADERS): Added efi/disk.h.
28162 (_chain_mod_SOURCES): New variable.
28163 (_chain_mod_CFLAGS): Likewise.
28164 (_chain_mod_LDFLAGS): Likewise.
28165 (chain_mod_SOURCES): Likewise.
28166 (chain_mod_CFLAGS): Likewise.
28167 (chain_mod_LDFLAGS): Likewise.
28168
28169 * DISTLIST: Added include/grub/efi/chainloader.h,
28170 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
28171
28172 * include/grub/efi/chainloader.h: New file.
28173 * loader/efi/chainloader.c: Likewise.
28174 * loader/efi/chainloader_normal.c: Likewise.
28175
c0111d6e 281762006-04-30 Marco Gerards <marco@gnu.org>
28177
28178 * commands/configfile.c (grub_cmd_source): New function.
28179 (GRUB_MOD_INIT): Register the commands `source' and `.'.
28180 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
28181
df5341da 281822006-04-30 Marco Gerards <marco@gnu.org>
28183
28184 * normal/execute.c (grub_script_execute_cmd): Change the return
28185 type to `grub_err_t'. Correctly return the error.
28186 (grub_script_execute_cmdline): In case a command line is not a
28187 command or a function, try to interpret it as an assignment.
28188
f85934bd 281892006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
28190
28191 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
28192 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
28193 skip a node whose name is obviously invalid as UTF-16,
28194 i.e. contains a NUL character. Stop the iteration when the last
28195 directory entry is found. Instead of using the return value of
28196 grub_hfsplus_btree_iterate_node, store the value in RET and use
28197 it, because the iterator can be stopped by the last directory
28198 entry.
28199
8f8a2cf8 282002006-04-30 Marco Gerards <marco@gnu.org>
28201
28202 * include/grub/env.h (grub_env_export): New prototype. Reported
28203 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
28204
a27e84ce 282052006-04-30 Marco Gerards <marco@gnu.org>
28206
28207 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
28208 size of the extents in a catalog file record.
28209
eaef0553 282102006-04-29 Marco Gerards <marco@gnu.org>
28211
28212 * commands/configfile.c (grub_cmd_configfile): Execute the
28213 configfile within its own context.
28214
28215 * include/grub/env.h (grub_env_context_open): New prototype.
28216 (grub_env_context_close): Likewise.
28217
28218 * kern/env.c (grub_env): Removed.
28219 (grub_env_sorted): Likewise.
28220 (grub_env_context): New variable.
28221 (grub_env_var_context): Likewise.
28222 (grub_env_find): Search both the active context and the global
28223 context.
28224 (grub_env_context_open): New function.
28225 (grub_env_context_close): Likewise.
28226 (grub_env_insert): Likewise.
28227 (grub_env_remove): Likewise.
28228 (grub_env_export): Likewise.
28229 (grub_env_set): Changed to use helper functions to avoid code
28230 duplication.
28231 (grub_env_iterate): Rewritten so both the current context and the
28232 global context are being used.
28233
28234 * normal/command.c (export_command): New function.
28235 (grub_command_init): Register the `export' function.
28236
7b455f4d 282372006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
28238
28239 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
28240 explicitly to suppress gcc's warnings.
28241 * fs/fat.c (grub_fat_find_dir): Likewise.
28242 (grub_fat_label): Likewise.
28243 * fs/xfs.c (grub_xfs_read_inode): Likewise.
28244 (grub_xfs_mount): Likewise.
28245 (grub_xfs_label): Likewise.
28246 * fs/affs.c (grub_affs_mount): Likewise.
28247 (grub_affs_label): Likewise.
28248 (grub_affs_iterate_dir): Likewise.
28249 * fs/sfs.c (grub_sfs_mount): Likewise.
28250 (grub_sfs_iterate_dir): Likewise.
28251 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
28252 * fs/hfs.c (grub_hfs_mount): Likewise.
28253 (grub_hfs_cmp_catkeys): Likewise.
28254 (grub_hfs_find_dir): Likewise.
28255 (grub_hfs_dir): Likewise.
28256 (grub_hfs_label): Likewise.
28257 * fs/jfs.c (grub_jfs_mount): Likewise.
28258 (grub_jfs_opendir): Likewise.
28259 (grub_jfs_getent): Likewise.
28260 (grub_jfs_lookup_symlink): Likewise.
28261 (grub_jfs_label): Likewise.
28262 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
28263 (grub_hfsplus_iterate_dir): Likewise.
28264 (grub_hfsplus_btree_iterate_node): Made static.
28265
28266 * util/grub-emu.c (prefix): New variable.
28267 (grub_machine_set_prefix): New function.
28268 (main): Do not set the environment variable "prefix" here. Only
28269 set PREFIX, which is used later by grub_machine_set_prefix.
28270
28271 * include/grub/video.h: Do not include grub/symbol.h.
28272 (grub_video_register): Not exported. This symbol is not defined in
28273 the kernel.
28274 (grub_video_unregister): Likewise.
28275 (grub_video_iterate): Likewise.
28276 (grub_video_setup): Likewise.
28277 (grub_video_restore): Likewise.
28278 (grub_video_get_info): Likewise.
28279 (grub_video_get_blit_format): Likewise.
28280 (grub_video_set_palette): Likewise.
28281 (grub_video_get_palette): Likewise.
28282 (grub_video_set_viewport): Likewise.
28283 (grub_video_get_viewport): Likewise.
28284 (grub_video_map_color): Likewise.
28285 (grub_video_map_rgb): Likewise.
28286 (grub_video_map_rgba): Likewise.
28287 (grub_video_fill_rect): Likewise.
28288 (grub_video_blit_glyph): Likewise.
28289 (grub_video_blit_bitmap): Likewise.
28290 (grub_video_blit_render_target): Likewise.
28291 (grub_video_scroll): Likewise.
28292 (grub_video_swap_buffers): Likewise.
28293 (grub_video_create_render_target): Likewise.
28294 (grub_video_delete_render_target): Likewise.
28295 (grub_video_set_active_render_target): Likewise.
28296
28297 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
28298 Undefined.
28299 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
28300
28301 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
28302 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28303 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28304 instead of $(srcdir)/genkernsyms.sh.
28305
28306 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
28307 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28308 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28309 instead of $(srcdir)/genkernsyms.sh.
28310
28311 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
28312 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28313 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28314 instead of $(srcdir)/genkernsyms.sh.
28315
28316 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
28317 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
28318 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
28319 instead of $(srcdir)/genkernsyms.sh.
28320
28321 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
28322 genkernsyms.sh.
28323
28324 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
28325 genkernsyms.sh.
28326 (gensymlist.sh): New target.
28327 (genkernsyms.sh): Likewise.
28328
28329 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
28330 genkernsyms.sh.in and gensymlist.sh.in.
28331
28332 * genkernsyms.sh: Removed.
28333 * gensymlist.sh: Likewise.
f19dbdb7 28334
7b455f4d 28335 * genkernsyms.sh.in: New file.
28336 * gensymlist.sh.in: Likewise.
28337
1885bb27 283382006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28339
28340 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
28341 clobber "prefix", since we may have already set it manually.
28342
71538dff 283432006-04-25 Hollis Blanchard <hollis@penguinppc.org>
28344
28345 * kern/misc.c (abort): New alias for grub_abort.
28346
2965c7cc 283472006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
28348
28349 A new machine-specific function "grub_machine_set_prefix" is
28350 defined. This is called after loading modules, so that a prefix
28351 initialization can use modules. Also, this change adds an
28352 intensive debugging feature for the memory manager via the
28353 configure option "--enable-mm-debug".
f19dbdb7 28354
2965c7cc 28355 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
28356 PART.LEN.
28357
28358 * kern/sparc64/ieee1275/init.c (abort): Removed.
28359 (grub_stop): Likewise.
28360 (grub_exit): New function.
28361 (grub_set_prefix): Renamed to ...
28362 (grub_machine_set_prefix): ... this.
28363 (grub_machine_init): Do not call grub_set_prefix.
28364
28365 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
28366 (grub_machine_set_prefix): ... this.
28367 (grub_machine_init): Do not call grub_set_prefix.
28368
28369 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
28370 (grub_machine_init): Do not set the prefix here.
28371
28372 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
28373
28374 * kern/efi/init.c: Include grub/mm.h.
28375 (grub_efi_set_prefix): New function.
28376
28377 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
28378 (grub_efi_get_filename): New function.
28379 (grub_print_device_path): Renamed to ...
28380 (grub_efi_print_device_path): ... this.
28381
28382 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
28383 [MM_DEBUG] (grub_realloc): Likewise.
28384 [MM_DEBUG] (grub_free): Likewise.
28385 [MM_DEBUG] (grub_memalign): Likewise.
28386 [MM_DEBUG] (grub_mm_debug): New variable.
28387 [MM_DEBUG] (grub_debug_malloc): New function.
28388 [MM_DEBUG] (grub_debug_free): New function.
28389 [MM_DEBUG] (grub_debug_realloc): New function.
28390 [MM_DEBUG] (grub_debug_memalign): New function.
28391
28392 * kern/misc.c (grub_abort): Print a newline to distinguish
28393 the message.
28394
28395 * kern/main.c (grub_main): Call grub_machine_set_prefix and
28396 grub_set_root_dev after loading modules. This is necessary when
28397 setting a prefix depends on modules.
28398
28399 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
28400 (grub_efi_print_device_path): ... this.
28401 (grub_efi_get_filename): New prototype.
28402 (grub_efi_set_prefix): Likewise.
28403
28404 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
28405 and grub/disk.h.
28406 (grub_efidisk_get_device_handle): New prototype.
28407 (grub_efidisk_get_device_name): Likewise.
28408
28409 * include/grub/mm.h: Include config.h.
28410 (MM_DEBUG): Removed.
28411 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
28412 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
28413 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
28414 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
28415 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
28416 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
28417 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
28418 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
28419 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
28420
28421 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
28422
28423 * disk/efi/efidisk.c: Include grub/partition.h.
28424 (iterate_child_devices): New function.
28425 (add_device): First, compare only last device path nodes, so that
28426 devices are sorted by the types.
28427 (grub_efidisk_get_device_handle): New function.
28428 (grub_efidisk_get_device_name): Likewise.
28429
28430 * configure.ac (--enable-mm-debug): New option to enable the
28431 memory manager debugging feature. This makes the binary much
28432 bigger, so is disabled by default.
28433
9cacaa17 284342006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
28435
28436 Use grub_abort instead of grub_stop, and grub_exit must be
28437 define in each architecture now. Also, this change adds support
28438 for EFI disks.
f19dbdb7 28439
9cacaa17 28440 * util/i386/pc/grub-probefs.c: Include grub/term.h.
28441 (grub_getkey): New function.
28442 (grub_term_get_current): Likewise.
28443
28444 * util/i386/pc/grub-setup.c: Include grub/term.h.
28445 (grub_getkey): New function.
28446 (grub_term_get_current): Likewise.
28447
28448 * util/misc.c (grub_stop): Renamed to ...
28449 (grub_exit): ... this.
28450
28451 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
28452 (grub_exit): ... this.
28453 (grub_machine_init): Use grub_abort instead of abort.
28454 (grub_stop): Removed.
28455
28456 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
28457 abort.
28458
28459 * kern/i386/pc/startup.S (grub_exit): New function.
28460 (cold_reboot): New label.
28461
28462 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
28463 (grub_efi_init): Call grub_efidisk_init.
28464 (grub_efi_fini): Call grub_efidisk_fini.
28465
28466 * kern/efi/efi.c: Include grub/mm.h.
28467 (grub_efi_console_control_guid): Renamed to ...
28468 (console_control_guid): ... this.
28469 (grub_efi_loaded_image_guid): Renamed to ...
28470 (loaded_image_guid): ... this.
28471 (grub_efi_locate_handle): New function.
28472 (grub_efi_open_protocol): Likewise.
28473 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
28474 GRUB_EFI_CONSOLE_CONTROL_GUID.
28475 (grub_efi_exit): Removed.
28476 (grub_stop): Likewise.
28477 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
28478 (grub_exit): New function.
28479 (grub_print_device_path): Likewise.
28480
28481 * kern/rescue.c (grub_rescue_cmd_exit): New function.
28482 (grub_enter_rescue_mode): Register "exit".
28483
28484 * kern/misc.c (grub_real_dprintf): A cosmetic change.
28485 (grub_abort): New function.
28486
28487 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
28488
28489 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
28490
28491 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
28492
28493 * include/grub/efi/efi.h (grub_efi_exit): Removed.
28494 (grub_print_device_path): New prototype.
28495 (grub_efi_locate_handle): Likewise.
28496 (grub_efi_open_protocol): Likewise.
28497
28498 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
28499 * disk/efi/efidisk.c: Likewise.
28500
28501 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
28502
28503 * include/grub/efi/console_control.h
28504 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
28505
28506 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
28507 last 8 bytes as an array.
28508 (GRUB_EFI_DISK_IO_GUID): New macro.
28509 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
28510 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
28511 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
28512 grub_uint8_t.
28513 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
28514 (struct grub_efi_device_path): Rename the member "sub_type" to
28515 "subtype".
28516 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
28517 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
28518 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
28519 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
28520 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
28521 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
28522 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
28523 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
28524 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
28525 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
28526 (struct grub_efi_pci_device_path): New structure.
28527 (grub_efi_pci_device_path_t): New type.
28528 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
28529 (struct grub_efi_pccard_device_path): New structure.
28530 (grub_efi_pccard_device_path_t): New type.
28531 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
28532 (struct grub_efi_memory_mapped_device_path): New structure.
28533 (grub_efi_memory_mapped_device_path_t): New type.
28534 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
28535 (struct grub_efi_vendor_device_path): New structure.
28536 (grub_efi_vendor_device_path_t): New type.
28537 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
28538 (struct grub_efi_controller_device_path): New structure.
28539 (grub_efi_controller_device_path_t): New type.
28540 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
28541 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
28542 (struct grub_efi_acpi_device_path): New structure.
28543 (grub_efi_acpi_device_path_t): New type.
28544 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
28545 (struct grub_efi_expanded_acpi_device_path): New structure.
28546 (grub_efi_expanded_acpi_device_path_t): New type.
28547 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
28548 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
28549 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
28550 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
28551 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
28552 (struct grub_efi_atapi_device_path): New structure.
28553 (grub_efi_atapi_device_path_t): New type.
28554 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
28555 (struct grub_efi_fibre_channel_device_path): New structure.
28556 (grub_efi_fibre_channel_device_path_t): New type.
28557 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
28558 (struct grub_efi_1394_device_path): New structure.
28559 (grub_efi_1394_device_path_t): New type.
28560 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
28561 (struct grub_efi_usb_device_path): New structure.
28562 (grub_efi_usb_device_path_t): New type.
28563 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
28564 (struct grub_efi_usb_class_device_path): New structure.
28565 (grub_efi_usb_class_device_path_t): New type.
28566 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
28567 (struct grub_efi_i2o_device_path): New structure.
28568 (grub_efi_i2o_device_path_t): New type.
28569 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
28570 (struct grub_efi_mac_address_device_path): New structure.
28571 (grub_efi_mac_address_device_path_t): New type.
28572 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
28573 (struct grub_efi_ipv4_device_path): New structure.
28574 (grub_efi_ipv4_device_path_t): New type.
28575 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
28576 (struct grub_efi_ipv6_device_path): New structure.
28577 (grub_efi_ipv6_device_path_t): New type.
28578 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
28579 (struct grub_efi_infiniband_device_path): New structure.
28580 (grub_efi_infiniband_device_path_t): New type.
28581 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
28582 (struct grub_efi_uart_device_path): New structure.
28583 (grub_efi_uart_device_path_t): New type.
28584 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
28585 (struct grub_efi_vendor_messaging_device_path): New structure.
28586 (grub_efi_vendor_messaging_device_path_t): New type.
28587 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
28588 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
28589 (struct grub_efi_hard_drive_device_path): New structure.
28590 (grub_efi_hard_drive_device_path_t): New type.
28591 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
28592 (struct grub_efi_cdrom_device_path): New structure.
28593 (grub_efi_cdrom_device_path_t): New type.
28594 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
28595 (struct grub_efi_vendor_media_device_path): New structure.
28596 (grub_efi_vendor_media_device_path_t): New type.
28597 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
28598 (struct grub_efi_file_path_device_path): New structure.
28599 (grub_efi_file_path_device_path_t): New type.
28600 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
28601 (struct grub_efi_protocol_device_path): New structure.
28602 (grub_efi_protocol_device_path_t): New type.
28603 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
28604 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
28605 (struct grub_efi_bios_device_path): New structure.
28606 (grub_efi_bios_device_path_t): New type.
28607 (struct grub_efi_disk_io): New structure.
28608 (grub_efi_disk_io_t): New type.
28609 (struct grub_efi_block_io_media): New structure.
28610 (grub_efi_block_io_media_t): New type.
28611 (struct grub_efi_block_io): New structure.
28612 (grub_efi_block_io_t): New type.
28613
28614 * include/grub/misc.h (grub_stop): Removed.
28615 (grub_exit): New prototype.
28616 (grub_abort): Likewise.
28617
28618 * include/grub/disk.h (enum grub_disk_dev_id): Added
28619 GRUB_DISK_DEVICE_EFIDISK_ID.
28620
28621 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
28622 disk/efi/efidisk.c.
28623 (kernel_syms.lst): Remove the target if an error occurs.
28624
49986a9f 286252006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
28626
28627 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
28628 as it was simply too buggy.
28629
970d3b8a 286302006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
28631
28632 * kern/misc.c (grub_lltoa): New function.
28633 (grub_vsprintf): Added support for the long long suffix,
28634 i.e. "ll".
28635
ff04ec24 286362006-04-20 Hollis Blanchard <hollis@penguinppc.org>
28637
28638 * Makefile.in (LDFLAGS): Add variable.
28639 (LD): Remove variable.
28640 * configure.ac: Add -m32 to LDFLAGS.
28641 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
28642 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
28643 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
28644 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
28645 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
28646 variables.
28647 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
28648 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
28649 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
28650
37e5e1a4 286512006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
28652
28653 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
28654 length for unknown glyph.
28655
c352d8dd 286562006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
28657
2eab1c0d 28658 Add support for pre-loaded modules into the EFI port.
f19dbdb7 28659
2eab1c0d 28660 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
28661 completely. Accept one more argument DIR. The caller has changed.
28662
28663 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
28664
28665 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
28666 (grub_efi_loaded_image_guid): New variable.
28667 (grub_efi_get_loaded_image): New function.
28668 (grub_arch_modules_addr): Likewise.
28669
28670 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
28671 prototype.
28672
28673 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
28674 (struct grub_efi_loaded_image): New structure.
28675 (grub_efi_loaded_image_t): New type.
28676
286772006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 28678
c352d8dd 28679 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
28680 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
28681 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
28682
6d01d6b4 286832006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
28684
28685 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
28686
976a4ea0 286872006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
28688
28689 * DISTLIST: Added include/grub/efi/console.h,
28690 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
28691 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28692
28693 * include/grub/efi/console.h: New file.
28694 * include/grub/efi/time.h: Likewise.
28695 * include/grub/i386/efi/kernel.h: Likewise.
28696 * kern/efi/init.c: Likewise.
28697 * kern/efi/mm.c: Likewise.
28698 * term/efi/console.c: Likewise.
f19dbdb7 28699
976a4ea0 28700 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
28701 (grub_stop): Removed.
28702 (grub_get_rtc): Likewise.
28703 (grub_machine_init): Simply call grub_efi_init.
28704 (grub_machine_fini): Call grub_efi_fini.
28705
28706 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
28707 (grub_efi_output_string): Removed.
28708 (grub_efi_stall): New function.
28709 (grub_stop): Likewise.
28710 (grub_get_rtc): Likewise.
28711
28712 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
28713 (grub_efi_stall): New prototype.
28714 (grub_efi_allocate_pages): Likewise.
28715 (grub_efi_free_pages): Likewise.
28716 (grub_efi_get_memory_map): Likewise.
28717 (grub_efi_mm_init): Likewise.
28718 (grub_efi_mm_fini): Likewise.
28719 (grub_efi_init): Likewise.
28720 (grub_efi_fini): Likewise.
28721
28722 * include/grub/i386/efi/time.h: Do not include
28723 grub/symbol.h. Include grub/efi/time.h.
28724 (GRUB_TICKS_PER_SECOND): Removed.
28725 (grub_get_rtc): Likewise.
28726
28727 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
28728 Added padding. The EFI spec is buggy.
28729 (GRUB_EFI_BLACK): New macro.
28730 (GRUB_EFI_BLUE): Likewise.
28731 (GRUB_EFI_GREEN): Likewise.
28732 (GRUB_EFI_CYAN): Likewise.
28733 (GRUB_EFI_RED): Likewise.
28734 (GRUB_EFI_MAGENTA): Likewise.
28735 (GRUB_EFI_BROWN): Likewise.
28736 (GRUB_EFI_LIGHTGRAY): Likewise.
28737 (GRUB_EFI_BRIGHT): Likewise.
28738 (GRUB_EFI_DARKGRAY): Likewise.
28739 (GRUB_EFI_LIGHTBLUE): Likewise.
28740 (GRUB_EFI_LIGHTGREEN): Likewise.
28741 (GRUB_EFI_LIGHTCYAN): Likewise.
28742 (GRUB_EFI_LIGHTRED): Likewise.
28743 (GRUB_EFI_LIGHTMAGENTA): Likewise.
28744 (GRUB_EFI_YELLOW): Likewise.
28745 (GRUB_EFI_WHITE): Likewise.
28746 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
28747 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
28748 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
28749 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
28750 (GRUB_EFI_BACKGROUND_RED): Likewise.
28751 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
28752 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
28753 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
28754 (GRUB_EFI_TEXT_ATTR): Likewise.
28755
28756 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
28757 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
28758 (kernel_mod_HEADERS): Added efi/time.h.
28759
83709125 287602006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
28761
28762 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
28763 include/grub/efi/api.h, include/grub/efi/console_control.h,
28764 include/grub/efi/efi.h, include/grub/efi/pe32.h,
28765 include/grub/i386/efi/time.h, kern/efi/efi.c,
28766 kern/i386/efi/init.c, kern/i386/efi/startup.S,
28767 and util/i386/efi/grub-mkimage.c.
28768
28769 * Makefile.in (RMKFILES): Added i386-efi.rmk.
28770
28771 * genmk.rb (PModule#rule): Do not export symbols if
28772 #{prefix}_EXPORTS is set to "no".
28773
28774 * conf/i386-efi.mk: New file.
28775 * conf/i386-efi.rmk: Likewise.
28776 * include/grub/efi/api.h: Likewise.
28777 * include/grub/efi/console_control.h: Likewise.
28778 * include/grub/efi/efi.h: Likewise.
28779 * include/grub/efi/pe32.h: Likewise.
28780 * include/grub/i386/efi/time.h: Likewise.
28781 * kern/efi/efi.c: Likewise.
28782 * kern/i386/efi/init.c: Likewise.
28783 * kern/i386/efi/startup.S: Likewise.
28784 * util/i386/efi/grub-mkimage.c: Likewise.
28785
287862006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 28787
28788 * include/grub/script.h: Include <grub/parser.h> and
28789 "grub_script.tab.h".
28790 (struct grub_lexer_param): New struct.
28791 (struct grub_parser_param): Likewise.
28792 (grub_script_create_arglist): Pass the state in an argument.
28793 (grub_script_add_arglist): Likewise.
28794 (grub_script_create_cmdline): Likewise.
28795 (grub_script_create_cmdblock): Likewise.
28796 (grub_script_create_cmdif): Likewise.
28797 (grub_script_create_cmdmenu): Likewise.
28798 (grub_script_add_cmd): Likewise.
28799 (grub_script_arg_add): Likewise.
28800 (grub_script_lexer_ref): Likewise.
28801 (grub_script_lexer_deref): Likewise.
28802 (grub_script_lexer_record_start): Likewise.
28803 (grub_script_lexer_record_stop): Likewise.
28804 (grub_script_mem_record): Likewise.
28805 (grub_script_mem_record_stop): Likewise.
28806 (grub_script_malloc): Likewise.
28807 (grub_script_yylex): Likewise.
28808 (grub_script_yyparse): Likewise.
28809 (grub_script_yyerror): Likewise.
28810 (grub_script_yylex): Likewise.
28811 (grub_script_lexer_init): Return the state.
28812
28813 * normal/lexer.c (grub_script_lexer_state): Removed variable.
28814 (grub_script_lexer_done): Likewise.
28815 (grub_script_lexer_getline): Likewise.
28816 (grub_script_lexer_refs): Likewise.
28817 (script): Likewise.
28818 (newscript): Likewise.
28819 (record): Likewise.
28820 (recording): Likewise.
28821 (recordpos): Likewise.
28822 (recordlen): Likewise.
28823 (grub_script_lexer_init): Return the state instead of setting
28824 global variables.
28825 (grub_script_lexer_ref): Use the newly added argument for state
28826 instead of globals.
28827 (grub_script_lexer_deref): Likewise.
28828 (grub_script_lexer_record_start): Likewise.
28829 (grub_script_lexer_record_stop): Likewise.
28830 (recordchar): Likewise.
28831 (nextchar): Likewise.
28832 (grub_script_yylex2): Likewise.
28833 (grub_script_yylex): Likewise.
28834 (grub_script_yyerror): Likewise.
28835
28836 * normal/parser.y (func_mem): Removed variable.
28837 (menu_entry): Likewise.
28838 (err): Likewise.
28839 (%lex-param): New parser option.
28840 (%parse-param): Likewise.
28841 (script): Always return the AST.
28842 (argument): Pass the state around.
28843 (arguments): Likewise.
28844 (grubcmd): Likewise.
28845 (commands): Likewise.
28846 (function): Likewise.
28847 (menuentry): Likewise.
28848 (if_statement): Likewise.
28849 (if): Likewise.
28850
28851 * normal/script.c (grub_script_memused): Removed variable.
28852 (grub_script_parsed): Likewise.
28853 (grub_script_malloc): Added a state argument. Use that instead of
28854 global variables.
28855 (grub_script_mem_record): Likewise.
28856 (grub_script_mem_record_stop): Likewise.
28857 (grub_script_arg_add): Likewise.
28858 (grub_script_add_arglist): Likewise.
28859 (grub_script_create_cmdline): Likewise.
28860 (grub_script_create_cmdif): Likewise.
28861 (grub_script_create_cmdmenu): Likewise.
28862 (grub_script_add_cmd): Likewise.
28863 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 28864
e2a8c904 288652006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 28866
28867 * normal/command.c (grub_command_init): Remove the title command.
28868
28869 * normal/lexer.c (grub_script_yylex): Renamed from this...
28870 (grub_script_yylex2): ... to this.
28871 (grub_script_yylex): New function. Temporary
28872 introduced to filter some tokens.
28873 (grub_script_yyerror): Print a newline.
28874
28875 * normal/main.c (read_config_file): Output information about the
28876 lines that contain errors. Wait for a key after all lines have
28877 been processed. Don't return an empty menu.
28878
28879 * normal/parser.y (func_mem): Don't initialize.
28880 (menu_entry): Likewise.
28881 (err): New variable.
28882 (script): Don't return anything when an error was encountered.
28883 (ws, returns): Removed rules.
28884 (argument): Disabled concatenated variable support.
28885 (arguments): Remove explicit separators.
28886 (grubcmd): Likewise.
28887 (function): Likewise.
28888 (menuentry): Likewise.
28889 (if): Likewise.
28890 (commands): Likewise. Add error handling.
28891
28892 * normal/script.c (grub_script_create_cmdline): If
28893 `grub_script_parsed' is 0, assume the parser encountered an error.
28894
c9a86192 288952006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
28896
28897 * configure.ac: Add support for EFI. Fix the typo
28898 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
28899
70f3b243 289002006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28901
28902 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
28903 foreign multibyte characters should be shown correctly.
28904
65f201ad 289052006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
28906
28907 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
28908 calculation.
28909 (read_config_file): Made it to close file before returning.
28910
b4b93674 289112006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
28912
28913 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
28914 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
28915 video/i386/pc/vbefill.c.
28916
28917 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
28918 video/i386/pc/vbefill.c.
28919
28920 * include/grub/video.h (grub_video_blit_format): New enum.
28921 (grub_video_mode_info): Added new member blit_format.
28922 (grub_video_get_blit_format): New function prototype.
28923
28924 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
28925 function prototype.
28926 (grub_video_vbe_map_rgb): Likewise.
28927 (grub_video_vbe_unmap_color): Likewise.
28928
28929 * include/grub/i386/pc/vbeblit.h: New file.
28930
28931 * include/grub/i386/pc/vbefill.h: New file.
28932
28933 * video/video.c (grub_video_get_blit_format): New function.
28934 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
28935 (grub_video_vbe_map_rgb): Likewise.
28936 (grub_video_vbe_unmap_color): Likewise.
28937
28938 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
28939 optimized fills.
28940 (grub_video_vbe_blit_render_target): Changed to use more optimized
28941 blits.
28942 (grub_video_vbe_setup): Added detection for optimized settings.
28943 (grub_video_vbe_create_render_target): Likewise.
28944
28945 * video/i386/pc/vbeblit.c: New file.
28946
28947 * video/i386/pc/vbefill.c: New file.
28948
c2379b9c 289492006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
28950
28951 * font/manager.c (grub_font_get_glyph): Removed font fixup from
28952 here...
28953
28954 * util/unifont2pff.rb: ... and moved it to here. Improved argument
28955 parsing to support both hex and dec ranges. If filename was missing
28956 show usage information.
28957
bd0d7896 289582006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
28959
28960 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
28961 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
28962
28963 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
28964 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
28965 (video_mod_SOURCES): Added.
28966 (video_mod_CFLAGS): Likewise.
28967 (video_mod_LDFLAGS): Likewise.
28968 (gfxterm_mod_SOURCES): Likewise.
28969 (gfxterm_mod_CFLAGS): Likewise.
28970 (gfxterm_mod_LDFLAGS): Likewise.
28971 (videotest_mod_SOURCES): Likewise.
28972 (videotest_mod_CFLAGS): Likewise.
28973 (videotest_mod_LDFLAGS): Likewise.
28974 (vesafb_mod_SOURCES): Removed.
28975 (vesafb_mod_CFLAGS): Likewise.
28976 (vesafb_mod_LDFLAGS): Likewise.
28977 (vga_mod_SOURCES): Likewise.
28978 (vga_mod_CFLAGS): Likewise.
28979 (vga_mod_LDFLAGS): Likewise.
28980
28981 * commands/videotest.c: New file.
28982
28983 * font/manager.c (fill_with_default_glyph): Modified to use
28984 grub_font_glyph.
28985 (grub_font_get_glyph): Likewise.
28986 (fontmanager): Renamed from this...
28987 (font_manager): ... to this.
28988
28989 * include/grub/font.h (grub_font_glyph): Added new structure.
28990 (grub_font_get_glyph): Modified to use grub_font_glyph.
28991
28992 * include/grub/misc.h (grub_abs): Added as inline function.
28993
28994 * include/grub/video.h: New file.
28995
28996 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
28997 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
28998 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
28999 (grub_vbe_get_controller_info): Renamed from this...
29000 (grub_vbe_bios_get_controller_info): ... to this.
29001 (grub_vbe_get_mode_info): Renamed from this...
29002 (grub_vbe_bios_get_mode_info): ... to this.
29003 (grub_vbe_set_mode): Renamed from this...
29004 (grub_vbe_bios_set_mode): ... to this.
29005 (grub_vbe_get_mode): Renamed from this...
29006 (grub_vbe_bios_get_mode): ... to this.
29007 (grub_vbe_set_memory_window): Renamed from this...
29008 (grub_vbe_bios_set_memory_window): ... to this.
29009 (grub_vbe_get_memory_window): Renamed from this...
29010 (grub_vbe_bios_get_memory_window): ... to this.
29011 (grub_vbe_set_scanline_length): Renamed from this...
29012 (grub_vbe_set_scanline_length): ... to this.
29013 (grub_vbe_get_scanline_length): Renamed from this...
29014 (grub_vbe_bios_get_scanline_length): ... to this.
29015 (grub_vbe_set_display_start): Renamed from this...
29016 (grub_vbe_bios_set_display_start): ... to this.
29017 (grub_vbe_get_display_start): Renamed from this...
29018 (grub_vbe_bios_get_display_start): ... to this.
29019 (grub_vbe_set_palette_data): Renamed from this...
29020 (grub_vbe_bios_set_palette_data): ... to this.
29021 (grub_vbe_set_pixel_rgb): Removed.
29022 (grub_vbe_set_pixel_index): Likewise.
29023
29024 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
29025 from this...
29026 (grub_vbe_bios_get_controller_info): ... to this.
29027 (grub_vbe_get_mode_info): Renamed from this...
29028 (grub_vbe_bios_get_mode_info): ... to this.
29029 (grub_vbe_set_mode): Renamed from this...
29030 (grub_vbe_bios_set_mode): ... to this.
29031 (grub_vbe_get_mode): Renamed from this...
29032 (grub_vbe_bios_get_mode): ... to this.
29033 (grub_vbe_set_memory_window): Renamed from this...
29034 (grub_vbe_bios_set_memory_window): ... to this.
29035 (grub_vbe_get_memory_window): Renamed from this...
29036 (grub_vbe_bios_get_memory_window): ... to this.
29037 (grub_vbe_set_scanline_length): Renamed from this...
29038 (grub_vbe_set_scanline_length): ... to this.
29039 (grub_vbe_get_scanline_length): Renamed from this...
29040 (grub_vbe_bios_get_scanline_length): ... to this.
29041 (grub_vbe_set_display_start): Renamed from this...
29042 (grub_vbe_bios_set_display_start): ... to this.
29043 (grub_vbe_get_display_start): Renamed from this...
29044 (grub_vbe_bios_get_display_start): ... to this.
29045 (grub_vbe_set_palette_data): Renamed from this...
29046 (grub_vbe_bios_set_palette_data): ... to this.
29047 (grub_vbe_bios_get_controller_info): Fixed problem with registers
29048 getting corrupted after calling it. Added more pushes and pops.
29049 (grub_vbe_bios_set_mode): Likewise.
29050 (grub_vbe_bios_get_mode): Likewise.
29051 (grub_vbe_bios_get_memory_window): Likewise.
29052 (grub_vbe_bios_set_scanline_length): Likewise.
29053 (grub_vbe_bios_get_scanline_length): Likewise.
29054 (grub_vbe_bios_get_display_start): Likewise.
29055 (grub_vbe_bios_set_palette_data): Likewise.
29056
29057 * normal/cmdline.c (cl_set_pos): Refresh the screen.
29058 (cl_insert): Likewise.
29059 (cl_delete): Likewise.
29060
29061 * term/gfxterm.c: New file.
29062
29063 * term/i386/pc/vesafb.c: Removed file.
29064
29065 * video/video.c: New file.
29066
29067 * video/i386/pc/vbe.c (real2pm): Added new function.
29068 (grub_video_vbe_draw_pixel): Likewise.
29069 (grub_video_vbe_get_video_ptr): Likewise.
29070 (grub_video_vbe_get_pixel): Likewise
29071 (grub_video_vbe_init): Likewise.
29072 (grub_video_vbe_fini): Likewise.
29073 (grub_video_vbe_setup): Likewise.
29074 (grub_video_vbe_get_info): Likewise.
29075 (grub_video_vbe_set_palette): Likewise.
29076 (grub_video_vbe_get_palette): Likewise.
29077 (grub_video_vbe_set_viewport): Likewise.
29078 (grub_video_vbe_get_viewport): Likewise.
29079 (grub_video_vbe_map_color): Likewise.
29080 (grub_video_vbe_map_rgb): Likewise.
29081 (grub_video_vbe_map_rgba): Likewise.
29082 (grub_video_vbe_unmap_color): Likewise.
29083 (grub_video_vbe_fill_rect): Likewise.
29084 (grub_video_vbe_blit_glyph): Likewise.
29085 (grub_video_vbe_blit_bitmap): Likewise.
29086 (grub_video_vbe_blit_render_target): Likewise.
29087 (grub_video_vbe_scroll): Likewise.
29088 (grub_video_vbe_swap_buffers): Likewise.
29089 (grub_video_vbe_create_render_target): Likewise.
29090 (grub_video_vbe_delete_render_target): Likewise.
29091 (grub_video_vbe_set_active_render_target): Likewise.
29092 (grub_vbe_set_pixel_rgb): Remove function.
29093 (grub_vbe_set_pixel_index): Likewise.
29094 (index_color_mode): Remove static variable.
29095 (active_mode): Likewise.
29096 (framebuffer): Likewise.
29097 (bytes_per_scan_line): Likewise.
29098 (grub_video_vbe_adapter): Added new static variable.
29099 (framebuffer): Likewise.
29100 (render_target): Likewise.
29101 (initial_mode): Likewise.
29102 (mode_in_use): Likewise.
29103 (mode_list): Likewise.
29104
5f97350b 291052006-03-10 Marco Gerards <marco@gnu.org>
29106
29107 * configure.ac (AC_INIT): Bumped to 1.93.
29108
29109 * DISTLIST: Added `include/grub/hfs.h'.
29110
a3c5c6f8 291112006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
29112
29113 * boot/i386/pc/boot.S (general_error): Before looping, try INT
29114 18H, which might help the BIOS falling back to next boot media.
29115
6de53d26 291162006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
29117
29118 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
29119 Poe Chen <poe.poechen@gmail.com>.
29120
77c4a393 291212006-01-17 Marco Gerards <marco@gnu.org>
29122
29123 * include/grub/normal.h: Include <grub/script.h>.
29124 (grub_command_list): Removed struct.
29125 (grub_command_list_t): Removed type.
29126 (grub_menu_entry): Remove members `num' and `command_list'. Add
29127 members `commands' and `sourcecode'.
29128 * include/grub/script.h: Add inclusion guards.
29129 (grub_script_cmd_menuentry): New struct.
29130 (grub_script_execute_menuentry): New prototype.
29131 (grub_script_lexer_record_start): Likewise.
29132 (grub_script_lexer_record_stop): Likewise.
29133 * normal/execute.c (grub_script_execute_menuentry): New function.
29134 * normal/lexer.c (record, recording, recordpos, recordlen): New
29135 variables.
29136 (grub_script_lexer_record_start): New function.
29137 (grub_script_lexer_record_stop): Likewise.
29138 (recordchar): Likewise.
29139 (nextchar): Likewise.
29140 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
29141 2048 as the buffer size. Add the tokens `menuentry' and `@'.
29142 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
29143 (current_menu): New variable.
29144 (free_menu): Mainly rewritten.
29145 (grub_normal_menu_addentry): New function.
29146 (read_config_file): Rewritten.
29147 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 29148 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 29149 the menu entry.
29150 (run): Mainly rewritten.
29151 * normal/parser.y (menu_entry): New variable.
29152 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
29153 (menuentry): New rule.
29154 (command): Add `menuentry'.
29155 (if_statement): Allow additional returns before `fi'.
29156 * normal/script.c (grub_script_create_cmdmenu): New function.
29157
144f1f98 291582006-01-03 Marco Gerards <marco@gnu.org>
29159
29160 * INSTALL: GNU Bison is required.
29161 * configure.ac: Rewritten the test to detect Bison.
29162 * Makefile.in (YACC): New variable. Reported by Xun Sun
29163 <xun.sun.cn@gmail.com>.
29164
af4b2d89 291652006-01-03 Marco Gerards <marco@gnu.org>
29166
29167 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
29168 the HFS+ filesystem to filesystem blocks.
29169 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
29170 GCC warning is silenced.
29171
15643b71 291722006-01-03 Marco Gerards <marco@gnu.org>
29173
29174 * partmap/apple.c (apple_partition_map_iterate): Convert the data
29175 read from disk from big endian to host byte order.
29176
00905879 291772006-01-03 Hollis Blanchard <hollis@penguinppc.org>
29178
29179 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
29180 documentation.
29181 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
29182 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
29183 embedded HFS+ filesystem.
29184 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
29185 (grub_hfs_sblock): Move from here...
29186 * include/grub/hfs.h: To here... New file.
29187 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
29188 documentation.
29189 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
29190 New macros.
29191 (grub_hfsplus_volheader): Change type of member `magic' to
29192 `grub_uint16_t'.
29193 (grub_hfsplus_data): Add new member `embedded_offset'.
29194 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
29195 returned block.
29196 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
29197 Calculate the offset.
29198
8899bc3e 291992005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29200
29201 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
29202 Removed.
29203 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
29204
ae8c0277 292052005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29206
29207 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
29208 ENV->NAME is NULL after allocating ENV->VALUE.
29209
07084456 292102005-12-25 Marco Gerards <marco@gnu.org>
29211
29212 * kern/env.c (grub_env_set): Rewritten the error handling code.
29213
4750f5f1 292142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29215
29216 * geninit.sh: Made more robust, and more portable.
29217
50214199 292182005-12-25 Marco Gerards <marco@gnu.org>
29219
29220 Add support for Apple HFS+ filesystems.
f19dbdb7 29221
50214199 29222 * fs/hfsplus.c: New file.
29223
29224 * DISTLIST: Added `fs/hfsplus.c'.
29225
29226 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
29227 (hfsplus_mod_SOURCES): New variable.
29228 (hfsplus_mod_CFLAGS): Likewise.
29229 (hfsplus_mod_LDFLAGS): Likewise.
29230 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
29231 (grub_setup_SOURCES): Likewise.
29232 (grub_mkdevicemap_SOURCES): Likewise.
29233 (grub_emu_SOURCES): Likewise.
29234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29235
29236 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
29237
29238 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
29239
befaed6c 292402005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
29241
29242 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
29243 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
29244 include/grub/parser.h, include/grub/script.h, kern/parser.c,
29245 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
29246 normal/lexer.c, normal/parser.y, normal/script.c, and
29247 partmap/gpt.c.
29248 Removed kern/sparc64/cache.c.
29249
29250 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
29251 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
29252 grub_emu_init.c.
29253
29254 * configure.ac (AC_INIT): Bumped to 1.92.
29255
6a124103 292562005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
29257
29258 * kern/err.c (grub_error_push): Added new function to support error
29259 stacks.
29260 (grub_error_pop): Likewise.
29261 (grub_error_stack_items): New local variable to support error stacks.
29262 (grub_error_stack_pos): Likewise.
29263 (grub_error_stack_assert): Likewise.
29264 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
29265 stack depth.
29266 (grub_print_error): Added support to print errors from error stack.
29267
29268 * include/grub/err.h (grub_error_push): Added function prototype.
29269 (grub_error_pop): Likewise.
29270
be973c1b 292712005-12-09 Hollis Blanchard <hollis@penguinppc.org>
29272
29273 * configure.ac: Accept `powerpc64' as host_cpu.
29274 (amd64): Rename to `biarch32'.
29275
29276 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
29277 non-cacheline-aligned addresses.
29278
29279 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
29280 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
29281 if `size' is non-zero.
29282
b04216ab 292832005-12-03 Marco Gerards <mgerards@xs4all.nl>
29284
29285 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
29286 and `cd' to make sure the filename is not prefixed with a
29287 directory name.
29288 (pkgdata_MODULES): Add `gpt.mod'.
29289 (gpt_mod_SOURCES): New variable.
29290 (gpt_mod_CFLAGS): Likewise.
29291 (gpt_mod_LDFLAGS): Likewise.
29292
29293 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
29294
29295 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
29296 New macro.
29297
29298 * partmap/gpt.c: New file.
29299
29300 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
29301 GPT partition map is detected.
29302
41730ed9 293032005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
29304
29305 * commands/i386/pc/play.c: New file.
29306 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
29307 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
29308 macros.
f19dbdb7 29309
95dc3643 293102005-11-27 Marco Gerards <mgerards@xs4all.nl>
29311
29312 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
29313 ((unused))' to silence gcc warning.
29314
1569ec51 293152005-11-26 Hollis Blanchard <hollis@penguinppc.org>
29316
29317 * configure.ac: Correct `AC_PROG_YACC' test.
29318
9abde152 293192005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29320
29321 * util/powerpc/ieee1275/grub-install.in: Run the mount point
29322 check before installing files.
29323
44b83271 293242005-11-22 Mike Small <smallm@panix.com>
29325
29326 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
29327 number regex so multidigit numbers are recognized correctly.
29328
293292005-11-22 Mike Small <smallm@panix.com>
29330
29331 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
29332 debugging message before attempting to claim memory.
29333 (grub_rescue_cmd_initrd): Add a claim debugging message and try
29334 multiple addresses in case of failure.
29335
9c12956b 293362005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29337
29338 * term/tparm.c (get_space): Remove empty `if' statement.
29339
29340 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
29341
29342 * kern/parser.c (check_varstate): Rename `state' to 's'.
29343
aeaf81d9 293442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29345
29346 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
29347 variable definitions to the beginning of each function. Sort stack
29348 variables by size.
29349 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
29350 `buf' argument to `char *'.
29351
79bbb63f 293522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
29353
29354 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
29355 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29356 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 29357 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29358 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29359 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29360 configfile.mod, search.mod, gzio.mod and test.mod.
29361 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29362 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29363 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29364 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29365 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29366 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29367 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29368 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29369 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29370 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29371 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29372 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29373 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29374 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29375 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29376 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29377 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29378 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29379 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29380 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29381 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29382 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29383 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
29384
29385 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
29386 `grep --include'.
29387 (pkgdata_MODULES): Add test.mod.
29388
233b1628 293892005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29390
29391 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
29392 appending to variables with "+=".
29393 (PModule): Use full pathname to generate *.lst filenames.
29394
29395 * Makefile.in: Fixed list rules moved from genmk.rb.
29396 (.DELETE_ON_ERROR): New special target.
29397 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
29398
29399 * conf/i386-pc.rmk: Include conf/common.mk.
29400 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 29401 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 29402 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
29403 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
29404 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
29405 configfile.mod, search.mod, gzio.mod and test.mod.
29406 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
29407 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
29408 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
29409 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
29410 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
29411 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
29412 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
29413 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
29414 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
29415 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
29416 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29417 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29418 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
29419 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
29420 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
29421 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
29422 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
29423 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
29424 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
29425 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
29426 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
29427 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
29428 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
29429 here...
29430 * conf/common.rmk: ... to here. New file.
29431
29432 * conf/common.mk: New file.
29433
16f820c8 294342005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
29435
29436 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
29437 (grub_script.tab.c): ... here.
29438
29439 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
29440 (grub_script.tab.c): ... here.
29441
29442 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
29443 (grub_script.tab.c): ... here.
29444
29445 * normal/command.c (grub_command_find): Fixed a memory leak of
29446 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
29447
63ba1554 294482005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29449
29450 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
29451 "@" which marks the start of a comment on ARM.
29452 (VARIABLE): Likewise.
29453
7f67dc13 294542005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29455
79bbb63f 29456 Add support for Linux/ADFS partition tables.
7f67dc13 29457
29458 * partmap/acorn.c: New file.
29459
29460 * include/grub/acorn_filecore.h: Likewise.
29461
29462 * DISTLIST: Added `partmap/acorn.c' and
29463 `include/grub/acorn_filecore.h'.
f19dbdb7 29464
7f67dc13 29465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29466 `partmap/acorn.c'.
29467 (pkgdata_MODULES): Add `acorn.mod'.
29468 (acorn_mod_SOURCES): New variable.
29469 (acorn_mod_CFLAGS): Likewise.
29470
29471 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29472 `partmap/acorn.c'.
29473 (pkgdata_MODULES): Add `acorn.mod'.
29474 (acorn_mod_SOURCES): New variable.
29475 (acorn_mod_CFLAGS): Likewise.
29476
29477 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
29478 (pkgdata_MODULES): Add `acorn.mod'.
29479 (acorn_mod_SOURCES): New variable.
29480 (acorn_mod_CFLAGS): Likewise.
29481 (acorn_mod_LDFLAGS): Likewise.
29482
29483 * include/types.h (grub_disk_addr_t): New typedef.
29484
6d099807 294852005-11-13 Marco Gerards <mgerards@xs4all.nl>
29486
29487 * geninit.sh: New file.
29488
29489 * geninitheader.sh: Likewise.
29490
29491 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
29492 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
29493 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
29494 * commands/configfile.c (grub_configfile_init)
29495 (grub_configfile_fini): Likewise.
29496 * commands/default.c (grub_default_init, grub_default_fini):
29497 Likewise.
29498 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
29499 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
29500 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
29501 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
29502 Likewise.
29503 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
29504 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
29505 Likewise.
29506 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 29507 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 29508 Likewise.
29509 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
29510 Likewise.
fe6b695a 29511 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 29512 Likewise.
29513 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
29514 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
29515 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
29516 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
29517 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
29518 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
29519 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
29520 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
29521 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
29522 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
29523 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
29524 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
29525 * partmap/amiga.c (grub_amiga_partition_map_init)
29526 (grub_amiga_partition_map_fini): Likewise.
29527 * partmap/apple.c (grub_apple_partition_map_init)
29528 (grub_apple_partition_map_fini): Likewise.
29529 * partmap/pc.c (grub_pc_partition_map_init)
29530 (grub_pc_partition_map_fini): Likewise.
29531 * partmap/sun.c (grub_sun_partition_map_init,
29532 grub_sun_partition_map_fini): Likewise.
29533 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
29534 Likewise.
29535
29536 * util/grub-emu.c: Include <grub_modules_init.h>.
29537 (main): Don't initialize and de-initialize any modules directly,
29538 use `grub_init_all' and `grub_fini_all' instead.
29539
29540 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
29541 `grub_vesafb_mod_init'.
29542 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
29543 all users.
29544 * term/i386/pc/vga.c (grub_vga_init): Renamed to
29545 `grub_vga_mod_init'. Updated all users.
29546 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 29547
6d099807 29548 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
29549 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
29550 rules.
29551
29552 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
29553 Generate a function to initialize the module in utilities.
29554 Updated all callers.
29555 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
29556 initialize the module in utilities. Updated all callers.
29557
9046bcf0 295582005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29559
29560 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
29561 escape sequence and a literal ^L to clear the screen.
29562
29563 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
29564 when returning from Open Firmware.
29565
d13ea639 295662005-11-09 Hollis Blanchard <hollis@penguinppc.org>
29567
29568 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
29569 (grub_ofconsole_height): Likewise.
29570 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
29571 manually insert a '\n'.
29572 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
29573 `grub_ofconsole_height'. Return early if these are already set.
29574
a8fcf206 295752005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
29576
29577 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
29578 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
29579 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
29580 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
29581 and `normal/script.c'.
29582 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29583 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29584 (test_mod_SOURCES): New variable.
29585 (test_mod_CFLAGS): Likewise.
29586 (test_mod_LDFLAGS): Likewise.
29587 (pkgdata_MODULES): Add `test.mod'.
29588 (grub_script.tab.c): New rule.
29589 (grub_script.tab.h): Likewise.
29590
b6b32745 295912005-11-07 Marco Gerards <mgerards@xs4all.nl>
29592
29593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
29594 `commands/test.c', `normal/execute.c', `normal/lexer.c',
29595 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29596 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29597 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
29598 (test_mod_SOURCES): New variable.
29599 (test_mod_CFLAGS): Likewise.
29600 (pkgdata_MODULES): Add `test.mod'.
29601 (grub_script.tab.c): New rule.
29602 (grub_script.tab.h): Likewise.
29603
daac212a 296042005-11-06 Marco Gerards <mgerards@xs4all.nl>
29605
29606 Add initial scripting support.
29607
29608 * commands/test.c: New file.
29609 * include/grub/script.h: Likewise.
29610 * normal/execute.c: Likewise.
29611 * normal/function.c: Likewise.
29612 * normal/lexer.c: Likewise.
29613 * normal/parser.y: Likewise.
29614 * normal/script.c: Likewise.
29615
29616 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 29617
daac212a 29618 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
29619 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
29620 `normal/function.c' and `normal/script.c'.
29621 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
29622 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 29623 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
29624 variables.
daac212a 29625 (pkgdata_MODULES): Add `test.mod'.
29626 (grub_script.tab.c): New rule.
29627 (grub_script.tab.h): Likewise.
29628
29629 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
29630
29631 * include/grub/normal.h (grub_test_init): New prototype.
29632 (grub_test_fini): Likewise.
f19dbdb7 29633
daac212a 29634 * normal/command.c: Include <grub/script.h>.
29635 (grub_command_execute): Rewritten.
f19dbdb7 29636
daac212a 29637 * util/grub-emu.c (main): Call `grub_test_init' and
29638 `grub_test_fini'.
29639
77500b2b 296402005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29641
29642 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
29643 to 0.
29644 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
29645 there are no pending characters.
29646
e45deb9e 296472005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29648
29649 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
29650 `grub_strndup' to drop device arguments. Replace unnecessary
29651 `grub_strndup' with `grub_strdup'.
29652
4ce32619 296532005-11-03 Hollis Blanchard <hollis@penguinppc.org>
29654
29655 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
29656 `debug' environment variable has been set.
29657
296582005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 29659
4ce32619 29660 * Makefile.in (install-local): Use $(DATA).
29661 (uninstall): Likewise.
29662 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
29663 (sbin_UTILITIES): ... to here.
29664 (sbin_SCRIPTS): New variable.
29665 (grub_install_SOURCES): New variable.
29666 * util/powerpc/ieee1275/grub-install.in: New file.
29667 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
29668 variable.
29669 (add_segments): Call `grub_util_get_path'.
29670
25fe6f03 296712005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
29672
29673 From Timothy Baldwin:
29674 * commands/ls.c (grub_ls_list_files): Close FILE with
29675 grub_file_close.
29676 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
29677
04ccf3ec 296782005-10-24 Marco Gerards <mgerards@xs4all.nl>
29679
29680 * include/grub/parser.h: New file.
29681
29682 * kern/parser.c: Likewise.
29683
29684 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
29685 (grub_setup_SOURCES): Likewise.
29686 (grub_probefs_SOURCES): Likewise.
29687 (grub_emu_SOURCES): Likewise.
29688 (kernel_img_HEADERS): Add `parser.h'.
29689
29690 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29691 (grub_emu_SOURCES): Add `kern/parser.c'.
29692 (grubof_SOURCES): Likewise.
29693
29694 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
29695 (grubof_SOURCES): Add `kern/parser.c'.
29696
29697 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
29698
29699 * kern/misc.c (grub_split_cmdline): Removed function.
29700
29701 * kern/rescue.c: Include <grub/parser.h>.
29702 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
29703 of `grub_split_cmdline'.
29704
29705 * normal/command.c: Include <grub/parser.h>.
29706 (grub_command_execute): Use `grub_parser_split_cmdline' instead
29707 of `grub_split_cmdline'.
29708
29709 * normal/completion.c: Include <grub/parser.h>.
29710 (cmdline_state): New variable.
29711 (iterate_dir): End the filename with a quote depending on the
29712 command line state.
29713 (get_state): new function.
29714 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
29715 split the arguments and determine the current argument. When the
29716 argument string is not quoted, escape all spaces.
29717
6d8f4b0e 297182005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29719
29720 * normal/sparc64/setjmp.S: New file.
29721
15cf03ed 297222005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29723
29724 * include/grub/sparc64/libgcc.h: New file.
29725 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
29726 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
29727 normal/sparc64/setjmp.c.
29728
03e8661a 297292005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
29730
29731 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
29732 * kern/sparc64/cache.S: New file.
29733 * kern/sparc64/cache.c: Removed.
29734 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
29735 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
29736 -mtune=ultrasparc.
29737 (COMMON_LDFLAGS): Add -melf64_sparc.
29738 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
29739 (grubof_SOURCES): Use cache.S instead of cache.c.
29740 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
29741 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
29742 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
29743 commented though.
29744 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
29745 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
29746 (linux_mod_CFLAGS): Commented out.
29747 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
29748 out because module isn't built.
29749 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
29750 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
29751 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
29752 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
29753 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
29754 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29755 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29756 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
29757 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
29758 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
29759 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
29760 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
29761 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
29762 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
29763
34eeec8a 297642005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
29765
29766 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
29767 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
29768 longer, because HFS should not be used on PC.
29769
708367a3 297702005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
29771
29772 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
29773 consistently within the loop.
29774
6fa1251a 297752005-10-15 Marco Gerards <mgerards@xs4all.nl>
29776
29777 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
29778 directory can not be read.
29779
4801580b 297802005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29781
29782 * configure.ac (AC_INIT): Increase the version number to 1.91.
29783
29784 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
29785 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
29786 term/i386/pc/serial.c.
29787
219ad426 297882005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29789
29790 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
29791 file size must be permitted.
29792
29793 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
29794 between %ah and %al.
29795
688e5699 297962005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
29797
29798 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
29799 grub_uint64_t.
29800 Call the hook with a NUL-terminated filename.
29801 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
29802 grub_cpu_to_be32.
29803
29804 * kern/term.c (cursor_state): New variable.
29805 (grub_term_set_current): Reset the cursor state on a new
29806 terminal.
29807 (grub_setcursor): Rewritten to use CURSOR_STATE.
29808 (grub_getcursor): New function.
29809
29810 * include/grub/term.h (grub_getcursor): New prototype.
29811
29812 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
29813 integers on ARM. Reported by Timothy Baldwin
29814 <T.E.Baldwin99@members.leeds.ac.uk>.
29815
bb34586c 298162005-10-11 Marco Gerards <mgerards@xs4all.nl>
29817
29818 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
29819 allocated.
29820 (grub_sfs_dir): Likewise.
29821
9a909877 298222005-10-09 Marco Gerards <mgerards@xs4all.nl>
29823
29824 Add support for the SFS filesystem.
29825
29826 * fs/sfs.c: New file.
29827
29828 * DISTLIST: Added `fs/sfs.c'.
29829
29830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
29831 (grub_probefs_SOURCES): Likewise.
29832 (grub_emu_SOURCES): Likewise.
29833 (pkgdata_MODULES): Add `sfs.mod'.
29834 (sfs_mod_SOURCES): New variable.
29835 (sfs_mod_CFLAGS): Likewise.
29836 (sfs_mod_LDFLAGS): Likewise.
29837
29838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
29839 (pkgdata_MODULES): Add `sfs.mod'.
29840 (sfs_mod_SOURCES): New variable.
29841 (sfs_mod_CFLAGS): Likewise.
29842
29843 * util/grub-emu.c (main): Call `grub_sfs_init' and
29844 `grub_sfs_fini'.
29845
29846 * include/grub/fs.h (grub_sfs_init): New prototype.
29847 (grub_sfs_fini): Likewise.
29848
57bdbde3 298492005-10-07 Marco Gerards <mgerards@xs4all.nl>
29850
29851 Add support for the AFFS filesystem.
29852
29853 * fs/affs.c: New file.
29854
29855 * DISTLIST: Added `fs/affs.c'.
29856
29857 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
29858 (grub_probefs_SOURCES): Likewise.
29859 (grub_emu_SOURCES): Likewise.
29860 (pkgdata_MODULES): Add `affs.mod'.
29861 (affs_mod_SOURCES): New variable.
29862 (affs_mod_CFLAGS): Likewise.
29863 (affs_mod_LDFLAGS): Likewise.
29864
29865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
29866 (pkgdata_MODULES): Add `affs.mod'.
29867 (affs_mod_SOURCES): New variable.
29868 (affs_mod_CFLAGS): Likewise.
29869
29870 * util/grub-emu.c (main): Call `grub_affs_init' and
29871 `grub_affs_fini'.
29872
29873 * include/grub/fs.h (grub_affs_init): New prototype.
29874 (grub_affs_fini): Likewise.
29875
047b67e0 298762005-10-01 Marco Gerards <mgerards@xs4all.nl>
29877
29878 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
29879
59b8208a 298802005-10-01 Marco Gerards <mgerards@xs4all.nl>
29881
29882 * configure.ac: Accept `x86_64' as host_cpu. In that case add
29883 `-m32' to CFLAGS.
29884
29885 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
29886 linking.
f19dbdb7 29887
59b8208a 29888 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
29889 (COMMON_LDFLAGS): New variable.
29890 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
29891 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
29892 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
29893 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
29894 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
29895 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
29896 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
29897 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
29898 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
29899 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
29900 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
29901 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
29902 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
29903 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
29904 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
29905 variables.
29906 (normal_mod_ASFLAGS): Add `-m32'.
29907
29908 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
29909 (grub_host_size_t, grub_host_ssize_t): New types.
29910 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 29911 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 29912 `GRUB_HOST_SIZEOF_VOID_P'.
29913
29914 * include/grub/kernel.h (struct grub_module_header): Type of
29915 member offset changed to `grub_host_off_t'. Type of member size
29916 changed to `grub_host_size_t'.
29917 (struct grub_module_info): Type of member offset changed to
29918 `grub_host_off_t'. Type of member size changed to
29919 `grub_host_size_t'.
29920
b4093103 299212005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
29922
29923 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 29924
b4093103 29925 * kern/i386/pc/startup.S (multiboot_header): New label.
29926 (multiboot_entry): Likewise.
29927 (multiboot_trampoline): Likewise.
29928
29929 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29930 Increased to 0x4A0.
29931
29932 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
29933 put parentheses after a question mark.
29934 [!GRUB_UTIL] (my_mod): New variable.
29935
29936 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
29937
b2499b29 299382005-09-28 Marco Gerards <mgerards@xs4all.nl>
29939
29940 Adds support for the XFS filesystem. Btrees are not supported
29941 yet.
29942
29943 * fs/xfs.c: New file.
29944
29945 * DISTLIST: Added `fs/xfs.c'.
29946
29947 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
29948 (grub_probefs_SOURCES): Likewise.
29949 (grub_emu_SOURCES): Likewise.
29950 (pkgdata_MODULES): Add `xfs.mod'.
29951 (xfs_mod_SOURCES): New variable.
29952 (xfs_mod_CFLAGS): Likewise.
29953
29954 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
29955 (pkgdata_MODULES): Add `xfs.mod'.
29956 (xfs_mod_SOURCES): New variable.
29957 (xfs_mod_CFLAGS): Likewise.
29958
29959 * util/grub-emu.c (main): Call `grub_xfs_init' and
29960 `grub_xfs_fini'.
29961
29962 * include/grub/fs.h (grub_xfs_init): New prototype.
29963 (grub_xfs_fini): Likewise.
29964
f19dbdb7 29965
83d37a62 299662005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
29967
29968 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
29969 color modes, allow greater than 16 colors to be configured as
29970 a default palette.
29971
47d2d65e 299722005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
29973
29974 * normal/completion.c (complete_arguments): Add the qualifier
29975 const into OPTIONS.
29976
29977 From Omniflux <omniflux+lists@omniflux.com>:
29978 * include/grub/terminfo.h: New file.
29979 * include/grub/tparm.h: Likewise.
29980 * include/grub/i386/pc/serial.h: Likewise.
29981 * term/terminfo.c: Likewise.
29982 * term/tparm.c: Likewise.
29983 * term/i386/pc/serial.c: Likewise.
29984 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
29985 serial.mod.
29986 (terminfo_mod_SOURCES): New variable.
29987 (terminfo_mod_CFLAGS): Likewise.
29988 (serial_mod_SOURCES): Likewise.
29989 (serial_mod_CFLAGS): Likewise.
29990
48b671ff 299912005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
29992
29993 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
29994 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
29995 and kern/powerpc/ieee1275/cmain.c, respectively.
29996
29997 * boot/powerpc/ieee1275/crt0.S: Moved to ...
29998 * kern/powerpc/ieee1275/crt0.S: ... here.
29999
30000 * boot/powerpc/ieee1275/cmain.c: Moved to ...
30001 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 30002
48b671ff 30003 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
30004 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
30005 instead of boot/powerpc/ieee1275/crt0.S and
30006 boot/powerpc/ieee1275/cmain.c, respectively.
30007
30008 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
30009 sectors. It was not used anyway.
30010
09fc77a7 300112005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30012
30013 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
30014 `unused parameter' warning.
30015
003789c7 300162005-08-30 Hollis Blanchard <hollis@penguinppc.org>
30017
30018 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
30019 function.
30020 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
30021 getcharwidth.
30022
67f44c86 300232005-08-28 Marco Gerards <metgerards@student.han.nl>
30024
30025 * include/grub/normal.h (enum grub_completion_type): Added
30026 `GRUB_COMPLETION_TYPE_ARGUMENT'.
30027
30028 * normal/cmdline.c (print_completion): Handle
30029 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
30030 * normal/menu_entry.c (store_completion): Likewise.
30031
30032 * normal/completion.c (complete_arguments): New function.
30033 (grub_normal_do_completion): Call `complete_arguments' when the
30034 current words start with a dash.
30035
0b5abe02 300362005-08-27 Marco Gerards <metgerards@student.han.nl>
30037
30038 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
30039 `gzio.mod' instead of `io.mod').
30040
d9864ee1 300412005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
30042
30043 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
30044 (DISTDIRS): Added io and video.
30045 Rewrite the search routine to make an output consistently.
30046
30047 * DISTLIST: Added conf/sparc64-ieee1275.mk,
30048 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
30049 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
30050 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
30051 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
30052 util/powerpc/ieee1275/misc.c.
f19dbdb7 30053
d9864ee1 30054 * include/grub/gzio.h: New file.
30055 * io/gzio.c: Likewise.
f19dbdb7 30056
d9864ee1 30057 * kern/file.c (grub_file_close): Call grub_device_close only if
30058 FILE->DEVICE is not NULL.
30059
30060 * include/grub/mm.h [!NULL] (NULL): New macro.
30061
30062 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
30063
30064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
30065 (pkgdata_MODULES): Added gzio.mod.
30066 (gzio_mod_SOURCES): New variable.
30067 (gzio_mod_CFLAGS): Likewise.
30068
30069 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
30070 (pkgdata_MODULES): Added gzio.mod.
30071 (gzio_mod_SOURCES): New variable.
30072 (gzio_mod_CFLAGS): Likewise.
30073
30074 * commands/cat.c: Include grub/gzio.h.
30075 (grub_cmd_cat): Use grub_gzfile_open instead of
30076 grub_file_open.
f19dbdb7 30077
d9864ee1 30078 * commands/cmp.c: Include grub/gzio.h.
30079 (grub_cmd_cmp): Use grub_gzfile_open instead of
30080 grub_file_open.
30081
30082 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
30083 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
30084 grub_file_open.
30085 (grub_rescue_cmd_module): Likewise.
30086
fa46f4b5 300872005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30088
30089 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
30090 kern/sparc64/ieee1275/init.c because it contains _start.
30091 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
30092
e9211b5d 300932005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
30094
30095 * configure.ac: Add support for sparc64 host with ieee1275
30096 firmware.
30097 * configure: Generated from configure.ac.
30098 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
30099 instead of int.
30100 (grub_ofdisk_read): Likewise.
30101 (grub_ofdisk_open): Use %p to print pointer values, and cast the
30102 pointers as (void *) to remove a warning.
30103 (grub_ofdisk_close): Likewise.
30104 (grub_ofdisk_read): Likewise.
30105 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
30106 returns, so make it return void to remove a warning.
30107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
30108 Corresponding prototype change.
30109 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
30110 values, and cast the pointers as (void *) to remove a warning.
30111 (grub_mm_dump): Likewise.
30112 * conf/sparc64-ieee1275.mk: New file.
30113 * conf/sparc64-ieee1275.rmk: Likewise.
30114 * include/grub/sparc64/setjmp.h: Likewise.
30115 * include/grub/sparc64/types.h: Likewise.
30116 * include/grub/sparc64/ieee1275/console.h: Likewise.
30117 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30118 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30119 * include/grub/sparc64/ieee1275/time.h: Likewise.
30120 * kern/sparc64/cache.c: Likewise.
30121 * kern/sparc64/dl.c: Likewise.
30122 * kern/sparc64/ieee1275/init.c: Likewise.
30123 * kern/sparc64/ieee1275/openfw.c: Likewise.
30124
385c6a92 301252005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
30126
30127 * util/console.c (grub_ncurses_putchar): If C is greater than
30128 0x7f, set C to a question mark.
30129 (grub_ncurses_getcharwidth): New function.
30130 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
30131 getcharwidth.
30132
30133 * normal/menu.c (print_entry): Made aware of Unicode. First,
30134 convert TITLE to UCS-4, and predict the cursor position by
30135 grub_getcharwidth.
30136
30137 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
30138 const to SRC.
30139 * kern/misc.c (grub_utf16_to_utf8): Likewise.
30140
16ccb8b1 301412005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30142
30143 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
30144 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30145 grub_strcat.
30146
30147 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
30148 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
30149 grub_strcpy and grub_strlen. Take it into account that a space
30150 character is inserted as a delimiter.
30151
6a85ce79 301522005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30153
30154 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 30155 invalid magic in the error.
6a85ce79 30156
30157 * commands/search.c: New file.
f19dbdb7 30158
6a85ce79 30159 * util/grub-emu.c (main): Call grub_search_init and
30160 grub_search_fini.
30161
30162 * kern/rescue.c (grub_rescue_print_disks): Removed.
30163 (grub_rescue_print_devices): New function.
30164 (grub_rescue_cmd_ls): Use grub_device_iterate with
30165 grub_rescue_print_devices instead of grub_disk_dev_iterate with
30166 grub_rescue_print_disks.
30167
30168 * kern/partition.c (grub_partition_iterate): Return the result of
30169 PARTMAP->ITERATE instead of GRUB_ERRNO.
30170
30171 * kern/device.c: Include grub/partition.h.
30172 (grub_device_iterate): New function.
30173
30174 * include/grub/partition.h (grub_partition_iterate): Return int
30175 instead of grub_err_t.
30176
30177 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
30178 prototype.
30179 [GRUB_UTIL] (grub_search_fini): Likewise.
30180
30181 * include/grub/device.h (grub_device_iterate): New prototype.
30182
30183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30184 commands/search.c.
30185 (pkgdata_MODULES): Added search.mod.
30186 (search_mod_SOURCES): New variable.
30187 (search_mod_CFLAGS): Likewise.
30188
30189 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
30190 (pkgdata_MODULES): Added search.mod.
30191 (search_mod_SOURCES): New variable.
30192 (search_mod_CFLAGS): Likewise.
30193
30194 * commands/ls.c (grub_ls_list_disks): Renamed to ...
30195 (grub_ls_list_devices): ... this, and use grub_device_iterate.
30196 All callers changed.
30197
30198 * DISTLIST: Added commands/search.c.
30199
ef095434 302002005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
30201
30202 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
30203 conversion.
30204 (grub_getcharwidth): New function.
30205
30206 * kern/misc.c (grub_utf8_to_ucs4): New function.
30207
30208 * include/grub/term.h (struct grub_term): Added a new member
30209 "getcharwidth".
30210 (grub_getcharwidth): New prototype.
30211
30212 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
30213
30214 * term/i386/pc/console.c (map_char): New function. Segregated from
30215 grub_console_putchar.
30216 (grub_console_putchar): Use map_char.
30217 (grub_console_getcharwidth): New function.
30218 (grub_console_term): Specified grub_console_getcharwidth as
30219 getcharwidth.
30220
30221 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
30222 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
30223
30224 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
30225 GRUB_ERRNO.
30226 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
30227 on grub_strtoul completely.
30228 (write_char): Declare local variables in the beginning of the
30229 function.
30230 (grub_vesafb_getcharwidth): New function.
30231 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
30232 getcharwidth.
30233
1f0a95e4 302342005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
30235
30236 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
30237 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
30238 commands/i386/pc/vbetest.c.
30239
30240 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
30241 call grub_vbe_get_controller_info again, because the returned
30242 information is volatile.
30243 (grub_vbe_set_video_mode): Mostly rewritten.
30244 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
30245 grub_vbe_status_t correctly.
30246 (grub_vbe_get_video_mode_info): Likewise.
30247 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
30248 several if statements.
30249
30250 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
30251 * commands/i386/pc/vbeinfo.c: ... this.
30252
30253 * commands/i386/pc/vbe_test.c: Renamed to ...
30254 * commands/i386/pc/vbetest.c: ... this.
30255
30256 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
30257 ...
30258 (grub_cmd_vbeinfo): ... this. Save video modes before
30259 iterating. Skip a video mode, if it is not available, not enough
30260 information is given or it is monochrome. Show the memory
30261 model. Leave the interpretation of MODEVAR to grub_strtoul
30262 completely.
30263 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
30264 (GRUB_MOD_FINI): Likewise.
30265
30266 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
30267 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
30268 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
30269 duplicated grub_env_get. Leave the interpretation of MODEVAR to
30270 grub_strtoul completely.
30271 (real2pm): Removed.
30272 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
30273 (GRUB_MOD_FINI): Likewise.
30274
30275 * normal/misc.c: Include grub/mm.h.
30276
30277 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
30278 vbe_list_modes with vbetest.mod and vbeinfo.mod.
30279 (vbe_list_modes_mod_SOURCES): Removed.
30280 (vbe_list_modes_mod_CFLAGS): Likewise.
30281 (vbe_test_mod_SOURCES): Likewise.
30282 (vbe_test_mod_CFLAGS): Likewise.
30283 (vbeinfo_mod_SOURCES): New variable.
30284 (vbeinfo_mod_CFLAGS): Likewise.
30285 (vbetest_mod_SOURCES): Likewise.
30286 (vbetest_mod_CFLAGS): Likewise.
30287
992ffbbe 302882005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
30289
30290 * normal/misc.c: New file.
30291
30292 * DISTLIST: Added normal/misc.c.
f19dbdb7 30293
992ffbbe 30294 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
30295 DISK to HOOK. Call HOOK with DISK.
30296 * partmap/apple.c (apple_partition_map_iterate): Likewise.
30297 * partmap/pc.c (pc_partition_map_iterate): Likewise.
30298 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30299
30300 * normal/menu_entry.c (struct screen): Added a new member
30301 "completion_shown".
30302 (completion_buffer): New global variable.
30303 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
30304 (store_completion): New function.
30305 (complete): Likewise.
30306 (clear_completions): Likewise.
30307 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
30308 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
30309 a tab, call complete.
30310
30311 * normal/completion.c (disk_dev): Removed.
30312 (print_simple_completion): Likewise.
30313 (print_partition_completion): Likewise.
30314 (print_func): New global variable.
30315 (add_completion): Do not take the arguments WHAT or PRINT any
30316 longer. Added a new argument TYPE. Instead of printing directly,
30317 call PRINT_FUNC if not NULL.
30318 All callers changed.
30319 (complete_device): Use a local variable DEV instead of
30320 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
30321 (grub_normal_do_completion): Take a new argument HOOK. Do not
30322 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
30323 empty string, return NULL instead.
30324 All callers changed.
30325
30326 * normal/cmdline.c (print_completion): New function.
30327
30328 * kern/partition.c (grub_partition_iterate): Add an argument DISK
30329 to HOOK.
30330 All callers changed.
30331
30332 * kern/disk.c (grub_print_partinfo): Removed.
30333
30334 * include/grub/partition.h (struct grub_partition_map): Add a new
30335 argument DISK into HOOK of ITERATE.
30336 (grub_partition_iterate): Add a new argument DISK to HOOK.
30337
30338 * include/grub/normal.h (enum grub_completion_type): New enum.
30339 (grub_completion_type_t): New type.
30340 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
30341 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
30342 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
30343 (GRUB_COMPLETION_TYPE_FILE): Likewise.
30344 (grub_normal_do_completion): Added a new argument HOOK.
30345 (grub_normal_print_device_info): New prototype.
30346
30347 * include/grub/disk.h (grub_print_partinfo): Removed.
30348
30349 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
30350 (normal_mod_SOURCES): Likewise.
30351 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30352 (normal_mod_SOURCES): Likewise.
30353
30354 * commands/ls.c (grub_ls_list_disks): Use
30355 grub_normal_print_device_info instead of grub_print_partinfo. Free
30356 PNAME.
30357 (grub_ls_list_files): Use grub_normal_print_device_info instead of
30358 duplicating the code.
30359
0bd41162 303602005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30361
30362 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 30363 follow GCS more precisely.
30364 * commands/i386/pc/vbe_test.c: Likewise.
30365 * include/grub/i386/pc/vbe.h: Likewise.
30366 * term/i386/pc/vesafb.c: Likewise.
30367 * video/i386/pc/vbe.c: Likewise.
0bd41162 30368
6323696a 303692005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
30370
30371 * DISTLIST: Added term/i386/pc/vesafb.c
30372 DISTLIST: Added video/i386/pc/vbe.c
30373 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
30374 DISTLIST: Added commands/i386/pc/vbe_test.c.
30375 * commands/i386/pc/vbe_list_modes.c: New file.
30376 * commands/i386/pc/vbe_test.c: Likewise.
30377 * term/i386/pc/vesafb.c: Likewise.
30378 * video/i386/pc/vbe.c: Likewise.
30379 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
30380 (grub_vbe_probe) Added prototype.
30381 (grub_vbe_set_video_mode) Likewise.
30382 (grub_vbe_get_video_mode) Likewise.
30383 (grub_vbe_get_video_mode_info) Likewise.
30384 (grub_vbe_set_pixel_rgb) Likewise.
30385 (grub_vbe_set_pixel_index) Likewise.
30386 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
30387 (pkgdata_MODULES): Added vesafb.mod.
30388 (pkgdata_MODULES): Added vbe_list_modes.mod.
30389 (pkgdata_MODULES): Added vbe_test.mod.
30390 (vbe_mod_SOURCES): Added.
30391 (vbe_mod_CFLAGS): Likewise.
30392 (vesafb_mod_SOURCES): Likewise.
30393 (vesafb_mod_CFLAGS): Likewise.
30394 (vbe_list_modes_mod_SOURCES): Likewise.
30395 (vbe_list_modes_mod_CFLAGS): Likewise.
30396 (vbe_test_mod_SOURCES): Likewise.
30397 (vbe_test_mod_CFLAGS): Likewise.
30398
0a74e62f 303992005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
30400
0a74e62f 30401 * normal/command.c (grub_command_execute): If INTERACTIVE is
30402 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
30403 CMDLINE. Disable the pager if INTERACTIVE is true.
30404 All callers are changed.
30405
30406 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
30407 before reading a config file.
30408 * normal/main.c (read_config_file): Even if a command is not
30409 found, register it if it is within an entry.
30410
30411 * util/grub-emu.c: Include sys/types.h and unistd.h.
30412 (options): Added --hold.
30413 (struct arguments): Added a new member "hold".
30414 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
30415 missing.
30416 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
30417 cleared by a debugger, if it is not zero.
30418
30419 * include/grub/normal.h (grub_command_execute): Add an argument
30420 INTERACTIVE.
30421
e51f85ae 304222005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
30423
30424 * DISTLIST: Added include/grub/i386/pc/vbe.h.
30425
e9c6f39b 304262005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
30427
30428 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
30429 program with another one, because the old one didn't detect a bug
30430 in gcc-3.4. Always use regparm 2, because the new test is still
30431 not enough for gcc-4.0. Someone must investigate a simple test
30432 case which detects a bug in gcc-4.0.
30433
8de3495c 304342005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
30435
30436 * DISTLIST: Added normal/completion.c.
30437
30438 * normal/completion.c: New file.
f19dbdb7 30439
8de3495c 30440 * term/i386/pc/console.c (grub_console_getwh): New function.
30441 (grub_console_term): Assign grub_console_getwh to getwh.
30442
30443 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
30444 function is defined in normal/completion.c as
30445 grub_normal_do_completion.
30446 (grub_cmdline_get): Use grub_normal_do_completion instead of
30447 grub_tab_complete.
30448
30449 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
30450 returns non-zero, otherwise return 0.
30451 (grub_partition_iterate): First, probe the partition map. Then,
30452 call ITERATE only for this partition map.
30453
30454 * kern/misc.c (grub_strncmp): Rewritten.
30455
30456 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
30457 returns non-zero. Otherwise return 0.
30458
30459 * include/grub/partition.h (grub_partition_map_iterate): Return
30460 int instead of void.
30461
30462 * include/grub/normal.h (grub_normal_do_completion): New prototype.
30463
30464 * include/grub/misc.h (grub_strncmp): Change the type of N to
30465 grub_size_t.
30466
30467 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
30468 of void.
30469
30470 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 30471 unsigned explicitly before comparing it with I.
8de3495c 30472
30473 * kern/main.c (grub_env_write_root): Add the attribute unused into
30474 VAR.
30475
30476 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
30477 normal/completion.c.
30478 (normal_mod_SOURCES): Likewise.
30479 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30480 (normal_mod_SOURCES): Likewise.
30481
30482 * normal/command.c (grub_iterate_commands): If ITERATE returns
30483 non-zero, return one immediately.
30484
e85e144b 304852005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
30486
30487 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
30488 * kern/i386/pc/startup.S: Updated Global Descriptor table's
30489 descriptions.
30490 (grub_vbe_get_controller_info): New function.
30491 (grub_vbe_get_mode_info): Likewise.
30492 (grub_vbe_set_mode): Likewise.
30493 (grub_vbe_get_mode): Likewise.
30494 (grub_vbe_set_memory_window): Likewise.
30495 (grub_vbe_get_memory_window): Likewise.
30496 (grub_vbe_set_scanline_length): Likewise.
30497 (grub_vbe_get_scanline_length): Likewise.
30498 (grub_vbe_set_display_start): Likewise.
30499 (grub_vbe_get_display_start): Likewise.
30500 (grub_vbe_set_palette_data): Likewise.
30501 * include/grub/i386/pc/vbe.h: New file.
30502
c46153d2 305032005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30504
30505 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30506 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
30507 * DISTLIST: Likewise.
30508 * kern/ieee1275/of.c: Moved to ...
30509 * kern/ieee1275/ieee1275.c: ... here.
30510
0cb90c45 305112005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30512
30513 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
30514 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
30515 Pass 0 as `end' parameter to grub_strtoul().
30516
a19fb360 305172005-08-08 Hollis Blanchard <hollis@penguinppc.org>
30518
30519 * include/grub/powerpc/ieee1275/console.h: Do not include
30520 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
30521 ifdef.
30522 (grub_console_cur_color): Remove i386-specific prototype.
30523 (grub_console_real_putchar): Likewise.
30524 (grub_console_checkkey): Likewise.
30525 (grub_console_getkey): Likewise.
30526 (grub_console_getxy): Likewise.
30527 (grub_console_gotoxy): Likewise.
30528 (grub_console_cls): Likewise.
30529 (grub_console_setcursor): Likewise.
30530 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
30531 Include <grub/machine/console.h>.
30532 * term/ieee1275/ofconsole.c: Likewise.
30533
4ac9bd04 305342005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
30535
30536 * Makefile.in (LIBLZO): New variable.
30537
30538 * configure.ac: Check for LZO version 2.
30539
30540 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
30541 lzo/lzo1x.h instead of lzo1x.h.
30542
30543 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
30544 of -llzo.
30545
30546 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
30547 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
30548
30549 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
30550 copying the data from PARTITION to P.
30551
f4917dfd 305522005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30553
30554 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
30555 negative, unload the module.
30556
30557 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
30558 map is "pc_partition_map" but not "pc".
30559 (usage): Fix the description. The options are --boot-image and
30560 --core-image but not --boot-file or --core-file.
30561 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
30562 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
30563 DEFAULT_DIRECTORY.
30564
30565 * util/i386/pc/grub-install.in: Do not specify --boot-file or
30566 --core-file. Specify INSTALL_DEVICE as an argument.
30567
30568 * util/console.c: Include config.h.
30569 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
30570 [HAVE_NCURSES_H]: Include ncurses.h.
30571 [HAVE_CURSES_H]: Include curses.h.
30572 [!A_NORMAL] (A_NORMAL): Defined as zero.
30573 [!A_STANDOUT] (A_STANDOUT): Likewise.
30574
30575 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
30576 -lncurses.
30577 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
30578
30579 * configure.ac: Check for curses libraries and headers.
30580
30581 * Makefile.in (LIBCURSES): New variable.
30582
30583 * genmk.rb (Script::rule): Set the executable bits.
30584
30585 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
30586 name of the PC partition map is "pc_partition_map" but not "pc".
30587
0e143073 305882005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30589
30590 * util/i386/pc/grub-install.in (grub_probefs): New variable.
30591 (modules): Likewise.
30592 (usage): Added descriptions for --modules and --grub-probefs.
30593 Handle --modules and --grub-probefs. Save the arguments in MODULES
30594 and GRUB_PROBEFS, respectively.
30595 Auto-detect a filesystem module against GRUBDIR. If the result is
30596 empty and modules are not specified explicitly, abort the
30597 installation. Add the result to MODULES.
30598
30599 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
30600 disk/powerpc/ieee1275/ofdisk.c,
30601 include/grub/powerpc/ieee1275/init.h and
30602 term/powerpc/ieee1275/ofconsole.c.
30603 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
30604 term/ieee1275/ofconsole.c.
30605
30606 * include/grub/powerpc/ieee1275/console.h: Resurrected.
30607
30608 * COPYING: Upgraded to the latest version. Only the address of the
30609 FSF office has changed.
f19dbdb7 30610
efd6e6d5 306112005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
30612
30613 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
30614 kern/ieee1275.c with kern/ieee1275/of.c.
30615
30616 * kern/ieee1275.c: Moved to ...
30617 * kern/ieee1275/of.c: ... here.
30618
8ceafda2 306192005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
30620
30621 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 30622 readability.
8ceafda2 30623
30624 * config.guess: Updated to the latest version from gnulib.
30625 * config.sub: Likewise.
30626 * install.sh: Likewise.
30627 * mkinstalldirs: Likewise.
30628
30629 * include/grub/console.h: Removed. This file is arch-specific. Do
30630 not put this in include/grub.
30631
30632 * include/grub/i386/pc/console.h: Resurrected.
30633
30634 * util/console.c: Include grub/machine/console.h instead of
30635 grub/console.h.
30636 * util/grub-emu.c: Likewise.
30637
267f6cd9 306382005-08-04 Marco Gerards <metgerards@student.han.nl>
30639
30640 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
30641 hardcoded value.
f19dbdb7 30642
267f6cd9 30643 From Vincent Pelletier <subdino2004@yahoo.fr>
30644 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
30645 Redefined to use grub_getwh.
30646 (grub_term): New member named getwh.
30647 (grub_getwh): New prototype.
30648 * kern/term.c (grub_getwh): New function.
30649 * term/i386/pc/console.c (grub_console_getwh): New function.
30650 (grub_console_term): New member `getwh'.
30651 * term/i386/pc/vga.c (grub_vga_getwh): New function.
30652 (grub_vga_term): New member `getwh'.
0b5abe02 30653 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 30654 grub_ssize_t.
30655 (grub_ofconsole_getw): New function.
30656 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
30657 (grub_ofconsole_term): New field named getwh and new initial
30658 value.
30659
3be7266d 306602005-08-03 Hollis Blanchard <hollis@penguinppc.org>
30661
30662 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
30663 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
30664 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
30665 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
30666 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
30667 of <grub/machine/ieee1275.h>.
30668 * commands/ieee1275/reboot.c: Likewise.
30669 * boot/powerpc/ieee1275/ieee1275.c: Move ...
30670 * kern/ieee1275.c: ... to here. All users updated. Change all
30671 parameter structs to use new type `grub_ieee1275_cell_t'.
30672 * term/powerpc/ieee1275/ofconsole.c: Move ...
30673 * term/ieee1275/ofconsole.c: ... to here. All users updated.
30674 * disk/powerpc/ieee1275/ofdisk.c: Move ...
30675 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
30676 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
30677 to return int.
30678 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
30679 Remove unused prototypes. All users updated.
30680 * include/grub/powerpc/ieee1275/console.h: Removed.
30681 * include/grub/powerpc/ieee1275/ieee1275.h: Define
30682 `grub_ieee1275_cell_t'.
30683 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
30684 Cast comparisons with -1 to the correct type.
30685 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
30686 type to match `grub_ieee1275_entry_fn'.
30687
8b5f3938 306882005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
30689
30690 * DISTLIST: Added util/i386/pc/grub-probefs.c.
30691
30692 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
30693 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
30694 partmap/sun.c.
30695 (grub_probefs_SOURCES): New variable.
30696
30697 * util/i386/pc/grub-probefs.c: New file.
30698
30699 * util/i386/pc/grub-setup.c (main): Call
30700 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
30701 grub_hfs_init and grub_jfs_init to initialize the system. Call
30702 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
30703 grub_pc_partition_map_fini to finish the system.
30704
ea409713 307052005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
30706
30707 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
30708 function.
30709 (grub_multiboot_load_elf32): Likewise.
30710 (grub_multiboot_is_elf64): Likewise.
30711 (grub_multiboot_load_elf64): Likewise.
30712 (grub_multiboot_load_elf): Likewise.
30713 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
30714 an ELF32 or ELF64 file.
30715 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
30716
30717 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
30718 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
30719 NULL before calling FS->LABEL.
30720 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
30721 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
30722 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
30723 before calling FS->LABEL.
30724
141a288b 307252005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
30726
30727 * util/i386/pc/grub-install.in (datadir): New variable.
30728 (libdir): Removed.
30729 (pkgdatadir): New variable.
30730 (pkglibdir): Removed.
30731
0d5f8a54 307322005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
30733
30734 * DISTLIST: Added util/i386/pc/grub-install.in.
30735
30736 * util/i386/pc/grub-install.in: New file.
30737
30738 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
30739 (grub_install_SOURCES): Likewise.
30740
30741 * genmk.rb: Added support for scripts.
30742 (Script): New class.
30743 (scripts): New variable.
30744
30745 * Makefile.in (install-local): Install sbin_SCRIPTS by
30746 INSTALL_SCRIPT.
30747 (uninstall): Remove sbin_SCRIPTS.
30748
30749 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
30750 device, try to get a GRUB device by
30751 grub_util_biosdisk_get_grub_dev.
30752 Free DEST_DEV.
30753
30754 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
30755 description for --device-map.
30756
5f968e1e 307572005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30758
30759 Change the semantics of variable hooks. They now return strings
30760 instead of error values.
f19dbdb7 30761
5f968e1e 30762 * util/i386/pc/grub-setup.c: Include grub/env.h.
30763 (setup): Use grub_device_set_root instead of grub_env_set.
30764
30765 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
30766 grub_env_get instead of grub_device_set_root and
30767 grub_device_get_root, respectively.
30768
30769 * kern/main.c (grub_env_write_root): New function.
30770 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
30771 grub_env_set instead of grub_device_set_root.
30772
30773 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
30774 many variables.
30775 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
30776 rather than calling ENV->WRITE_HOOK afterwards.
30777 (grub_env_get): Return the result of ENV->READ_HOOK rather than
30778 passing a pointer of a pointer.
30779 (grub_register_variable_hook): Change the types of "read_hook" and
30780 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
30781 respectively.
30782 Allocate the default empty string on the heap, because this string
30783 may be freed later.
30784
30785 * kern/device.c: Include grub/env.h.
30786 (grub_device_set_root): Removed.
30787 (grub_device_get_root): Likewise.
30788 (grub_device_open): Use grub_env_get instead of
30789 grub_device_get_root.
30790
30791 * include/grub/env.h (grub_env_read_hook_t): New type.
30792 (grub_env_write_hook_t): Likewise.
30793 (grub_env_var): Change the types of "read_hook" and "write_hook"
30794 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
30795 (grub_register_variable_hook): Likewise.
30796
30797 * include/grub/device.h (grub_device_set_root): Removed.
30798 (grub_device_set_root): Likewise.
30799
30800 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
30801 make sure that DIRNAME terminates with '/', so that
30802 grub_fat_find_dir will fail if PATH is not a directory.
30803
30804 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
30805 from DIRNAME.
30806 Use the qualifier auto for print_files and print_files_long.
30807 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
30808 as a regular file.
30809 Put a newline only if there is no error.
30810 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
30811 used.
30812
896f0afd 308132005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
30814
30815 * kern/partition.c (grub_partition_probe): Initialize PART to
30816 NULL. Otherwise, when no partition map is registered, this returns
30817 a garbage.
30818
b28b81b2 308192005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
30820
30821 * partmap/apple.c (apple_partition_map_iterate): Check if POS
30822 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
30823 valid.
30824
5f3607e0 308252005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
30826
30827 * commands/ls.c (grub_ls_list_disks): Print the filesystem
30828 information on each device, if it does not have partitions. Print
30829 "Device" instead of "Disk", because this function is not specific
30830 to disk devices.
30831
30832 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
30833 static to ensure that it is put on the memory rather than a
30834 register.
30835
502c87e8 308362005-07-17 Yoshinori Okuji <okuji@enbug.org>
30837
30838 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
30839 (grub_cat_init): Likewise.
30840 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
30841 (options): Likewise.
30842 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30843 (grub_configfile_init): Likewise.
30844 * font/manager.c (GRUB_MOD_INIT): Likewise.
30845 * commands/help.c (GRUB_MOD_INIT): Likewise.
30846 (grub_help_init): Likewise.
30847 * normal/command.c (grub_command_init): Likewise.
30848 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
30849 * disk/loopback.c (grub_loop_init): Likewise.
30850 (GRUB_MOD_INIT): Likewise.
30851 * commands/ls.c (grub_ls_init): Likewise.
30852 (GRUB_MOD_INIT): Likewise.
30853 (options): Likewise.
30854 * commands/boot.c (grub_boot_init): Likewise.
30855 (GRUB_MOD_INIT): Likewise.
30856 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
30857 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
30858 (GRUB_MOD_INIT): Likewise.
30859 * commands/cmp.c (grub_cmp_init): Likewise.
30860 (GRUB_MOD_INIT): Likewise.
30861
30862 * normal/arg.c: Use <> instead of "" to include header files.
30863 (SHORT_ARG_HELP): New macro.
30864 (SHORT_ARG_USAGE): Likewise.
30865 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
30866 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
30867 descriptions.
30868 (find_short): Check if C is 'h' or 'u' explicitly.
30869 (grub_arg_show_help): Use space characters instead of tabs. Treat
30870 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
30871 are shown with --help and --usage only if they are not used for
30872 the command itself.
30873 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
30874 'h' and 'u'.
30875
30876 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
30877 const into "longarg". Change the type of "shortarg" to int.
30878
f806d18e 308792005-07-17 Yoshinori Okuji <okuji@enbug.org>
30880
30881 * boot/i386/pc/boot.S (boot_drive_check): New label.
30882
30883 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
30884 macro.
30885
30886 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
30887 which do not pass a boot drive correctly. Copied from GRUB Legacy.
30888
e293232b 308892005-07-17 Yoshinori Okuji <okuji@enbug.org>
30890
30891 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
30892 When turning off Gate A20, skip the check and return immediately,
30893 because this is not fatal usually.
30894
ebedfd00 308952005-07-17 Yoshinori Okuji <okuji@enbug.org>
30896
30897 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
30898 be 0x7C00 instead of 0x8000.
30899
30900 * boot/i386/pc/pxeboot.S: Rewritten.
30901
30902 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
30903 EXT_C.
30904 (gate_a20_check_state): Read a byte from 0x108000. Invert the
30905 result.
30906
654fc59f 309072005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
30908
30909 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
30910 robustness. This routine now supports a BIOS call and System
30911 Control Port A to modify the gate A20.
30912
30913 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30914 Increased to 0x440.
30915
09f9923f 309162005-07-12 Hollis Blanchard <hollis@penguinppc.org>
30917
30918 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
30919 device path and resulting ihandle.
30920 (grub_ofdisk_close): dprintf the ihandle being closed.
30921 (grub_ofdisk_read): dprintf function parameters.
30922 * kern/mm.c (grub_mm_init_region): Likewise.
30923 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
30924 (grub_linux_boot): dprintf the Linux entry point, initrd address and
30925 size, and boot arguments.
30926 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
30927 before loading into memory.
30928 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
30929 before loading into memory.
30930
7ef504d8 309312005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
30932
30933 * kern/mm.c: Added much documentation.
30934 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
30935 8, set to 5 instead of 8.
30936
e0f050c2 309372005-07-10 Yoshinori Okuji <okuji@enbug.org>
30938
30939 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
30940
30941 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
30942 (grub_mkdevicemap_SOURCES): New variable.
30943
30944 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
30945 lib/device.c of GRUB Legacy.
30946
7224189a 309472005-07-10 Yoshinori Okuji <okuji@enbug.org>
30948
30949 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
30950 instead of PATH is NULL.
30951
68c864eb 309522005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
30953
30954 * commands/cmp.c (BUFFER_SIZE): New macro.
30955 (grub_cmd_cmp): Close the right file at the right time. Compare
30956 only data just read. Don't report files of different size as
30957 identical. Dynamically allocate buffers. Move variable
30958 declarations at the beginning of function.
30959
e6f3e614 309602005-07-09 Yoshinori Okuji <okuji@enbug.org>
30961
30962 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
30963 reverse.
30964
f8f1559a 309652004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
30966
30967 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
30968 when backspace is pressed at beginning of line.
30969
39c9d41d 309702005-07-03 Yoshinori Okuji <okuji@enbug.org>
30971
30972 * DISTLIST: Added genfslist.sh.
30973
30974 * normal/main.c (fs_module_list): New variable.
30975 (autoload_fs_module): New function.
30976 (read_fs_list): Likewise.
30977 (grub_normal_execute): Call read_fs_list.
30978
30979 * kern/fs.c (grub_fs_autoload_hook): New variable.
30980 (grub_fs_probe): Added support for auto-loading.
30981
30982 * include/grub/normal.h (struct grub_fs_module_list): New struct.
30983 (grub_fs_module_list_t): New type.
30984
30985 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
30986 (grub_fs_autoload_hook): New prototype.
30987
30988 * genfslist.sh: New file.
f19dbdb7 30989
39c9d41d 30990 * genmk.rb: Added a rule to generate a filesystem list.
30991
121c1d83 309922005-06-30 Marco Gerards <metgerards@student.han.nl>
30993
30994 * configure.ac: Fix the test for cross-compiling.
30995
30996 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
30997 define GRUB_UTIL anymore.
30998
30999 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
31000 so this function works on other systems than just big endian.
31001 (load_modules): Likewise.
31002 (add_segments): Likewise.
31003
e75d76e1 310042005-06-23 Hollis Blanchard <hollis@penguinppc.org>
31005
31006 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
31007 contains `l' modifier, get a long from va_arg().
31008
50b5a0a7 310092005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
31010
31011 * kern/mm.c (grub_free): If the next free block which is being
31012 merged is the first free block, set the first block to the block
31013 being freed.
31014 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
31015
89371b20 310162005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31017
31018 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
31019 `grub_ieee1275_chosen'.
31020
168d6e58 310212005-05-08 Hollis Blanchard <hollis@penguinppc.org>
31022
31023 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
31024 (grub_ieee1275_chosen): New variable.
31025 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
31026 `chosen'.
31027 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
31028 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
31029 Rename first argument to `phandle' for consistency.
31030 (grub_ieee1275_get_property_length): Likewise.
31031 (grub_ieee1275_next_property): Likewise. Change type of first argument
31032 to grub_ieee1275_phandle_t.
31033 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
31034 Move export next to declaration.
31035 (grub_ieee1275_chosen): New variable.
31036 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
31037 Correct cosmetic typo.
31038 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
31039 `grub_ieee1275_chosen'.
31040 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
31041 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
31042 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
31043 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
31044 `grub_ieee1275_chosen'.
31045
ca5baa3f 310462005-05-10 Hollis Blanchard <hollis@penguinppc.org>
31047
31048 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
31049 /chosen/bootargs.
31050 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
31051 /chosen/bootargs as "variable=value" pairs.
31052
708b345f 310532005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
31054
31055 * include/grub/misc.h (grub_dprintf): New macro.
31056 (grub_real_dprintf): New prototype.
31057 (grub_strword): Likewise.
31058 (grub_iswordseparator): Likewise.
31059 * kern/misc.c (grub_real_dprintf): New function.
31060 (grub_strword): Likewise.
31061 (grub_iswordseparator): Likewise.
31062
f4c5e67c 310632005-04-30 Hollis Blanchard <hollis@penguinppc.org>
31064
31065 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
31066 (roundup): Remove macro.
31067 (grub_ieee1275_flags): Make static.
31068 (grub_ieee1275_realmode): Remove.
31069 (grub_ieee1275_test_flag): New function.
31070 (grub_ieee1275_set_flag): Likewise.
31071 (find_options): Rename to `grub_ieee1275_find_options'; update
31072 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
31073 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
31074 (cmain): New prototype.
31075 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
31076 `grub_ieee1275_flags' directly.
31077 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
31078 machine/biosdisk.h.
31079 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
31080 Don't include grub/machine/init.h.
31081 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
31082 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
31083 Remove prototype.
31084 (grub_ieee1275_realmode): Likewise.
31085 (grub_ieee1275_flag): New enum.
31086 (grub_ieee1275_test_flag): New prototype.
31087 (grub_ieee1275_set_flag): New prototype.
31088 * include/grub/powerpc/ieee1275/init.h: Remove file.
31089 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
31090 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
31091 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
31092 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
31093 comment.
31094 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
31095 `grub_ieee1275_test_flag'.
31096 (grub_ieee1275_encode_devname): Likewise.
31097
ed16607e 310982005-04-21 Hollis Blanchard <hollis@penguinppc.org>
31099
31100 * include/grub/powerpc/ieee1275/ieee1275.h
31101 (grub_ieee1275_encode_devname): New prototype.
31102 (grub_ieee1275_get_filename): Likewise.
31103 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
31104 function.
31105 (grub_set_prefix): Likewise.
31106 (grub_machine_init): Call grub_set_prefix.
31107 * kern/powerpc/ieee1275/openfw.c: Fix typos.
31108 (grub_parse_type): New enum.
31109 (grub_ieee1275_get_devargs): New function.
31110 (grub_ieee1275_get_devname): Likewise.
31111 (grub_ieee1275_parse_args): Likewise.
31112 (grub_ieee1275_get_filename): Likewise.
31113 (grub_ieee1275_encode_devname): Likewise.
31114
be369920 311152005-03-30 Marco Gerards <metgerards@student.han.nl>
31116
31117 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
31118 `grub_loader_unset'.
31119
a5ce3a4a 311202005-03-26 Hollis Blanchard <hollis@penguinppc.org>
31121
31122 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
31123 instead of grub_ieee1275_interpret.
31124 (grub_halt_init): New function.
31125 (grub_halt_fini): Likewise.
31126 (GRUB_MOD_INIT): Correct message grammar.
31127 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
31128 instead of grub_ieee1275_interpret.
31129 (grub_reboot_init): New function.
31130 (grub_reboot_fini): Likewise.
31131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
31132 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
31133 util/i386/pc/misc.c with commands/ieee1275/halt.c,
31134 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
31135 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
31136 function.
31137 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
31138 Add prototype.
31139 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
31140 prototype.
31141 (grub_halt): Likewise.
31142 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
31143 (cmain): Remove __attribute__((unused)).
31144 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
31145 (grub_heap_len): Likewise.
31146 (grub_machine_fini): New function.
31147 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
31148 (grub_halt): Likewise.
31149 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
31150 function.
31151 * util/powerpc/ieee1275/misc.c: New file.
31152
0058f771 311532005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31154
31155 * DISTLIST: New file.
31156 * gendistlist.sh: Likewise.
f19dbdb7 31157
0058f771 31158 * Makefile.in (COMMON_DISTFILES): Removed.
31159 (BOOT_DISTFILES): Likewise.
31160 (CONF_DISTFILES): Likewise.
31161 (DISK_DISTFILES): Likewise.
31162 (FS_DISTFILES): Likewise.
31163 (INCLUDE_DISTFILES): Likewise.
31164 (KERN_DISTFILES): Likewise.
31165 (LOADER_DISTFILES): Likewise.
31166 (TERM_DISTFILES): Likewise.
31167 (UTIL_DISTFILES): Likewise.
31168 (DISTFILES): Likewise.
31169 (uninstall): Uninstall files in $(pkgdata_DATA).
31170 (DISTLIST): New target.
31171 (distdir): Use the contents of the file DISTLIST to get a list of
31172 distributed files.
31173
46b3b8a5 311742005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31175
31176 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
31177 descriptor. This is ported from GRUB Legacy.
31178
31179 * gencmdlist.sh: Added an extra semicolon to make it work with
31180 old sed versions. Reported by Robert Bihlmeyer
31181 <robbe@orcus.priv.at>.
31182
5822ff87 311832005-03-08 Yoshinori Okuji <okuji@enbug.org>
31184
31185 Automatic loading of commands is supported.
f19dbdb7 31186
5822ff87 31187 * normal/main.c (read_command_list): New function.
31188 (grub_normal_execute): Call read_command_list.
31189
31190 * normal/command.c (grub_register_command): Return zero or CMD.
31191 Allocate CMD->NAME from the heap.
31192 Initialize CMD->MODULE_NAME to zero.
31193 Find the same name as well. If the same command is found and it is
31194 a dummy command, overwrite members. If it is not a dummy command,
31195 return zero.
31196 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
31197 (grub_command_find): If a dummy command is found, load a module
31198 and retry to find a command only once.
31199
31200 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
31201 make sure that each command is loaded.
31202
31203 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
31204 macro.
31205 (struct grub_command): Remove const from the member `name'.
31206 Add a new member `module_name'.
31207 (grub_register_command): Return grub_command_t.
31208
31209 * commands/help.c (grub_cmd_help): Call grub_command_find to make
31210 sure that each command is loaded.
31211
31212 * genmk.rb (PModule::rule): Specify a module name without the
31213 suffix ".mod" to gencmdlist.sh.
31214
7b1f4b57 312152005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31216
31217 * gencmdlist.sh: New file.
f19dbdb7 31218
7b1f4b57 31219 * genmk.rb (PModule::rule): Generate a rule for a command list.
31220 Clean command.lst.
31221 Generate command.lst from $(COMMANDFILES).
31222
31223 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
31224 (DATA): Added $(pkgdata_DATA).
31225 (install-local): Install files in $(pkgdata_DATA).
31226
062aaf39 312272005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
31228
31229 * term/i386/pc/vga.c (debug_command): Removed.
31230 (GRUB_MOD_INIT): Do not register the command "debug".
31231
31232 From Hollis Blanchard:
31233 * commands/configfile.c: New file.
31234 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31235 commands/configfile.c.
31236 (pkgdata_MODULES): Added configfile.mod.
31237 (configfile_mod_SOURCES): New variable.
31238 (configfile_mod_CFLAGS): Likewise.
31239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31240 commands/configfile.c.
31241 (pkgdata_MODULES): Added configfile.mod.
31242 (configfile_mod_SOURCES): New variable.
31243 (configfile_mod_CFLAGS): Likewise.
31244 * util/grub-emu.c (main): Call grub_configfile_init and
31245 grub_configfile_fini.
31246 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
31247 prototype.
31248 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 31249
cee01aa6 312502005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31251
31252 * normal/arg.c (grub_arg_show_help): Do not show the bug report
31253 address.
31254
31255 * commands/help.c (grub_cmd_help): Do not print newlines after
31256 the last command in print_command_help.
31257
93f3a1d8 312582005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
31259
31260 * commands/default.h: New file.
31261 * commands/timeout.h: Likewise.
31262 * normal/context.c: Likewise.
f19dbdb7 31263
93f3a1d8 31264 * util/misc.c: Do not include sys/times.h.
31265 Include sys/time.h and grub/machine/time.h.
31266 (grub_get_rtc): Rewritten with gettimeofday.
31267
31268 * util/grub-emu.c (main): Call grub_default_init and
31269 grub_timeout_init before grub_normal_init, and call
31270 grub_timeout_fini and grub_default_fini after grub_main.
31271
31272 * util/console.c (grub_ncurses_checkkey): Return the read
31273 character or -1.
31274
31275 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
31276 timeouts.
31277
31278 * normal/main.c (read_config_file): Push MENU. If this fails,
31279 print an error and wait for a user input.
31280 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
31281 If a menu is empty or an error occurs, pop MENU.
31282 (grub_normal_execute): Pop and free MENU after grub_menu_run
31283 returns.
31284
31285 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
31286
31287 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
31288 include time.h.
31289 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31290 without GRUB_UTIL.
31291 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
31292 time.h.
31293 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
31294 without GRUB_UTIL.
31295
31296 * include/grub/normal.h (struct grub_menu_list): New struct.
31297 (grub_menu_list_t): New type.
31298 (struct grub_context): New struct.
31299 (grub_context_t): New type.
31300 (grub_register_command): Got rid of EXPORT_FUNC.
31301 (grub_unregister_command): Likewise.
31302 (grub_context_get): New prototype.
31303 (grub_context_get_current_menu): Likewise.
31304 (grub_context_push_menu): Likewise.
31305 (grub_context_pop_menu): Likewise.
31306 [GRUB_UTIL] (grub_default_init): Likewise.
31307 [GRUB_UTIL] (grub_default_fini): Likewise.
31308 [GRUB_UTIL] (grub_timeout_init): Likewise.
31309 [GRUB_UTIL] (grub_timeout_fini): Likewise.
31310
31311 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
31312 commands/timeout.c and normal/context.c.
31313 (pkgdata_MODULES): Added default.mod and timeout.mod.
31314 (normal_mod_SOURCES): Added normal/context.c.
31315 (default_mod_SOURCES): New variable.
31316 (default_mod_CFLAGS): Likewise.
31317 (timeout_mod_SOURCES): Likewise.
31318 (timeout_mod_CFLAGS): Likewise.
31319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
31320 conf/i386-pc.rmk.
31321 (pkgdata_MODULES): Added default.mod and timeout.mod.
31322 (normal_mod_SOURCES): Added normal/context.c.
31323 (default_mod_SOURCES): New variable.
31324 (default_mod_CFLAGS): Likewise.
31325 (timeout_mod_SOURCES): Likewise.
31326 (timeout_mod_CFLAGS): Likewise.
31327
31328 * Makefile.in (all-local): Added $(MKFILES).
31329
4ed2e1dd 313302005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
31331
31332 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
31333 (grub_emu_SOURCES): Likewise.
31334 (pkgdata_MODULES): Add `sun.mod'.
31335 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31337 `partmap/sun.c'.
31338 (pkgdata_MODULES): Add `sun.mod'.
31339 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
31340 * include/grub/partition.h (grub_sun_partition_map_init): New
31341 prototype.
31342 (grub_sun_partition_map_fini): Likewise.
31343 * partmap/sun.c: New file.
31344 * util/grub-emu.c (main): Initialize and de-initialize the sun
31345 partitionmap support.
31346
4d4e372e 313472005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
31348
31349 This implements an Emacs-like menu entry editor.
f19dbdb7 31350
4d4e372e 31351 * normal/menu_entry.c: New file.
f19dbdb7 31352
4d4e372e 31353 * util/console.c (grub_ncurses_putchar): Translate some Unicode
31354 characters to ASCII.
31355 (saved_char): New variable.
31356 (grub_ncurses_checkkey): Rewritten completely.
31357 (grub_ncurses_getkey): Likewise.
31358 (grub_ncurses_init): Call raw instead of cbreak.
31359
31360 * normal/menu.c (print_entry): Do not put a space.
31361 (init_page): Renamed to ...
31362 (grub_menu_init_page): ... this. All callers changed.
31363 (edit_menu_entry): Removed.
31364 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
31365
31366 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
31367
31368 * kern/misc.c (grub_vprintf): Call grub_refresh.
31369
31370 * normal/menu.c (DISP_LEFT): Renamed to ...
31371 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
31372 * normal/menu.c (DISP_UP): Renamed to ...
31373 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
31374 * normal/menu.c (DISP_RIGHT): Renamed to ...
31375 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
31376 * normal/menu.c (DISP_DOWN): Renamed to ...
31377 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
31378 * normal/menu.c (DISP_HLINE): Renamed to ...
31379 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
31380 * normal/menu.c (DISP_VLINE): Renamed to ...
31381 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
31382 * normal/menu.c (DISP_UL): Renamed to ...
31383 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
31384 * normal/menu.c (DISP_UR): Renamed to ...
31385 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
31386 * normal/menu.c (DISP_LL): Renamed to ...
31387 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
31388 * normal/menu.c (DISP_LR): Renamed to ...
31389 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
31390 * normal/menu.c (TERM_WIDTH): Renamed to ...
31391 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
31392 * normal/menu.c (TERM_HEIGHT): Renamed to ...
31393 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
31394 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
31395 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
31396 * normal/menu.c (TERM_MARGIN): Renamed to ...
31397 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
31398 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
31399 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
31400 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
31401 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
31402 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
31403 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
31404 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
31405 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
31406 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
31407 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
31408 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
31409 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
31410 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
31411 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
31412 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
31413 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
31414 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
31415 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
31416 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
31417 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
31418 All callers changed.
31419
31420 * include/grub/normal.h: New prototype.
31421
31422 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31423 normal/menu_entry.c.
31424 (normal_mod_SOURCES): Likewise.
31425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31426 (normal_mod_SOURCES): Likewise.
31427
e6b92c8a 314282005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
31429
31430 * include/grub/normal.h (grub_halt_init): New prototype.
31431 (grub_halt_fini): Likewise.
31432 (grub_reboot_init): Likewise.
31433 (grub_reboot_fini): Likewise.
31434
31435 * util/grub-emu.c: Include signal.h.
31436 (main_env): New global variable.
31437 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
31438 catch C-c.
31439 (grub_machine_fini): New function.
31440 (main): Call grub_halt_init and grub_reboot_init before
31441 grub_main, and grub_reboot_fini and grub_halt_fini after it.
31442 Call setjmp with MAIN_ENV to go back afterwards.
31443 Call grub_machine_fini right before return.
31444
31445 * include/grub/util/misc.h: Include setjmp.h.
31446 (main_env): New prototype.
31447
31448 * include/grub/kernel.h (grub_machine_fini): New prototype.
31449 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
31450 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
31451
31452 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
31453 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
31454 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 31455
e6b92c8a 31456 * util/i386/pc/misc.c: New file.
f19dbdb7 31457
e6b92c8a 31458 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
31459 util/i386/pc/misc.c, commands/i386/pc/halt.c and
31460 commands/i386/pc/reboot.c.
31461
c642636f 314622005-02-14 Guillem Jover <guillem@hadrons.org>
31463
31464 * include/grub/dl.h (grub_dl_check_header): New prototype.
31465 (grub_arch_dl_check_header): Change return type to grub_err_t,
31466 remove size parameter and export function. Update all callers.
31467 * kern/dl.c (grub_dl_check_header): New function.
31468 (grub_dl_load_core): Use `grub_dl_check_header' instead of
31469 `grub_arch_dl_check_header'. Check ELF type. Check if sections
31470 are inside the core.
31471 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
31472 independent ELF header checks.
31473 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31474 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
31475 `grub_dl_check_header' instead of explicit checks. Check for the
31476 ELF type.
31477 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
31478 `grub_dl_check_header' instead of explicit checks. Remove arch
31479 specific ELF header checks.
31480
e6b92c8a 31481 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
31482 argument SIZE.
31483
5eabe94b 314842005-02-13 Hollis Blanchard <hollis@penguinppc.org>
31485
31486 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
31487 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
31488
1b14a681 314892005-02-12 Hollis Blanchard <hollis@penguinppc.org>
31490
31491 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 31492 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 31493 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 31494 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 31495 * partmap/amiga.c (amiga_partition_map_iterate): Return
31496 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
31497 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31498
aca108aa 314992005-02-01 Guillem Jover <guillem@hadrons.org>
31500
31501 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
31502 help info.
31503
c9f9c556 315042005-01-31 Marco Gerards <metgerards@student.han.nl>
31505
31506 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
31507 Removed prototype.
31508 (grub_rescue_cmd_linux): New prototype.
31509 (grub_rescue_cmd_initrd): Likewise.
31510 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
31511 `bi_rec'.
31512 (grub_linux_release_mem): Release the memory for the initrd.
31513 (grub_load_linux): Renamed from this...
31514 (grub_rescue_cmd_linux): ...To this. Changed all callers.
31515 Changed `entry' not to be static. Loop over memory regions to
31516 find another one when the default fails.
31517 (grub_rescue_cmd_initrd): New function.
31518 (grub_linux_init): Remove function.
31519 (grub_linux_fini): Likewise.
31520 (GRUB_MOD_INIT): Register `initrd'.
31521 (GRUB_MOD_FINI): Unregister `initrd'.
31522 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
31523 Function removed.
31524 (grub_linux_normal_fini): Likewise.
31525 (GRUB_MOD_INIT): Register `initrd'.
31526 (GRUB_MOD_FINI): Unregister `initrd'.
31527
990cf3aa 315282005-01-31 Marco Gerards <metgerards@student.han.nl>
31529
31530 * commands/help.c: New file.
31531 * normal/arg.c (show_help): Renamed to...
31532 (grub_arg_show_help): ... this.
31533 * commands/i386/pc/halt.c: New file.
31534 * commands/i386/pc/reboot.c: Likewise.
31535 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
31536 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
31537 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
31538 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
31539 variables.
31540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31541 `commands/help.c'.
31542 (pkgdata_MODULES): Add `help.mod'.
31543 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
31544 * grub/i386/pc/init.h (grub_reboot): New prototype.
31545 (grub_halt): Likewise.
31546 * include/grub/normal.h (grub_arg_show_help): New prototype.
31547 (grub_help_init): Likewise.
31548 (grub_help_fini): Likewise.
31549 * util/grub-emu.c (main): Initialize and deinitialize the help
31550 command.
31551
31552 * normal/cmdline.c (grub_cmdline_get): Doc fix.
31553
31554 * normal/command.c (grub_command_init): Fixed the description of
31555 the `set' and `unset' commands.
31556
315572005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 31558
31559 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
31560 function.
31561 * commands/ieee1275/halt.c: New file.
31562 * commands/ieee1275/reboot.c: Likewise.
31563 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
31564 `__attribute__ ((unused))'. Some GCS related fixed.
31565 (grub_suspend_init) [GRUB_UTIL]: Function removed.
31566 (grub_suspend_fini): Likewise.
31567 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
31568 and `halt.mod'.
31569 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
31570 (halt_mod_CFLAGS): New variables.
31571 * include/grub/powerpc/ieee1275/ieee1275.h
31572 (grub_ieee1275_interpret): New prototype.
31573
1ab09cc7 315742005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
31575
31576 * include/grub/misc.h (memmove): New prototype.
31577 (memcpy): Likewise.
31578
8b8cbdb2 315792005-01-22 Hollis Blanchard <hollis@penguinppc.org>
31580
31581 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
31582 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
31583
e3741a27 315842005-01-22 Marco Gerards <metgerards@student.han.nl>
31585
31586 * kern/misc.c (grub_strndup): Function rewritten.
31587
776bd780 315882005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
31589
31590 * normal/menu.c (TERM_WIDTH): Macro redefined.
31591 (TERM_TOP_BORDER_Y): Likewise.
31592 (draw_border): Replaced while-loop by a for-loop. Make the number
31593 of lines consistent with the number of lines displayed in
31594 print_entries. Added a margin below the rectangle.
31595 (print_entry): Make the entry fit in the rectangle.
31596 (print_entries): Display the scroll arrows next to the right
31597 border.
31598
78026bce 315992005-01-21 Marco Gerards <metgerards@student.han.nl>
31600
31601 * fs/minix.c (grub_minix_find_file): Reserve more space for
31602 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
31603 `grub_strncpy' to copy `path' into it.
31604
67bbaf0f 316052005-01-21 Marco Gerards <metgerards@student.han.nl>
31606
31607 Add the loopback device, a device via which files can be accessed
31608 as devices.
f19dbdb7 31609
67bbaf0f 31610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
31611 (pkgdata_MODULES): Add loopback.mod.
31612 (loopback_mod_SOURCES): New variable.
31613 (loopback_mod_CFLAGS): Likewise.
31614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31615 `disk/loopback.c'.
31616 (pkgdata_MODULES): Add loopback.mod.
31617 (loopback_mod_SOURCES): New variable.
31618 (loopback_mod_CFLAGS): Likewise.
31619 * disk/loopback.c: new file.
31620 * include/grub/normal.h (grub_loop_init): New prototype.
31621 (grub_loop_fini): New prototype.
31622 * util/grub-emu.c (main): Initialize and de-initialize loopback
31623 support.
31624 * include/grub/disk.h (grub_disk_dev_id): Add
31625 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
31626
6f1c18bd 316272005-01-20 Hollis Blanchard <hollis@penguinppc.org>
31628
31629 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
31630 function.
31631 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
31632 (suspend_mod_SOURCES): New variable.
31633 (suspend_mod_CFLAGS): Likewise.
31634 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
31635 New prototype.
31636 * commands/ieee1275/suspend.c: New file.
31637
b38551da 316382005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31639
31640 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 31641 ((unused))' to `__attribute__ ((used))'.
b38551da 31642 (GRUB_MOD_FINI): Likewise.
31643 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
31644 * genmk.rb (PModule): Assign space to common symbols when linking
31645 modules.
31646
777aff39 316472005-01-20 Marco Gerards <metgerards@student.han.nl>
31648
31649 * include/grub/mm.h (grub_mm_init_region): Change the type of the
31650 `unsigned' arguments to `grub_size_t'.
31651 (grub_malloc): Likewise.
31652 (grub_realloc): Likewise.
31653 (grub_memalign): Likewise.
31654 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
31655 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
31656 * util/misc.c (grub_malloc): Likewise.
31657 (grub_realloc): Likewise.
31658 * kern/mm.c (get_header_from_pointer): Change the casts to
31659 `unsigned' into a cast to `grub_size_t'.
31660
31661 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
31662 point to `currnode' when `currnode' is changed.
31663
31664 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
31665 Schottelius <nico-linux@schottelius.org>.
31666
d0ff18e1 316672005-01-09 Hollis Blanchard <hollis@penguinppc.org>
31668
31669 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
31670 (note_path): Remove variable.
31671 (GRUB_IEEE1275_NOTE_NAME): New macro.
31672 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
31673 (grub_ieee1275_note_hdr): New structure.
31674 (grub_ieee1275_note_desc): Likewise.
31675 (grub_ieee1275_note): Likewise.
31676 (load_note): Remove `dir' argument. All callers updated. Remove
31677 `note_img' and `path'. Do not load a file from `note_path'.
31678 Initialize a struct grub_ieee1275_note and write that to `out'.
31679 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
31680
4ca7004c 316812005-01-05 Marco Gerards <metgerards@student.han.nl>
31682
31683 * util/misc.c (grub_util_read_image): Revert last change. It
31684 called `grub_util_read_at', which seeks from the beginning of the
31685 file.
31686
0b412211 316872005-01-04 Hollis Blanchard <hollis@penguinppc.org>
31688
31689 * TODO: Add note about endianness in grub-mkimage.
31690 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
31691 section.
31692 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
31693 (grub_mkimage_SOURCES): New target.
31694 * include/grub/kernel.h (grub_start_addr): Remove variable.
31695 (grub_end_addr): Likewise.
31696 (grub_total_module_size): Likewise.
31697 (grub_kernel_image_size): Likewise.
31698 (GRUB_MODULE_MAGIC): New constant.
31699 (grub_module_info): New structure.
31700 (grub_arch_modules_addr): New prototype.
31701 (grub_get_end_addr): Remove prototype.
31702 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
31703 * include/grub/powerpc/ieee1275/kernel.h: New file.
31704 * include/grub/util/misc.h (grub_util_get_fp_size): New
31705 prototype.
31706 (grub_util_read_at): Likewise.
31707 (grub_util_write_image_at): Likewise.
31708 * kern/main.c (grub_get_end_addr): Remove function.
31709 (grub_load_modules): Call grub_arch_modules_addr instead of using
31710 grub_end_addr. Look for a grub_module_info struct in memory. Use
31711 the grub_module_info fields instead of calling grub_get_end_addr
31712 as loop conditions. Move grub_add_unused_region code here.
31713 (grub_add_unused_region): Remove function.
31714 * kern/i386/pc/init.c: Include grub/cache.h.
31715 (grub_machine_init): Remove call to grub_get_end_addr. Remove
31716 one call to add_mem_region.
31717 (grub_arch_modules_addr): New function.
31718 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
31719 (grub_total_module_size): Likewise.
31720 Include grub/machine/kernel.h.
31721 (grub_arch_modules_addr): New function.
31722 * util/grub-emu.c (grub_end_addr): Remove variable.
31723 (grub_total_module_size): Likewise.
31724 (grub_arch_modules_addr): New function.
31725 * util/misc.c: Include unistd.h.
31726 (grub_util_get_fp_size): New function.
31727 (grub_util_read_at): Likewise.
31728 (grub_util_write_image_at): Likewise.
31729 (grub_util_read_image): Call grub_util_read_at.
31730 (grub_util_write_image): Call grub_util_write_image_at.
31731 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
31732 additional memory in kernel_img for a struct grub_module_info.
31733 Fill in that grub_module_info.
31734 * util/powerpc/ieee1275/grub-mkimage.c: New file.
31735
458786f8 317362005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31737
31738 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
31739 New function.
31740 * include/grub/powerpc/ieee1275/ieee1275.h
31741 (grub_ieee1275_milliseconds): New prototype.
31742 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
31743 Change to 1000.
31744 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
31745 grub_ieee1275_milliseconds.
31746
ac507d1b 317472005-01-03 Hollis Blanchard <hollis@penguinppc.org>
31748
31749 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
31750 variable.
31751 (find_options): New function.
31752 (cmain): Call find_options.
31753 * include/grub/powerpc/ieee1275/ieee1275.h
31754 (grub_ieee1275_realmode): New extern variable.
31755 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
31756 grub_map if grub_ieee1275_realmode is false.
31757
6b8fd1c4 317582004-12-29 Marco Gerards <metgerards@student.han.nl>
31759
31760 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
31761 lines are inserted and make it work like readline. Reported by
31762 Vincent Pelletier <subdino2004@yahoo.fr>.
31763
8514a1e0 317642004-12-28 Marco Gerards <metgerards@student.han.nl>
31765
31766 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
31767
31768 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
31769 `kern/powerpc/cache.S'.
31770
924b6140 317712004-12-27 Marco Gerards <metgerards@student.han.nl>
31772
31773 * genmk.rb: Handle the `Program' class in the main loop. Written
31774 by Johan Rydberg <jrydberg@gnu.org>.
31775 (Program): New class.
31776 (programs): New variable.
31777 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
31778 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
31779 instead of "grub/kernel.h". Include <grub/machine/init.h>.
31780 (help_arch): Function removed.
31781 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
31782 `powerpc/libgcc.h' and `loader.h'.
31783 (pkgdata_PROGRAMS): New variable.
31784 (sbin_UTILITIES): Variable removed.
31785 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
31786 (grubof_SOURCES): Variable re-defined so it only includes the
31787 core functionality.
31788 (grubof_CFLAGS): Remove `-DGRUBOF'.
31789 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
31790 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
31791 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
31792 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
31793 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
31794 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
31795 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
31796 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
31797 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
31798 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
31799 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31800 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
31801 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
31802 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
31803 (pc_mod_CFLAGS): New variables.
31804 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
31805 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
31806 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
31807 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
31808 Moved from here...
31809 * include/grub/i386/pc/init.h (grub_os_area_addr)
31810 (rub_os_area_size): ... to here.
31811 * include/grub/powerpc/ieee1275/ieee1275.h
31812 (grub_ieee1275_entry_fn): Export symbol.
31813 * include/grub/powerpc/ieee1275/init.h: New file.
31814 * include/grub/powerpc/libgcc.h: Likewise.
31815 * include/grub/cache.h: Likewise.
31816 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
31817 <hollis@penguinppc.org>.
31818 * kern/dl.c: Include <grub/cache.h>.
31819 (grub_dl_flush_cache): New function.
31820 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
31821 for this module.
31822 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
31823 (grub_console_init): Removed prototypes.
31824 (grub_machine_init): Don't initialize the modules anymore.
31825 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
31826 static.
31827 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
31828 Macro undef removed.
31829 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
31830 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
31831 relocation `R_PPC_REL32'. Return an error when the relocation is
31832 unknown.
31833 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
31834 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
31835 * util/misc.c (grub_arch_sync_caches): Likewise.
31836
e4b47e0c 318372004-12-19 Marco Gerards <metgerards@student.han.nl>
31838
31839 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
31840 `symlist.c', add `grubof_symlist.c'.
31841 (symlist.c): Variable removed.
31842 (grubof_HEADERS): Variable added.
31843 (grubof_symlist.c): New target.
31844 (kernel_syms.lst): Use `grubof_HEADERS' instead of
31845 `kernel_img_HEADERS'.
31846 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
31847 * kern/powerpc/dl.c: New file.
31848 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
31849 Function removed.
31850 (grub_arch_dl_relocate_symbols): Likewise.
31851 (grub_register_exported_symbols): Likewise.
31852
4ceb3636 318532004-12-13 Marco Gerards <metgerards@student.han.nl>
31854
31855 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
31856 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
31857 to fail instead. Reported by Vincent Pelletier
31858 <subdino2004@yahoo.fr>.
31859
31860 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
31861 it is not allocated. Reported by Vincent Pelletier
31862 <subdino2004@yahoo.fr>.
31863
31864 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
31865 output so the output looks better.
f19dbdb7 31866
3f1578fe 318672004-12-04 Marco Gerards <metgerards@student.han.nl>
31868
31869 Modulize the partition map support and add support for the amiga
31870 partition map.
f19dbdb7 31871
3f1578fe 31872 * commands/ls.c: Include <grub/partition.h> instead of
31873 <grub/machine/partition.h>.
31874 * kern/disk.c: Likewise.
31875 * kern/rescue.c: Likewise.
31876 * loader/i386/pc/chainloader.c: Likewise.
31877 * normal/cmdline.c: Likewise.
31878 * kern/powerpc/ieee1275/init.c: Likewise.
31879 (grub_machine_init): Call `grub_pc_partition_map_init',
31880 `grub_amiga_partition_map_init' and
31881 `grub_apple_partition_map_init'.
31882 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
31883 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
31884 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
31885 `partition.h' and `pc_partition.h'.
31886 (grub_setup_SOURCES): Remove
31887 `disk/i386/pc/partition.c'. Add `kern/partition.c',
31888 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31889 (grub_emu_SOURCES): Likewise.
31890 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
31891 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
31892 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
31893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31894 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
31895 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
31896 (grubof_SOURCES): Likewise.
31897 * disk/i386/pc/partition.c: File removed.
31898 * disk/powerpc/ieee1275/partition.c: Likewise.
31899 * include/grub/powerpc/ieee1275/partition.h: Likewise.
31900 * include/grub/i386/pc/partition.h: Likewise.
31901 * kern/partition.c: New file.
31902 * partmap/amiga.c: Likewise.
31903 * partmap/apple.c: Likewise.
31904 * partmap/pc.c: Likewise.
31905 * include/grub/partition.h: Likewise..
31906 * include/grub/pc_partition.h: Likewise.
31907 * util/grub-emu.c: Include <grub/partition.h> instead of
31908 <grub/machine/partition.h>.
31909 (main): Call `grub_pc_partition_map_init',
31910 `grub_amiga_partition_map_init' and
31911 `grub_apple_partition_map_init' and deinitialize afterwards.
31912 * util/i386/pc/biosdisk.c: Include `#include
31913 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31914 `<grub/machine/partition.h>'.
31915 * util/i386/pc/grub-setup.c: Likewise.
31916 * util/i386/pc/biosdisk.c: Likewise.
31917 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
31918 partition information in case of a PC partition.
31919 * util/i386/pc/grub-setup.c: Include `#include
31920 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
31921 `<grub/machine/partition.h>'.
31922 (setup): Only access the PC specific partition information in case
31923 of a PC partition.
31924
0ef4ced9 319252004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31926
0ef4ced9 31927 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
31928 (grub_longjmp): Likewise.
31929 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
31930 20.
31931 * normal/powerpc/setjmp.S: New file.
31932 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
31933 `normal/powerpc/setjmp.S'.
31934 (grubof_CFLAGS): Add `-DGRUBOF'.
31935 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
31936 [GRUB_UTIL && !GRUBOF].
f19dbdb7 31937
19950e29 319382004-11-16 Marco Gerards <metgerards@student.han.nl>
31939
31940 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
31941 property named `name'. Correctly handle the error returned by
31942 `grub_ieee1275_finddevice' if a device can not be opened.
31943
a2fea427 319442004-11-02 Hollis Blanchard <hollis@penguinppc.org>
31945
31946 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
31947 `actual' for negativity.
31948 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
31949 kern/fshelp.c.
31950
41ea0ea3 319512004-11-01 Marco Gerards <metgerards@student.han.nl>
31952
31953 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
31954 (PAGE_OFFSET): New macro.
31955 (CRTC_ADDR_PORT): Likewise.
31956 (CRTC_DATA_PORT): Likewise.
31957 (START_ADDR_HIGH_REGISTER): Likewise.
31958 (START_ADDR_LOW_REGISTER): Likewise.
31959 (GRAPHICS_ADDR_PORT): Likewise.
31960 (GRAPHICS_DATA_PORT): Likewise.
31961 (READ_MAP_REGISTER): Likewise.
31962 (INPUT_STATUS1_REGISTER): Likewise.
31963 (INPUT_STATUS1_VERTR_BIT): Likewise.
31964 (page): New variable.
31965 (wait_vretrace): New function.
31966 (set_read_map): Likewise.
31967 (set_start_address): Likewise.
31968 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
31969 the right page.
31970 (check_vga_mem): Take the page into account.
31971 (write_char): Likewise.
31972 (write_cursor): Likewise.
31973 (scroll_up): Likewise. Copy the page to the page that is not
31974 shown and switch between both pages.
31975 (grub_vga_putchar): Fix off by one error.
31976 (grub_vga_cls): Wait for the vertical retrace. Take the page into
31977 account.
31978
ad0bd20b 319792004-11-01 Marco Gerards <metgerards@student.han.nl>
31980
31981 Add support for iso9660 (including rockridge).
f19dbdb7 31982
ad0bd20b 31983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31984 (iso9660_mod_SOURCES): New variable.
31985 (iso9660_mod_CFLAGS): Likewise.
31986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
31987 * include/grub/fs.h (grub_iso9660_init): New prototype.
31988 * util/grub-emu.c (main): Call `grub_iso9660_init'.
31989 * fs/iso9660.c: New file.
31990
31991 * include/grub/misc.h (grub_strncat): New prototype.
31992 * kern/misc.c (grub_strncat): New function.
f19dbdb7 31993
ad0bd20b 31994 * fs/hfs.c (grub_hfs_mount): Translate the error
31995 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
31996 * fs/jfs.c (grub_jfs_mount): Likewise.
31997 * fs/ufs.c (grub_ufs_mount): Likewise.
31998
a5477a59 319992004-10-28 Hollis Blanchard <hollis@penguinppc.org>
32000
32001 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
32002 which initialized BAT registers.
32003 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
32004 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32005 Move from here...
32006 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
32007 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
32008 ... to here.
32009 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
32010 (grub_mapclaim): Likewise.
32011 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
32012 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
32013 hand.
32014
9304c1f8 320152004-10-19 Hollis Blanchard <hollis@penguinppc.org>
32016
32017 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
32018 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
32019 -ffreestanding and -msoft-float.
32020
86f4ae25 320212004-10-15 Hollis Blanchard <hollis@penguinppc.org>
32022
32023 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
32024 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
32025 set in grub_ieee1275_flags.
32026
38912228 320272004-10-14 Hollis Blanchard <hollis@penguinppc.org>
32028
32029 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
32030 prototype.
32031 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
32032 grub_console_init first.
32033 Change the memory range used for grub_ieee1275_claim and
32034 grub_mm_init_region.
32035 Print an error message if the claim fails.
32036 Include <grub/misc.h>.
32037
d1923dc8 320382004-10-13 Hollis Blanchard <hollis@penguinppc.org>
32039
32040 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
32041 Call grub_children_iterate for device nodes of type `scsi',
32042 `ide', or `ata'.
32043 (grub_ofdisk_open): Remove manual device alias resolution.
32044 Fix memory leak when device cannot be opened.
f19dbdb7 32045 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 32046 (grub_children_iterate): New prototype.
32047 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
32048 New function.
32049 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32050 Return -1 if args.size was -1.
32051
4512e4f3 320522004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32053
32054 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
32055 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
32056 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
32057 Open Firmware's memory for it; claim memory from _start to _end.
32058 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
32059 (_end): New extern.
32060 (_start): Zero BSS from __bss_start to _end.
32061 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32062 New extern.
32063 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
32064
4d61feb0 320652004-10-11 Hollis Blanchard <hollis@penguinppc.org>
32066
ad0bd20b 32067 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
32068 -1 if args.base was -1.
4d61feb0 32069
026fa2f9 320702004-10-08 Hollis Blanchard <hollis@penguinppc.org>
32071
32072 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
32073 escape sequence instead of a literal ^L. Also call
32074 grub_ofconsole_gotoxy.
32075
9f2220ef 320762004-10-03 Hollis Blanchard <hollis@penguinppc.org>
32077
32078 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
32079 void * arguments to grub_addr_t. All callers updated. Also make
32080 the `result' argument optional.
32081 (grub_ieee1275_release): change void * arguments to grub_addr_t.
32082 All callers updated.
32083
8a572cd7 320842004-09-22 Hollis Blanchard <hollis@penguinppc.org>
32085
32086 * commands/ls.c (grub_ls_list_files): Use the string following the
32087 initial ')', if present, as the filesystem path.
32088 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
32089
32090 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
32091
18aa81f2 320922004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
32093
32094 Make the source code of the menu interface more readable.
f19dbdb7 32095
18aa81f2 32096 * normal/menu.c: Include grub/mm.h.
32097 (TERM_WIDTH): New macro.
32098 (TERM_HEIGHT): Likewise.
32099 (TERM_INFO_HEIGHT): Likewise.
32100 (TERM_MARGIN): Likewise.
32101 (TERM_SCROLL_WIDTH): Likewise.
32102 (TERM_TOP_BORDER_Y): Likewise.
32103 (TERM_LEFT_BORDER_X): Likewise.
32104 (TERM_BORDER_WIDTH): Likewise.
32105 (TERM_MESSAGE_HEIGHT): Likewise.
32106 (TERM_BORDER_HEIGHT): Likewise.
32107 (TERM_NUM_ENTRIES): Likewise.
32108 (TERM_FIRST_ENTRY_Y): Likewise.
32109 (TERM_ENTRY_WIDTH): Likewise.
32110 (TERM_CURSOR_X): Likewise.
32111 (draw_border): Use macros instead of magic numbers.
32112 (print_entry): Likewise.
32113 (print_entries): Likewise.
32114 (run_menu): Likewise. Also, handle the key 'e'.
32115 (run_menu_entry): Ignore empty command lines.
32116 (print_message): Added a new argument EDIT. If EDIT is true,
32117 print a different message.
32118 (init_page): Likewise.
32119 (edit_menu_entry): New function. Not implemented yet.
32120
b47efe30 321212004-09-17 Marco Gerards <metgerards@student.han.nl>
32122
32123 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
32124 can be loaded from normal mode.
f19dbdb7 32125
b47efe30 32126 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
32127 `multiboot.mod'.
32128 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
32129 (multiboot_mod_CFLAGS): New variables.
32130 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 32131 * loader/i386/pc/multiboot_normal.c: Likewise.
32132
b47efe30 32133 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
32134 attribute `unused'.
f19dbdb7 32135
b47efe30 32136 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
32137 `fdiro' to read the mode information from instead of `diro'.
32138
32139 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
32140 looking up a symlink.
32141
32142 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
32143 macro.
32144 * normal/command.c (grub_command_execute): Don't parse the
32145 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
32146 flags of the command.
32147
32148 * normal/menu.c (grub_menu_run): Fix typo.
32149
da75ac71 321502004-09-14 Hollis Blanchard <hollis@penguinppc.org>
32151
32152 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
32153
32154 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
32155 `y + 1' instead of `y - 1'.
32156
32157 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 32158
062b24c2 321592004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
32160
32161 From Hollis Blanchard <hollis@penguinppc.org>:
32162 * kern/misc.c (memmove): New alias for grub_memmove.
32163 (memcmp): New alias for grub_memcmp.
32164 (memset): New alias for grub_memset.
f19dbdb7 32165 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 32166 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 32167 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 32168 (grub_ieee1275_get_property): Likewise.
f19dbdb7 32169
8ddad845 321702004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
32171
32172 Added normal mode command `chainloader' as module chain.mod, which
32173 depends on normal.mod and _chain.mod.
f19dbdb7 32174
8ddad845 32175 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
32176 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
32177 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
32178 Deleted prototype.
32179 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
32180 but arguments parsing moved to ...
32181 (grub_chainloader_cmd): ... here. New function.
32182 * include/grub/i386/pc/chainloader.h: New file.
32183 * loader/i386/pc/chainloader_normal.c: Likewise.
32184
2c1f4ce3 321852004-09-11 Marco Gerards <metgerards@student.han.nl>
32186
32187 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
32188 (grub_mkimage_LDFLAGS): Likewise.
32189 (grub_emu_SOURCES): Likewise.
32190 (kernel_img_HEADERS): Added fshelp.h.
32191 * fs/ext2.c: Include <grub/fshelp.h>.
32192 (FILETYPE_REG): New macro.
32193 (FILETYPE_INO_REG): Likewise.
32194 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
32195 Changed all users.
32196 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
32197 all users.
32198 (grub_fshelp_node): New struct.
32199 (grub_ext2_data): Added member `diropen'. Changed member `inode'
32200 to a pointer.
32201 (grub_ext2_get_file_block): Removed function.
32202 (grub_ext2_read_block): New function.
32203 (grub_ext2_read_file): Replaced parameter `data' by `node'.
32204 This function was written.
32205 (grub_ext2_mount): Read the root inode. Create a diropen struct.
32206 (grub_ext2_find_file): Removed function.
32207 (grub_ext2_read_symlink): New function.
32208 (grub_ext2_iterate_dir): Likewise.
32209 (grub_ext2_open): Rewritten.
32210 (grub_ext2_dir): Rewritten.
32211 * include/grub/fshelp.h: New file.
32212 * fs/fshelp.c: Likewise.
32213
3c52136a 322142004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
32215
32216 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
32217 (print_message): Add a missing newline.
32218 (run_menu): Added timeout support.
32219 (run_menu_entry): New local function.
32220 (grub_menu_run): Added support for booting.
32221
32222 * kern/loader.c (grub_loader_is_loaded): New function.
32223
32224 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
32225 (grub_get_rtc): Exported.
32226
32227 * include/grub/i386/pc/time.h: Include grub/symbol.h.
32228 (grub_get_rtc): Exported.
32229
32230 * include/grub/normal.h (struct grub_command_list): Remove
32231 constant from the member `command'.
32232
32233 * include/grub/loader.h (grub_loader_is_loaded): Declared.
32234
32235 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
32236
32237 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
32238
aa033560 322392004-08-28 Marco Gerards <metgerards@student.han.nl>
32240
32241 Add support for the JFS filesystem.
32242
32243 * fs/jfs.c: New file.
32244 * include/grub/fs.h (grub_jfs_init): New prototype.
32245 (grub_jfs_fini): New prototype.
32246 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
32247 (grub_emu_SOURCES): Likewise.
32248 (pkgdata_MODULES): Add jfs.mod.
32249 (jfs_mod_SOURCES): New variable.
32250 (jfs_mod_CFLAGS): Likewise.
32251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
32252 (grubof_SOURCES): Likewise.
32253 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
32254
32255 * fs/fat.c (grub_fat_find_dir): Convert the filename little
32256 endian to the host endian.
32257 (grub_fat_utf16_to_utf8): Move function from there...
32258 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 32259 the endianness of the source string anymore.
aa033560 32260 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
32261
94bc45af 322622004-08-24 Marco Gerards <metgerards@student.han.nl>
32263
32264 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
32265 (grub_boot_fini) [GRUB_UTIL]: Likewise.
32266 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
32267 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 32268
94bc45af 32269 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
32270 (grub_hfs_iterate_dir): Make the function static. Add prototypes
32271 for `node_found' and `it_dir'.
32272 (grub_hfs_dir): Add prototype for `dir_hook'.
32273
32274 * fs/minix.c (grub_minix_get_file_block): Add prototype for
32275 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
32276 and `indir32' to silence a gcc warning.
32277
32278 * include/grub/fs.h (grub_hfs_init): New prototype.
32279 (grub_hfs_fini): Likewise.
f19dbdb7 32280
32281
97543f08 322822004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
32283
32284 Each disk device has its own id now. This is useful to make use
32285 of multiple disk devices.
f19dbdb7 32286
97543f08 32287 * include/grub/disk.h (grub_disk_dev_id): New enum.
32288 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
32289 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
32290
32291 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
32292 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32293
32294 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
32295 GRUB_DISK_DEVICE_OFDISK_ID as an id.
32296
32297 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
32298 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
32299
32300 * include/grub/disk.h (struct grub_disk_dev): Added a new member
32301 "id" which is used by the cache manager.
32302
32303 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
32304 of just "GRUB".
32305
64372eb4 323062004-08-18 Marco Gerards <metgerards@student.han.nl>
32307
32308 * fs/hfs.c: New file.
32309 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
32310 (grub_emu_SOURCES): Likewise.
32311 (pkgdata_MODULES): Add hfs.mod.
32312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
32313 (grubof_SOURCES): Likewise.
32314 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
32315
32316 * include/grub/misc.h (grub_strncasecmp): Add prototype.
32317 * kern/misc.c (grub_strncasecmp): Add function.
32318
cc61b58f 323192004-08-14 Marco Gerards <metgerards@student.han.nl>
32320
32321 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
32322 with parentheses.
32323
32324 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
32325 (grub_ext2_dir): In case the directory entry type is unknown, read
32326 it from the inode.
32327
0ef123f6 323282004-08-02 Peter Bruin <pjbruin@dds.nl>
32329
32330 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
32331 grub_load_linux instead of grub_rescue_cmd_linux as second
32332 argument of grub_rescue_register_command.
32333
32334 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
32335
a447c5df 323362004-07-27 Marco Gerards <metgerards@student.han.nl>
32337
32338 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
32339 function.
32340 * commands/boot.c: Remove the check for `GRUB_UTIL'.
32341 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
32342 `loader/powerpc/ieee1275/linux.c',
32343 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
32344 * include/grub/powerpc/ieee1275/ieee1275.h
32345 (grub_ieee1275_release): New prototype.
32346 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
32347 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
32348 normal, boot, linux and linux_normal.
32349 * loader/powerpc/ieee1275/linux.c: New file.
32350 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32351
5a9e3546 323522004-07-12 Marco Gerards <metgerards@student.han.nl>
32353
32354 * normal/arg.c (grub_arg_parse): Correct error handling after
32355 reallocating the argumentlist (check if `argl' is not null instead
32356 of checking if `args' is not null).
32357 * kern/mm.c (grub_realloc): Return the same pointer when using the
32358 same region, instead of returning the header address.
32359
e15199cb 323602004-07-11 Marco Gerards <metgerards@student.han.nl>
32361
32362 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
32363 one block instead of two when looking for the initial partition.
32364 (grub_partition_probe): Initialize the local variable `p' with 0.
32365 Use base 10 for the grub_strtoul call.
32366 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
32367 need for one local variable.
32368 (grub_strtoul): Don't add the new value to `num', instead of that
32369 just assign it.
32370
020616c2 323712004-07-11 Marco Gerards <metgerards@student.han.nl>
32372
32373 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
32374 (pxeboot_img_SOURCES): New variable.
32375 (pxeboot_img_ASFLAGS): Likewise.
32376 (pxeboot_img_LDFLAGS): Likewise.
32377 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
32378 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
32379 <lode_leroy@hotmail.com>.
32380
6c51eb64 323812004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32382
32383 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
32384 there was no input.
32385
cfb12aff 323862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32387
32388 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
32389 the history buffer logic.
32390
6eabba74 323912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
32392
32393 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
32394 (FILETYPE_INO_SYMLINK): New macros.
32395 (grub_ext2_find_file): Check if the node is a directory using the
32396 inode stat information instead of using the filetype in the
32397 dirent. Exclude the first character of an absolute symlink.
32398 (grub_ext2_dir): Mask out the filetype part of the mode member of
32399 the inode.
32400
66e19ef8 324012004-05-24 Marco Gerards <metgerards@student.han.nl>
32402
32403 Add support for UFS version 1 and 2. Add support for the minix
32404 filesystem version 1 and 2, both the variants with 14 and 30 long
32405 filenames.
f19dbdb7 32406
66e19ef8 32407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
32408 fs/minix.c.
32409 (grub_emu_SOURCES): Likewise.
32410 (pkgdata_MODULES): Add ufs.mod and minix.mod.
32411 (ufs_mod_SOURCES): New variable.
32412 (ufs_mod_CFLAGS): Likewise.
32413 (minix_mod_SOURCES): Likewise.
32414 (minix_mod_CFLAGS): Likewise.
32415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
32416 fs/minix.c.
32417 (grubof_SOURCES): Likewise.
32418 * fs/ufs.c: New file.
32419 * fs/minix.c: New file.
32420 * include/grub/fs.h (grub_ufs_init): New prototype.
32421 (grub_ufs_fini): Likewise.
32422 (grub_minix_init): Likewise.
32423 (grub_minix_fini): Likewise.
32424 * util/grub-emu.c (main): Initialize and deinitialize UFS and
32425 minix fs.
32426
cc2e748a 324272004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
32428
32429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
32430 commands/ls.c, commands/terminal.c, commands/boot.c,
32431 commands/cmp.c and commands/cat.c.
32432 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
32433
32434 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
32435 "env.h"
32436
4b13b216 324372004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32438
32439 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
32440 and grub_, respectively. Because the conversion is trivial and
32441 mechanical, I omit the details here. Please refer to the CVS
32442 if you need more information.
32443
6a142551 324442004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
32445
32446 * include/pupa: Renamed to ...
32447 * include/grub: ... this.
32448 * util/i386/pc/pupa-mkimage.c: Renamed to ...
32449 * util/i386/pc/grub-mkimage.c: ... this.
32450 * util/i386/pc/pupa-setup.c: Renamed to ...
32451 * util/i386/pc/grub-setup.c: ... this.
32452 * util/pupa-emu.c: Renamed to ...
32453 * util/grub-emu.c: ... this.
32454
e56cdf21 324552004-03-29 Marco Gerards <metgerards@student.han.nl>
32456
32457 Add support for the newworld apple macintosh (PPC). This has been
32458 tested on the powerbook 2000 only. It only adds support for
32459 generic ieee1275 functions, console and disk support. This should
32460 be easy to port to other architectures with support for Open
32461 Firmware.
f19dbdb7 32462
e56cdf21 32463 * configure.ac: Accept the powerpc as host_cpu. In the case of
32464 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
32465 specific tests are only executed while building for the i386.
32466 Inverse test for crosscompile.
32467 * genmk.rb (Utility): Allow assembler files.
32468 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
32469 * conf/powerpc-ieee1275.rmk: New file.
32470 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
32471 * disk/powerpc/ieee1275/partition.c: Likewise.
32472 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
32473 * include/pupa/powerpc/ieee1275/console.h: Likewise.
32474 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
32475 * include/pupa/powerpc/ieee1275/time.h: Likewise.
32476 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
32477 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
32478 * include/pupa/powerpc/ieee1275/loader.h
32479 * include/pupa/powerpc/setjmp.h: Likewise.
32480 * include/pupa/powerpc/types.h: Likewise.
32481 * kern/powerpc/ieee1275/init.c: Likewise.
32482 * kern/powerpc/ieee1275/openfw.c: Likewise.
32483 * term/powerpc/ieee1275/ofconsole.c: Likewise.
32484
32485 These files were written by Johan Rydberg
32486 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 32487
e56cdf21 32488 * boot/powerpc/ieee1275/cmain.c: New file.
32489 * boot/powerpc/ieee1275/crt0.S: Likewise.
32490 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
32491 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
32492
8c8cc205 324932004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
32494
32495 * Makefile.in: Update copyright.
32496 * genmodsrc.sh: Likewise.
32497 * gensymlist.sh: Likewise.
32498 * term/i386/pc/vga.c: Indent correctly.
32499
32500 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
32501 bugreporting address.
32502 * util/i386/pc/pupa-setup.c (usage): Likewise,
32503 (main): Call pupa_ext2_init and pupa_ext2_fini.
32504
f19dbdb7 32505 * fs/fat.c (log2): Renamed to ...
8c8cc205 32506 (fat_log2): ... this.
32507 All callers changed.
32508 * kern/misc.c (memcpy): Alias to pupa_memmove.
32509 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
32510 lvalue cast.
32511 * util/console.c (pupa_ncurses_fini): Return 0.
32512
32513 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
32514 Move fail label here.
32515 [__GNU__]: Don't warn when using stat.
32516 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
32517 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
32518 long int. Use strtol instead of strtoul.
f19dbdb7 32519
db1771cf 325202004-03-14 Marco Gerards <metgerards@student.han.nl>
32521
32522 * commands/boot.c: New file.
32523 * commands/cat.c: Likewise.
32524 * commands/cmp.c: Likewise.
32525 * commands/ls.c: Likewise.
32526 * commands/terminal.c: Likewise.
32527 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
32528 (pupa_register_command): Changed interface to match the new
32529 argument parser.
32530 (pupa_command_execute): Changed (almost rewritten) so it uses
32531 pupa_split_command. Added support for setting variables using the
32532 syntax `foo=bar'.
32533 (rescue_command): Changed to work with the new argument parser.
32534 (terminal_command): Moved from here to commands/terminal.c.
32535 (set_command): New function.
32536 (unset_command): New function.
32537 (insmod_command): New function.
32538 (rmmod_command): New function.
32539 (lsmod_command): New function.
32540 (pupa_command_init): Don't initialize the command terminal
32541 anymore. Initialize the commands set, unset, insmod, rmmod and
32542 lsmod.
32543 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
32544 (kernel_img_HEADERS): Add arg.h and env.h.
32545 (pupa_mkimage_LDFLAGS): Add kern/env.c.
32546 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
32547 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
32548 normal/arg.c.
32549 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
32550 terminal.mod.
32551 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
32552 (boot_mod_SOURCES): New variable.
32553 (terminal_mod_SOURCES): Likewise.
32554 (ls_mod_SOURCES): Likewise.
32555 (cmp_mod_SOURCES): Likewise.
32556 (cat_mod_SOURCES): Likewise.
32557
32558 * normal/arg.c: New file.
32559 * kern/env.c: Likewise.
32560 * include/pupa/arg.h: Likewise.
32561 * include/pupa/env.h: Likewise.
32562 * font/manager.c (font_command): Changed to match argument parsing
32563 interface changes.
32564 (PUPA_MOD_INIT): Likewise.
32565 * hello/hello.c (pupa_cmd_hello): Likewise.
32566 (PUPA_MOD_INIT): Likewise.
32567 * include/pupa/disk.h: Include <pupa/device.h>.
32568 (pupa_print_partinfo): New prototype.
32569 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
32570 (pupa_dl_get_prefix): Likewise.
32571 * include/pupa/misc.h: Include <pupa/err.h>.
32572 (pupa_isgraph): New prototype.
32573 (pupa_isdigit): Likewise.
32574 (pupa_split_cmdline): Likewise.
32575 * include/pupa/normal.h: Include <pupa/arg.h>.
32576 (pupa_command): Changed the prototype of the member `func' to
32577 match the argument parsing interface. Added member `options'.
32578 (pupa_register_command): Updated to match function.
32579 (pupa_arg_parse): New prototype.
32580 (pupa_hello_init) [PUPA_UTIL]: New prototype.
32581 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
32582 (pupa_ls_init) [PUPA_UTIL]: Likewise.
32583 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
32584 (pupa_cat_init) [PUPA_UTIL]: Likewise.
32585 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
32586 (pupa_boot_init) [PUPA_UTIL]: Likewise.
32587 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
32588 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
32589 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
32590 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
32591 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
32592 * kern/disk.c: Include <pupa/file.h>.
32593 (pupa_print_partinfo): New function.
32594 * kern/dl.c: Include <pupa/env.h>.
32595 (pupa_dl_dir): Variable removed.
32596 (pupa_dl_load): Use the environment variable `prefix' instead of
32597 the variable pupa_dl_dir.
32598 (pupa_dl_set_prefix): Function removed.
32599 (pupa_dl_get_prefix): Likewise.
32600 * kern/i386/pc/init.c: Include <pupa/env.h>.
32601 (pupa_machine_init): Use the environment variable `prefix' instead of
32602 using pupa_dl_set_prefix to set the prefix.
32603 * kern/main.c: Include <pupa/env.h>.
32604 (pupa_set_root_dev): Use the environment variable `prefix' instead of
32605 using pupa_dl_get_prefix to get the prefix.
32606 * kern/misc.c: Include <pupa/env.h>.
32607 (pupa_isdigit): New function.
32608 (pupa_isgraph): Likewise.
32609 (pupa_ftoa): Likewise.
32610 (pupa_vsprintf): Added support for printing values of the type
32611 `double'. Make it possible to format variable output when using
32612 formatting like `%1.2%f'.
32613 (pupa_split_cmdline): New function.
32614 * kern/rescue.c: Include <pupa/env.h>.
32615 (next_word): Removed function.
32616 (pupa_rescue_cmd_prefix): Likewise.
32617 (pupa_rescue_cmd_set): New function.
32618 (pupa_rescue_cmd_unset): New function.
32619 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
32620 split the command line instead of splitting it here. Added
32621 support for setting variables using the syntax `foo=bar'. Don't
32622 initialize the prefix command anymore. Initialized the set and
32623 unset commands.
32624 * normal/cmdline.c: Include <pupa/env.h>.
32625 (pupa_tab_complete): Added prototypes for print_simple_completion,
32626 print_partition_completion, add_completion, iterate_commands,
32627 iterate_dev, iterate_part and iterate_dir. Moved code to print
32628 partition information from here to kern/disk.c.
fe6b695a 32629 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 32630 * normal/main.c: Include <pupa/env.h>.
32631 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
32632 instead of using pupa_dl_get_prefix to get the prefix.
32633 * term/i386/pc/vga.c: Include <pupa/arg.h>.
32634 (check_vga_mem): Cast pointers to `void *' to silence a gcc
32635 warning.
32636 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
32637 (pupa_vga_setcolor): Declare unused variables with `__attribute__
32638 ((unused))' to silence a gcc warning.
32639 (pupa_vga_setcolor): Likewise.
32640 (debug_command): Changed to match argument parsing
32641 interface changes.
32642 * util/pupa-emu.c: Include <pupa/env.h>.
32643 (options): Added 0's for unused fields to silence a gcc warning.
32644 (argp): Likewise.
32645 (main): Use the environment variable `prefix' instead of using
32646 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
32647 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
32648 and terminal.
32649
32650 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
32651 * util/misc.c: Include <malloc.h>.
32652 (pupa_malloc): Rewritten so errors are correctly reported.
32653 (pupa_realloc): Likewise.
32654 (pupa_memalign): Likewise.
32655 (pupa_mm_init_region): Declare unused variables with
32656 `__attribute__ ((unused))' to silence a gcc warning.
32657 * normal/i386/setjmp.S: Remove tab at the end of the file to
32658 silence a gcc warning.
32659 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
32660 variables with `__attribute__ ((unused))' to silence a gcc
32661 warning.
32662 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
32663 local variable i unsigned to silence a gcc warning.
32664
32665 * kern/term.c: Include <pupa/misc.h>.
32666 (pupa_more_lines): New variable.
32667 (pupa_more): Likewise.
32668 (pupa_putcode): When the pager is active pause at the end of every
32669 screen.
32670 (pupa_set_more): New function.
32671 * include/pupa/term.h (pupa_set_more): New prototype.
32672
32673
3b1139cb 326742004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
32675
32676 Now this project is GRUB 2 rather than PUPA. The location of
32677 the CVS repository was moved to GRUB's.
f19dbdb7 32678
3b1139cb 32679 * configure.ac: Use bug-grub as the reporting address.
32680 Use GRUB instead of PUPA.
32681 Change the version number to 1.90.
32682
8367695c 326832004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
32684
32685 * genkernsyms.sh: Updated copyright information.
32686 * genmk.rb: Likewise.
32687 * genmodsrc.sh: Likewise.
32688 * gensymlist.sh: Likewise.
32689 * boot/i386/pc/boot.S: Likewise.
32690 * boot/i386/pc/diskboot.S: Likewise.
32691 * disk/i386/pc/biosdisk.c: Likewise.
32692 * disk/i386/pc/partition.c: Likewise.
32693 * font/manager.c: Likewise.
32694 * fs/ext2.c: Likewise.
32695 * fs/fat.c: Likewise.
32696 * include/pupa/boot.h: Likewise.
32697 * include/pupa/device.h: Likewise.
32698 * include/pupa/disk.h: Likewise.
32699 * include/pupa/dl.h: Likewise.
32700 * include/pupa/elf.h: Likewise.
32701 * include/pupa/err.h: Likewise.
32702 * include/pupa/file.h: Likewise.
32703 * include/pupa/font.h: Likewise.
32704 * include/pupa/fs.h: Likewise.
32705 * include/pupa/kernel.h: Likewise.
32706 * include/pupa/loader.h: Likewise.
32707 * include/pupa/misc.h: Likewise.
32708 * include/pupa/mm.h: Likewise.
32709 * include/pupa/net.h: Likewise.
32710 * include/pupa/normal.h: Likewise.
32711 * include/pupa/rescue.h: Likewise.
32712 * include/pupa/setjmp.h: Likewise.
32713 * include/pupa/symbol.h: Likewise.
32714 * include/pupa/term.h: Likewise.
32715 * include/pupa/types.h: Likewise.
32716 * include/pupa/i386/setjmp.h: Likewise.
32717 * include/pupa/i386/types.h: Likewise.
32718 * include/pupa/i386/pc/biosdisk.h: Likewise.
32719 * include/pupa/i386/pc/boot.h: Likewise.
32720 * include/pupa/i386/pc/console.h: Likewise.
32721 * include/pupa/i386/pc/init.h: Likewise.
32722 * include/pupa/i386/pc/kernel.h: Likewise.
32723 * include/pupa/i386/pc/linux.h: Likewise.
32724 * include/pupa/i386/pc/loader.h: Likewise.
32725 * include/pupa/i386/pc/memory.h: Likewise.
32726 * include/pupa/i386/pc/multiboot.h: Likewise.
32727 * include/pupa/i386/pc/partition.h: Likewise.
32728 * include/pupa/i386/pc/time.h: Likewise.
32729 * include/pupa/i386/pc/vga.h: Likewise.
32730 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
32731 * include/pupa/util/getroot.h: Likewise.
32732 * include/pupa/util/misc.h: Likewise.
32733 * include/pupa/util/resolve.h: Likewise.
32734 * kern/device.c: Likewise.
32735 * kern/disk.c: Likewise.
32736 * kern/dl.c: Likewise.
32737 * kern/err.c: Likewise.
32738 * kern/file.c: Likewise.
32739 * kern/fs.c: Likewise.
32740 * kern/loader.c: Likewise.
32741 * kern/main.c: Likewise.
32742 * kern/misc.c: Likewise.
32743 * kern/mm.c: Likewise.
32744 * kern/rescue.c: Likewise.
32745 * kern/term.c: Likewise.
32746 * kern/i386/dl.c: Likewise.
32747 * kern/i386/pc/init.c: Likewise.
32748 * kern/i386/pc/lzo1x.S: Likewise.
32749 * kern/i386/pc/startup.S: Likewise.
32750 * loader/i386/pc/chainloader.c: Likewise.
32751 * loader/i386/pc/linux.c: Likewise.
32752 * loader/i386/pc/multiboot.c: Likewise.
32753 * normal/cmdline.c: Likewise.
32754 * normal/command.c: Likewise.
32755 * normal/main.c: Likewise.
32756 * normal/menu.c: Likewise.
32757 * normal/i386/setjmp.S: Likewise.
32758 * term/i386/pc/console.c: Likewise.
32759 * term/i386/pc/vga.c: Likewise.
32760 * util/console.c: Likewise.
32761 * util/genmoddep.c: Likewise.
32762 * util/misc.c: Likewise.
32763 * util/pupa-emu.c: Likewise.
32764 * util/resolve.c: Likewise.
32765 * util/unifont2pff.rb: Likewise.
32766 * util/i386/pc/biosdisk.c: Likewise.
32767 * util/i386/pc/getroot.c: Likewise.
32768 * util/i386/pc/pupa-mkimage.c: Likewise.
32769 * util/i386/pc/pupa-setup.c: Likewise.
32770
e6eced71 327712004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
32772
32773 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
32774 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
32775 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
32776 reading and reset it after reading.
32777 (pupa_ext2_close): Return PUPA_ERR_NONE.
32778
32779 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
32780 Correct value.
32781 (struct linux_kernel_header): Add kernel_version and
32782 initrd_addr_max.
32783 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
32784 pupa_file_read succeeds.
32785 (pupa_rescue_cmd_initrd): Implement.
32786
5aded270 327872003-12-03 Marco Gerards <metgerards@student.han.nl>
32788
32789 * fs/ext2.c (pupa_ext2_label): New function.
32790 (pupa_ext2_fs): Added label.
32791 * fs/fat.c (pupa_fat_label): New function.
32792 (pupa_fat_fs): Added label.
32793 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
32794
32795 * kern/misc.c (pupa_strndup): New function.
32796 * include/pupa/misc.h (pupa_strndup): New prototype.
32797
32798 * include/pupa/normal.h: Include <pupa/err.h>.
32799 (pupa_set_history): New prototype.
32800 (pupa_iterate_commands): New prototype.
32801 * normal/cmdline.c: Include <pupa/machine/partition.h>,
32802 <pupa/disk.h>, <pupa/file.h>.
32803 (hist_size): New variable.
32804 (hist_lines): Likewise.
32805 (hist_end): Likewise.
32806 (hist_used): Likewise.
32807 (pupa_set_history): New function.
32808 (pupa_history_get): Likewise.
32809 (pupa_history_add): Likewise.
32810 (pupa_history_replace): Likewise.
32811 (pupa_tab_complete): Likewise.
32812 (pupa_cmdline_run): Added tab completion and history buffer. Tab
32813 completion shows partitionnames while completing partitions, this
32814 feature was suggested by Jeff Bailey.
32815 * normal/command.c (pupa_iterate_commands): New function.
32816 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
32817 (pupa_normal_init): Initialize history buffer.
32818 (PUPA_MOD_INIT): Likewise.
32819 (pupa_normal_fini): Free the history buffer.
32820 (PUPA_MOD_FINI): Likewise.
32821
32822 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
32823 key.
32824
32825 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
32826 * configure.ac [i386]: Check for regparam bug.
32827 (NESTED_FUNC_ATTR) [! i386]: Defined.
32828
1f7315a3 328292003-11-17 Marco Gerards <metgerards@student.han.nl>
32830
32831 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
32832 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
32833 (pupa_emu_SOURCES): New variable.
32834 (pupa_emu_LDFLAGS): Likewise.
32835 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
32836 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
32837 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
32838 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32839 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
32840 (pupa_jmp_buf): New typedef.
32841 (pupa_setjmp) [PUPA_UTIL]: New macro.
32842 (pupa_longjmp) [PUPA_UTIL]: Likewise.
32843 * include/pupa/term.h (struct pupa_term): New member `refresh'.
32844 (pupa_refresh): New prototype.
32845 * include/pupa/util/getroot.h: New file.
32846 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
32847 it.
32848 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
32849 (pupa_rescue_cmd_cat): Likewise.
32850 (pupa_rescue_cmd_ls): Likewise.
32851 (pupa_rescue_cmd_testload): Likewise.
32852 (pupa_rescue_cmd_lsmod): Likewise.
32853 * normal/cmdline.c (pupa_cmdline_get): Likewise.
32854 * normal/menu.c (run_menu): Likewise.
32855 * kern/term.c (pupa_cls): Likewise.
32856 (pupa_refresh): New function.
32857 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
32858 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
32859 * util/console.c: New file.
f19dbdb7 32860
1f7315a3 32861 * util/i386/pc/getroot.c: New file.
32862 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
32863 (pupa_putchar): New function.
32864 (pupa_refresh): Likewise.
32865 (xgetcwd): Function moved to ...
32866 (strip_extra_slashes): Likewise.
32867 (get_prefix): Likewise.
f19dbdb7 32868 * util/i386/pc/getroot.c: ... here.
1f7315a3 32869 (find_root_device): Function moved and renamed to...
32870 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
32871 Changed all callers.
32872 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
32873 and renamed to...
32874 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
32875 Changed all callers.
32876 * util/misc.c (pupa_memalign): New function.
32877 (pupa_mm_init_region): Likewise.
32878 (pupa_register_exported_symbols): Likewise.
32879 (pupa_putchar): Function removed.
32880 * util/pupa-emu.c: New file.
32881
9a5c1ade 328822003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
32883
32884 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
32885 (_multiboot_mod_SOURCES): New variable.
32886 (_multiboot_mod_CFLAGS): Likewise.
32887 * loader/i386/pc/multiboot.c: New file.
32888 * include/pupa/i386/pc/multiboot.h: Likewise.
32889 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
32890 (pupa_multiboot_real_boot): New function.
32891 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
32892 (pupa_multiboot_real_boot): New prototype.
32893 (pupa_rescue_cmd_multiboot): Likewise
32894 (pupa_rescue_cmd_module): Likewise.
32895
32896 * kern/loader.c (pupa_loader_set): Continue when
32897 pupa_loader_unload_func() fails.
32898 (pupa_loader_unset): New function.
32899 * include/pupa/loader.h (pupa_loader_unset): New prototype.
32900
32901 * kern/misc.c (pupa_stpcpy): New function.
32902 * include/pupa/misc.h (pupa_stpcpy): New prototype.
32903
8e72a9c0 329042003-11-12 Marco Gerards <metgerards@student.han.nl>
32905
32906 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
32907 for available extensions.
32908
32909 * include/pupa/i386/pc/time.h: New file.
32910 * kern/disk.c: Include <pupa/machine/time.h>.
32911 (PUPA_CACHE_TIMEOUT): New macro.
32912 (pupa_last_time): New variable.
32913 (pupa_disk_open): Flush the cache when there was a timeout.
32914 (pupa_disk_close): Reset the timer.
32915 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
32916 pupa_currticks.
32917 * util/misc.c: Include <sys/times.h>
32918 (pupa_get_rtc): New function.
32919
c4adbd32 329202003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32921
32922 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
32923 as blocks.
32924 (pupa_ext2_get_file_block): Use blocks member.
32925
32926 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
32927 first block. Return -1 instead of pupa_errno on error.
32928
bfd30f06 329292003-10-27 Marco Gerards <metgerards@student.han.nl>
32930
32931 * README: In the pupa-mkimage example use _chain instead of chain
32932 and ext2 instead of fat.
32933 * TODO: Replace ext2fs with jfs as an example. Add an item for
32934 adding journal playback for ext2fs.
32935 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
32936 (pkgdata_MODULES): Added ext2.mod.
32937 (ext2_mod_SOURCES): New variable.
32938 (ext2_mod_CFLAGS): Likewise.
32939 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
32940 * include/pupa/misc.h (pupa_strncpy): New prototype.
32941 (pupa_strcat): Likewise.
32942 (pupa_strncmp): Likewise.
32943 * kern/misc.c (pupa_strcat): Enable function.
32944 (pupa_strncpy): New function.
32945 (pupa_strncmp): Likewise.
32946 * fs/ext2.c: New file.
f19dbdb7 32947
bfd30f06 32948 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
32949 when the read failed before retrying.
32950 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
32951 (_FILE_OFFSET_BITS): Likewise.
32952 * configure.ac: Added AC_SYS_LARGEFILE.
32953
98d15063 329542003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32955
32956 * genmk.rb (PModule#rule): Make sure to get only symbol names
32957 from the output of nm.
59cad637 32958 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 32959
18d9c7cd 329602003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
32961
32962 I forgot to check in these changes for a long time. This adds
32963 incomplete support for VGA console, and this is still very
32964 buggy. Also, a lot of consideration is required for I18N,
32965 UNICODE, and VGA font issues. Therefore, assume that this is
32966 such that "better than nothing".
f19dbdb7 32967
18d9c7cd 32968 * font/manager.c: New file.
32969 * include/pupa/font.h: Likewise.
32970 * include/pupa/i386/pc/vga.h: Likewise.
32971 * term/i386/pc/vga.c: Likewise.
32972 * util/unifont2pff.rb: Likewise.
32973
32974 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
32975 (pkgdata_MODULES): Added vga.mod and font.mod.
32976 (vga_mod_SOURCES): New variables.
32977 (vga_mod_CFLAGS): Likewise.
32978 (font_mod_SOURCES): Likewise.
32979 (font_mod_CFLAGS): Likewise.
32980
32981 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
32982
32983 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 32984 (struct pupa_term): Added init and fini.
18d9c7cd 32985 Changed the argument of putchar to pupa_uint32_t.
32986
32987 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
32988 (pupa_console_real_putchar): New prototype.
32989 (pupa_console_putchar): Removed.
32990 (pupa_console_checkkey): Exported.
32991 (pupa_console_getkey): Likewise.
32992
32993 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
32994 characters.
32995
32996 * kern/term.c (pupa_term_set_current): Rewritten.
32997 (pupa_putchar): Likewise.
32998 (pupa_putcode): New function.
32999
33000 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
33001 (pupa_console_real_putchar): ... this.
33002 (pupa_vga_set_mode): New function.
33003 (pupa_vga_get_font): Likewise.
33004
33005 * normal/command.c: Include pupa/term.h.
33006 (terminal_command): New function.
33007 (pupa_command_init): Register the command "terminal".
33008
33009 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
33010 (DISP_UP): Likewise.
33011 (DISP_RIGHT): Likewise.
33012 (DISP_DOWN): Likewise.
33013 (DISP_HLINE): Likewise.
33014 (DISP_VLINE): Likewise.
33015 (DISP_UL): Likewise.
33016 (DISP_UR): Likewise.
33017 (DISP_LL): Likewise.
33018 (DISP_LR): Likewise.
33019
33020 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 33021
977329f5 330222003-02-08 NIIBE Yutaka <gniibe@m17n.org>
33023
33024 * util/resolve.c (pupa_util_resolve_dependencies): BUG
33025 FIX. Reverse the path_list.
33026
33027 * include/pupa/normal.h: Export pupa_register_command and
33028 pupa_unregister_command.
33029
33030 * hello/hello.c (pupa_cmd_hello): New module.
33031 * conf/i386-pc.rmk: Added hello.mod.
33032
1f5ab428 330332003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
33034
33035 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 33036
1f5ab428 33037 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
33038 (compress_kernel): New variable.
33039 (generate_image): Heavily modified to support compressing a
33040 large part of the core image.
33041
33042 * util/misc.c (pupa_util_read_image): Fix a file descriptor
33043 leak.
33044 (pupa_util_load_image): New function.
33045
33046 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
33047 (pupa_compressed_size): New variable.
33048 (codestart): Enable Gate A20 here.
33049 Decompress the compressed part of the core image.
33050 Rearrange the code to put functions and variables which are
33051 required for initialization in the non-compressed part.
33052 Include lzo1x.S.
33053
33054 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
33055 here.
33056
33057 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
33058
f19dbdb7 33059 * include/pupa/i386/pc/kernel.h
1f5ab428 33060 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
33061 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
33062 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33063 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33064 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
33065
33066 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
33067
33068 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
33069 (Utility#rule): Likewise.
33070
33071 * configure.ac: Check if LZO is available.
33072
ce5bf700 330732003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
33074
33075 * include/pupa/normal.h: New file.
33076 * include/pupa/setjmp.h: Likewise.
33077 * include/pupa/i386/setjmp.h: Likewise.
33078 * normal/cmdline.c: Likewise.
33079 * normal/command.c: Likewise.
33080 * normal/main.c: Likewise.
33081 * normal/menu.c: Likewise.
33082 * normal/i386/setjmp.S: Likewise.
f19dbdb7 33083
ce5bf700 33084 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
33085 (pupa_rescue_cmd_initrd): Likewise.
33086
33087 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
33088 Likewise.
33089
33090 * kern/i386/pc/startup.S (translation_table): New variable.
33091 (translate_keycode): New function.
33092 (pupa_console_getkey): Call translate_keycode.
33093
33094 * kern/rescue.c (attempt_normal_mode): New function.
33095 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
33096 it failed, print a message.
33097
33098 * kern/mm.c (pupa_real_malloc): Print more information when a
33099 free magic is broken.
33100 (pupa_free): If the first free header is not free actually, set
33101 it to P.
33102
33103 * kern/main.c (pupa_load_normal_mode): Just load the module
33104 "normal".
33105 (pupa_main): Don't print the message
33106 "Entering into rescue mode..." here.
33107
33108 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
33109 Declared.
33110 (pupa_rescue_cmd_initrd): Likewise.
33111 (pupa_rescue_cmd_initrd): Likewise.
33112
33113 * include/pupa/symbol.h (FUNCTION): Specify the type.
33114 (VARIABLE): Likewise.
33115
33116 * include/pupa/err.h (pupa_err_t): Added
33117 PUPA_ERR_UNKNOWN_COMMAND.
33118
33119 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
33120 (pupa_dl_get_prefix): Likewise.
33121
33122 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
33123 Added _chain.mod and _linux.mod instead of chain.mod and
33124 linux.mod.
33125 (chain_mod_SOURCES): Renamed to ...
33126 (_chain_mod_SOURCES): ... this.
33127 (chain_mod_CFLAGS): Renamed to ...
33128 (_chain_mod_CFLAGS): ... this.
33129 (linux_mod_SOURCES): Renamed to ...
33130 (_linux_mod_SOURCES): ... this.
33131 (linux_mod_CFLAGS): Renamed to ...
33132 (_linux_mod_CFLAGS): ... this.
33133 (normal_mod_SOURCES): New variable.
33134 (normal_mod_CFLAGS): Likewise.
33135 (normal_mod_ASFLAGS): Likewise.
33136
331372003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
33138
33139 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
33140 possible.
33141
fe6b695a 33142 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 33143 recursively.
33144 (pupa_dl_unref): Unrefer depending modules recursively.
33145 Don't call pupa_dl_unload implicitly, because PUPA can crash if
33146 a module is unloaded before one depending on that module is
33147 unloaded.
33148 (pupa_dl_unload): Unload depending modules explicitly,
33149 if possible.
33150
c04da074 331512003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
33152
33153 * include/pupa/i386/pc/linux.h: New file.
33154 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 33155
c04da074 33156 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
33157 Removed.
33158 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
33159 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
33160 of PUPA_CHAINLOADER_BOOT_SECTOR.
33161
33162 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
33163 (pupa_linux_prot_size): New variable.
33164 (pupa_linux_tmp_addr): Likewise.
33165 (pupa_linux_real_addr): Likewise.
33166 (pupa_linux_boot_zimage): New function.
33167 (pupa_linux_boot_bzimage): Likewise.
33168
33169 * kern/i386/pc/init.c (struct mem_region): New structure.
33170 (MAX_REGIONS): New macro.
33171 (mem_regions): New variable.
33172 (num_regions): Likewise.
33173 (pupa_os_area_addr): Likewise.
33174 (pupa_os_area_size): Likewise.
33175 (pupa_lower_mem): Likewise.
33176 (pupa_upper_mem): Likewise.
33177 (add_mem_region): New function.
33178 (compact_mem_regions): Likewise.
33179 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
33180 the size of the conventional memory and that of so-called upper
33181 memory (before the first memory hole).
33182 Instead of adding each found region to free memory, use
33183 add_mem_region and add them after removing overlaps.
33184 Also, add only 1/4 of the upper memory to free memory. The rest
33185 is used for loading OS images. Maybe this is ad hoc, but this
33186 makes it much easier to relocate OS images when booting.
33187
33188 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
33189 (pupa_enter_rescue_mode): Don't register initrd and module.
33190
33191 * kern/mm.c: Include pupa/dl.h.
33192
33193 * kern/main.c: Include pupa/file.h and pupa/device.h.
33194
33195 * kern/loader.c (pupa_loader_load_module_func): Removed.
33196 (pupa_loader_load_module): Likewise.
33197
33198 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
33199 ``.o''.
33200
33201 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
33202 (pupa_linux_tmp_addr): Likewise.
33203 (pupa_linux_real_addr): Likewise.
33204 (pupa_linux_boot_zimage): Likewise.
33205 (pupa_linux_boot_bzimage): Likewise.
33206
33207 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
33208 (pupa_upper_mem): Likewise.
33209 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
33210 module is too dangerous.
33211
33212 * include/pupa/loader.h (pupa_os_area_addr): Declared.
33213 (pupa_os_area_size): Likewise.
33214 (pupa_loader_set): Remove the first argument. Loader doesn't
33215 manage modules or initrd any longer.
33216 (pupa_loader_load_module): Removed.
33217
33218 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
33219 (linux_mod_SOURCES): New variable.
33220 (linux_mod_CFLAGS): Likewise.
33221
a13f9237 332222003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
33223
33224 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
33225 the length of a blocklist correctly.
33226
33227 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
33228 Use ioctl only if the OS file is a block device.
33229 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
33230 not very useful for normal files.
33231
33232 * kern/main.c (pupa_set_root_dev): New function.
33233 (pupa_load_normal_mode): Likewise.
33234 (pupa_main): Call those above.
33235
33236 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
33237 pupa_uint16_t.
33238
33239 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
33240
a5ffe966 332412003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33242
33243 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
33244 (setup): Configure the installed partition information and the
33245 dl prefix.
33246
33247 * loader/i386/pc/chainloader.c (my_mod): New variable.
33248 (pupa_chainloader_unload): New function.
33249 (pupa_rescue_cmd_chainloader): Refer itself.
33250 (PUPA_MOD_INIT): Save its own module in MY_MOD.
33251
33252 * kern/i386/pc/startup.S (install_partition): Removed.
33253 (version_string): Likewise.
33254 (config_file): Likewise.
33255 (pupa_install_dos_part): New variable.
33256 (pupa_install_bsd_part): Likewise.
33257 (pupa_prefix): Likewise.
33258 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
33259
33260 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
33261 and pupa/misc.h.
33262 (make_install_device): New function.
33263 (pupa_machine_init): Set the dl prefix.
33264
33265 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
33266 (buf): Renamed to ...
33267 (linebuf): ... this.
33268 (pupa_rescue_cmd_prefix): New function.
33269 (pupa_rescue_cmd_insmod): Likewise.
33270 (pupa_rescue_cmd_rmmod): Likewise.
33271 (pupa_rescue_cmd_lsmod): Likewise.
33272 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
33273 rmmod and lsmod.
33274
33275 * kern/mm.c (pupa_memalign): If failed even after invalidating
33276 disk caches, unload unneeded modules and retry.
33277
33278 * kern/misc.c (pupa_memmove): New function.
33279 (pupa_memcpy): Removed.
33280 (pupa_strcpy): New function.
33281 (pupa_itoa): Made static.
33282
33283 * kern/dl.c (pupa_dl_iterate): New function.
33284 (pupa_dl_ref): Likewise.
33285 (pupa_dl_unref): Likewise.
33286 (pupa_dl_unload): Return if succeeded or not.
33287 (pupa_dl_unload_unneeded): New function.
33288 (pupa_dl_unload_all): Likewise.
33289 (pupa_dl_init): Renamed to ...
33290 (pupa_dl_set_prefix): ... this.
33291 (pupa_dl_get_prefix): New function.
33292
33293 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
33294 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
33295 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
33296 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
33297 (pupa_install_dos_part): Declared.
33298 (pupa_install_bsd_part): Likewise.
33299 (pupa_prefix): Likewise.
33300 (pupa_boot_drive): Likewise.
33301
33302 * include/pupa/types.h: Fix a typo.
33303
33304 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
33305 pupa_memmove.
33306 (pupa_memmove): Declared.
33307 (pupa_strcpy): Likewise.
33308
33309 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
33310 pupa_mod_init takes one argument, its own module.
33311 (pupa_dl_unload_unneeded): Declared.
33312 (pupa_dl_unload_all): Likewise.
33313 (pupa_dl_ref): Likewise.
33314 (pupa_dl_unref): Likewise.
33315 (pupa_dl_iterate): Likewise.
33316 (pupa_dl_init): Renamed to ...
33317 (pupa_dl_set_prefix): ... this.
33318 (pupa_dl_get_prefix): Declared.
33319
33320 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 33321 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 33322 unloaded.
33323 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
33324 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
33325
33326 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
33327 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
33328
012d7999 333292003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33330
33331 * util/i386/pc/pupa-setup.c (setup): Define the internal
33332 function find_first_partition_start at the top level, because GCC
33333 3.0.x cannot compile internal functions in deeper scopes
33334 correctly.
33335 (find_root_device): Use lstat instead of stat.
33336 Don't follow symbolic links.
33337 Fix the path-constructing code.
33338
33339 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
33340 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
33341 by a BLKGETSIZE ioctl first, because block devices don't fill
33342 the member st_mode of the structure stat on Linux.
33343 [__linux__] (linux_find_partition): Use a temporary buffer
33344 REAL_DEV for the working space. Copy it to DEV before returning.
33345 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
33346 buffer cache consistent.
33347 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
33348 strncmp. The previous value was merely wrong.
33349 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
33350
33351 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
33352 FAT size is 12. The previous value was merely wrong.
33353
33354 * kern/main.c (pupa_main): Don't split the starting message from
33355 newlines.
33356
33357 * kern/term.c (pupa_putchar): Put CR after LF instead of before
33358 LF, because BIOS goes crazy about character attributes in this
33359 case.
33360
1cc73a62 333612003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
33362
33363 * include/i386/pc/util/biosdisk.h: New file.
33364 * util/i386/pc/biosdisk.c: Likewise.
33365 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 33366
1cc73a62 33367 * Makefile.in (INCLUDE_DISTFILES): Added
33368 include/pupa/i386/pc/util/biosdisk.h.
33369 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
33370 directory util/i386/pc.
33371 (install-local): Added a rule for sbin_UTILITIES.
33372 (uninstall): Likewise.
33373
33374 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
33375
33376 * util/misc.c (xrealloc): New function.
33377 (pupa_malloc): Likewise.
33378 (pupa_free): Likewise.
33379 (pupa_realloc): Likewise.
33380 (pupa_stop): Likewise.
33381 (pupa_putchar): Likewise.
33382
33383 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
33384
33385 * include/pupa/util/misc.h (xrealloc): Declared.
33386
33387 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
33388 macro.
33389 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
33390 (PUPA_BOOT_MACHINE_BPB_END): ... this.
33391
33392 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
33393 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33394
33395 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
33396 way should be implemented.
33397 [PUPA_UTIL] (pupa_fat_fini): Likewise.
33398
33399 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
33400 the size of NAME for safety.
33401 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
33402 0x88.
33403
33404 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
33405 (pupa_setup_SOURCES): Likewise.
33406
33407 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
33408
08b70fe8 334092002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33410
33411 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
33412 bunch of pushl's from pusha, because this destroys the return
33413 value.
33414
62ddcc8f 334152002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
33416
33417 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
33418 This means that any missing prototypes could be fatal. Also, you
33419 must take care when writing assembly code. See the comments at
33420 the beginning of startup.S, for more details.
f19dbdb7 33421
62ddcc8f 33422 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
33423 compilation mechanism.
33424 (pupa_chainloader_real_boot): Likewise.
33425 (pupa_biosdisk_rw_int13_extensions): Likewise.
33426 (pupa_biosdisk_rw_standard): Likewise.
33427 (pupa_biosdisk_check_int13_extensions): Likewise.
33428 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
33429 (pupa_biosdisk_get_diskinfo_standard): Likewise.
33430 (pupa_get_memsize): Likewise.
33431 (pupa_get_mmap_entry): Likewise.
33432 (pupa_console_putchar): Likewise.
33433 (pupa_console_setcursor): Likewise.
33434 (pupa_getrtsecs): Use pushl instead of push.
33435
33436 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
33437 memory instead of the stack for a mmap entry, because some
33438 BIOSes may ignore the maximum size and overflow.
33439
33440 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
33441
33442 * genmk.rb (PModule#rule): Compile automatically generated
33443 sources with module-specific CFLAGS as well as other sources.
33444
9962ed99 334452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33446
33447 * configure.ac: Check ld.
33448 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
33449 respectively, before checking endianness and sizes.
33450
33451 * Makefile.in (LD): New variable.
f19dbdb7 33452
abdfc3c5 334532002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33454
33455 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
33456
6a161fa9 334572002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
33458
33459 * Changelog: New file.
33460